/* /Layout/MainLayout.razor.rz.scp.css */

/* ============================================================================
   GRID LAYOUT STRUCTURE
   ============================================================================ */

.migratrix-layout[b-ca765fvnbd] {
    display: grid;
    grid-template-areas: 
        "header header"
        "sidebar main"
        "sidebar footer";
    grid-template-rows: 64px 1fr auto;
    grid-template-columns: auto 1fr;
    height: 100vh;
}

.migratrix-header[b-ca765fvnbd] {
    grid-area: header;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 1rem;
    background: var(--migratrix-bg-header);
    border-bottom: 1px solid var(--migratrix-border);
    height: 64px;
    z-index: 1000;
    box-shadow: var(--migratrix-shadow-sm);
    position: relative;
}

@supports (backdrop-filter: blur(10px)) {
    .migratrix-header[b-ca765fvnbd] {
        backdrop-filter: blur(15px) saturate(160%);
        -webkit-backdrop-filter: blur(15px) saturate(160%);
    }
}

/* Left zone: toggle + logo */
.header-left[b-ca765fvnbd] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

/* Center zone: spacer */
.header-center[b-ca765fvnbd] {
    flex: 1;
}

/* Offline banner: absolutely positioned 10% right of center */
.agent-banner-wrapper[b-ca765fvnbd] {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: auto;
}

.migratrix-sidebar-toggle[b-ca765fvnbd] {
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--migratrix-text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: var(--migratrix-radius-sm);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.migratrix-sidebar-toggle:hover[b-ca765fvnbd] {
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-primary);
    transform: scale(1.05);
}

.migratrix-sidebar-toggle .material-symbols-outlined[b-ca765fvnbd] {
    font-size: 30px;
}

.migratrix-logo-text[b-ca765fvnbd] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    letter-spacing: -0.02em;
}

.migratrix-header-actions[b-ca765fvnbd] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.migratrix-search[b-ca765fvnbd] {
    position: relative;
    display: flex;
    align-items: center;
}

.migratrix-search-icon[b-ca765fvnbd] {
    position: absolute;
    left: 0.75rem;
    color: var(--migratrix-text-secondary);
    font-size: 1.2rem;
    pointer-events: none;
}

.migratrix-search-input[b-ca765fvnbd] {
    padding: 0.5rem 0.75rem 0.5rem 2.5rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    width: 250px;
    font-size: 0.9rem;
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@supports (backdrop-filter: blur(10px)) {
    .migratrix-search-input[b-ca765fvnbd] {
        backdrop-filter: blur(8px) saturate(150%);
        -webkit-backdrop-filter: blur(8px) saturate(150%);
    }
}

.migratrix-search-input:focus[b-ca765fvnbd] {
    outline: none;
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 3px rgba(243, 124, 25, 0.1);
    background: rgba(255, 255, 255, 0.9);
}

.migratrix-search-input[b-ca765fvnbd]::placeholder {
    color: var(--migratrix-text-muted);
}

.migratrix-notification-badge[b-ca765fvnbd] {
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(135deg, var(--migratrix-danger) 0%, rgba(231, 76, 60, 0.9) 100%);
    color: white;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    font-size: 0.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(231, 76, 60, 0.3);
}

.migratrix-sidebar[b-ca765fvnbd] {
    grid-area: sidebar;
    width: 250px;
    background: var(--migratrix-bg-sidebar);
    border-right: 1px solid var(--migratrix-border);
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-x: hidden;
    overflow-y: auto;
    box-shadow: var(--migratrix-shadow-sm);
}

@supports (backdrop-filter: blur(10px)) {
    .migratrix-sidebar[b-ca765fvnbd] {
        backdrop-filter: blur(20px) saturate(180%);
        -webkit-backdrop-filter: blur(20px) saturate(180%);
    }
}

.migratrix-sidebar.collapsed[b-ca765fvnbd] {
    width: 60px;
}

.migratrix-menu[b-ca765fvnbd] {
    padding: 1rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

@supports (backdrop-filter: blur(10px)) {
    .migratrix-menu-item[b-ca765fvnbd] {
        backdrop-filter: blur(10px) saturate(150%);
        -webkit-backdrop-filter: blur(10px) saturate(150%);
    }
}

.migratrix-menu-item:hover[b-ca765fvnbd] {
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-primary);
    transform: translateY(-2px);
    box-shadow: var(--migratrix-shadow);
    border-color: rgba(243, 124, 25, 0.3);
}

.migratrix-menu-item.active[b-ca765fvnbd] {
    background: linear-gradient(135deg, var(--migratrix-primary) 0%, rgba(243, 124, 25, 0.9) 100%);
    color: white;
    box-shadow: var(--migratrix-shadow-glass);
    border-color: var(--migratrix-primary);
}

.migratrix-menu-item.active .migratrix-icon[b-ca765fvnbd] {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    border-color: rgba(255, 255, 255, 0.3);
}

.migratrix-menu-item.active:hover[b-ca765fvnbd] {
    background: linear-gradient(135deg, var(--migratrix-primary-light) 0%, var(--migratrix-primary) 100%);
    transform: translateY(-4px);
}

.migratrix-icon[b-ca765fvnbd] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--migratrix-radius-sm);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
}

.migratrix-icon-primary[b-ca765fvnbd] {
    /*background: linear-gradient(135deg, rgba(243, 124, 25, 0.15) 0%, rgba(243, 124, 25, 0.05) 100%);*/
    color: var(--migratrix-primary-light);
    border: 1px solid rgba(243, 124, 25, 0.1);
}

.migratrix-icon-warning[b-ca765fvnbd] {
    background: linear-gradient(135deg, rgba(243, 156, 18, 0.15) 0%, rgba(243, 156, 18, 0.05) 100%);
    color: var(--migratrix-warning);
    border: 1px solid rgba(243, 156, 18, 0.1);
}

.migratrix-icon-info[b-ca765fvnbd] {
    background: linear-gradient(135deg, rgba(52, 152, 219, 0.15) 0%, rgba(52, 152, 219, 0.05) 100%);
    color: var(--migratrix-info);
    border: 1px solid rgba(52, 152, 219, 0.1);
}

.migratrix-icon-secondary[b-ca765fvnbd] {
    color: var(--migratrix-secondary);
    border: 1px solid rgba(108, 117, 125, 0.1);
}


.migratrix-menu-divider[b-ca765fvnbd] {
    height: 1px;
    background: var(--migratrix-border);
    margin: 0.5rem 1rem;
}

.migratrix-menu-section[b-ca765fvnbd] {
    margin-bottom: 1rem;
}

.migratrix-menu-section-header[b-ca765fvnbd] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    width: 100%;
    text-align: left;
    position: relative;
    font-weight: 600;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: var(--migratrix-radius);
    box-shadow: var(--migratrix-shadow-sm);
}

@supports (backdrop-filter: blur(10px)) {
    .migratrix-menu-section-header[b-ca765fvnbd] {
        backdrop-filter: blur(10px) saturate(150%);
        -webkit-backdrop-filter: blur(10px) saturate(150%);
    }
}

.migratrix-menu-section-header:hover[b-ca765fvnbd] {
    background: var(--migratrix-bg-hover);
    transform: translateY(-2px);
    box-shadow: var(--migratrix-shadow);
    border-color: rgba(243, 124, 25, 0.3);
}

.migratrix-expand-icon[b-ca765fvnbd] {
    /*position: absolute;*/
    /*right: 12px;*/
    /*top: 50%;*/
    
    align-self: end;
    margin-left: 1rem;
    transform: translateY(-50%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-size: 18px;
    color: var(--migratrix-text-secondary);
}

.migratrix-expand-icon.expanded[b-ca765fvnbd] {
    transform: translateY(-50%) rotate(180deg);
    color: var(--migratrix-primary);
}

.migratrix-menu-subsection[b-ca765fvnbd] {
    margin-left: 0;
    padding-top: 0.25rem;
}

.migratrix-menu-subitem[b-ca765fvnbd] {
    padding-left: 2.5rem;
    position: relative;
    font-size: 0.875rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border-light);
    margin-left: 0.5rem;
    margin-top: 0.25rem;
}

@supports (backdrop-filter: blur(10px)) {
    .migratrix-menu-subitem[b-ca765fvnbd] {
        backdrop-filter: blur(8px) saturate(140%);
        -webkit-backdrop-filter: blur(8px) saturate(140%);
    }
}

.migratrix-menu-subitem[b-ca765fvnbd]::before {
    content: '';
    position: absolute;
    left: 1rem;
    top: 50%;
    width: 6px;
    height: 6px;
    background: var(--migratrix-primary);
    transform: translateY(-50%);
    border-radius: 50%;
    opacity: 0.5;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.migratrix-menu-subitem:hover[b-ca765fvnbd]::before {
    opacity: 1;
    transform: translateY(-50%) scale(1.3);
}

.migratrix-sidebar.collapsed .migratrix-menu-subitem[b-ca765fvnbd] {
    padding-left: 1rem;
    margin-left: 0;
}

.migratrix-sidebar.collapsed .migratrix-menu-subitem[b-ca765fvnbd]::before {
    display: none;
}

.migratrix-body[b-ca765fvnbd] {
    grid-area: main;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    position: relative;
    background: var(--migratrix-bg-main);
}

.migratrix-content[b-ca765fvnbd] {
    flex: 1;
    overflow: auto;
}

/* Page content padding utility */
.migratrix-page-content[b-ca765fvnbd] {
    padding: 1.5rem;
}

.migratrix-footer[b-ca765fvnbd] {
    grid-area: footer;
    background: var(--migratrix-bg-sidebar);
    border-top: 1px solid var(--migratrix-border);
    padding: 1rem;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
}

@supports (backdrop-filter: blur(10px)) {
    .migratrix-footer[b-ca765fvnbd] {
        backdrop-filter: blur(15px) saturate(160%);
        -webkit-backdrop-filter: blur(15px) saturate(160%);
    }
}

.migratrix-footer-content[b-ca765fvnbd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.migratrix-footer-text[b-ca765fvnbd] {
    font-size: 0.85rem;
    color: var(--migratrix-text-secondary);
}

.migratrix-footer-links[b-ca765fvnbd] {
    display: flex;
    gap: 1rem;
}

.migratrix-footer-links a[b-ca765fvnbd] {
    font-size: 0.85rem;
    color: var(--migratrix-text-secondary);
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.migratrix-footer-links a[b-ca765fvnbd]::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--migratrix-primary);
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.migratrix-footer-links a:hover[b-ca765fvnbd] {
    color: var(--migratrix-primary);
}

.migratrix-footer-links a:hover[b-ca765fvnbd]::after {
    width: 100%;
}

.dropdown[b-ca765fvnbd] {
    position: relative;
    display: inline-block;
}

.dropdown-menu[b-ca765fvnbd] {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.5rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    min-width: 180px;
    box-shadow: var(--migratrix-shadow-lg);
    z-index: 1000;
    padding: 0.5rem 0;
    border-radius: var(--migratrix-radius);
}

@supports (backdrop-filter: blur(10px)) {
    .dropdown-menu[b-ca765fvnbd] {
        backdrop-filter: blur(15px) saturate(150%);
        -webkit-backdrop-filter: blur(15px) saturate(150%);
    }
}

.dropdown-item[b-ca765fvnbd] {
    width: 100%;
    padding: 0.5rem 1rem;
    background: none;
    border: none;
    text-align: left;
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
    display: flex;
    align-items: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

.dropdown-item:hover[b-ca765fvnbd] {
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-primary);
}

.dropdown-item i[b-ca765fvnbd] {
    margin-right: 0.5rem;
    color: var(--migratrix-text-secondary);
    transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.dropdown-item:hover i[b-ca765fvnbd] {
    color: var(--migratrix-primary);
}

.dropdown-overlay[b-ca765fvnbd] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 999;
    background: transparent;
    cursor: default;
}

.migratrix-user-menu .dropdown[b-ca765fvnbd] {
    position: relative;
    z-index: 1001;
}

.migratrix-menu-expanded[b-ca765fvnbd] {
    width: 240px;
}

.migratrix-menu-collapsed[b-ca765fvnbd] {
    width: 60px;
}

/*.sidebar-menu-item {*/
/*    display: flex;*/
/*    align-items: center;*/
/*    padding: 0.75rem 1rem;*/
/*    color: var(--migratrix-text-secondary);*/
/*    text-decoration: none;*/
/*    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);*/
/*    border-radius: var(--migratrix-radius);*/
/*    margin: 0.25rem 0.5rem;*/
/*    font-weight: 500;*/
/*    font-size: 0.9rem;*/
/*    background: var(--migratrix-bg-card);*/
/*    border: 1px solid var(--migratrix-border);*/
/*    box-shadow: var(--migratrix-shadow-sm);*/
/*}*/
/* ============================================================================
   RESPONSIVE STYLES
   ============================================================================ */

@media (min-width: 1440px) and (max-width: 1727px) {
    .migratrix-header[b-ca765fvnbd] {
        padding: 0 1.5rem;
    }

    .migratrix-logo-text[b-ca765fvnbd] {
        font-size: 1.125rem;
    }

    .migratrix-search-input[b-ca765fvnbd] {
        width: 220px;
    }
}

@media (min-width: 1280px) and (max-width: 1439px) {
    .migratrix-header[b-ca765fvnbd] {
        padding: 0 1.25rem;
    }

    .migratrix-sidebar[b-ca765fvnbd] {
        width: 220px;
    }

    .migratrix-search-input[b-ca765fvnbd] {
        width: 200px;
    }
}

@media (max-width: 1279px) {
    .migratrix-header[b-ca765fvnbd] {
        padding: 0 1rem;
    }

    .migratrix-sidebar[b-ca765fvnbd] {
        width: 200px;
    }

    .header-center[b-ca765fvnbd] {
        gap: 0.5rem;
    }
}

@media (max-width: 1024px) {
    .migratrix-sidebar[b-ca765fvnbd] {
        width: 180px;
    }

    .migratrix-menu-item[b-ca765fvnbd] {
        padding: 0.625rem 0.875rem;
        font-size: 0.875rem;
    }

    .migratrix-icon[b-ca765fvnbd] {
        width: 36px;
        height: 36px;
        margin-right: 0.625rem;
    }
}

@media (max-width: 768px) {
    .migratrix-layout[b-ca765fvnbd] {
        grid-template-areas: 
            "header"
            "main"
            "footer";
        grid-template-columns: 1fr;
        grid-template-rows: 64px 1fr auto;
    }

    .migratrix-sidebar[b-ca765fvnbd] {
        display: none;
    }

    .migratrix-header[b-ca765fvnbd] {
        padding: 0 1.5rem;
    }

    .migratrix-sidebar-toggle[b-ca765fvnbd] {
        display: none !important;
    }

    .migratrix-search-input[b-ca765fvnbd] {
        width: 150px;
    }

    .migratrix-header-actions[b-ca765fvnbd] {
        gap: 0.5rem;
    }

    .header-center[b-ca765fvnbd] {
        gap: 0.5rem;
    }

    .migratrix-logo-text[b-ca765fvnbd] {
        font-size: 1.125rem;
    }
}

@media (max-width: 640px) {
    .migratrix-header[b-ca765fvnbd] {
        padding: 0 1rem;
    }

    .migratrix-search-input[b-ca765fvnbd] {
        width: 120px;
        font-size: 0.85rem;
    }

    .migratrix-footer[b-ca765fvnbd] {
        padding: 0.875rem;
    }
}

@media (max-width: 480px) {
    .migratrix-search[b-ca765fvnbd] {
        display: none;
    }

    .migratrix-logo-text[b-ca765fvnbd] {
        font-size: 1rem;
    }

    .migratrix-footer[b-ca765fvnbd] {
        padding: 0.75rem;
    }

    .migratrix-footer-content[b-ca765fvnbd] {
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }

    .migratrix-footer-links[b-ca765fvnbd] {
        gap: 0.75rem;
    }

    .migratrix-footer-text[b-ca765fvnbd] {
        font-size: 0.8rem;
    }

    .migratrix-footer-links a[b-ca765fvnbd] {
        font-size: 0.8rem;
    }
}

/* ============================================================================
   MIGRATRIX MENU RESPONSIVE BREAKPOINTS
   ============================================================================ */

/* Large Desktop (max-width: 1727px) */
@media (max-width: 1727px) {
    .migratrix-menu[b-ca765fvnbd] {
        padding: 0.75rem 0;
        gap: 0.15rem;
    }

    .sidebar-menu-item[b-ca765fvnbd] {
        padding: 0.4rem;
        gap: 0.75rem;
        font-size: 0.85rem;
    }

    .migratrix-icon[b-ca765fvnbd] {
        width: 36px;
        height: 36px;
    }

    .migratrix-menu-divider[b-ca765fvnbd] {
        margin: 0.4rem 0.75rem;
    }
}

/* Desktop (max-width: 1279px) */
@media (max-width: 1279px) {
    .migratrix-menu[b-ca765fvnbd] {
        padding: 0.6875rem 0;
        gap: 0.125rem;
    }

    .sidebar-menu-item[b-ca765fvnbd] {
        padding: 0.375rem;
        gap: 0.6875rem;
        font-size: 0.82rem;
    }

    .migratrix-icon[b-ca765fvnbd] {
        width: 34px;
        height: 34px;
    }

    .migratrix-menu-divider[b-ca765fvnbd] {
        margin: 0.375rem 0.6875rem;
    }
}

/* Tablet (max-width: 1024px) */
@media (max-width: 1024px) {
    .migratrix-menu[b-ca765fvnbd] {
        padding: 0.625rem 0;
        gap: 0.1rem;
    }

    .sidebar-menu-item[b-ca765fvnbd] {
        padding: 0.35rem;
        gap: 0.625rem;
        font-size: 0.8rem;
    }

    .migratrix-icon[b-ca765fvnbd] {
        width: 32px;
        height: 32px;
    }

    .migratrix-menu-divider[b-ca765fvnbd] {
        margin: 0.35rem 0.625rem;
    }
}

/* Mobile Landscape (max-width: 900px) */
@media (max-width: 900px) {
    .migratrix-menu[b-ca765fvnbd] {
        padding: 0.5625rem 0;
        gap: 0.075rem;
    }

    .sidebar-menu-item[b-ca765fvnbd] {
        padding: 0.3125rem;
        gap: 0.5625rem;
        font-size: 0.78rem;
    }

    .migratrix-icon[b-ca765fvnbd] {
        width: 30px;
        height: 30px;
    }

    .migratrix-menu-divider[b-ca765fvnbd] {
        margin: 0.3125rem 0.5625rem;
    }
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    .migratrix-menu[b-ca765fvnbd] {
        padding: 0.5rem 0;
        gap: 0.05rem;
    }

    .sidebar-menu-item[b-ca765fvnbd] {
        padding: 0.3rem;
        gap: 0.5rem;
        font-size: 0.76rem;
    }

    .migratrix-icon[b-ca765fvnbd] {
        width: 28px;
        height: 28px;
    }

    .migratrix-menu-divider[b-ca765fvnbd] {
        margin: 0.3rem 0.5rem;
    }
}

/* Mobile Portrait (max-width: 640px) */
@media (max-width: 640px) {
    .migratrix-menu[b-ca765fvnbd] {
        padding: 0.4375rem 0;
        gap: 0.05rem;
    }

    .sidebar-menu-item[b-ca765fvnbd] {
        padding: 0.275rem;
        gap: 0.4375rem;
        font-size: 0.74rem;
    }

    .migratrix-icon[b-ca765fvnbd] {
        width: 26px;
        height: 26px;
    }

    .migratrix-menu-divider[b-ca765fvnbd] {
        margin: 0.275rem 0.4375rem;
    }
}

/* Small Mobile (max-width: 480px) */
@media (max-width: 480px) {
    .migratrix-menu[b-ca765fvnbd] {
        padding: 0.375rem 0;
        gap: 0.025rem;
    }

    .sidebar-menu-item[b-ca765fvnbd] {
        padding: 0.25rem;
        gap: 0.375rem;
        font-size: 0.72rem;
    }

    .migratrix-icon[b-ca765fvnbd] {
        width: 24px;
        height: 24px;
    }

    .migratrix-menu-divider[b-ca765fvnbd] {
        margin: 0.25rem 0.375rem;
    }
}

/* ============================================================================
   UTILITY CLASSES
   ============================================================================ */

.d-flex[b-ca765fvnbd] {
    display: flex;
}

.align-items-center[b-ca765fvnbd] {
    align-items: center;
}

.me-2[b-ca765fvnbd] {
    margin-right: 0.5rem;
}
/* The nav glyphs carry their own colour, so .migratrix-icon-primary's `color` no longer
   reaches them - the active item is marked by its label and background instead. Keeping the
   icon at full opacity in every state is deliberate: dimming a multi-colour glyph muddies it
   rather than quietening it. */
.nav-svg[b-ca765fvnbd] {
    display: block;
    flex-shrink: 0;
}
/* /Layout/MobileNavBar.razor.rz.scp.css */
:root[b-q4rzypz8az] {
    --mx-nav-height: 64px;
    --mx-nav-bg: #ffffff;
    --mx-nav-border: #e9ecef;
    --mx-nav-icon: #222;
    --mx-nav-active: #f17e1c;
}

.mx-mobile-nav[b-q4rzypz8az] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--mx-nav-height);
    display: none;
    background: var(--migratrix-bg-hover, #f8f9fa);
    border-top: 1px solid var(--mx-nav-border);
    z-index: 1000;
    grid-template-columns: repeat(6, 1fr);
    align-items: center;
    padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}


.mx-mobile-nav .mx-nav-item[b-q4rzypz8az] {
    height: 100%;
    padding: 0.5rem 0.5rem;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    font-size: 10px;
    border-radius: 0;
    transition: background-color 0.2s ease;
}

.mx-mobile-nav .mx-nav-item i[b-q4rzypz8az] {
    font-size: 32px;
    line-height: 1;
    justify-self: center;
}

.mx-mobile-nav .mx-nav-item.active[b-q4rzypz8az], .mx-mobile-nav .mx-nav-item.active i[b-q4rzypz8az] {
    color: var(--mx-nav-active);
}

.mx-mobile-nav .mx-nav-item[b-q4rzypz8az] {
    outline: none;
}

.mx-mobile-nav .mx-nav-item:focus-visible[b-q4rzypz8az] {
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, .1);
    border-radius: 10px;
}

@media (max-width: 767.98px) {

    .migratrix-sidebar[b-q4rzypz8az] {
        display: none !important;
    }
    
    .mx-mobile-nav[b-q4rzypz8az] {
        display: grid;
        padding: 0 0.5rem;
    }

    #migratrix-body-id[b-q4rzypz8az], main[b-q4rzypz8az], .migratrix-body[b-q4rzypz8az], .migratrix-content[b-q4rzypz8az] {
        padding-bottom: calc(var(--mx-nav-height) + 8px);
    }
}

/* /Layout/NavIcon.razor.rz.scp.css */
/* Sizes ladder.

   The unqualified rules are the large-desktop case - the 1920-wide design default - and the
   max-width: 1727px block steps them back down, which is how the rest of this codebase is
   written. The two sets stay in the same 7:6 relationship to each other, so a screen crossing
   the breakpoint changes scale but not proportion.

   The whole ladder was stepped up by an eighth: these are illustrations with real detail in them
   - a bevelled rim, a specular edge, teeth on a gear - and at the old sizes that detail was there
   without being legible. The trade is that 24 is the icons' native grid, one viewBox unit to one
   CSS pixel, and nothing on the ladder sits on it any more; every stop is now slightly off-grid
   and very slightly softer. That was already true of four of the five stops before this change. */
.nav-svg[b-xtnrn0s0wk] {
    display: block;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
}

.nav-svg-16[b-xtnrn0s0wk] {
    width: 21px;
    height: 21px;
}

.nav-svg-20[b-xtnrn0s0wk] {
    width: 26px;
    height: 26px;
}

.nav-svg-32[b-xtnrn0s0wk] {
    width: 42px;
    height: 42px;
}

.nav-svg-48[b-xtnrn0s0wk] {
    width: 63px;
    height: 63px;
}

@media (max-width: 1727px) {
    .nav-svg[b-xtnrn0s0wk] {
        width: 27px;
        height: 27px;
    }

    .nav-svg-16[b-xtnrn0s0wk] {
        width: 18px;
        height: 18px;
    }

    .nav-svg-20[b-xtnrn0s0wk] {
        width: 22px;
        height: 22px;
    }

    .nav-svg-32[b-xtnrn0s0wk] {
        width: 36px;
        height: 36px;
    }

    .nav-svg-48[b-xtnrn0s0wk] {
        width: 54px;
        height: 54px;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-4okhh1akdx] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-4okhh1akdx] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-4okhh1akdx] {
    font-size: 1.1rem;
}

.bi[b-4okhh1akdx] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-4okhh1akdx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-4okhh1akdx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-4okhh1akdx] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-4okhh1akdx] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-4okhh1akdx] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-4okhh1akdx] {
        padding-bottom: 1rem;
    }

    .nav-item[b-4okhh1akdx]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-4okhh1akdx]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-4okhh1akdx]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-4okhh1akdx] {
        display: none;
    }

    .collapse[b-4okhh1akdx] {
        display: block;
    }

    .nav-scrollable[b-4okhh1akdx] {
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Pages/Audit/audit.razor.rz.scp.css */
.audit-page[b-nzgwml8buj] {
    padding: 2rem 1.5rem;
    margin: 0 auto;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.audit-page > .config-card[b-nzgwml8buj] {
    flex: 0 0 auto;
    z-index: 6;
    overflow: visible;
    margin-bottom: 1.25rem;
}

.audit-card[b-nzgwml8buj] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.audit-card > .loading-overlay-container[b-nzgwml8buj],
.audit-card > .loading-overlay-container > div[b-nzgwml8buj] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.audit-page .header-top[b-nzgwml8buj] {
    flex-wrap: wrap;
    row-gap: 0.75rem;
}

.audit-page .header-title-section[b-nzgwml8buj] {
    flex: 1 1 22rem;
    min-width: 16rem;
}

.audit-page .header-controls.audit-filters[b-nzgwml8buj] {
    flex: 1 1 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.audit-page .header-controls.audit-filters .time-range-dropdown[b-nzgwml8buj] { min-width: 150px; }

.audit-page .header-controls.audit-filters > select[b-nzgwml8buj],
.audit-page .header-controls.audit-filters > input[b-nzgwml8buj],
.audit-page .header-controls.audit-filters > .audit-range[b-nzgwml8buj] {
    width: auto;
    flex: 0 0 auto;
}

.audit-range[b-nzgwml8buj] {
    position: relative;
}

.audit-range-toggle[b-nzgwml8buj] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    appearance: none;
    font: inherit;
    width: auto;
    min-width: 11.5rem;
    max-width: 16.5rem;
    min-height: 34px;
    padding: 0.4rem 0.55rem 0.4rem 0.65rem;
    cursor: pointer;
    text-align: left;
    line-height: 1.2;
}

.audit-range-toggle > .material-icons:first-child[b-nzgwml8buj] {
    font-size: 1.05rem;
    color: var(--migratrix-text-secondary);
    flex: 0 0 auto;
}

.audit-range-toggle > span[b-nzgwml8buj] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.82rem;
    color: var(--migratrix-text-primary);
}

.audit-range-caret[b-nzgwml8buj] {
    font-size: 1.1rem;
    color: var(--migratrix-text-secondary);
    margin-left: auto;
    transition: transform 0.15s ease;
}

.audit-range-toggle.is-open[b-nzgwml8buj] {
    position: relative;
    z-index: 22;
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 3px rgba(243, 124, 25, 0.1);
}

.audit-range-toggle.has-range:not(.is-open)[b-nzgwml8buj] {
    border-color: var(--migratrix-primary);
}

.audit-range-toggle.is-open .audit-range-caret[b-nzgwml8buj] {
    transform: rotate(180deg);
}

.audit-range-backdrop[b-nzgwml8buj] {
    position: fixed;
    inset: 0;
    z-index: 20;
}

.audit-range-menu[b-nzgwml8buj] {
    position: absolute;
    top: calc(100% + 0.4rem);
    right: 0;
    z-index: 21;
    width: 18.5rem;
    padding: 0.4rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    box-shadow: var(--migratrix-shadow-lg);
}

@supports (backdrop-filter: blur(10px)) {
    .audit-range-menu[b-nzgwml8buj] {
        backdrop-filter: blur(15px) saturate(150%);
        -webkit-backdrop-filter: blur(15px) saturate(150%);
    }
}

.audit-range-presets[b-nzgwml8buj] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.audit-range-preset[b-nzgwml8buj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    padding: 0.45rem 0.6rem;
    border: 0;
    border-radius: var(--migratrix-radius-sm);
    background: transparent;
    color: var(--migratrix-text-primary);
    font-size: 0.82rem;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

.audit-range-preset:hover[b-nzgwml8buj] {
    background: var(--migratrix-bg-hover);
}

.audit-range-preset.is-active[b-nzgwml8buj] {
    background: var(--migratrix-bg-active);
    color: var(--migratrix-primary);
    font-weight: 600;
}

.audit-range-preset .material-icons[b-nzgwml8buj] {
    font-size: 1rem;
    color: var(--migratrix-primary);
}

.audit-range-custom[b-nzgwml8buj] {
    margin-top: 0.35rem;
    padding: 0.65rem 0.6rem 0.7rem;
    border-top: 1px solid var(--migratrix-border);
}

.audit-range-custom.is-active[b-nzgwml8buj] {
    background: var(--migratrix-bg-active);
    border-radius: 0 0 var(--migratrix-radius-sm) var(--migratrix-radius-sm);
}

.audit-range-custom-label[b-nzgwml8buj] {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--migratrix-text-secondary);
}

.audit-range-custom-fields[b-nzgwml8buj] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
}

.audit-range-field[b-nzgwml8buj] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.audit-range-field > span[b-nzgwml8buj] {
    font-size: 0.7rem;
    color: var(--migratrix-text-secondary);
}

.audit-date-input[b-nzgwml8buj] {
    width: 100%;
    min-height: 34px;
    padding: 0.3rem 0.4rem;
    font-size: 0.78rem;
    color-scheme: light;
}

.audit-date-input[b-nzgwml8buj]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 0.7;
}

[data-theme="dark"] .audit-date-input[b-nzgwml8buj] {
    color-scheme: dark;
}

[data-theme="dark"] .audit-date-input[b-nzgwml8buj]::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

.audit-input:focus[b-nzgwml8buj] {
    outline: none;
    border-color: rgb(243, 124, 25);
    box-shadow: 0 0 0 3px rgba(243, 124, 25, 0.15);
}

.audit-page .audit-select-narrow[b-nzgwml8buj] { min-width: 130px; max-width: 150px; }

.audit-search[b-nzgwml8buj] {
    min-width: 13rem;
}

.audit-sealed-note[b-nzgwml8buj] {
    margin-left: 0.35rem;
    color: var(--migratrix-text-secondary);
    opacity: 0.85;
}

.audit-error[b-nzgwml8buj] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.875rem 1rem;
    background: rgba(231, 76, 60, 0.08);
    border: 1.5px solid var(--migratrix-danger);
    border-radius: 10px;
    color: var(--migratrix-danger);
    font-size: 0.9rem;
    font-weight: 500;
    margin-bottom: 1.25rem;
}


@keyframes audit-spin-b-nzgwml8buj {
    to { transform: rotate(360deg); }
}

.audit-loading-text[b-nzgwml8buj] {
    color: var(--migratrix-text-secondary);
    margin: 0;
    font-size: 0.9rem;
}

.audit-empty[b-nzgwml8buj] {
    text-align: center;
    padding: 4rem 2rem;
    color: var(--migratrix-text-secondary);
    font-size: 0.95rem;
    margin: 0;
}

.audit-table-wrap[b-nzgwml8buj] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    border-radius: var(--migratrix-radius-sm);;
    border: 1.5px solid var(--migratrix-border);
}

.audit-table[b-nzgwml8buj] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
    min-width: 1080px;
}

.audit-table thead th[b-nzgwml8buj] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--migratrix-bg-bright);
    box-shadow: inset 0 -1.5px 0 var(--migratrix-border);
}

.audit-table thead[b-nzgwml8buj] {
    background: var(--migratrix-bg-secondary);
}

.audit-table th[b-nzgwml8buj] {
    text-align: left;
    padding: 0.75rem 1rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--migratrix-text-secondary);
    white-space: nowrap;
}

.audit-table tbody tr[b-nzgwml8buj] {
    border-bottom: 1px solid var(--migratrix-border);
    transition: background 0.15s ease;
}

.audit-table tbody tr:last-child[b-nzgwml8buj] {
    border-bottom: none;
}

.audit-table tbody tr:hover[b-nzgwml8buj] {
    background: rgba(243, 124, 25, 0.04);
}

.audit-cell[b-nzgwml8buj] {
    padding: 0.7rem 1rem;
    color: var(--migratrix-text-primary);
    vertical-align: middle;
}

.audit-cell-time[b-nzgwml8buj] {
    white-space: nowrap;
    color: var(--migratrix-text-secondary);
    font-variant-numeric: tabular-nums;
    font-size: 0.8rem;
}

.audit-cell-type[b-nzgwml8buj] {
    font-weight: 600;
    font-size: 0.8rem;
    letter-spacing: 0.02em;
}

.audit-cell-reason[b-nzgwml8buj] {
    min-width: 260px;
    max-width: 360px;
    word-break: break-word;
    color: var(--migratrix-text-secondary);
    font-size: 0.825rem;
}

.audit-badge[b-nzgwml8buj] {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem;
    border-radius: 100px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.audit-badge-success[b-nzgwml8buj] {
    background: rgba(46, 204, 113, 0.12);
    color: var(--migratrix-success);
    border: 1px solid rgba(46, 204, 113, 0.25);
}

.audit-badge-failure[b-nzgwml8buj] {
    background: rgba(231, 76, 60, 0.12);
    color: var(--migratrix-danger);
    border: 1px solid rgba(231, 76, 60, 0.25);
}

.audit-badge-denied[b-nzgwml8buj] {
    background: rgba(243, 156, 18, 0.12);
    color: var(--migratrix-warning, #b9770e);
    border: 1px solid rgba(243, 156, 18, 0.28);
}

.audit-sev-critical td:first-child[b-nzgwml8buj] { box-shadow: inset 3px 0 0 var(--migratrix-danger); }
.audit-sev-warning  td:first-child[b-nzgwml8buj] { box-shadow: inset 3px 0 0 rgba(243, 156, 18, 0.75); }
.audit-sev-notice   td:first-child[b-nzgwml8buj] { box-shadow: inset 3px 0 0 rgba(52, 152, 219, 0.5); }
.audit-sev-info     td:first-child[b-nzgwml8buj] { box-shadow: none; }


.audit-cell-action[b-nzgwml8buj] { min-width: 200px; }
.audit-cell-target[b-nzgwml8buj] { min-width: 190px; }
.audit-cell-time[b-nzgwml8buj] { white-space: nowrap; }

.audit-action[b-nzgwml8buj] {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.audit-category[b-nzgwml8buj] {
    display: block;
    font-size: 0.72rem;
    color: var(--migratrix-text-secondary);
    opacity: 0.8;
}

.audit-target-id[b-nzgwml8buj] {
    display: block;
    font-size: 0.72rem;
    color: var(--migratrix-text-secondary);
    overflow-wrap: anywhere;
}

.audit-target-head[b-nzgwml8buj] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.audit-target-env[b-nzgwml8buj] {
    display: inline-flex;
    align-items: center;
    padding: 0.05rem 0.35rem;
    border-radius: 3px;
    font-size: 0.66rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-text-secondary);
}

.audit-impersonation[b-nzgwml8buj] {
    display: block;
    font-size: 0.68rem;
    font-style: italic;
    color: var(--migratrix-warning, #b9770e);
}

.audit-changes[b-nzgwml8buj] {
    list-style: none;
    margin: 0.35rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.audit-changes li[b-nzgwml8buj] {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 0.35rem;
    font-size: 0.74rem;
    white-space: nowrap;
    overflow-x: auto;
}

.audit-changes .audit-change-before[b-nzgwml8buj],
.audit-changes .audit-change-after[b-nzgwml8buj] {
    max-width: 14ch;
    overflow: hidden;
    text-overflow: ellipsis;
}

.audit-change-field[b-nzgwml8buj] {
    font-weight: 700;
    color: var(--migratrix-text-primary);
}

.audit-change-before[b-nzgwml8buj] { color: var(--migratrix-danger); text-decoration: line-through; opacity: 0.8; }
.audit-change-arrow[b-nzgwml8buj]  { color: var(--migratrix-text-secondary); }
.audit-change-after[b-nzgwml8buj]  { color: var(--migratrix-success); }


.audit-cell-seal[b-nzgwml8buj] { white-space: nowrap; }

.audit-seal[b-nzgwml8buj] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.audit-seal-ok[b-nzgwml8buj] {
    background: rgba(46, 204, 113, 0.1);
    color: var(--migratrix-success);
}

.audit-seal-pending[b-nzgwml8buj] {
    background: rgba(149, 165, 166, 0.14);
    color: var(--migratrix-text-secondary);
}



@media (max-width: 768px) {
    .audit-page[b-nzgwml8buj] {
        padding: 1.25rem 1rem;
    }

    .audit-card[b-nzgwml8buj] {
        padding: 1.25rem;
        border-radius: 10px;
    }



    .audit-page .header-controls.audit-filters[b-nzgwml8buj] {
        flex-direction: column;
        align-items: stretch;
    }

    .audit-page .header-controls.audit-filters > .audit-range[b-nzgwml8buj],
    .audit-range-toggle[b-nzgwml8buj],
    .audit-range-menu[b-nzgwml8buj] {
        width: 100%;
        max-width: none;
    }

    .audit-input[b-nzgwml8buj] {
        width: 100%;
    }
}
/* /Pages/ChangeScripts/ChangeScript.razor.rz.scp.css */
.change-script-details[b-jl2e0jsn4a] {
    --change-script-danger: #b42318;
    --change-script-danger-hover: #991b1b;
    --change-script-danger-bg: rgba(185, 28, 28, 0.08);
    --change-script-danger-border: rgba(180, 35, 24, 0.22);
}

[data-theme="dark"] .change-script-details[b-jl2e0jsn4a] {
    --change-script-danger: #f97066;
    --change-script-danger-hover: #fda29b;
    --change-script-danger-bg: rgba(249, 112, 102, 0.14);
    --change-script-danger-border: rgba(249, 112, 102, 0.38);
}

.migratrix-btn-danger[b-jl2e0jsn4a] {
    background: var(--change-script-danger-bg) !important;
    color: var(--change-script-danger) !important;
    border-color: var(--change-script-danger-border) !important;
    box-shadow: none !important;
}

.migratrix-btn-danger:hover[b-jl2e0jsn4a] {
    background: color-mix(in srgb, var(--change-script-danger) 18%, transparent) !important;
    color: var(--change-script-danger-hover) !important;
    border-color: var(--change-script-danger-hover) !important;
    box-shadow: none !important;
}

:global(body:has(.change-script-page-root) .migratrix-content)[b-jl2e0jsn4a] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.change-script-details[b-jl2e0jsn4a] {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 13px;
    color: var(--migratrix-text-primary);
    display: flex;
    flex-direction: column;
    background: var(--migratrix-bg-card);
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.popover-details-content[b-jl2e0jsn4a] {
    flex: 1;
    min-height: 0;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--migratrix-bg-main);
}

.change-script-header[b-jl2e0jsn4a] {
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius);
    padding: 2rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--migratrix-shadow);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.change-script-header-actions[b-jl2e0jsn4a] {
    flex-shrink: 0;
}

.change-script-header:hover[b-jl2e0jsn4a] {
    box-shadow: var(--migratrix-shadow);
    border-color: rgba(243, 124, 25, 0.3);
}

.change-script-header-left[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
    min-width: 0;
}

.change-script-header h2[b-jl2e0jsn4a] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    word-break: break-word;
}

.change-script-info[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-top: 0.75rem;
    color: var(--migratrix-text-secondary);
    flex-wrap: wrap;
}

.change-script-info span[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    white-space: nowrap;
}

.author-avatar[b-jl2e0jsn4a] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    overflow: hidden;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(243, 124, 25, 0.16);
    color: var(--migratrix-primary);
    border: 1px solid rgba(243, 124, 25, 0.3);
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1;
}

.author-avatar img[b-jl2e0jsn4a] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content-left[b-jl2e0jsn4a] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    flex: 1;
    overflow: hidden;
    min-height: 0;
    min-width: 0;
}

.sidebar-content[b-jl2e0jsn4a] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    overflow-y: auto;
}

.pipeline-section[b-jl2e0jsn4a] {
    background: var(--migratrix-bg-main);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 0.5rem 2rem;
    box-shadow: var(--migratrix-shadow-sm);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
    container-type: inline-size;
    container-name: pipeline;
}


.form-section[b-jl2e0jsn4a] {
    margin-bottom: 1.5rem;
}

.form-group[b-jl2e0jsn4a] {
    margin-bottom: 1.25rem;
}

.form-group label[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
}

/* Rollback editor topbar */
.rollback-actions[b-jl2e0jsn4a] { display:flex; gap:.25rem; margin-top:.5rem; }
.migratrix-btn-icon[b-jl2e0jsn4a] { 
    background:transparent; 
    border:1px solid #e5e7eb;
    border-radius:var(--migratrix-radius-sm);
    padding:.25rem .5rem; 
    color: var(--migratrix-text-primary);
}
.migratrix-btn-icon i[b-jl2e0jsn4a] { font-size:18px; }

.rollback-topbar[b-jl2e0jsn4a] { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:.75rem; flex-wrap:wrap; }
.env-selector label[b-jl2e0jsn4a] { display:block; font-size:.8rem; color:#6b7280; margin-bottom:.25rem; }
.env-selector select[b-jl2e0jsn4a] { 
    padding:.375rem .5rem; 
    border:1px solid var(--migratrix-border); 
    border-radius:var(--migratrix-radius-sm); 
    min-width: 160px;
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    font-size: 0.875rem;
}

.rollback-actions-bar[b-jl2e0jsn4a] { display:flex; gap:.5rem; flex-wrap:wrap; }
.migratrix-btn.ghost[b-jl2e0jsn4a] { background:transparent; border:1px dashed #e5e7eb; }

.section-title[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 1.5rem;
}

.section-title i[b-jl2e0jsn4a] {
    font-size: 1.25rem;
    color: var(--migratrix-primary);
}

.pipeline-stages[b-jl2e0jsn4a] {
    display: grid !important;
    grid-auto-flow: column;
    /* The minimum is a real card, not a sliver. Below it the row scrolls instead of
       squeezing: four stages on a 1400px screen used to be shaved to ~300px each and
       still overflow, so the shrinking bought nothing and cost legibility. */
    /* The width three stages get when they fill the row - held for every count above three.
       Sharing the row out with 1fr made the card a function of how many stages there are,
       so three were noticeably wider than four in the same window and the pipeline changed
       shape as stages were added. Three still fills the row exactly (the term below is that
       arithmetic, so there is no leftover to distribute); four and beyond take the same card
       and scroll. Floored so a narrow container scrolls rather than shaving the card. */
    grid-auto-columns: max(380px, calc((100cqi - 2rem - 2 * var(--stage-gap)) / 3));
    align-items: stretch;
    overflow-x: auto;
    overflow-y: hidden;
    --stage-gap: 2rem;
    gap: var(--stage-gap);
    --arrow-w: 10px;
    --arrow-h: 7px;
    padding: 1rem;
    max-height: 450px;
}

.pipeline-stages.spaced[b-jl2e0jsn4a] {
    /* One gap at every width above the stacked layout, so the arrow geometry below is
       computed once and the row looks the same whether or not it has to scroll. */
    --stage-gap: 4rem;
}

.main-content-container[b-jl2e0jsn4a] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.editor-and-details[b-jl2e0jsn4a] {
    display: grid;
    grid-template-columns: 13fr 7fr;
    gap: 2rem;
    align-items: stretch;
    flex: 1;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.editor-and-details > .editor-section[b-jl2e0jsn4a] {
    min-height: 0;
    overflow: hidden;
}

.editor-and-details > .sidebar-section[b-jl2e0jsn4a] {
    min-height: 0;
    overflow: hidden;
}

.stage-card[b-jl2e0jsn4a] {
    width: 100%;
    height: 280px;
    padding: clamp(12px, 1vw, 16px);
    background: var(--migratrix-bg-secondary);
    border: 2px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    display: flex;
    flex-direction: column;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: visible !important;
    box-shadow: var(--migratrix-shadow-sm);
}

.stage-card:hover[b-jl2e0jsn4a] {
    box-shadow: var(--migratrix-shadow);
    border-color: rgba(243, 124, 25, 0.3);
}

.stage-card[b-jl2e0jsn4a] {
    position: relative;
    overflow: visible !important;
}
.pipeline-stages[b-jl2e0jsn4a]::-webkit-scrollbar {
    height: 6px;
}

.pipeline-stages[b-jl2e0jsn4a]::-webkit-scrollbar-track {
    background: var(--migratrix-bg-secondary);
    border-radius: 3px;
}

.pipeline-stages[b-jl2e0jsn4a]::-webkit-scrollbar-thumb {
    background: var(--migratrix-border);
    border-radius: 3px;
}

/* No justify-content here on purpose. The tracks are minmax(380px, 1fr), so they absorb
   every spare pixel themselves and there is never free space for it to distribute -
   space-between only ever widened the gaps past --stage-gap, which the arrow geometry is
   measured from, leaving arrows that stopped short of the card they point at. */



.stage-status-badge[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.875rem;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-left: auto;
    height: 28px;
    margin-top: auto;
}

.stage-status-badge i[b-jl2e0jsn4a] {
    font-size: 14px;
}

.stage-status-badge.pending[b-jl2e0jsn4a] {
    background: var(--migratrix-secondary);
    color: white;
}

.stage-status-badge.inprogress[b-jl2e0jsn4a] {
    background: var(--migratrix-primary);
    color: white;
}

.stage-status-badge.completed[b-jl2e0jsn4a] {
    background: var(--migratrix-success);
    color: white;
}

.stage-status-badge.failed[b-jl2e0jsn4a] {
    background: rgba(185, 28, 28, 0.08);
    color: #b42318;
    border: 1px solid rgba(180, 35, 24, 0.18);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.stage-status-badge.rejected[b-jl2e0jsn4a] {
    background: rgba(185, 28, 28, 0.08);
    color: #b42318;
    border: 1px solid rgba(180, 35, 24, 0.18);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.stage-status-badge.rollingback[b-jl2e0jsn4a] {
    background: var(--migratrix-warning);
    color: white;
}

.stage-status-badge.rolledback[b-jl2e0jsn4a] {
    background: var(--migratrix-info);
    color: white;
}





.approval-pill[b-jl2e0jsn4a] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    padding: 2px 10px;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 12px;
    transition: background 0.2s ease, color 0.2s ease;
}

.approval-pill.none[b-jl2e0jsn4a] {
    background: var(--migratrix-bg-secondary);
    color: var(--migratrix-text-muted);
}

.approval-pill.partial[b-jl2e0jsn4a] {
    background: rgba(243, 124, 25, 0.15);
    color: var(--migratrix-primary);
}

.approval-pill.complete[b-jl2e0jsn4a] {
    background: rgba(46, 204, 113, 0.15);
    color: var(--migratrix-success);
}

.approvals-list[b-jl2e0jsn4a] {
    display: flex;
    gap: 0.5rem;
}




.stage-actions[b-jl2e0jsn4a] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
}

.migratrix-btn.approve[b-jl2e0jsn4a] {
    background: rgba(46, 204, 113, 0.1);
    color: var(--migratrix-success);
    border-color: var(--migratrix-success);
}

.migratrix-btn.reject[b-jl2e0jsn4a] {
    background: rgba(231, 76, 60, 0.1);
    color: var(--migratrix-danger);
    border-color: var(--migratrix-danger);
}

.migratrix-btn.start[b-jl2e0jsn4a] {
    background: rgba(74, 137, 220, 0.1);
    color: var(--migratrix-primary);
    border-color: var(--migratrix-primary);
}

.migratrix-btn.complete[b-jl2e0jsn4a] {
    background: rgba(46, 204, 113, 0.1);
    color: var(--migratrix-success);
    border-color: var(--migratrix-success);
}

.migratrix-btn.fail[b-jl2e0jsn4a] {
    background: rgba(231, 76, 60, 0.1);
    color: var(--migratrix-danger);
    border-color: var(--migratrix-danger);
}

.editor-section[b-jl2e0jsn4a] {
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    flex: 1;
    display: flex;
    padding: 1.5rem;
    flex-direction: column;
    overflow: hidden;
    min-height: 0;
    box-shadow: var(--migratrix-shadow-sm);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.editor-section:hover[b-jl2e0jsn4a] {
    box-shadow: var(--migratrix-shadow);
    border-color: rgba(243, 124, 25, 0.3);
}

.editor-header[b-jl2e0jsn4a] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--migratrix-bg-secondary);
    flex-shrink: 0;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 13px;
    margin-bottom: 1rem;
}

.editor-tabs[b-jl2e0jsn4a] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.editor-tab[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    background: transparent;
    border: 1px solid transparent;
    color: var(--migratrix-text-secondary);
    white-space: nowrap;
}

.editor-tab.active[b-jl2e0jsn4a] {
    background: var(--migratrix-bg-card);
    color: var(--migratrix-primary);
    border-color: var(--migratrix-border);
    box-shadow: var(--migratrix-shadow-sm);
}

.editor-tab:hover:not(.active)[b-jl2e0jsn4a] {
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-text-primary);
}

.editor-controls[b-jl2e0jsn4a] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.editor-content[b-jl2e0jsn4a] {
    flex: 1;
    overflow: hidden;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.editor-content[b-jl2e0jsn4a],
.editor-content > .logs-container[b-jl2e0jsn4a],
.editor-content[b-jl2e0jsn4a]  .monaco-container {
    height: 100%;
}

.editor-content[b-jl2e0jsn4a]  .monaco-container {
    min-height: 0;
    width: 100%;
}

.logs-container[b-jl2e0jsn4a] {
    --change-script-log-bg: var(--migratrix-bg-card);
    --change-script-log-border: var(--migratrix-border);
    --change-script-log-text: var(--migratrix-text-primary);
    --change-script-log-muted: var(--migratrix-text-muted);
    --change-script-log-level: var(--migratrix-text-secondary);
    --change-script-log-hover: color-mix(in srgb, var(--migratrix-bg-hover) 70%, var(--migratrix-bg-card));
    --change-script-log-info: var(--migratrix-info);
    --change-script-log-warning: var(--migratrix-warning);
    --change-script-log-error: var(--migratrix-danger);
    --change-script-log-success: var(--migratrix-success);
    flex: 1;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--change-script-log-bg);
    overflow: hidden;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
}

.logs-content[b-jl2e0jsn4a] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    background: var(--change-script-log-bg);
    padding: 0;
    display: flex;
    flex-direction: column;
}

.logs-content[b-jl2e0jsn4a]  .loading-overlay-container {
    flex: 1;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.logs-content[b-jl2e0jsn4a]  .loading-overlay-container > div:first-child {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.logs-empty[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--change-script-log-text);
    font-size: 0.875rem;
    gap: 0.75rem;
}

.console-logs[b-jl2e0jsn4a] {
    padding: 0.75rem 0;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.console-line[b-jl2e0jsn4a] {
    display: flex;
    align-items: flex-start;
    padding: 0.25rem 1.25rem;
    white-space: pre-wrap;
    word-wrap: break-word;
    border-left: 3px solid transparent;
    gap: 0.75rem;
    transition: background-color 0.15s ease;
}

.console-line:hover[b-jl2e0jsn4a] {
    background: var(--change-script-log-hover);
}

.console-line.log-error[b-jl2e0jsn4a] {
    border-left-color: var(--change-script-log-error);
    background: rgba(241, 76, 76, 0.05);
}

.console-line.log-warning[b-jl2e0jsn4a] {
    border-left-color: var(--change-script-log-warning);
    background: rgba(244, 187, 55, 0.05);
}

.console-line.log-success[b-jl2e0jsn4a] {
    border-left-color: var(--change-script-log-success);
    background: rgba(46, 204, 113, 0.05);
}

.log-timestamp[b-jl2e0jsn4a] {
    color: var(--change-script-log-muted);
    flex-shrink: 0;
    font-weight: 500;
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    width: 21ch;
    min-width: 21ch;
}

.log-level[b-jl2e0jsn4a] {
    color: var(--change-script-log-level);
    min-width: 70px;
    flex-shrink: 0;
    font-weight: 600;
    text-transform: uppercase;
}

.log-level.error[b-jl2e0jsn4a] {
    color: var(--change-script-log-error);
}

.log-level.warn[b-jl2e0jsn4a] {
    color: var(--change-script-log-warning);
}

.log-level.info[b-jl2e0jsn4a] {
    color: var(--change-script-log-info);
}

.log-message[b-jl2e0jsn4a] {
    color: var(--change-script-log-text);
    flex: 1;
    min-width: 0;
    word-break: break-word;
}

.sidebar-section[b-jl2e0jsn4a] {
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 2rem;
    box-shadow: var(--migratrix-shadow-sm);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
    overflow: hidden;
    font-size: 13px;
    display: flex;
    flex-direction: column;
}

.sidebar-section > *[b-jl2e0jsn4a] {
    flex-shrink: 0;
}

.sidebar-section:hover[b-jl2e0jsn4a] {
    box-shadow: var(--migratrix-shadow);
    border-color: rgba(243, 124, 25, 0.3);
}

.sidebar-title[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 800;
    color: var(--migratrix-text-primary);
}

.sidebar-title i[b-jl2e0jsn4a] {
    font-size: 0.75rem;
    color: var(--migratrix-primary);
}

.info-item[b-jl2e0jsn4a] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .5rem 0.5rem;
    border-bottom: 1px solid var(--migratrix-border);
    font-size: clamp(0.75rem, 1vw, 0.875rem);
}

.info-item:last-child[b-jl2e0jsn4a] {
    border-bottom: none;
}

.info-label[b-jl2e0jsn4a] {
    color: var(--migratrix-text-secondary);
    font-weight: 600;
    min-width: 100px;
}

.info-value[b-jl2e0jsn4a] {
    color: var(--migratrix-text-primary);
    font-weight: 500;
    text-align: right;
}

.info-value.status-with-icon[b-jl2e0jsn4a] {
    flex: 0 0 auto;
    width: fit-content;
    max-width: 100%;
}

.status-with-icon[b-jl2e0jsn4a] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-left: auto;
}

.pr-link[b-jl2e0jsn4a] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: #7c3aed;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.8rem;
    padding: 0.25rem 0.75rem;
    border-radius: 6px;
    border: 1px solid #7c3aed;
    transition: background 0.15s;
    flex-shrink: 0;
}

.pr-link:hover[b-jl2e0jsn4a] {
    background: rgba(124, 58, 237, 0.08);
}

.status-with-icon i[b-jl2e0jsn4a] {
    font-size: 16px;
}

.status-with-icon.failed[b-jl2e0jsn4a] {
    color: #b42318;
    background: rgba(185, 28, 28, 0.07);
    border: 1px solid rgba(180, 35, 24, 0.16);
    border-radius: 999px;
    padding: 0.25rem 0.65rem;
}

.status-with-icon.failed i[b-jl2e0jsn4a] {
    color: #b42318;
}

.progress-item[b-jl2e0jsn4a] {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--migratrix-border);
}

.progress-item:last-child[b-jl2e0jsn4a] {
    border-bottom: none;
}

.progress-header[b-jl2e0jsn4a] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.progress-time[b-jl2e0jsn4a] {
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
}

.quick-actions[b-jl2e0jsn4a] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.quick-action-btn[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1.25rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    color: var(--migratrix-text-primary);
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
    font-weight: 500;
}

.quick-action-btn:hover[b-jl2e0jsn4a] {
    background: var(--migratrix-bg-card);
    border-color: var(--migratrix-primary);
    color: var(--migratrix-primary);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(74, 137, 220, 0.15);
}

.quick-action-btn i[b-jl2e0jsn4a] {
    font-size: 18px;
    flex-shrink: 0;
}

.status-spinner[b-jl2e0jsn4a] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-left: 2px solid currentColor;
    border-radius: 50%;
    animation: status-spin-b-jl2e0jsn4a 1s linear infinite;
    display: inline-block;
    flex-shrink: 0;
}

@keyframes status-spin-b-jl2e0jsn4a {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes spin-b-jl2e0jsn4a {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Arrow line - starts with gap from card, centered in remaining space */
.stage-card[b-jl2e0jsn4a]::after {
    content: "";
    position: absolute;
    top: 50%;
    /* Start the arrow with some spacing from the card */
    left: calc(100% + 1rem);
    height: 3px;
    /* Line spans the gap minus the spacing on both sides and arrow width */
    width: calc(var(--stage-gap) - 2rem - var(--arrow-w));
    transform: translateY(-50%);
    background: #cbd5e0;
    border-radius: 2px;
    z-index: 1;
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
                left 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                background 0.3s ease;
}

/* Arrow head - positioned at the end of the line, with gap before next card */
.stage-card[b-jl2e0jsn4a]::before {
    content: "";
    position: absolute;
    top: 50%;
    /* Position arrow at the end, leaving 1rem gap before next card */
    left: calc(100% + var(--stage-gap) - 1rem - var(--arrow-w));
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: var(--arrow-w) solid #cbd5e0;
    border-top: var(--arrow-h) solid transparent;
    border-bottom: var(--arrow-h) solid transparent;
    z-index: 1;
    transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                border-left-color 0.3s ease,
                border-left-width 0.3s ease,
                border-top-width 0.3s ease,
                border-bottom-width 0.3s ease;
}

/* Hide arrow for last card */
.stage-card:last-child[b-jl2e0jsn4a]::after,
.stage-card:last-child[b-jl2e0jsn4a]::before {
    display: none;
}

/* ── Rolling back, the pipeline runs the other way ───────────────────────────
   Rollback is LIFO: PROD unwinds before QA, QA before DEV. Arrows still pointing
   left-to-right would describe the roll-out while the operator is watching the
   opposite happen.

   The connector is built from a card's own ::after (the line) and ::before (the
   head), both drawn into the gap to its right. Reversing does not move them to
   the other side - it flips the head's triangle and slides the line over to make
   room for it at the near end, so the arrow between DEV and QA now points back
   at DEV. */
.pipeline-stages.reversed .stage-card[b-jl2e0jsn4a]::before {
    left: calc(100% + 1rem);
    border-left: 0;
    border-right: var(--arrow-w) solid #cbd5e0;
}

.pipeline-stages.reversed .stage-card[b-jl2e0jsn4a]::after {
    left: calc(100% + 1rem + var(--arrow-w));
}

/* The colour follows the same rule as forward: the arrow leaving a stage that
   has been dealt with is lit. Unwinding, "dealt with" means rolled back. */
.pipeline-stages.reversed .stage-card.completed[b-jl2e0jsn4a]::before {
    border-left-color: #cbd5e0;
    border-right-color: #cbd5e0;
}

.pipeline-stages.reversed .stage-card.completed[b-jl2e0jsn4a]::after {
    background: #cbd5e0;
}

.pipeline-stages.reversed .stage-card.rolledback[b-jl2e0jsn4a]::after {
    background: var(--migratrix-info);
}

.pipeline-stages.reversed .stage-card.rolledback[b-jl2e0jsn4a]::before {
    border-right-color: var(--migratrix-info);
}

.stage-card.completed[b-jl2e0jsn4a]::after {
    background: var(--migratrix-primary);
}
.stage-card.completed[b-jl2e0jsn4a]::before {
    border-left-color: var(--migratrix-primary);
}

.stage-card.rollingback[b-jl2e0jsn4a] {
    border-color: var(--migratrix-warning);
}

.stage-card.rolledback[b-jl2e0jsn4a] {
    border-color: var(--migratrix-info);
}

.rollback-btn[b-jl2e0jsn4a] {
    background: rgba(52, 152, 219, 0.1);
    color: var(--migratrix-info);
    border: 1px solid rgba(52, 152, 219, 0.2);
}

.rollback-btn:hover[b-jl2e0jsn4a] {
    background: rgba(52, 152, 219, 0.2);
}

.rollback-hint[b-jl2e0jsn4a] {
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
    font-style: italic;
}

.partial-execution-warning[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.6rem;
    background: rgba(243, 156, 18, 0.1);
    border: 1px solid rgba(243, 156, 18, 0.3);
    border-radius: 6px;
    color: var(--migratrix-warning);
    font-size: 0.75rem;
    width: 100%;
}

.partial-execution-warning .material-icons[b-jl2e0jsn4a] {
    font-size: 0.95rem;
}

.rollback-btn.urgent[b-jl2e0jsn4a] {
    background: rgba(243, 156, 18, 0.12);
    color: var(--migratrix-warning);
    border-color: rgba(243, 156, 18, 0.35);
}

.rollback-btn.urgent:hover[b-jl2e0jsn4a] {
    background: rgba(243, 156, 18, 0.22);
}

.stage-rolling-back[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--migratrix-warning);
    font-size: 0.85rem;
}

.stage-rolledback-info[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--migratrix-info);
    font-size: 0.85rem;
}

@media (max-width: 1727px) {
    
    .popover-details-content[b-jl2e0jsn4a] {
        padding: 1rem;
    }

    .change-script-header[b-jl2e0jsn4a] {
        padding: 1rem;
        margin-bottom: 0.75rem;
        border-radius: calc(var(--migratrix-radius-sm) - 3px);
    }
    
    .change-script-header h2[b-jl2e0jsn4a] {
        font-size: 1rem;
    }

    .change-script-info[b-jl2e0jsn4a] {
        gap: 1.2rem;
    }
    
  
    .main-content-container[b-jl2e0jsn4a] {
        grid-template-columns: 1fr 280px;
        gap: 1rem;
    }
    
    
    .stage-header[b-jl2e0jsn4a]{
        margin-bottom: 0.7rem;
    }

    .stage-details[b-jl2e0jsn4a]{
        gap: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .stage-actions[b-jl2e0jsn4a] {
        gap: 0.7rem;
    }
    .approval-section[b-jl2e0jsn4a]{
        padding: 0.7rem;
        height: 85px;
    }
    .approval-header[b-jl2e0jsn4a]{
        font-weight: 500;
        margin-bottom: 0.5rem;
    }
    .pipeline-section[b-jl2e0jsn4a] {
        padding: 1rem;
        max-height: 350px;
    }
    .editor-section[b-jl2e0jsn4a],
    .sidebar-section[b-jl2e0jsn4a] {
        padding: 1rem;
    }
    .stage-time[b-jl2e0jsn4a] {
        font-size: 0.75rem !important;
    }
    .section-title[b-jl2e0jsn4a] {
        font-size: 0.9rem;
        margin-bottom: 0.75rem;
        gap: 0.4rem;
    }

    .stage-card[b-jl2e0jsn4a] {
        flex: 0 0 240px;
        padding: 0.75rem;
        height: 215px;
    }

    .stage-name[b-jl2e0jsn4a] {
        font-size: 14px;
    }

    .stage-status-badge[b-jl2e0jsn4a] {
        font-size: 0.6rem;
        height: 20px;
    }
    .editor-header[b-jl2e0jsn4a] {
        margin-bottom: 0.75rem;
    }
    .editor-tab[b-jl2e0jsn4a] {
        font-size: 0.75rem;
        padding: 0.4rem 0.6rem;
    }
    .editor-tab i[b-jl2e0jsn4a] {
        font-size: 18px;
    }

    .editor-section[b-jl2e0jsn4a] {
        min-height: 0;
    }

    .console-line[b-jl2e0jsn4a] {
        padding: 0.2rem 0.6rem;
    }

    .log-timestamp[b-jl2e0jsn4a] {
        width: 21ch;
        min-width: 21ch;
    }

    .log-level[b-jl2e0jsn4a] {
        min-width: 48px;
    }

    .quick-action-btn[b-jl2e0jsn4a] {
        padding: 0.6rem;
        font-size: 0.7rem;
        gap: 0.5rem;
    }

    .quick-action-btn i[b-jl2e0jsn4a] {
        font-size: 14px;
    }

    .stage-card .migratrix-btn i[b-jl2e0jsn4a]{
        font-size: 16px;
    }
    
    .stage-rolledback-info i[b-jl2e0jsn4a] {
        font-size: 18px;
    }
}

@media (max-width: 1536px) {
    .popover-details-content[b-jl2e0jsn4a] {
        padding: 0.875rem;
    }

    .change-script-header[b-jl2e0jsn4a] {
        padding: 0.875rem;
        margin-bottom: 0.6rem;
        border-radius: calc(var(--migratrix-radius-sm) - 3px);
    }
    
    .main-content-container[b-jl2e0jsn4a] {
        grid-template-columns: 1fr 260px;
        gap: 0.875rem;
    }
    
    .stage-time[b-jl2e0jsn4a] {
        font-size: 0.73rem !important;
    }

    .stage-actions[b-jl2e0jsn4a] {
        gap: 0.7rem;
    }
    .pipeline-section[b-jl2e0jsn4a],
    .editor-section[b-jl2e0jsn4a],
    .sidebar-section[b-jl2e0jsn4a] {
        padding: 0.75rem;
    }
    
    .pipeline-stages.spaced[b-jl2e0jsn4a]{
        gap: var(--stage-gap);
    }
    
    .stage-details[b-jl2e0jsn4a]{
        gap: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .approval-section[b-jl2e0jsn4a]{
        padding: 0.7rem;
    }
    .approval-header[b-jl2e0jsn4a]{
        font-weight: 500;
        margin-bottom: 0.5rem;
    }
    .approval-pill[b-jl2e0jsn4a] {
        min-width: 40px;
        padding: 2px 8px;
        font-size: 0.7rem;
    }
    .section-title[b-jl2e0jsn4a] {
        font-size: 0.85rem;
        margin-bottom: 0.6rem;
        gap: 0.35rem;
    }

    .stage-card[b-jl2e0jsn4a] {
        flex: 0 0 220px;
        padding: 0.65rem;
        height: 230px;
    }

    .stage-status-badge[b-jl2e0jsn4a] {
        font-size: 0.7rem;
    }
    
    .editor-tab[b-jl2e0jsn4a] {
        font-size: 0.72rem;
        padding: 0.35rem 0.5rem;
    }

    .editor-section[b-jl2e0jsn4a] {
        min-height: 260px;
    }

    .console-line[b-jl2e0jsn4a] {
        padding: 0.15rem 0.5rem;
    }

    .log-timestamp[b-jl2e0jsn4a] {
        width: 21ch;
        min-width: 21ch;
    }

    .log-level[b-jl2e0jsn4a] {
        min-width: 45px;
    }

    .quick-action-btn[b-jl2e0jsn4a] {
        padding: 0.5rem;
        font-size: 0.75rem;
        gap: 0.45rem;
    }

    .quick-action-btn i[b-jl2e0jsn4a] {
        font-size: 13px;
    }

    .stage-card .migratrix-btn i[b-jl2e0jsn4a]{
        font-size: 16px;
    }
}

@media (max-width: 1280px) {

    .stage-actions[b-jl2e0jsn4a] {
        gap: 0.6rem;
    }
    .main-content-container[b-jl2e0jsn4a] {
        grid-template-columns: 1fr 300px;
        gap: 1.5rem;
    }

    .change-script-header[b-jl2e0jsn4a] {
        padding: 1.25rem;
    }
    
    .stage-card[b-jl2e0jsn4a] {
        flex: 0 0 240px;
        height: 230px;
        padding: 0.875rem;
    }
    .stage-time[b-jl2e0jsn4a] {
        font-size: 0.71rem !important;
    }

    .stage-details[b-jl2e0jsn4a]{
        gap: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .approval-section[b-jl2e0jsn4a]{
        padding: 0.7rem;
    }
    .approval-header[b-jl2e0jsn4a]{
        font-weight: 500;
        margin-bottom: 0.5rem;
    }
    .approval-pill[b-jl2e0jsn4a] {
        min-width: 40px;
        padding: 2px 8px;
        font-size: 0.7rem;
    }
    .section-title[b-jl2e0jsn4a] {
        font-size: 0.85rem;
        margin-bottom: 0.6rem;
        gap: 0.35rem;
    }
    
    .stage-status-badge[b-jl2e0jsn4a] {
        font-size: 0.7rem;
        /*padding: 0.2rem 0.45rem;*/
    }

    .approval-item[b-jl2e0jsn4a]{
        font-size: 0.7rem;
    }
    /*.btn-text {*/
    /*    display: none;*/
    /*}*/
}
@media (max-width: 1024px) {
    .stage-card .migratrix-btn i[b-jl2e0jsn4a]{
        display: none;
    }

    .popover-details-content[b-jl2e0jsn4a] {
        padding: 1rem;
    }

    .main-content-container[b-jl2e0jsn4a] {
        grid-template-columns: 1fr 280px;
        gap: 1.25rem;
    }
    .stage-time[b-jl2e0jsn4a] {
        font-size: 0.7rem !important;
    }
    
    
    .stage-actions[b-jl2e0jsn4a] {
        gap: 0.5rem;
    }
    .pipeline-section[b-jl2e0jsn4a],
    .sidebar-section[b-jl2e0jsn4a] {
        padding: 1.25rem;
    }

    .change-script-header[b-jl2e0jsn4a] {
        padding: 1.25rem;
    }

    .section-title[b-jl2e0jsn4a],
    .sidebar-title[b-jl2e0jsn4a] {
        font-size: 0.95rem;
        margin-bottom: 0.5rem;
    }

    .change-script-header h2[b-jl2e0jsn4a] {
        font-size: 0.9rem;
    }

    .change-script-info[b-jl2e0jsn4a] {
        gap: 1rem;
    }

    .change-script-info span[b-jl2e0jsn4a] {
        font-size: 0.8rem;
    }

    .editor-header[b-jl2e0jsn4a] {
        gap: 0.75rem;
    }

    .editor-tab[b-jl2e0jsn4a] {
        padding: 0.5rem 0.75rem;
        font-size: 0.75rem;
        gap: 0.375rem;
    }

    .editor-controls[b-jl2e0jsn4a] {
        gap: 0.5rem;
    }

    .stage-status-badge[b-jl2e0jsn4a] {
        font-size: 0.75rem;
    }

    .stage-time[b-jl2e0jsn4a] {
        font-size: 0.68rem;
    }

    .approval-section[b-jl2e0jsn4a] {
        padding: 0.75rem;
    }

    .approval-header[b-jl2e0jsn4a] {
        font-size: 0.75rem;
    }

    .info-item[b-jl2e0jsn4a] {
        padding: 0.625rem 0;
        font-size: 0.75rem;
    }

    .info-label[b-jl2e0jsn4a] {
        min-width: 80px;
    }

    .quick-action-btn[b-jl2e0jsn4a] {
        padding: 0.875rem;
        font-size: 0.75rem;
        gap: 0.5rem;
    }

    .console-line[b-jl2e0jsn4a] {
        padding: 0.15rem 0.875rem;
        gap: 0.5rem;
    }

    .log-timestamp[b-jl2e0jsn4a] {
        width: 21ch;
        min-width: 21ch;
    }

    .log-level[b-jl2e0jsn4a] {
        min-width: 50px;
    }

    .stage-details[b-jl2e0jsn4a]{
        gap: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .approval-section[b-jl2e0jsn4a]{
        padding: 0.7rem;
    }
    .approval-header[b-jl2e0jsn4a]{
        font-weight: 500;
        margin-bottom: 0.5rem;
    }
    .approval-pill[b-jl2e0jsn4a] {
        min-width: 40px;
        padding: 2px 8px;
        font-size: 0.7rem;
    }
    .section-title[b-jl2e0jsn4a] {
        font-size: 0.85rem;
        margin-bottom: 0.6rem;
        gap: 0.35rem;
    }

    /*.btn-text {*/
    /*    display: none;*/
    /*}*/
}

@media (max-width: 768px) {
    .change-script-details[b-jl2e0jsn4a],
    .popover-details-content[b-jl2e0jsn4a],
    .main-content-container[b-jl2e0jsn4a],
    .content-left[b-jl2e0jsn4a],
    .editor-and-details[b-jl2e0jsn4a] {
        height: auto;
        overflow: visible;
    }

    .editor-and-details[b-jl2e0jsn4a] {
        display: grid;
        grid-template-columns: 1fr;
    }

    .popover-details-content[b-jl2e0jsn4a] {
        padding: 1rem;
    }

    .change-script-header[b-jl2e0jsn4a] {
        padding: 1.5rem;
    }

    .pipeline-section[b-jl2e0jsn4a],
    .sidebar-section[b-jl2e0jsn4a] {
        padding: 1.5rem;
    }

    .editor-section[b-jl2e0jsn4a] {
        min-height: 300px;
    }

    .pipeline-stages[b-jl2e0jsn4a] {
        grid-auto-flow: row !important;
        grid-auto-columns: unset;
        overflow-x: visible;
        overflow-y: visible;
        max-height: none;
    }

    .pipeline-stages.spaced[b-jl2e0jsn4a] {
        --stage-gap: 1.5rem;
        gap: var(--stage-gap);
    }

    .stage-card[b-jl2e0jsn4a] {
        width: 100%;
        max-width: 100%;
        flex: 1 1 auto;
        min-height: 180px;
    }

    /* Vertical arrow line - pointing down */
    .stage-card[b-jl2e0jsn4a]::after {
        top: 100%;
        left: 50%;
        height: calc(var(--stage-gap) - 1rem - var(--arrow-h));
        width: 2px;
        transform: translateX(-50%);
        background: #cbd5e0;
        border-radius: 2px;
        transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                    background 0.3s ease;
    }

    /* Vertical arrow head - pointing down */
    .stage-card[b-jl2e0jsn4a]::before {
        top: calc(100% + var(--stage-gap) - 1rem - var(--arrow-h));
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-top: var(--arrow-h) solid #cbd5e0;
        border-left: var(--arrow-w) solid transparent;
        border-right: var(--arrow-w) solid transparent;
        border-bottom: none;
        --arrow-w: 6px;
        --arrow-h: 4px;
        transition: top 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                    border-top-color 0.3s ease,
                    border-top-width 0.3s ease,
                    border-left-width 0.3s ease,
                    border-right-width 0.3s ease;
    }

    /* Colored vertical arrows for completed stages */
    .stage-card.completed[b-jl2e0jsn4a]::after {
        background: var(--migratrix-primary);
    }
    
    .stage-card.completed[b-jl2e0jsn4a]::before {
        border-top-color: var(--migratrix-primary);
    }

    .sidebar-content[b-jl2e0jsn4a] {
        grid-template-columns: 1fr;
    }

    .console-line[b-jl2e0jsn4a] {
        padding: 0.25rem 1rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.375rem;
    }

    .log-timestamp[b-jl2e0jsn4a],
    .log-level[b-jl2e0jsn4a] {
        min-width: auto;
    }
    /*.btn-text {*/
    /*    display: none;*/
    /*}*/
}

@media (max-width: 640px) {
    .popover-details-content[b-jl2e0jsn4a] {
        padding: 0.75rem;
    }

    .change-script-header[b-jl2e0jsn4a],
    .pipeline-section[b-jl2e0jsn4a],
    .sidebar-section[b-jl2e0jsn4a] {
        padding: 1.25rem;
    }

    .change-script-info[b-jl2e0jsn4a] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .pipeline-stages[b-jl2e0jsn4a] {
        grid-auto-flow: row !important;
        grid-auto-columns: unset;
        overflow-x: visible;
        overflow-y: visible;
        max-height: none;
    }

    .pipeline-stages.spaced[b-jl2e0jsn4a] {
        --stage-gap: 1.25rem;
        gap: var(--stage-gap);
    }

    .stage-card[b-jl2e0jsn4a] {
        width: 100%;
        max-width: 100%;
        flex: 1 1 auto;
        min-height: 160px;
        padding: 1rem;
    }

    .stage-card[b-jl2e0jsn4a]::after {
        top: 100%;
        left: 50%;
        height: calc(var(--stage-gap) - 0.8rem - var(--arrow-h));
        width: 2px;
        transform: translateX(-50%);
    }

    .stage-card[b-jl2e0jsn4a]::before {
        top: calc(100% + var(--stage-gap) - 0.8rem - var(--arrow-h));
        left: 50%;
        transform: translateX(-50%);
        border-top: var(--arrow-h) solid #cbd5e0;
        border-left: var(--arrow-w) solid transparent;
        border-right: var(--arrow-w) solid transparent;
        border-bottom: none;
        --arrow-w: 5px;
        --arrow-h: 3px;
    }

    .stage-card.completed[b-jl2e0jsn4a]::after {
        background: var(--migratrix-primary);
    }
    
    .stage-card.completed[b-jl2e0jsn4a]::before {
        border-top-color: var(--migratrix-primary);
    }

    .stage-actions[b-jl2e0jsn4a] {
        flex-direction: column;
        gap: 0.5rem;
    }

    .editor-header[b-jl2e0jsn4a] {
        flex-direction: column;
        align-items: stretch;
    }

    .editor-tabs[b-jl2e0jsn4a],
    .editor-controls[b-jl2e0jsn4a] {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .popover-details-content[b-jl2e0jsn4a] {
        padding: 0.5rem;
    }

    .change-script-header[b-jl2e0jsn4a],
    .pipeline-section[b-jl2e0jsn4a],
    .sidebar-section[b-jl2e0jsn4a] {
        padding: 1rem;
    }

    .pipeline-stages[b-jl2e0jsn4a] {
        grid-auto-flow: row !important;
        grid-auto-columns: unset;
        overflow-x: visible;
        overflow-y: visible;
        max-height: none;
    }

    .pipeline-stages.spaced[b-jl2e0jsn4a] {
        --stage-gap: 1rem;
        gap: var(--stage-gap);
    }

    .stage-card[b-jl2e0jsn4a] {
        width: 100%;
        max-width: 100%;
        flex: 1 1 auto;
        min-height: 140px;
        padding: 0.75rem;
    }

    .stage-card[b-jl2e0jsn4a]::after {
        top: 100%;
        left: 50%;
        height: calc(var(--stage-gap) - 0.6rem - var(--arrow-h));
        width: 1.5px;
        transform: translateX(-50%);
    }

    .stage-card[b-jl2e0jsn4a]::before {
        top: calc(100% + var(--stage-gap) - 0.6rem - var(--arrow-h));
        left: 50%;
        transform: translateX(-50%);
        border-top: var(--arrow-h) solid #cbd5e0;
        border-left: var(--arrow-w) solid transparent;
        border-right: var(--arrow-w) solid transparent;
        border-bottom: none;
        --arrow-w: 4px;
        --arrow-h: 3px;
    }

    .stage-card.completed[b-jl2e0jsn4a]::after {
        background: var(--migratrix-primary);
    }
    
    .stage-card.completed[b-jl2e0jsn4a]::before {
        border-top-color: var(--migratrix-primary);
    }

    .info-item[b-jl2e0jsn4a],
    .progress-item[b-jl2e0jsn4a] {
        padding: 0.5rem 0;
    }

    .quick-action-btn[b-jl2e0jsn4a] {
        padding: 1rem;
        font-size: 0.8rem;
    }

    .console-line[b-jl2e0jsn4a] {
        padding: 0.25rem 0.75rem;
    }
}

/* Pipeline container - keep original grid */

@keyframes flow-forward-b-jl2e0jsn4a {
    0% {
        background-position: 0% 0%;
    }
    100% {
        background-position: 100% 0%;
    }
}

@keyframes pulse-head-b-jl2e0jsn4a {
    0%, 100% {
        transform: translateY(-50%) scale(1);
    }
    50% {
        transform: translateY(-50%) scale(1.2);
    }
}


/* ── Migration Details ───────────────────────────────────────────────────────
   Three bands instead of one flat label/value list. The panel is scanned during
   an apply, not read top to bottom, so state is encoded in form as well as text
   and the safety verdict outranks the provenance.

   Severity here is deliberately NOT the brand orange: "needs attention" must not
   look like "this is a Migratrix control". ------------------------------------ */

.detail-strip[b-jl2e0jsn4a] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.9rem;
}

.chip[b-jl2e0jsn4a] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.55rem;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
    border: 1px solid transparent;
    text-transform: capitalize;
}

.chip .chip-dot[b-jl2e0jsn4a] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    flex: none;
}

.chip.neutral[b-jl2e0jsn4a] { background: var(--migratrix-border-light); color: var(--migratrix-text-secondary); border-color: var(--migratrix-border); }
.chip.ok[b-jl2e0jsn4a],
.chip.success[b-jl2e0jsn4a] { color: #1e8449; border-color: rgba(46, 204, 113, 0.30); }
.chip.warn[b-jl2e0jsn4a],
.chip.warning[b-jl2e0jsn4a] { color: #9c6708; border-color: rgba(243, 156, 18, 0.34); }
.chip.bad[b-jl2e0jsn4a],
.chip.danger[b-jl2e0jsn4a]  { color: #a93226; border-color: rgba(231, 76, 60, 0.32); }

[data-theme="dark"] .chip.ok[b-jl2e0jsn4a],
[data-theme="dark"] .chip.success[b-jl2e0jsn4a] { color: #6ee7a8; border-color: rgba(110, 231, 168, 0.28); }
[data-theme="dark"] .chip.warn[b-jl2e0jsn4a],
[data-theme="dark"] .chip.warning[b-jl2e0jsn4a] { color: #f6c26b; border-color: rgba(246, 194, 107, 0.28); }
[data-theme="dark"] .chip.bad[b-jl2e0jsn4a],
[data-theme="dark"] .chip.danger[b-jl2e0jsn4a] {
    color: var(--change-script-danger, #f97066);
    border-color: var(--change-script-danger-border, rgba(249, 112, 102, 0.38));
}

/* "Medium" says medium of what; the scale says where it sits. Colour comes from the chip via
   currentColor, so the scale is red in a High Risk chip and amber in a Medium one.

   The spacing lives on this wrapper rather than on the NavIcon itself: scoped CSS only stamps
   elements this component writes, so a class handed to a child component would never be matched by
   a selector from this file. The glyph's own size comes from NavIcon's ladder. */
.risk-scale[b-jl2e0jsn4a] {
    display: inline-flex;
    align-items: center;
    margin-left: 0.15rem;
    flex-shrink: 0;
}

.detail-note[b-jl2e0jsn4a] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    padding: 0.5rem 0.6rem;
    margin-bottom: 0.9rem;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.8rem;
    line-height: 1.45;
}

.detail-note.bad[b-jl2e0jsn4a] {
    background: rgba(231, 76, 60, 0.1);
    color: var(--migratrix-danger);
}

.detail-block[b-jl2e0jsn4a] {
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 0.6rem 0.75rem;
    margin-bottom: 0.9rem;
}

.detail-block-head[b-jl2e0jsn4a] { margin-bottom: 0.4rem; }

.dbh-title[b-jl2e0jsn4a],
.prot-title[b-jl2e0jsn4a] {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--migratrix-text-secondary);
}

/* Band 2. The whole point: full panel width and its own block, because this was
   multi-paragraph evidence squeezed into a label/value row's right column. */
.prot[b-jl2e0jsn4a] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-left: 3px solid var(--migratrix-text-secondary);
    border-radius: var(--migratrix-radius-sm);
    padding: 0.7rem 0.85rem;
    margin-bottom: 0.9rem;
}

/* The rail carries the weakest guarantee in the block. */
.prot.success[b-jl2e0jsn4a] {
    border-left-color: var(--migratrix-success);
    flex: 0 1 auto;
    min-height: 0;
    overflow-y: auto;
}
.prot.warning[b-jl2e0jsn4a] { border-left-color: var(--migratrix-warning); }
.prot.danger[b-jl2e0jsn4a]  { border-left-color: var(--migratrix-danger); }

.prot-head[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
}

.prot-scope[b-jl2e0jsn4a] {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.1rem 0.4rem;
    border-radius: 3px;
    background: var(--migratrix-border-light);
    color: var(--migratrix-text-secondary);
}

.prot-scope.applied[b-jl2e0jsn4a] { background: rgba(46, 204, 113, 0.16); color: #1e8449; }

/* Unwinding, not rolling out - this should not read like ordinary history. */
.prot-scope.reverse[b-jl2e0jsn4a] { background: rgba(243, 156, 18, 0.18); color: #9c6708; }

[data-theme="dark"] .prot-scope.applied[b-jl2e0jsn4a] { color: #6ee7a8; }
[data-theme="dark"] .prot-scope.reverse[b-jl2e0jsn4a] { color: #f6c26b; }

.prot-entry + .prot-entry[b-jl2e0jsn4a] {
    margin-top: 0.7rem;
    padding-top: 0.7rem;
    border-top: 1px dashed var(--migratrix-border);
}

.prot-entry-top[b-jl2e0jsn4a] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.prot-obj[b-jl2e0jsn4a] {
    font-family: 'SF Mono', Monaco, Inconsolata, 'Fira Code', monospace;
    font-size: 0.82rem;
    font-weight: 600;
    word-break: break-all;
}

.prot-strategy[b-jl2e0jsn4a] { font-size: 0.78rem; color: var(--migratrix-text-secondary); }

/* The evidence behind the strategy. In prose it could only be re-read; in
   columns it can be compared across stages. */
.prot-figures[b-jl2e0jsn4a] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.1rem;
    margin-top: 0.45rem;
    padding: 0.4rem 0.55rem;
    background: var(--migratrix-border-light);
    border-radius: 3px;
}

.fig[b-jl2e0jsn4a] { display: flex; flex-direction: column; gap: 0.05rem; }

.fig .fk[b-jl2e0jsn4a] {
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
    color: var(--migratrix-text-secondary);
}

.fig .fv[b-jl2e0jsn4a] {
    font-family: 'SF Mono', Monaco, Inconsolata, 'Fira Code', monospace;
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
}

.prot-why[b-jl2e0jsn4a] {
    margin: 0.4rem 0 0;
    font-size: 0.79rem;
    line-height: 1.45;
    color: var(--migratrix-text-secondary);
}

.prot-why.ok[b-jl2e0jsn4a] { color: var(--migratrix-success); }

.prot-why code[b-jl2e0jsn4a] {
    font-family: 'SF Mono', Monaco, Inconsolata, 'Fira Code', monospace;
    font-size: 0.9em;
    padding: 0 0.25rem;
    border-radius: 3px;
    background: var(--migratrix-border-light);
}

.prot-note[b-jl2e0jsn4a] {
    display: flex;
    gap: 0.4rem;
    align-items: flex-start;
    margin-top: 0.4rem;
    font-size: 0.78rem;
    line-height: 1.45;
}

.prot-note .m[b-jl2e0jsn4a] { flex: none; font-weight: 800; font-size: 0.7rem; margin-top: 0.15rem; }
.prot-note.caveat[b-jl2e0jsn4a] { color: var(--migratrix-warning); }

/* A decision the operator still owes an answer to reads as an action, not a warning. */
.prot-note.decision[b-jl2e0jsn4a] { color: var(--migratrix-info); }

/* Band 3. Still there, no longer competing with the safety verdict. */
.detail-meta[b-jl2e0jsn4a] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
    margin-top: auto;
    padding-top: 0.7rem;
    border-top: 1px solid var(--migratrix-border);
    font-size: 0.74rem;
    color: var(--migratrix-text-secondary);
    flex-shrink: 0;
}

.detail-meta b[b-jl2e0jsn4a] { font-weight: 600; }

.detail-meta a[b-jl2e0jsn4a] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    color: var(--migratrix-info);
    text-decoration: none;
}

.detail-meta a:hover[b-jl2e0jsn4a] { text-decoration: underline; }
.detail-meta a i[b-jl2e0jsn4a] { font-size: 0.85rem; }

.detail-comment[b-jl2e0jsn4a] {
    margin: 0.5rem 0 0;
    font-size: 0.78rem;
    line-height: 1.45;
    color: var(--migratrix-text-secondary);
}

/* The stage cards drive the Protection panel, so they have to look like they do something.
   Brand orange and the same selected-card treatment the roles and connection cards use, rather
   than a colour of this page's own invention. */
.stage-card.selectable[b-jl2e0jsn4a] {
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.stage-card.selectable:hover[b-jl2e0jsn4a] {
    border-color: var(--migratrix-bg-active-dark);
    box-shadow: 0 0 0 2px rgba(243, 124, 25, 0.18), var(--migratrix-shadow-sm);
}

.stage-card.selectable:focus-visible[b-jl2e0jsn4a] {
    outline: 2px solid var(--migratrix-primary);
    outline-offset: 2px;
}

.stage-card.selectable.selected[b-jl2e0jsn4a] {
    border-color: var(--migratrix-bg-active-dark);
    
}

/* ── Stage cards ─────────────────────────────────────────────────────────────
   One card design at every stage count. The card used to be a fixed 280px box
   sized for its richest state - approvals plus failure actions plus rollback -
   so every stage that was not in that state paid for the space, and the widening
   grid made the hole biggest exactly where there was least to show. Height now
   follows content, and the two `:has()` count special-cases are gone.

   A single stage is the one real exception: with nothing to sit beside, the same
   markup re-flows into a tile and a stack of rows rather than one wide card. It
   is a grid change, not a second template, so the two cannot drift. */

.stage-card[b-jl2e0jsn4a] {
    --st-accent: #64748b;
    --st-tint: rgba(100, 116, 139, 0.10);
}

.stage-card.completed[b-jl2e0jsn4a] { --st-accent: #16a34a; --st-tint: rgba(22, 163, 74, 0.10); }
.stage-card.queued[b-jl2e0jsn4a],
.stage-card.pending[b-jl2e0jsn4a],
.stage-card.inprogress[b-jl2e0jsn4a] { --st-accent: var(--migratrix-primary); --st-tint: rgba(243, 124, 25, 0.10); }
.stage-card.failed[b-jl2e0jsn4a],
.stage-card.rejected[b-jl2e0jsn4a],
.stage-card.cancelled[b-jl2e0jsn4a] {
    --st-accent: var(--change-script-danger, #dc2626);
    --st-tint: var(--change-script-danger-bg, rgba(220, 38, 38, 0.10));
}
.stage-card.rollingback[b-jl2e0jsn4a] { --st-accent: var(--migratrix-warning); --st-tint: rgba(243, 156, 18, 0.12); }
.stage-card.rolledback[b-jl2e0jsn4a] { --st-accent: var(--migratrix-info); --st-tint: rgba(52, 152, 219, 0.12); }

.pipeline-stages .stage-card[b-jl2e0jsn4a] {
    height: auto;
    min-height: 0;
    padding: 0;
    flex: initial;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
}

.pipeline-stages:not(.single) .stage-card[b-jl2e0jsn4a] {
    display: flex;
    flex-direction: column;
}

.pipeline-stages:not(.single) .stage-card.selectable.selected[b-jl2e0jsn4a] {
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 1px var(--migratrix-primary);
}

/* Identity band */
.stage-hero[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 1rem;
    background: var(--st-tint);
    border-bottom: 1px solid var(--migratrix-border);
}

.stage-ident[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.stage-icon[b-jl2e0jsn4a] {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--st-accent);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.stage-icon i[b-jl2e0jsn4a] { font-size: 17px; }

/* The disc exists to give a white font glyph a coloured field to sit on, and the spinner
   still needs it - its border-top is white. An illustration brings its own colour, and a
   green tick on a green disc is a smear, so the glyph branches drop the fill and keep the
   box. Two classes deep so it outranks the .stage-icon background above regardless of
   which rule the bundler emits first. */
.stage-icon.plain[b-jl2e0jsn4a] {
    background: none;
    color: inherit;
}

.stage-icon .status-spinner[b-jl2e0jsn4a] {
    width: 14px;
    height: 14px;
    border-width: 2px;
    border-top-color: #fff;
}

.stage-name[b-jl2e0jsn4a] {
    font-size: 17px;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Only a lone stage has room for it, and only a lone stage needs saying. */
.stage-subtitle[b-jl2e0jsn4a] { display: none; }

.stage-card .stage-status-badge[b-jl2e0jsn4a] {
    margin: 0 0 0 auto;
    height: auto;
    padding: 4px 11px;
    border-radius: 4px;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    background: var(--st-tint);
    color: var(--st-accent);
    border: none;
    box-shadow: none;
    flex: none;
}

.stage-card .stage-status-badge i[b-jl2e0jsn4a] { display: none; font-size: 15px; }

/* Beside siblings the status word is redundant - the tinted band already says it -
   so a finished stage shows the tick alone. Alone, the card has room for the word. */
.pipeline-stages:not(.single) .stage-card.completed .stage-status-badge[b-jl2e0jsn4a] {
    background: var(--st-accent);
    color: #fff;
    padding: 3px 13px;
}

.pipeline-stages:not(.single) .stage-card.completed .stage-status-badge i[b-jl2e0jsn4a] { display: inline-flex; }
.pipeline-stages:not(.single) .stage-card.completed .stage-status-badge .badge-text[b-jl2e0jsn4a] { display: none; }

/* Rows */
.stage-body[b-jl2e0jsn4a] {
    display: flex;
    flex-direction: column;
}

.pipeline-stages:not(.single) .stage-body[b-jl2e0jsn4a] { flex: 1; }

.stage-row[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 1rem;
    
    border-top: 1px solid var(--migratrix-border);
}

.stage-body > .stage-row:first-child[b-jl2e0jsn4a] { border-top: none; }

.row-icon[b-jl2e0jsn4a] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--st-tint);
    color: var(--st-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.row-icon i[b-jl2e0jsn4a] { font-size: 19px; }

.row-lines[b-jl2e0jsn4a] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-top: 2px;
}

.row-line[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.row-label[b-jl2e0jsn4a] {
    font-weight: 500;
    color: var(--migratrix-text-primary);
    white-space: nowrap;
}

.row-value[b-jl2e0jsn4a] {
    color: var(--migratrix-text-primary);
    text-align: right;
    white-space: nowrap;
}

.row-value.empty[b-jl2e0jsn4a] { color: var(--migratrix-text-muted); }

.approvals-value[b-jl2e0jsn4a] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.stage-card .approval-pill[b-jl2e0jsn4a] {
    min-width: 0;
    padding: 0;
    background: transparent;
    font-size: 0.84rem;
    font-weight: 600;
}

.stage-card .approval-pill.complete[b-jl2e0jsn4a] { color: #16a34a; }
.stage-card .approval-pill.partial[b-jl2e0jsn4a] { color: var(--migratrix-primary); }
.stage-card .approval-pill.none[b-jl2e0jsn4a] { color: var(--migratrix-text-muted); }

.stage-card .approvals-list[b-jl2e0jsn4a] {
    display: inline-flex;
    gap: 4px;
}

.stage-card .migratrix-avatar.sm[b-jl2e0jsn4a] {
    position: relative;
    overflow: hidden;
    width: 26px;
    height: 26px;
    font-size: 0.62rem;
}

.stage-card .migratrix-avatar.sm img[b-jl2e0jsn4a] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Action row. The hint leads and takes the slack, which parks the buttons at the
   right edge; justify-content keeps them there on the line they wrap onto. */
.stage-card .stage-actions[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.stage-hint[b-jl2e0jsn4a] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    flex: 1;
    min-width: 150px;
    font-size: 0.79rem;
    line-height: 1.35;
}

.hint-title[b-jl2e0jsn4a] { color: var(--migratrix-text-primary); font-weight: 500; }
.hint-detail[b-jl2e0jsn4a] { color: var(--migratrix-text-secondary); }

.stage-card .stage-failure-actions[b-jl2e0jsn4a],
.stage-card .stage-completed-actions[b-jl2e0jsn4a] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    /* Stays against the right edge even when the cluster is wide enough - the
       partial-execution warning rides in here - to take a line of its own. */
    justify-content: flex-end;
    margin-left: auto;
}

/* ── One stage ───────────────────────────────────────────────────────────────
   The band splits: identity becomes a tile, the rows become their own boxes
   beside it. Same elements, different grid. */
.pipeline-stages.single[b-jl2e0jsn4a] {
    grid-auto-columns: minmax(0, 1fr);
    justify-content: stretch;
}

.pipeline-stages.pair[b-jl2e0jsn4a] {
    grid-auto-columns: minmax(0, 1fr);
    justify-content: stretch;
}

.pipeline-stages.pair.spaced[b-jl2e0jsn4a] { --stage-gap: 5rem; }

.pipeline-stages.single .stage-card[b-jl2e0jsn4a] {
    display: grid;
    grid-template-columns: minmax(200px, 0.85fr) minmax(0, 2fr);
    gap: 14px;
    background: none;
    border: none;
    box-shadow: none;
    cursor: default;
}

.pipeline-stages.single .stage-card[b-jl2e0jsn4a]::before,
.pipeline-stages.single .stage-card[b-jl2e0jsn4a]::after { display: none; }

.pipeline-stages.single .stage-card.selectable:hover[b-jl2e0jsn4a] {
    border-color: transparent;
    box-shadow: none;
}

.pipeline-stages.single .stage-hero[b-jl2e0jsn4a] {
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding: 28px 20px;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
}

.pipeline-stages.single .stage-ident[b-jl2e0jsn4a] {
    flex-direction: column;
    gap: 12px;
}

.pipeline-stages.single .stage-icon[b-jl2e0jsn4a] {
    width: 56px;
    height: 56px;
}

.pipeline-stages.single .stage-icon i[b-jl2e0jsn4a] { font-size: 34px; }

.pipeline-stages.single .stage-icon .status-spinner[b-jl2e0jsn4a] {
    width: 28px;
    height: 28px;
    border-width: 3px;
}

.pipeline-stages.single .stage-name[b-jl2e0jsn4a] { font-size: 24px; }

.pipeline-stages.single .stage-subtitle[b-jl2e0jsn4a] {
    display: block;
    font-size: 0.88rem;
    color: var(--migratrix-text-secondary);
}

.pipeline-stages.single .stage-status-badge[b-jl2e0jsn4a] { margin: 0; }

.pipeline-stages.single .stage-body[b-jl2e0jsn4a] { gap: 10px; }

.pipeline-stages.single .stage-row[b-jl2e0jsn4a] {
    align-items: center;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-secondary);
    padding: 14px 18px;
}

@media (max-width: 1727px) {
    .stage-hero[b-jl2e0jsn4a] { padding: 0.8rem }
    .stage-row[b-jl2e0jsn4a] { padding: 0.8rem }
    .stage-name[b-jl2e0jsn4a] { font-size: 15px; }
    .stage-icon[b-jl2e0jsn4a] { width: 24px; height: 24px; }
    .stage-icon i[b-jl2e0jsn4a] { font-size: 15px; }
    .row-icon[b-jl2e0jsn4a] { width: 29px; height: 29px; }
    .row-icon i[b-jl2e0jsn4a] { font-size: 17px; }
    .stage-hint[b-jl2e0jsn4a] { font-size: 0.74rem; min-width: 120px; }
    .pipeline-stages.single .stage-icon[b-jl2e0jsn4a] { width: 46px; height: 46px; }
    .pipeline-stages.single .stage-icon i[b-jl2e0jsn4a] { font-size: 28px; }
    .pipeline-stages.single .stage-name[b-jl2e0jsn4a] { font-size: 20px; }
}

/* An ungated environment keeps its Approvals row so sibling cards stay aligned,
   but the row is not reporting anything that happened - it is greyed out of the
   status colour to say so. */
.stage-row.muted .row-icon[b-jl2e0jsn4a] {
    background: var(--migratrix-bg-secondary);
    color: var(--migratrix-text-muted);
}

/* The OS-drawn emoji that used to sit in these slots are gone - every glyph on the card is
   now a NavIcon, which brings its own colour and renders the same on every platform. The
   emoji font stacks and their per-slot sizes went with them. */
/* /Pages/ChangeScripts/ChangeScripts.razor.rz.scp.css */


.change-scripts-container[b-vai067d01v] {
    --change-script-danger: #b42318;
    --change-script-danger-hover: #991b1b;
    --change-script-danger-bg: rgba(185, 28, 28, 0.08);
    --change-script-danger-border: rgba(180, 35, 24, 0.22);
    --change-script-danger-row-border: rgba(180, 35, 24, 0.45);
    padding: 1.5rem;
    background: var(--migratrix-bg-main);
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    overflow: hidden;
    min-height: 0;
    box-sizing: border-box;
}

.change-scripts-container > .config-card[b-vai067d01v] {
    flex-shrink: 0;
}

[data-theme="dark"] .change-scripts-container[b-vai067d01v] {
    --change-script-danger: #f97066;
    --change-script-danger-hover: #fda29b;
    --change-script-danger-bg: rgba(249, 112, 102, 0.10);
    --change-script-danger-border: rgba(249, 112, 102, 0.22);
    --change-script-danger-row-border: rgba(249, 112, 102, 0.52);
}

.search-container[b-vai067d01v] {
    position: relative;
    flex: 0 0 200px;
}

.search-input[b-vai067d01v] {
    width: 100%;
    height: 38px;
    padding: 0 0.75rem 0 2.25rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.8125rem;
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    transition: all 0.2s ease;
}

/* Controls layout */
.controls-left[b-vai067d01v] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    flex: 0 0 auto;
    min-width: 0;
}

.controls-right[b-vai067d01v] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    flex-shrink: 0;
}

.controls-divider[b-vai067d01v] {
    width: 1px;
    height: 24px;
    background: var(--migratrix-border);
    flex-shrink: 0;
}

.filter-select[b-vai067d01v] {
    height: 38px;
    padding: 0 0.75rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    font-size: 0.8125rem;
    color: var(--migratrix-text-primary);
    min-width: 140px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.change-script-stats-grid[b-vai067d01v] {
    display: flex;
    gap: 1rem;
}

.change-script-stat-card[b-vai067d01v] {
    padding: 1rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    transition: all 0.2s ease;
}

.change-script-stat-card:hover[b-vai067d01v] {
    background: var(--migratrix-bg-hover);
    transform: translateY(-1px);
    box-shadow: var(--migratrix-shadow-sm);
}

.change-script-stat-value[b-vai067d01v] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
}

.change-script-stat-label[b-vai067d01v] {
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
}

.stat-pending .stat-value[b-vai067d01v] { color: var(--migratrix-secondary); }
.stat-in-progress .stat-value[b-vai067d01v] { color: var(--migratrix-primary); }
.stat-completed .stat-value[b-vai067d01v] { color: var(--migratrix-success); }
.stat-failed .stat-value[b-vai067d01v] { color: var(--change-script-danger); }

.change-scripts-table-container[b-vai067d01v] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    box-shadow: var(--migratrix-shadow-sm);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    transition: all 0.2s ease;
}

.desktop-table-view[b-vai067d01v],
.mobile-card-view[b-vai067d01v] {
    flex: 1;
    min-height: 0;
}

.desktop-table-view[b-vai067d01v] {
    display: flex;
    flex-direction: column;
}

.mobile-card-view[b-vai067d01v] {
    display: none;
    flex-direction: column;
}

.change-scripts-table-container:hover[b-vai067d01v] {
    box-shadow: var(--migratrix-shadow);
}

.table-header-row[b-vai067d01v],
.pipeline-item.desktop-row[b-vai067d01v] {
    display: grid;
    grid-template-columns: 3.2fr 1.2fr 3.8fr 1.5fr;
    gap: 1rem;
    align-items: center;
}

.table-header-row[b-vai067d01v] {
    padding: 0.6rem 1.25rem 0.6rem calc(1.25rem + 4px);
    background: var(--migratrix-bg-secondary);
    border-bottom: 1px solid var(--migratrix-border);
    position: sticky;
    top: 0;
    z-index: 2;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.th-actions[b-vai067d01v] { text-align: right; }

.col-change-script[b-vai067d01v],
.col-author[b-vai067d01v],
.col-pipeline[b-vai067d01v],
.col-actions[b-vai067d01v] { min-width: 0; }

.pipeline-info[b-vai067d01v] {
    min-width: 0;
    max-width: 100%;
}

.pipeline-name[b-vai067d01v] {
    display: block;
    max-width: 85%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.change-scripts-table-body-scroll[b-vai067d01v] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--migratrix-border) transparent;
}

.change-scripts-table-body-scroll[b-vai067d01v]::-webkit-scrollbar {
    width: 6px;
}

.change-scripts-table-body-scroll[b-vai067d01v]::-webkit-scrollbar-track {
    background: var(--migratrix-bg-secondary);
}

.change-scripts-table-body-scroll[b-vai067d01v]::-webkit-scrollbar-thumb {
    background: var(--migratrix-border);
    border-radius: 3px;
}

.pipelines-content[b-vai067d01v] {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1;
    min-height: 0;
}

.pipeline-item.desktop-row[b-vai067d01v] {
    padding: 1rem 1.5rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    border-left: 4px solid var(--migratrix-border);
    transition: all 0.2s ease;
    margin-bottom: 0;
}

.pipeline-item.completed[b-vai067d01v] { border-left-color: var(--migratrix-success); }
.pipeline-item.failed[b-vai067d01v] {
    border-left-color: var(--change-script-danger-row-border);
}
.pipeline-item.pending[b-vai067d01v] { border-left-color: var(--migratrix-secondary); }
.pipeline-item.in-progress[b-vai067d01v] { border-left-color: var(--migratrix-primary); }
.pipeline-item.rolling-back[b-vai067d01v] { border-left-color: var(--migratrix-warning); }
.pipeline-item.rolled-back[b-vai067d01v] { border-left-color: var(--migratrix-info); }

/* Pipeline info section */

.pipeline-meta[b-vai067d01v] {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

.info-icon[b-vai067d01v] {
    font-size: 14px;
}

.pr-badge[b-vai067d01v] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
    color: #7c3aed;
    border: 1px solid #7c3aed;
    text-decoration: none;
    line-height: 1.4;
    transition: background 0.15s;
    flex-shrink: 0;
}

.pr-badge:hover[b-vai067d01v] {
    background: rgba(124, 58, 237, 0.08);
}

.pr-badge .material-icons[b-vai067d01v] {
    font-size: 11px;
}

/* Author info */
.author-info[b-vai067d01v] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 120px;
}

.author-time[b-vai067d01v] {
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

/* Pipeline flow visualization */
.pipeline-flow[b-vai067d01v] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
    flex-wrap: wrap;
}

.pipeline-icon[b-vai067d01v] {
    font-size: 16px;
    flex-shrink: 0;
}

.pipeline-icon.completed[b-vai067d01v] { color: var(--migratrix-success); }
.pipeline-icon.failed[b-vai067d01v] { color: var(--change-script-danger); }
.pipeline-icon.pending[b-vai067d01v] { color: var(--migratrix-secondary); }
.pipeline-icon.inprogress[b-vai067d01v] { color: var(--migratrix-primary); }


.pipeline-actions .migratrix-btn-danger:hover[b-vai067d01v] {
    transform: translateY(-1px);
}

/* Action button icon colors */
.btn-icon-view[b-vai067d01v] { color: #60b3e8; }
.btn-icon-approve[b-vai067d01v] { color: var(--migratrix-success); }
.btn-icon-reject[b-vai067d01v] { color: var(--change-script-danger); }
.btn-icon-execute[b-vai067d01v] { color: #f0b429; }
.btn-icon-delete[b-vai067d01v] { color: var(--change-script-danger); }

/* Pipeline actions */
.pipeline-actions[b-vai067d01v] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    min-width: 200px;
}

.pipeline-btn[b-vai067d01v] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.375rem 0.75rem;
    border: 1px solid transparent;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    border-radius: var(--migratrix-radius-sm);
    background: transparent;
    text-decoration: none;
}

.pipeline-btn:hover[b-vai067d01v] {
    background: var(--migratrix-bg-hover);
    transform: translateY(-1px);
}

.pipeline-btn.apply[b-vai067d01v] {
    color: var(--migratrix-primary);
    border-color: var(--migratrix-primary);
}

.pipeline-btn.apply:hover[b-vai067d01v] {
    background: rgba(74, 137, 220, 0.1);
}

.pipeline-btn.reject[b-vai067d01v] {
    color: var(--change-script-danger);
    border-color: var(--change-script-danger-border);
}

.pipeline-btn.reject:hover[b-vai067d01v] {
    background: var(--change-script-danger-bg);
}

.actions-cell[b-vai067d01v] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.mobile-change-scripts-scroll[b-vai067d01v] {
    padding: 1rem;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mobile-change-script-card[b-vai067d01v] {
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    border-left: 4px solid var(--migratrix-border);
    padding: 1.5rem;
    transition: all 0.2s ease;
}

.mobile-change-script-card:hover[b-vai067d01v] {
    background: var(--migratrix-bg-card);
    border-color: var(--migratrix-primary);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(74, 137, 220, 0.15);
}

.mobile-change-script-card.completed[b-vai067d01v] { border-left-color: var(--migratrix-success); }
.mobile-change-script-card.failed[b-vai067d01v] {
    border-left-color: var(--change-script-danger-row-border);
}
.mobile-change-script-card.pending[b-vai067d01v] { border-left-color: var(--migratrix-secondary); }
.mobile-change-script-card.in-progress[b-vai067d01v] { border-left-color: var(--migratrix-primary); }

/* Mobile card header */

.mobile-change-script-info[b-vai067d01v] {
    flex: 1;
    min-width: 0;
}

.mobile-change-script-name[b-vai067d01v] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.75rem 0;
    max-width: 85%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-change-script-meta[b-vai067d01v] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.mobile-status-badge.completed[b-vai067d01v] {
    background: rgba(46, 204, 113, 0.1);
    color: var(--migratrix-success);
}

.mobile-status-badge.failed[b-vai067d01v] {
    background: var(--change-script-danger-bg);
    color: var(--change-script-danger);
    border: 1px solid rgba(180, 35, 24, 0.18);
}

.mobile-status-badge.pending[b-vai067d01v] {
    background: rgba(241, 196, 15, 0.1);
    color: var(--migratrix-secondary);
}

.mobile-status-badge.in-progress[b-vai067d01v] {
    background: rgba(74, 137, 220, 0.1);
    color: var(--migratrix-primary);
}

/* Mobile pipeline section */
.mobile-pipeline-section[b-vai067d01v] {
    margin-bottom: 1.5rem;
}

.mobile-section-title[b-vai067d01v] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0 0 1rem 0;
}

.mobile-pipeline-flow[b-vai067d01v] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.mobile-pipeline-stage[b-vai067d01v] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    transition: all 0.2s ease;
}

.mobile-pipeline-stage:hover[b-vai067d01v] {
    border-color: var(--migratrix-primary);
}

.mobile-stage-info[b-vai067d01v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.mobile-env-name[b-vai067d01v] {
    font-size: 0.8rem;
    font-family: monospace;
    font-weight: 500;
    color: var(--migratrix-text-primary);
}

.mobile-stage-icon[b-vai067d01v] {
    font-size: 16px;
}

.mobile-pipeline-stage.completed .mobile-stage-icon[b-vai067d01v] { color: var(--migratrix-success); }
.mobile-pipeline-stage.failed .mobile-stage-icon[b-vai067d01v] { color: var(--change-script-danger); }
.mobile-pipeline-stage.pending .mobile-stage-icon[b-vai067d01v] { color: var(--migratrix-secondary); }
.mobile-pipeline-stage.inprogress .mobile-stage-icon[b-vai067d01v] { color: var(--migratrix-primary); }

.mobile-stage-status[b-vai067d01v] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--migratrix-text-secondary);
    text-transform: capitalize;
}

/* Mobile actions */

.controls-section[b-vai067d01v] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    flex-wrap: nowrap;
}

.mobile-action-btn.success[b-vai067d01v] {
    background: var(--migratrix-success);
    color: white;
    border-color: var(--migratrix-success);
}

.mobile-action-btn.success:hover[b-vai067d01v] {
    background: #27ae60;
}

.mobile-action-btn.danger[b-vai067d01v] {
    background: var(--change-script-danger-bg);
    color: var(--change-script-danger);
    border-color: rgba(180, 35, 24, 0.22);
}

.mobile-action-btn.danger:hover[b-vai067d01v] {
    background: rgba(185, 28, 28, 0.12);
    color: var(--change-script-danger-hover);
    border-color: rgba(180, 35, 24, 0.32);
}

.mobile-approval-actions[b-vai067d01v] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.btn-text[b-vai067d01v] {
    display: inline;
}
@media (max-width: 1727px) {
    .pipeline-item.desktop-row[b-vai067d01v]{
        padding: 0.7rem 1.5rem;
    }
    .kpi-card[b-vai067d01v], .metric-card[b-vai067d01v]{
        height: 35px;
    }
}

@media (min-width: 1281px) {
    .change-scripts-container[b-vai067d01v] {
        padding: 2rem;
    }
    
    .search-container[b-vai067d01v] {
        max-width: 450px;
    }

    .change-script-stats-grid[b-vai067d01v] {
        gap: 1.5rem;
    }
}

@media (min-width: 1281px) and (max-width: 1280px) {
    .change-scripts-container[b-vai067d01v] {
        padding: 1.75rem;
    }

    .search-container[b-vai067d01v] {
        max-width: 400px;
    }

    .controls-section[b-vai067d01v]{
        padding: 1.25rem;
    }
}

@media (min-width: 1025px) and (max-width: 1280px) {
    .change-scripts-container[b-vai067d01v] {
        padding: 1.5rem;
    }
    
    .search-container[b-vai067d01v] {
        max-width: 350px;
    }

    .change-script-stats-grid[b-vai067d01v] {
       
        gap: 1rem;
    }
    .pipeline-item.desktop-row[b-vai067d01v] {
        gap: 1.25rem;
    }

    .pipeline-name[b-vai067d01v] {
        font-size: 0.8rem;
    }

    .pipeline-source[b-vai067d01v] {
        padding: 0.3125rem 0.625rem;
        font-size: 0.7rem;
    }

    .pipeline-actions[b-vai067d01v] {
        min-width: 180px;
        gap: 0.375rem;
    }

    .pipeline-btn[b-vai067d01v] {
        padding: 0.3125rem 0.625rem;
        font-size: 0.7rem;
    }

    .author-avatar[b-vai067d01v] {
        width: 28px;
        height: 28px;
        font-size: 0.7rem;
    }

    .fixed-width[b-vai067d01v]{
        width: 4rem;
    }
}

@media (min-width: 1025px) and (max-width: 1024px) {
    .controls-section[b-vai067d01v] {
        flex-wrap: wrap;
        gap: 1.5rem;
    }

    .search-container[b-vai067d01v] {
        flex: 1;
        min-width: 300px;
        max-width: none;
    }

    .filter-controls[b-vai067d01v] {
        flex: 1;
        justify-content: flex-end;
    }

    .change-script-stats-grid[b-vai067d01v] {
        grid-template-columns: repeat(2, 1fr);
        min-width: auto;
        width: 100%;
    }

    .table-header-row[b-vai067d01v],
    .pipeline-item.desktop-row[b-vai067d01v] {
        grid-template-columns: 2fr 1fr 3fr 1.5fr;
    }

    .pipeline-actions[b-vai067d01v] {
        min-width: 140px;
    }

    .btn-text[b-vai067d01v] {
        display: none;
    }
}

/* Tablet Portrait (768-899px) - Switch to Mobile View */
@media (max-width: 1024px) {
    .desktop-table-view[b-vai067d01v] {
        display: none;
    }

    .mobile-card-view[b-vai067d01v] {
        display: flex;
    }

    .controls-section[b-vai067d01v] {
        flex-direction: column;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 1.25rem;
        padding: 1.5rem;
    }

    .change-scripts-kpi-grid[b-vai067d01v] {
        flex: 1 1 100%;
        max-width: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .search-container[b-vai067d01v] {
        max-width: none;
        min-width: auto;
    }

    .filter-controls[b-vai067d01v] {
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .filter-select[b-vai067d01v] {
        min-width: auto;
        flex: 1;
    }

    .change-script-stats-grid[b-vai067d01v] {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
        min-width: auto;
    }
}

@media (max-width: 768px) {
    .change-scripts-container[b-vai067d01v] {
        padding: 1rem;
    }

    .controls-section[b-vai067d01v] {
        padding: 1.25rem;
    }

    .change-script-stats-grid[b-vai067d01v] {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }

    .mobile-change-script-card[b-vai067d01v] {
        padding: 1.25rem;
    }

    .mobile-card-header[b-vai067d01v] {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }

    .mobile-status-badge[b-vai067d01v] {
        align-self: flex-start;
    }

    .mobile-approval-actions[b-vai067d01v] {
        flex-direction: row;
        gap: 0.5rem;
    }

    .mobile-action-btn[b-vai067d01v] {
        font-size: 0.8rem;
        padding: 0.625rem 0.875rem;
    }
}

/* Mobile Portrait (480-639px) */
@media (max-width: 640px) {
    .change-scripts-container[b-vai067d01v] {
        padding: 0.75rem;
    }

    .controls-section[b-vai067d01v] {
        padding: 1rem;
        gap: 1rem;
    }

    .change-script-stats-grid[b-vai067d01v] {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .search-input[b-vai067d01v] {
        padding: 0.625rem 0.625rem 0.625rem 2.25rem;
        font-size: 0.8rem;
    }

    .search-icon[b-vai067d01v] {
        left: 0.75rem;
        font-size: 14px;
    }

    .filter-select[b-vai067d01v] {
        padding: 0.625rem;
        font-size: 0.8rem;
    }

    .mobile-change-script-card[b-vai067d01v] {
        padding: 1rem;
    }

    .mobile-change-script-name[b-vai067d01v] {
        font-size: 0.9rem;
    }

    .mobile-approval-actions[b-vai067d01v] {
        flex-direction: column;
        gap: 0.5rem;
    }
}

@media (max-width: 480px) {
    .change-scripts-container[b-vai067d01v] {
        padding: 0.5rem;
    }

    .controls-section[b-vai067d01v] {
        padding: 0.875rem;
    }

    .mobile-change-script-card[b-vai067d01v] {
        padding: 0.875rem;
    }

    .mobile-pipeline-flow[b-vai067d01v] {
        gap: 0.5rem;
    }

    .mobile-pipeline-stage[b-vai067d01v] {
        padding: 0.625rem;
    }

    .mobile-env-name[b-vai067d01v] {
        font-size: 0.75rem;
    }

    .mobile-action-btn[b-vai067d01v] {
        font-size: 0.75rem;
        padding: 0.5rem 0.75rem;
    }

    .mobile-section-title[b-vai067d01v] {
        font-size: 0.8rem;
    }
}

.empty-state[b-vai067d01v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    text-align: center;
    flex: 1;
}

.empty-icon[b-vai067d01v] {
    font-size: 4rem;
    color: var(--migratrix-text-muted);
    margin-bottom: 1.5rem;
}

.empty-title[b-vai067d01v] {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
}

.empty-description[b-vai067d01v] {
    color: var(--migratrix-text-secondary);
    margin-bottom: 2rem;
    max-width: 400px;
    line-height: 1.6;
    font-size: 0.875rem;
}

.loading-state[b-vai067d01v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    text-align: center;
    flex: 1;
}

.loading-spinner[b-vai067d01v] {
    width: 3rem;
    height: 3rem;
    border: 3px solid var(--migratrix-border);
    border-top: 3px solid var(--migratrix-primary);
    border-radius: 50%;
    animation: spin-b-vai067d01v 1s linear infinite;
    margin-bottom: 1rem;
}

@keyframes spin-b-vai067d01v {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ── Row-level indicators ──────────────────────────────── */

.risk-badge[b-vai067d01v] {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.4rem;
    border-radius: 3px;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.4;
    flex-shrink: 0;
}

.risk-badge.low[b-vai067d01v] {
    background: rgba(46, 204, 113, 0.12);
    color: #16a34a;
    border: 1px solid rgba(46, 204, 113, 0.3);
}

.risk-badge.medium[b-vai067d01v] {
    background: rgba(243, 156, 18, 0.12);
    color: #b45309;
    border: 1px solid rgba(243, 156, 18, 0.3);
}

.risk-badge.high[b-vai067d01v] {
    background: var(--change-script-danger-bg);
    color: var(--change-script-danger);
    border: 1px solid var(--change-script-danger-border);
}

.risk-badge.critical[b-vai067d01v] {
    background: var(--change-script-danger-bg);
    color: var(--change-script-danger-hover);
    border: 1px solid var(--change-script-danger-border);
}

.row-indicator[b-vai067d01v] {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.1rem 0.4rem;
    border-radius: 3px;
    line-height: 1.4;
    flex-shrink: 0;
}

.row-indicator .material-icons[b-vai067d01v] {
    font-size: 10px;
}

.approval-indicator[b-vai067d01v] {
    background: rgba(243, 156, 18, 0.12);
    color: #b45309;
    border: 1px solid rgba(243, 156, 18, 0.3);
}

.stuck-indicator[b-vai067d01v] {
    background: var(--change-script-danger-bg);
    color: var(--change-script-danger);
    border: 1px solid rgba(180, 35, 24, 0.2);
}

.pipeline-item.needs-approval[b-vai067d01v] {
    border-left: 3px solid var(--migratrix-warning, #f39c12);
}

.pipeline-item.is-stuck[b-vai067d01v] {
    border-left: 3px solid rgba(180, 35, 24, 0.45);
}

.change-scripts-kpi-grid[b-vai067d01v] {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    gap: 0.5rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

/* Space priority inside a compact header card. The card is a flex row of icon + label +
   value; a flex item defaults to min-width:auto, so the nowrap label could not shrink and
   won the space fight, leaving the value - the actual number - as the only thing that could
   give. It collapsed to an ellipsis while the word stayed whole ("SUCCESS  2..."). Now the
   value is locked and the label yields, which is the right way round: the figure is the
   data, the word is context you can still read from the icon and the tooltip. */
.change-scripts-kpi-grid .kpi-label[b-vai067d01v] {
    white-space: nowrap;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.change-scripts-kpi-grid .kpi-value[b-vai067d01v] {
    flex: 0 0 auto;
    overflow: visible;
}

/* and take some pressure off in the first place - 1rem of column gap plus 1rem of side
   padding is a lot to spend on a card that is ~100px wide at these widths */
.change-scripts-kpi-grid .kpi-card[b-vai067d01v] {
    column-gap: 0.5rem;
    padding-left: 0.6rem;
    padding-right: 0.6rem;
}

/* Active PRs dropdown */
.active-prs-container[b-vai067d01v] {
    position: relative;
}

.active-prs-btn[b-vai067d01v] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    height: 38px;
    padding: 0 0.875rem;
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.active-prs-btn:hover[b-vai067d01v] {
    color: var(--migratrix-text-primary);
}

.active-prs-btn.has-items[b-vai067d01v] {
    color: #7c3aed;
}

.active-prs-btn.has-items:hover[b-vai067d01v] {
    background: rgba(124, 58, 237, 0.05);
}

.active-prs-btn .material-icons[b-vai067d01v] {
    font-size: 16px;
}

.active-prs-btn .chevron[b-vai067d01v] {
    font-size: 16px;
    color: var(--migratrix-text-secondary);
    margin-left: 0.125rem;
}

.active-prs-count[b-vai067d01v] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 9px;
    background: #7c3aed;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1;
}

.dropdown-backdrop[b-vai067d01v] {
    position: fixed;
    inset: 0;
    z-index: 199;
}

.active-prs-dropdown[b-vai067d01v] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 200;
    width: 360px;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: 10px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.07), 0 10px 30px -4px rgba(0,0,0,0.12);
    overflow: hidden;
}

.active-prs-header[b-vai067d01v] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--migratrix-border);
    background: var(--migratrix-bg-secondary, rgba(124, 58, 237, 0.03));
}

.active-prs-header-left[b-vai067d01v] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.active-prs-header-left .material-icons[b-vai067d01v] {
    font-size: 15px;
    color: #7c3aed;
}

.active-prs-hint[b-vai067d01v] {
    font-size: 0.7rem;
    color: var(--migratrix-text-secondary);
    font-style: italic;
}

.active-prs-empty[b-vai067d01v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1.25rem 1rem;
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
}

.active-prs-empty .material-icons[b-vai067d01v] {
    font-size: 18px;
    color: var(--migratrix-success, #22c55e);
}

.active-pr-item[b-vai067d01v] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 1rem;
    border-bottom: 1px solid var(--migratrix-border);
    transition: background 0.12s;
}

.active-pr-item:last-child[b-vai067d01v] {
    border-bottom: none;
}

.active-pr-item:hover[b-vai067d01v] {
    background: rgba(124, 58, 237, 0.03);
}

.active-pr-icon[b-vai067d01v] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: rgba(124, 58, 237, 0.08);
    flex-shrink: 0;
}

.active-pr-icon .material-icons[b-vai067d01v] {
    font-size: 15px;
    color: #7c3aed;
}

.active-pr-info[b-vai067d01v] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1;
}

.active-pr-name[b-vai067d01v] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.active-pr-branch[b-vai067d01v] {
    font-size: 0.7rem;
    color: var(--migratrix-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: monospace;
}

.active-pr-meta[b-vai067d01v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.active-pr-time[b-vai067d01v] {
    font-size: 0.7rem;
    color: var(--migratrix-text-secondary);
    white-space: nowrap;
}

.active-pr-link[b-vai067d01v] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: #7c3aed;
    text-decoration: none;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    border: 1px solid rgba(124, 58, 237, 0.35);
    background: rgba(124, 58, 237, 0.05);
    transition: background 0.12s, border-color 0.12s;
    white-space: nowrap;
}

.active-pr-link:hover[b-vai067d01v] {
    background: rgba(124, 58, 237, 0.12);
    border-color: #7c3aed;
}

.active-pr-link .material-icons[b-vai067d01v] {
    font-size: 11px;
}
/* /Pages/ChangeScripts/MultiStatementLogEntry.razor.rz.scp.css */
.multi-statement-log-entry[b-3cnaa3ps69] {
    margin-bottom: 0;
}

.summary-badge-inline[b-3cnaa3ps69] {
    font-weight: 600;
    font-size: 0.875rem;
}

.summary-badge-inline.success[b-3cnaa3ps69] {
    color: #2ecc71;
}

.summary-badge-inline.error[b-3cnaa3ps69] {
    color: #f14c4c;
}

.expand-icon-left[b-3cnaa3ps69] {
    font-size: 18px;
    color: #969696;
    flex-shrink: 0;
    transition: transform 0.2s ease;
    cursor: pointer;
    margin-left: 0.5rem;
}

.multi-statement-details[b-3cnaa3ps69] {
    background: #1e1e1e;
    padding: 0.75rem 1.25rem 0.75rem 3rem;
    border-left: 3px solid transparent;
    margin-left: 1.25rem;
}

.statement-filter[b-3cnaa3ps69] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #3e3e42;
}

.filter-btn[b-3cnaa3ps69] {
    padding: 0.375rem 0.75rem;
    border: 1px solid #3e3e42;
    border-radius: 4px;
    background: #2d2d30;
    color: #cccccc;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
}

.filter-btn:hover[b-3cnaa3ps69] {
    background: #3e3e42;
}

.filter-btn.active[b-3cnaa3ps69] {
    background: #f37c19;
    color: white;
    border-color: #f37c19;
}

.statements-list[b-3cnaa3ps69] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.statement-item[b-3cnaa3ps69] {
    border-left: 3px solid transparent;
    background: transparent;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.statement-item.success[b-3cnaa3ps69] {
    border-left-color: #2ecc71;
    background: rgba(46, 204, 113, 0.05);
}

.statement-item.error[b-3cnaa3ps69] {
    border-left-color: #f14c4c;
    background: rgba(241, 76, 76, 0.05);
}

.statement-header[b-3cnaa3ps69] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    gap: 0.75rem;
    transition: background-color 0.15s ease;
    flex-wrap: wrap;
}

.statement-header:hover[b-3cnaa3ps69] {
    background: rgba(255, 255, 255, 0.03);
}

.statement-number[b-3cnaa3ps69] {
    font-weight: 600;
    font-size: 0.875rem;
    color: #cccccc;
    min-width: 120px;
}

.statement-status[b-3cnaa3ps69] {
    display: flex;
    align-items: center;
}

.success-icon[b-3cnaa3ps69] {
    color: #2ecc71;
    font-size: 18px;
}

.error-icon[b-3cnaa3ps69] {
    color: #f14c4c;
    font-size: 18px;
}

.statement-preview[b-3cnaa3ps69] {
    flex: 1;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 0.8125rem;
    color: #969696;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.statement-meta[b-3cnaa3ps69] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.75rem;
    color: #969696;
    white-space: nowrap;
}

.rows-affected[b-3cnaa3ps69] {
    padding: 0.125rem 0.375rem;
    background: rgba(59, 130, 246, 0.1);
    border-radius: 3px;
    color: #3b82f6;
}

.execution-time[b-3cnaa3ps69] {
    color: #969696;
}

.expand-icon[b-3cnaa3ps69] {
    font-size: 18px;
    color: #969696;
    transition: transform 0.2s ease;
}

.statement-details[b-3cnaa3ps69] {
    padding: 0.75rem 0.75rem 0.75rem 0;
    background: transparent;
    border-top: none;
    margin-left: 1.5rem;
}

.statement-label[b-3cnaa3ps69] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #969696;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.statement-full[b-3cnaa3ps69] {
    margin-bottom: 1rem;
}

.statement-code[b-3cnaa3ps69] {
    background: #1e1e1e;
    border: 1px solid #3e3e42;
    border-radius: 4px;
    padding: 0.75rem;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 0.8125rem;
    color: #d4d4d4;
    overflow-x: auto;
    white-space: pre-wrap;
    word-wrap: break-word;
    margin: 0;
    line-height: 1.5;
}

.statement-message[b-3cnaa3ps69] {
    margin-top: 0.75rem;
}

.message-text[b-3cnaa3ps69] {
    padding: 0.75rem;
    border-radius: 4px;
    font-size: 0.875rem;
    line-height: 1.5;
    word-wrap: break-word;
}

.message-text.success[b-3cnaa3ps69] {
    background: rgba(46, 204, 113, 0.1);
    color: #2ecc71;
    border: 1px solid rgba(46, 204, 113, 0.2);
}

.message-text.error[b-3cnaa3ps69] {
    background: rgba(241, 76, 76, 0.1);
    color: #f14c4c;
    border: 1px solid rgba(241, 76, 76, 0.2);
}

.log-timestamp[b-3cnaa3ps69],
.log-level[b-3cnaa3ps69],
.log-message[b-3cnaa3ps69] {
    font-size: 0.875rem;
}


/* /Pages/ConversionStudio/ConversionStudio.razor.rz.scp.css */
.conversion-studio-page[b-u98yua41cq] {
    padding: 1.5rem;
}

.cs-studio-main[b-u98yua41cq] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    position: relative;
}

.cs-studio-results-toolbar[b-u98yua41cq] {
    width: 100%;
}

.ms-step-rail[b-u98yua41cq] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
    width: 100%;
}
.migratrix-main-layout[b-u98yua41cq] {
    display: grid;
    gap: 1.5rem;
    height: calc(100vh - 100px);
    transition: grid-template-columns 0.22s ease, gap 0.22s ease;
}

.migratrix-main-layout--sidebar-collapsed[b-u98yua41cq] {
    grid-template-columns: 0 minmax(0, 1fr);
    gap: 0;
}

.migratrix-results-header[b-u98yua41cq] {
    padding: 1.5rem 3rem;
}
.migratrix-sidebar[b-u98yua41cq] {
    overflow: auto;
    display: flex;
    flex-direction: column;
    min-width: 0;
    position: relative;
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.migratrix-sidebar-content[b-u98yua41cq] {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

.migratrix-sidebar.is-collapsed[b-u98yua41cq] {
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    transform: translateX(-0.5rem);
}

.ms-sidebar-seam-toggle[b-u98yua41cq] {
    position: absolute;
    z-index: 6;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    isolation: isolate;
    color: #fff;
    overflow: visible;
}

.ms-sidebar-seam-toggle[b-u98yua41cq]::before,
.ms-sidebar-seam-toggle[b-u98yua41cq]::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
}

.ms-sidebar-seam-toggle[b-u98yua41cq]::before {
    z-index: -2;
}

.ms-sidebar-seam-toggle[b-u98yua41cq]::after {
    z-index: -1;
}

.ms-sidebar-seam-toggle.is-expanded[b-u98yua41cq] {
    top: 1.6rem;
    right: 0rem;
    left: auto;
    width: 14px;
    height: 30px;
    border-radius: 12px 0 0 12px;
    box-shadow:
        0 8px 18px rgba(27, 113, 154, 0.16),
        inset -1px 0 0 rgba(255, 255, 255, 0.48),
        inset 0 -1px 0 rgba(0, 0, 0, 0.08);
}

.ms-sidebar-seam-toggle.is-collapsed[b-u98yua41cq] {
    top: 1.6rem;
    width: 14px;
    height: 30px;
    border-radius: 0 12px 12px 0;
    box-shadow:
        0 8px 18px rgba(27, 113, 154, 0.16),
        inset 1px 0 0 rgba(255, 255, 255, 0.48),
        inset 0 -1px 0 rgba(0, 0, 0, 0.08);
}

.ms-sidebar-toggle-icon[b-u98yua41cq] {
    stroke: currentColor;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ms-sidebar-seam-toggle.is-expanded .ms-sidebar-toggle-icon[b-u98yua41cq] {
    width: 12px;
    height: 26px;
    stroke-width: 3;
}

.ms-sidebar-seam-toggle.is-collapsed .ms-sidebar-toggle-icon[b-u98yua41cq] {
    width: 12px;
    height: 26px;
    stroke-width: 3;
}
.ms-step-rail-btn[b-u98yua41cq] {
padding: 0.55rem 0.65rem;
border: 1px solid var(--migratrix-border);
border-radius: 10px;
background: var(--migratrix-bg-card);
color: var(--migratrix-text-primary);
font-size: 0.82rem;
font-weight: 600;
text-align: center;
cursor: pointer;
}

.ms-step-rail-btn:disabled[b-u98yua41cq] {
opacity: 0.4;
cursor: not-allowed;
}

.ms-step-rail-btn.ready:not(:disabled):hover[b-u98yua41cq] {
border-color: rgba(243, 124, 25, 0.28);
}

.ms-step-rail-btn.active[b-u98yua41cq] {
border-color: rgba(243, 124, 25, 0.4);
background: rgba(243, 124, 25, 0.1);
color: var(--migratrix-primary);
}

.cs-studio-content[b-u98yua41cq] {
flex: 1;
min-height: 12rem;
}

.cs-studio-content--diagram[b-u98yua41cq] {
display: flex;
flex-direction: column;
min-height: 0;
}

.ms-draft-tabs[b-u98yua41cq] {
display: flex;
flex-wrap: wrap;
gap: 0.35rem;
margin-bottom: 1rem;
padding-bottom: 0.65rem;
border-bottom: 1px solid var(--migratrix-border);
}

.ms-run-tabs[b-u98yua41cq] {
margin-top: 0.15rem;
}

.ms-draft-tab[b-u98yua41cq] {
padding: 0.45rem 0.85rem;
border: 1px solid transparent;
border-radius: 8px;
background: transparent;
color: var(--migratrix-text-secondary);
font-size: 0.8rem;
font-weight: 600;
cursor: pointer;
}

.ms-draft-tab:hover[b-u98yua41cq] {
color: var(--migratrix-text-primary);
background: var(--migratrix-bg-secondary);
}

.ms-draft-tab.active[b-u98yua41cq] {
color: var(--migratrix-text-primary);
border-color: var(--migratrix-border);
background: var(--migratrix-bg-card);
}

.cs-studio-footer[b-u98yua41cq] {
display: flex;
justify-content: space-between;
align-items: center;
gap: 1rem;
margin-top: auto;
padding: 1rem;
border-top: 1px solid var(--migratrix-border);
}

.cs-studio-footer-primary[b-u98yua41cq] {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.5rem;
flex: 1;
}

.ms-loading-state[b-u98yua41cq],
.ms-empty-panel[b-u98yua41cq] {
padding: 1.25rem;
border: 1px dashed var(--migratrix-border);
border-radius: 12px;
color: var(--migratrix-text-secondary);
background: var(--migratrix-bg-card);
}

.ms-empty-panel.compact[b-u98yua41cq] {
padding: 0.9rem 1rem;
}

.ms-checklist[b-u98yua41cq] {
display: grid;
gap: 0.6rem;
}

.ms-kicker[b-u98yua41cq] {
margin-bottom: 0.25rem;
color: var(--migratrix-primary);
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
}

.ms-stage-pills[b-u98yua41cq],
.ms-toolbar-direction[b-u98yua41cq] {
display: flex;
flex-wrap: wrap;
gap: 0.65rem;
}

.ms-results-stepper[b-u98yua41cq] {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 0.75rem;
margin-bottom: 1rem;
}

.ms-results-step[b-u98yua41cq] {
display: grid;
gap: 0.18rem;
padding: 0.8rem 0.9rem;
text-align: left;
border: 1px solid var(--migratrix-border);
border-radius: 14px;
background: var(--migratrix-bg-card);
color: inherit;
}

.ms-results-step:disabled[b-u98yua41cq] {
opacity: 0.45;
}

.ms-results-step.ready[b-u98yua41cq] {
border-color: rgba(243, 124, 25, 0.18);
}

.ms-results-step.active[b-u98yua41cq] {
border-color: rgba(243, 124, 25, 0.32);
background: rgba(243, 124, 25, 0.08);
}

.ms-results-step-title[b-u98yua41cq] {
color: var(--migratrix-text-primary);
font-size: 0.83rem;
font-weight: 700;
}

.ms-results-step small[b-u98yua41cq] {
color: var(--migratrix-text-secondary);
font-size: 0.73rem;
line-height: 1.35;
}

.ms-results-toolbar[b-u98yua41cq] {
align-items: flex-end;
}

.ms-results-step-meta strong[b-u98yua41cq] {
display: block;
color: var(--migratrix-text-primary);
font-size: 0.95rem;
}

.ms-results-step-meta span[b-u98yua41cq] {
display: block;
color: var(--migratrix-text-secondary);
font-size: 0.8rem;
}

.ms-stage-pill[b-u98yua41cq],
.ms-toolbar-pill[b-u98yua41cq] {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.35rem;
min-height: 34px;
padding: 0.35rem 0.8rem;
border: 1px solid var(--migratrix-border);
border-radius: 999px;
background: var(--migratrix-bg-secondary);
color: var(--migratrix-text-secondary);
font-size: 0.78rem;
font-weight: 600;
}

.ms-stage-pill.ready[b-u98yua41cq] {
color: var(--migratrix-text-primary);
}

.ms-stage-pill.active[b-u98yua41cq] {
border-color: rgba(243, 124, 25, 0.32);
background: rgba(243, 124, 25, 0.12);
color: var(--migratrix-primary);
}

.ms-result-card[b-u98yua41cq],
.ms-subcard[b-u98yua41cq],
.ms-entity-card[b-u98yua41cq] {
border: 1px solid var(--migratrix-border);
background: var(--migratrix-bg-card);
box-shadow: var(--migratrix-shadow-sm);
}

.ms-result-card[b-u98yua41cq] {
padding: 1rem;
}

.ms-result-card--diagram[b-u98yua41cq] {
display: flex;
flex-direction: column;
flex: 1;
min-height: clamp(34rem, 62vh, 56rem);
overflow: hidden;
}

.ms-result-card--review[b-u98yua41cq] {
display: flex;
flex-direction: column;
flex: 1;
min-height: clamp(34rem, 62vh, 56rem);
overflow: hidden;
}

.ms-summary-stats[b-u98yua41cq] {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
gap: 0.35rem 0.5rem;
margin: 0 0 0.65rem;
padding: 0;
}

.ms-summary-stats .migratrix-stat-item[b-u98yua41cq] {
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: baseline;
gap: 0.28rem;
padding: 0.12rem 0.42rem;
min-width: 0;
border-radius: 6px;
border: 1px solid var(--migratrix-border);
background: var(--migratrix-bg-secondary);
}

.ms-summary-stats .migratrix-stat-number[b-u98yua41cq] {
margin: 0;
font-size: 0.78rem;
font-weight: 700;
line-height: 1.2;
}

.ms-summary-stats .migratrix-stat-label[b-u98yua41cq] {
margin: 0;
font-size: 0.62rem;
font-weight: 600;
line-height: 1.2;
letter-spacing: 0.01em;
color: var(--migratrix-text-secondary);
white-space: nowrap;
}

.ms-draft-diagram-host[b-u98yua41cq] {
display: flex;
flex: 1;
min-height: 0;
overflow: hidden;
}

.ms-draft-model-shell[b-u98yua41cq] {
display: grid;
gap: 1rem;
}

.ms-draft-model-summary[b-u98yua41cq] {
display: grid;
gap: 0.9rem;
padding: 1rem;
border: 1px solid var(--migratrix-border);
background: var(--migratrix-bg-secondary);
}

.ms-draft-model-heading[b-u98yua41cq] {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 1rem;
}

.ms-draft-model-heading h3[b-u98yua41cq] {
margin: 0;
color: var(--migratrix-text-primary);
font-size: 1rem;
font-weight: 700;
}

.ms-draft-model-stats[b-u98yua41cq] {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 0.65rem;
}

.ms-draft-model-stats div[b-u98yua41cq] {
display: flex;
gap: 1rem;
padding: 0.75rem 0.85rem;
border: 1px solid var(--migratrix-border);
background: var(--migratrix-bg-card);
}

.ms-draft-model-stats strong[b-u98yua41cq] {
color: var(--migratrix-text-primary);
font-size: 1.05rem;
line-height: 1.1;
}

.ms-draft-model-stats span[b-u98yua41cq] {
color: var(--migratrix-text-secondary);
font-size: 0.72rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.04em;
}

.ms-target-entity-list[b-u98yua41cq] {
display: grid;
gap: 1rem;
}

.ms-target-entity[b-u98yua41cq] {
border: 1px solid var(--migratrix-border);
background: var(--migratrix-bg-card);
box-shadow: var(--migratrix-shadow-sm);
}

.ms-target-entity-header[b-u98yua41cq] {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 1rem;
padding: 0.95rem 1rem;
border-bottom: 1px solid var(--migratrix-border);
background: var(--migratrix-bg-secondary);
}

.ms-target-entity-title[b-u98yua41cq] {
display: flex;
gap: 2rem;
min-width: 0;
    align-items: center;
}

.ms-target-entity-name-row[b-u98yua41cq] {
display: flex;
align-items: center;
gap: 0.45rem;
min-width: 0;
}

.ms-target-entity-name-row i[b-u98yua41cq] {
color: var(--migratrix-primary);
font-size: 1.05rem;
}

.ms-target-entity-name-row h4[b-u98yua41cq] {
margin: 0;
overflow-wrap: anywhere;
color: var(--migratrix-text-primary);
font-size: 0.95rem;
font-weight: 700;
}

.ms-target-entity-title span[b-u98yua41cq] {
color: var(--migratrix-text-secondary);
font-size: 0.78rem;
}

.ms-target-entity-body[b-u98yua41cq] {
padding: 1rem;
background: var(--migratrix-bg-card);
}

.ms-target-fields[b-u98yua41cq] {
min-width: 0;
}

.ms-target-field-table[b-u98yua41cq] {
margin-top: 0;
}

.ms-field-flag-group[b-u98yua41cq] {
display: flex;
flex-wrap: wrap;
gap: 0.35rem 0.8rem;
align-items: center;
}

.ms-field-flag-group .form-check[b-u98yua41cq] {
display: inline-flex;
align-items: center;
gap: 0.35rem;
min-height: 1.5rem;
margin: 0;
}

.ms-field-flag-group .form-check-input[b-u98yua41cq] {
margin: 0;
}

.ms-field-name[b-u98yua41cq] {
display: flex;
flex-wrap: nowrap;
align-items: center;
gap: 0.6rem;
}

.ms-type-cell[b-u98yua41cq] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.ms-type-badges[b-u98yua41cq] {
    display: flex;
    align-items: center;
    width: 5rem;
    flex-shrink: 0;
}

.ms-field-name strong[b-u98yua41cq] {
overflow-wrap: anywhere;
color: var(--migratrix-text-primary);
font-size: 0.8rem;
}

.ms-field-name span[b-u98yua41cq],
.ms-field-name small[b-u98yua41cq],
.ms-status-pill[b-u98yua41cq],
.ms-shape-pill[b-u98yua41cq] {
display: inline-flex;
align-items: center;
min-height: 1.25rem;
padding: 0.12rem 0.42rem;
border: 1px solid var(--migratrix-border);
background: var(--migratrix-bg-secondary);
color: var(--migratrix-text-secondary);
font-size: 0.68rem;
font-weight: 700;
line-height: 1;
}

.ms-field-name span[b-u98yua41cq],
.ms-status-pill[b-u98yua41cq] {
border-color: rgba(243, 124, 25, 0.28);
background: rgba(243, 124, 25, 0.1);
color: var(--migratrix-primary);
}

.conversion-studio-page .ms-table-wrap .table tr.is-muted td[b-u98yua41cq] {
opacity: 0.58;
}

.ms-subcard[b-u98yua41cq],
.ms-entity-card[b-u98yua41cq] {
padding: 0.95rem 1rem;
margin-top: 1rem;
}

.ms-subcard--fill[b-u98yua41cq] {
display: flex;
flex-direction: column;
flex: 1;
min-height: 0;
overflow: hidden;
}

.ms-card-header[b-u98yua41cq],
.ms-entity-card-header[b-u98yua41cq],
.ms-history-item[b-u98yua41cq] {
display: flex;
justify-content: space-between;
gap: 1rem;
align-items: flex-start;
}

.ms-card-header[b-u98yua41cq] {
margin-bottom: 1rem;
}

.ms-card-header h3[b-u98yua41cq] {
margin: 0 0 0.2rem;
font-size: 1.08rem;
}

.ms-card-header p[b-u98yua41cq],
.ms-review-item p[b-u98yua41cq],
.ms-insight-card p[b-u98yua41cq] {
margin: 0;
color: var(--migratrix-text-secondary);
font-size: 0.84rem;
line-height: 1.5;
}

.ms-subcard-title[b-u98yua41cq] {
margin-bottom: 0.85rem;
font-size: 0.86rem;
font-weight: 700;
color: var(--migratrix-text-primary);
}

.ms-split-grid[b-u98yua41cq],
.ms-overview-grid[b-u98yua41cq],
.ms-insight-grid[b-u98yua41cq],
.ms-card-grid.two-up[b-u98yua41cq] {
display: grid;
gap: 1rem;
}

.ms-split-grid[b-u98yua41cq],
.ms-card-grid.two-up[b-u98yua41cq] {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ms-overview-grid[b-u98yua41cq] {
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ms-overview-tile[b-u98yua41cq] {
display: grid;
gap: 0.35rem;
justify-items: start;
text-align: left;
padding: 1rem;
border: 1px solid var(--migratrix-border);
border-radius: 12px;
background: var(--migratrix-bg-secondary);
color: inherit;
}

.ms-overview-tile.active[b-u98yua41cq],
.ms-overview-tile:not(:disabled):hover[b-u98yua41cq] {
border-color: rgba(243, 124, 25, 0.3);
background: rgba(243, 124, 25, 0.08);
}

.ms-overview-tile i[b-u98yua41cq] {
color: var(--migratrix-primary);
}

.ms-overview-tile span[b-u98yua41cq] {
color: var(--migratrix-text-secondary);
font-size: 0.8rem;
line-height: 1.45;
}

.ms-insight-grid[b-u98yua41cq] {
grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ms-insight-card[b-u98yua41cq] {
padding: 0.95rem;
border: 1px solid var(--migratrix-border);
border-radius: 12px;
background: var(--migratrix-bg-secondary);
}

.ms-insight-head[b-u98yua41cq] {
display: flex;
justify-content: space-between;
gap: 0.5rem;
align-items: flex-start;
}

.ms-insight-value[b-u98yua41cq] {
margin: 0.35rem 0 0.2rem;
font-size: 1.35rem;
font-weight: 700;
color: var(--migratrix-text-primary);
}

.ms-review-item[b-u98yua41cq] {
padding: 0.7rem 0;
border-bottom: 1px solid var(--migratrix-border-thin);
}

.ms-review-item:last-child[b-u98yua41cq] {
padding-bottom: 0;
border-bottom: 0;
}

.ms-review-item strong[b-u98yua41cq],
.ms-entity-card-header strong[b-u98yua41cq],
.ms-history-item strong[b-u98yua41cq] {
display: block;
color: var(--migratrix-text-primary);
font-size: 0.84rem;
}

.ms-review-item span[b-u98yua41cq],
.ms-entity-card-header span[b-u98yua41cq],
.ms-history-item span[b-u98yua41cq],
.ms-history-item small[b-u98yua41cq] {
display: block;
color: var(--migratrix-text-secondary);
font-size: 0.76rem;
}

.ms-mini-entity[b-u98yua41cq] {
margin-top: 0.75rem;
margin-bottom: 0.6rem;
color: var(--migratrix-text-primary);
font-size: 0.82rem;
font-weight: 700;
}

.ms-table-wrap[b-u98yua41cq] {
margin-top: 0.8rem;
border: 1px solid var(--migratrix-border);
border-radius: 4px;
overflow: hidden;
background: var(--migratrix-bg-card);
}

.ms-subcard--fill .ms-table-wrap[b-u98yua41cq] {
display: flex;
flex: 1;
min-height: 0;
overflow: auto;
}

.ms-code-block-host[b-u98yua41cq] {
display: flex;
flex: 1;
min-height: 0;
margin-top: 0.8rem;
overflow: auto;
}

.conversion-studio-page .ms-table-wrap .table[b-u98yua41cq] {
margin-bottom: 0;
font-size: 0.8rem;
--bs-table-color: var(--migratrix-text-primary);
--bs-table-bg: var(--migratrix-bg-card);
--bs-table-border-color: var(--migratrix-border-thin);
--bs-table-hover-color: var(--migratrix-text-primary);
--bs-table-hover-bg: var(--migratrix-bg-hover);
color: var(--migratrix-text-primary);
}

.conversion-studio-page .ms-table-wrap .table thead th[b-u98yua41cq] {
background: var(--migratrix-bg-secondary);
color: var(--migratrix-text-secondary);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.04em;
border-bottom-color: var(--migratrix-border);
}

.conversion-studio-page .ms-table-wrap .table td[b-u98yua41cq] {
border-color: var(--migratrix-border-thin);
vertical-align: middle;
}

.ms-edit-cell[b-u98yua41cq] {
min-width: 11rem;
}

.ms-structural-warning-cell[b-u98yua41cq] {
min-width: 18rem;
max-width: 26rem;
color: var(--migratrix-text-secondary);
font-size: 0.84rem;
line-height: 1.45;
}

.ms-live-banner-row[b-u98yua41cq] {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 0.75rem;
margin-bottom: 1rem;
}

.ms-live-progress-wrap[b-u98yua41cq] {
flex: 0 0 8px;
display: flex;
align-items: stretch;
align-self: stretch;
min-height: 3.25rem;
}

.ms-live-progress-track[b-u98yua41cq] {
position: relative;
flex: 1;
width: 8px;
min-height: 100%;
border-radius: 999px;
background: var(--migratrix-border);
overflow: hidden;
}

.ms-live-progress-fill[b-u98yua41cq] {
position: absolute;
left: 0;
right: 0;
bottom: 0;
width: 100%;
border-radius: 999px;
background: linear-gradient(180deg, var(--migratrix-primary), rgba(243, 124, 25, 0.72));
transition: height 0.2s ease;
}

.ms-live-progress-track.is-indeterminate[b-u98yua41cq] {
background: linear-gradient(
180deg,
rgba(243, 124, 25, 0.15) 0%,
rgba(243, 124, 25, 0.45) 40%,
rgba(243, 124, 25, 0.15) 80%,
rgba(243, 124, 25, 0.15) 100%
);
background-size: 100% 200%;
animation: ms-live-progress-pulse-b-u98yua41cq 1.1s ease-in-out infinite;
}

@keyframes ms-live-progress-pulse-b-u98yua41cq {
0% {
background-position: 0 0;
}
100% {
background-position: 0 100%;
}
}

.ms-live-banner[b-u98yua41cq] {
display: flex;
flex-direction: column;
gap: 0.15rem;
flex: 1;
min-width: 0;
padding: 0.85rem 0.95rem;
border: 1px solid rgba(52, 152, 219, 0.28);
border-radius: 12px;
background: rgba(52, 152, 219, 0.08);
}

.ms-live-banner span[b-u98yua41cq],
.ms-live-banner small[b-u98yua41cq] {
color: var(--migratrix-text-secondary);
}

.ms-history-item[b-u98yua41cq] {
padding: 0.85rem 0.95rem;
margin-top: 0.75rem;
border: 1px solid var(--migratrix-border);
border-radius: 12px;
background: var(--migratrix-bg-secondary);
}

.ms-history-item.is-active[b-u98yua41cq] {
border-color: rgba(243, 124, 25, 0.3);
background: rgba(243, 124, 25, 0.08);
}

.ms-progress-group[b-u98yua41cq] {
display: grid;
gap: 0.45rem;
margin-bottom: 0.9rem;
}

.ms-progress-title-row[b-u98yua41cq] {
display: flex;
justify-content: space-between;
align-items: center;
gap: 0.75rem;
font-size: 0.86rem;
}

.ms-progress-title-row span[b-u98yua41cq] {
color: var(--migratrix-text-secondary);
}

.ms-progress-track[b-u98yua41cq] {
position: relative;
height: 10px;
border-radius: 999px;
background: var(--migratrix-border);
overflow: hidden;
}

.ms-progress-track.slim[b-u98yua41cq] {
height: 8px;
min-width: 120px;
}

.ms-progress-fill[b-u98yua41cq] {
height: 100%;
border-radius: 999px;
background: linear-gradient(90deg, var(--migratrix-primary), rgba(243, 124, 25, 0.72));
transition: width 0.25s ease;
}

.ms-flow-progress-cell[b-u98yua41cq] {
min-width: 170px;
}

.ms-flow-progress-cell small[b-u98yua41cq] {
display: inline-block;
margin-top: 0.2rem;
color: var(--migratrix-text-secondary);
}

.ms-code-block[b-u98yua41cq] {
margin: 0;
padding: 0.95rem 1rem;
max-height: 28rem;
overflow: auto;
border: 1px solid var(--migratrix-border);
border-radius: 12px;
background: var(--migratrix-bg-bright);
color: var(--migratrix-code-text);
font-family: var(--font-mono);
font-size: 0.76rem;
line-height: 1.5;
}

.ms-code-block-host .ms-code-block[b-u98yua41cq] {
flex: 1;
min-height: 100%;
max-height: none;
}

.ms-code-block code[b-u98yua41cq] {
white-space: pre;
color: inherit;
}

.ms-results-actions[b-u98yua41cq] {
display: flex;
justify-content: space-between;
gap: 1rem;
align-items: center;
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px solid var(--migratrix-border);
}

.ms-results-actions-primary[b-u98yua41cq] {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.6rem;
}

.ms-results-actions .migratrix-btn.primary[b-u98yua41cq] {
background: var(--migratrix-primary);
color: #fff;
border-color: rgba(243, 124, 25, 0.8);
}

.ms-metric-list[b-u98yua41cq] {
display: grid;
gap: 0.6rem;
}

.ms-metric-list div[b-u98yua41cq] {
display: flex;
justify-content: space-between;
gap: 0.75rem;
padding: 0.65rem 0.75rem;
border: 1px solid var(--migratrix-border);
border-radius: 10px;
background: var(--migratrix-bg-secondary);
}

.ms-metric-list span[b-u98yua41cq] {
color: var(--migratrix-text-secondary);
}

.ms-metric-list strong[b-u98yua41cq] {
color: var(--migratrix-text-primary);
}

@media (max-width: 1280px) {
.ms-results-stepper[b-u98yua41cq],
.ms-step-rail[b-u98yua41cq],
.ms-insight-grid[b-u98yua41cq] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ms-overview-grid[b-u98yua41cq] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

}

@media (max-width: 1024px) {
.conversion-studio-page[b-u98yua41cq] {
    padding: 1rem;
}

.migratrix-main-layout[b-u98yua41cq],
.migratrix-main-layout--sidebar-collapsed[b-u98yua41cq] {
    grid-template-columns: 1fr;
    gap: 1rem;
    height: auto;
}

.migratrix-sidebar.is-collapsed[b-u98yua41cq] {
    display: none;
    transform: none;
}

.ms-results-stepper[b-u98yua41cq],
.ms-step-rail[b-u98yua41cq],
.ms-split-grid[b-u98yua41cq],
.ms-card-grid.two-up[b-u98yua41cq],
.ms-overview-grid[b-u98yua41cq],
.ms-insight-grid[b-u98yua41cq] {
    grid-template-columns: 1fr;
}

.ms-results-actions[b-u98yua41cq],
.cs-studio-footer[b-u98yua41cq] {
    flex-direction: column;
    align-items: stretch;
}

.ms-draft-model-heading[b-u98yua41cq],
.ms-target-entity-header[b-u98yua41cq] {
    flex-direction: column;
    align-items: stretch;
}

.ms-draft-model-stats[b-u98yua41cq] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ms-sidebar-toggle-btn[b-u98yua41cq] {
    width: 100%;
    justify-content: center;
}
}

.cs-studio-footer .migratrix-btn.primary[b-u98yua41cq] {
background: var(--migratrix-primary);
color: #fff;
border-color: rgba(243, 124, 25, 0.8);
}

.migratrix-spinner-sm[b-u98yua41cq] {
position: relative;
width: 20px;
height: 5px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.35);
}

.migratrix-spinner-sm[b-u98yua41cq]::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 5px;
height: 5px;
border-radius: 50%;
background: currentColor;
animation: ms-dot-shuttle-b-u98yua41cq 0.55s ease-in-out infinite alternate;
}

@keyframes ms-dot-shuttle-b-u98yua41cq {
0% {
transform: translateX(0);
}
100% {
transform: translateX(15px);
}
}

/* Explains a target picker narrowed by the licence, so a shorter list does not read
   as missing connections. */
.cs-plan-note[b-u98yua41cq] {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    margin: 0.5rem 0 0;
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--migratrix-text-secondary);
}

.cs-plan-note i[b-u98yua41cq] {
    font-size: 0.95rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}
/* /Pages/Dashboard/actionNeededList.razor.rz.scp.css */
.action-needed[b-t50613thvg] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .75rem .9rem;
    flex: 1;
    min-width: 0;
    min-height: 0;
}

@media (max-width: 1280px) {
    .action-needed[b-t50613thvg] {
        grid-template-columns: 1fr;
    }
}

.action-block[b-t50613thvg] {
    padding: 0;
}

.action-block-head[b-t50613thvg] {
    display:flex;
    align-items:center;
    margin-bottom: 0.5rem;
    justify-content:space-between;
}

.action-block-head .count[b-t50613thvg] {
    font-size: .75rem; font-weight:800; opacity:.7;
    padding:.15rem .5rem; border-radius:999px;
    background: rgba(0,0,0,.05);
}

.action-block-title[b-t50613thvg] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.action-block-title h4[b-t50613thvg] {
    margin: 0;
    line-height: 1;
}

.action-block-title[b-t50613thvg]  svg.nav-svg {
    width: 18px;
    height: 18px;
    display: block;
    flex-shrink: 0;
}

.action-list[b-t50613thvg] { display:flex; flex-direction:column; gap:.75rem; }

.action-item[b-t50613thvg] {
    display:flex; align-items:center; justify-content:space-between;
    padding: .65rem .7rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    cursor:pointer;
    gap: .65rem;
}

.action-item:hover[b-t50613thvg] {
    background: var(--migratrix-bg-secondary);
    transform: translateX(4px);
    border-color: rgba(243, 124, 25, 0.3);
}

.action-item.warn[b-t50613thvg] { border-left: 3px solid var(--migratrix-warning); }
.action-item.bad[b-t50613thvg]  { border-left: 3px solid var(--migratrix-danger); }

.action-main[b-t50613thvg] {
    flex: 1;
    min-width: 0;
}

.action-title[b-t50613thvg] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.15rem;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.action-sub[b-t50613thvg] {
    font-size: 0.72rem;
    color: var(--migratrix-text-secondary);
    margin-top: 0;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.end-icon[b-t50613thvg] { font-size:18px; opacity:.5; }

.material-icons.warn[b-t50613thvg] { color: var(--migratrix-warning); }
.material-icons.bad[b-t50613thvg] { color: var(--migratrix-danger); }

.empty[b-t50613thvg] {
    font-size:.85rem; opacity:.65;
    padding: 1rem;
    border-radius: var(--migratrix-radius-sm);
    border: 1px dashed var(--migratrix-border);
    text-align: center;
}

/* inline risk */
.risk-inline[b-t50613thvg] {
    font-weight:800;
    padding: .05rem .4rem;
    border-radius: 999px;
    font-size: .72rem;
}
.risk-low[b-t50613thvg] { color:#1c7c46; }
.risk-medium[b-t50613thvg] { color:#a06a00; }
.risk-high[b-t50613thvg] { color:#9c2f25; }

@media (max-width: 1727px) {
    .action-item[b-t50613thvg] {
        padding: 0.5rem 1rem;
    }

    .action-block-title[b-t50613thvg]  svg.nav-svg {
        width: 16px;
        height: 16px;
    }
}
/* /Pages/Dashboard/ChangeScriptTimelineItem.razor.rz.scp.css */
.mig-item[b-6ikgxielvf] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    background: var(--migratrix-bg-main);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

.mig-item:hover[b-6ikgxielvf] {
    background: var(--migratrix-bg-hover);
    transform: translateX(4px);
    border-color: rgba(243, 124, 25, 0.3);
}

.mig-left[b-6ikgxielvf] {
    min-width: 0;
}

.mig-main-row[b-6ikgxielvf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.mig-main-row .migratrix-avatar.sm[b-6ikgxielvf] {
    flex-shrink: 0;
}

.mig-name[b-6ikgxielvf] {
    font-weight: 600;
    color: var(--migratrix-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}

.risk-badge[b-6ikgxielvf] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .1rem .4rem;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 700;
    flex-shrink: 0;
}

.risk-badge i[b-6ikgxielvf] {
    font-size: 14px;
}

.risk-low[b-6ikgxielvf] {
    color: #1c7c46;
}

.risk-medium[b-6ikgxielvf] {
    color: #a06a00;
}

.risk-high[b-6ikgxielvf] {
    color: #9c2f25;
}

.author-time[b-6ikgxielvf] {
    color: var(--migratrix-text-secondary);
    font-size: 0.8rem;
    opacity: .8;
    flex-shrink: 0;
    white-space: nowrap;
}

.mig-right[b-6ikgxielvf] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .5rem;
    flex-shrink: 0;
}

/* Mini pipeline */
.mini-pipeline[b-6ikgxielvf] {
    display: flex;
    align-items: center;
    gap: .35rem;
    flex-wrap: wrap;
}

.mini-stage[b-6ikgxielvf] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .2rem .35rem;
    border-radius: 6px;
    font-size: .75rem;
    border: 1px solid transparent;
}

.mini-icon[b-6ikgxielvf] {
    font-size: 14px;
}

.mini-arrow[b-6ikgxielvf] {
    font-size: 12px;
    opacity: .5;
}

.mini-stage.completed i[b-6ikgxielvf] {
    color: var(--migratrix-success);
}

.mini-stage.failed i[b-6ikgxielvf] {
    color: var(--migratrix-danger);
}

.mini-stage.pending i[b-6ikgxielvf] {
    color: #999;
}

.mini-stage.inprogress i[b-6ikgxielvf],
.mini-stage.queued i[b-6ikgxielvf] {
    color: var(--migratrix-warning);
}

/* Status chip */
.mig-status-chip[b-6ikgxielvf] {
    padding: .2rem .6rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 700;
}

.chip-completed[b-6ikgxielvf] {
    background: rgba(46, 204, 113, .12);
    color: #1c7c46;
}

.chip-progress[b-6ikgxielvf] {
    background: rgba(243, 156, 18, .12);
    color: #a06a00;
}

.chip-failed[b-6ikgxielvf] {
    background: rgba(231, 76, 60, .12);
    color: #9c2f25;
}

.chip-pending[b-6ikgxielvf] {
    background: rgba(160, 160, 160, .12);
    color: #666;
}

@media (max-width: 1727px) {
    .mig-item[b-6ikgxielvf] {
        padding: 0.5rem 1rem;
    }    
}
/* The status icons are illustrations now, so the colour rules above no longer reach them -
   each one carries its own. The arrow between stages stays a Material glyph on purpose:
   it is a connector, not a status, and a shaded 3D arrowhead between 16px chips is noise.

   16px, not the 24 these are drawn for. At that size the rim and highlight have no pixels
   to land in and the icons read as coloured silhouettes - which is all this row needs, and
   still more legible than the monochrome glyphs were. Anything smaller and the clock and
   hourglass stop being distinguishable. */
.risk-badge .nav-svg[b-6ikgxielvf],
.mini-stage .nav-svg[b-6ikgxielvf] {
    flex: none;
}
/* /Pages/Dashboard/dashboard.razor.rz.scp.css */
/* ── Agent status ────────────────────────────────────────────── */
/* The page has to fill the scroll area before anything can be pushed to the bottom of it. Without
   this the container is only as tall as its content, and on a dashboard that fits on one screen
   there is no bottom to pin to - the card simply ends up wherever the content stops. */
.dashboard-dashboard[b-no2akrptiu] {
    min-height: 100%;
    box-sizing: border-box;
}

/* Always at the bottom of the screen, whether or not the page scrolls. Two rules, because the two
   cases are genuinely different: margin-top: auto takes up the slack when the content is shorter
   than the viewport, and sticky holds the card in view when it is taller. Either alone leaves one
   of the cases broken - sticky does nothing without overflow, and auto margins do nothing with it.
   .config-card sets position: relative, so this has to override it. */
.agent-status-card[b-no2akrptiu] {
    margin-top: auto;
    position: sticky;
    bottom: 0;
    z-index: 5;

    /* Content scrolls underneath, so the card needs a solid ground. --migratrix-glass-gradient is
       translucent by design - fine over a static page, useless over moving content - so it is
       layered on top of the one surface token that is opaque in both themes rather than replaced,
       which keeps the card looking like every other one. */
    background-color: var(--migratrix-bg-bright);
    background-image: var(--migratrix-glass-gradient);

    /* Lifts it off the rows passing beneath instead of letting the two planes blur together. */
    box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.10), var(--migratrix-shadow);
}

/* On a short viewport a pinned card eats most of the screen. Below that height it goes back to
   sitting at the end of the page, where it is still reachable by scrolling. */
@media (max-height: 620px) {
    .agent-status-card[b-no2akrptiu] {
        position: static;
        margin-top: 0;
        box-shadow: var(--migratrix-shadow);
    }

    .dashboard-dashboard[b-no2akrptiu] {
        min-height: 0;
    }
}

.dashboard-header[b-no2akrptiu] {
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-secondary);
    padding: 0.9rem 1rem;
}

/* ===== Agent status card ===== */
.agent-status-icon[b-no2akrptiu] {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
}

.agent-status-icon.online[b-no2akrptiu] {
    color: var(--migratrix-success, #2ecc71);
    background: rgba(46, 204, 113, 0.12);
    border-color: rgba(46, 204, 113, 0.28);
}

.agent-status-icon.offline[b-no2akrptiu] {
    color: var(--migratrix-danger, #e74c3c);
    background: rgba(231, 76, 60, 0.12);
    border-color: rgba(231, 76, 60, 0.28);
}

.agent-status-icon i[b-no2akrptiu] {
    font-size: 1.1rem;
}

.agent-stat-strip[b-no2akrptiu] {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 0.4rem 1.4rem;
    margin-left: auto;
}

.agent-stat[b-no2akrptiu] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.agent-stat-label[b-no2akrptiu] {
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--migratrix-text-secondary);
}

.agent-stat-value[b-no2akrptiu] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
    white-space: nowrap;
}

.agent-dot[b-no2akrptiu] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex: 0 0 auto;
}

.agent-dot.online[b-no2akrptiu] { background: var(--migratrix-success, #2ecc71); box-shadow: 0 0 0 3px rgba(46, 204, 113, 0.18); }
.agent-dot.offline[b-no2akrptiu] { background: var(--migratrix-danger, #e74c3c); box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.18); }

.agent-update-badge[b-no2akrptiu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: var(--migratrix-primary);
    background: rgba(243, 124, 25, 0.14);
    text-decoration: none;
}

.agent-update-badge i[b-no2akrptiu] {
    font-size: 14px;
}
@media (max-width: 1727px) {
    width: 32px;
    height: 32px;[b-no2akrptiu]   
}
@media (max-width: 768px) {
    .agent-stat-strip[b-no2akrptiu] {
        margin-left: 0;
        gap: 0.6rem 1.2rem;
    }
}

.header-title-logo[b-no2akrptiu] {
    object-fit: cover;
    background: transparent;
    padding: 0;
}

.header-title-initials[b-no2akrptiu] {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
}

.environment-filter[b-no2akrptiu] {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.environment-filter i[b-no2akrptiu] {
    position: absolute;
    left: 0.65rem;
    font-size: 1rem;
    color: var(--migratrix-text-secondary);
    pointer-events: none;
}

.time-range-dropdown:focus[b-no2akrptiu] {
    outline: none;
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 2px rgba(243, 124, 25, 0.12);
}

.timeline[b-no2akrptiu] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.servers-grid[b-no2akrptiu] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.servers-grid.servers-grid--responsive[b-no2akrptiu] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.servers-grid.servers-grid--responsive[b-no2akrptiu]  > :nth-child(4) {
    display: block;
}

@media (max-width: 1728px) {
    .servers-grid.servers-grid--responsive[b-no2akrptiu] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    
    .timeline[b-no2akrptiu] {
        gap: 0.5rem;
    }

    .servers-grid.servers-grid--responsive[b-no2akrptiu]  > :nth-child(4) {
        display: none;
    }
}

@media (max-width: 1024px) {
    .servers-grid.servers-grid--responsive[b-no2akrptiu] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .servers-grid.servers-grid--responsive[b-no2akrptiu] {
        grid-template-columns: 1fr;
    }
}

/* 4 per row on large screens */
@media (min-width: 1537px) {
    .servers-grid[b-no2akrptiu] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* graceful fallback on smaller widths */
@media (max-width: 1024px) {
    .servers-grid[b-no2akrptiu] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .servers-grid[b-no2akrptiu] {
        grid-template-columns: 1fr;
    }
}

.servers-empty[b-no2akrptiu] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 160px;
    color: var(--migratrix-text-secondary);
    font-size: 0.85rem;
}

.servers-empty i[b-no2akrptiu] {
    font-size: 32px;
    opacity: 0.5;
}

@media (max-width: 1280px) {
    .dashboard-row[b-no2akrptiu] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .header-top[b-no2akrptiu] {
        flex-direction: column;
        align-items: stretch;
    }

    .header-controls[b-no2akrptiu] {
        flex-direction: column;
        align-items: stretch;
    }

    .time-range-dropdown[b-no2akrptiu] {
        width: 100%;
    }

    .dashboard-primary-btn[b-no2akrptiu] {
        justify-content: center;
    }

}

/* `.kpi-card .kpi-icon.plain` now lives in app.css - every page uses it. */

.agent-status-icon.plain[b-no2akrptiu] {
    background: none;
    border-color: transparent;
}

/* The icons carry explicit width and height, so containers that sized them with
   font-size no longer reach them. Only alignment is left to do here. */
.card-title-content h3 .nav-svg[b-no2akrptiu] {
    vertical-align: -0.3em;
    flex: none;
}

.servers-empty .nav-svg[b-no2akrptiu] {
    opacity: 0.55;
}
/* /Pages/Dashboard/envHealthGrid.razor.rz.scp.css */
.env-grid[b-6uajie9gf7] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    flex: 1;
    min-height: 0;
}

.env-tile[b-6uajie9gf7] {
    padding: 1rem;
    border-radius: var(--migratrix-radius-sm);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    border: 1px solid var(--migratrix-border);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.env-tile:hover[b-6uajie9gf7] {
    background: rgba(255, 255, 255, 0.8);
    transform: translateX(4px);
    border-color: rgba(243, 124, 25, 0.3);
}

.env-main[b-6uajie9gf7] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.env-name-row[b-6uajie9gf7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.env-name[b-6uajie9gf7] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.env-flag[b-6uajie9gf7] {
    display: inline-flex;
    align-items: center;
    font-size: 16px;
    color: var(--migratrix-text-secondary);
    opacity: 0.7;
    flex-shrink: 0;
}

.env-flag i[b-6uajie9gf7] {
    font-size: 14px;
}
.env-sub[b-6uajie9gf7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
    flex-wrap: wrap;
}

.env-metric-inline[b-6uajie9gf7] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.env-metric-inline strong[b-6uajie9gf7] {
    font-weight: 700;
    color: var(--migratrix-text-primary);
}

.env-separator[b-6uajie9gf7] {
    opacity: 0.4;
}

.env-time[b-6uajie9gf7] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.env-time i[b-6uajie9gf7] {
    font-size: 13px;
    opacity: 0.7;
}

.env-health-chip[b-6uajie9gf7] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    white-space: nowrap;
    flex-shrink: 0;
}

.env-health-chip i[b-6uajie9gf7] {
    font-size: 14px;
}

.env-ok[b-6uajie9gf7] {
    border-left: 3px solid var(--migratrix-success);
}

.env-info[b-6uajie9gf7] {
    border-left: 3px solid var(--migratrix-info);
}

.env-warn[b-6uajie9gf7] {
    border-left: 3px solid var(--migratrix-warning);
}

.env-bad[b-6uajie9gf7] {
    border-left: 3px solid var(--migratrix-danger);
}

.chip-ok[b-6uajie9gf7] {
    background: rgba(46, 204, 113, .12);
    color: #1c7c46;
}

.chip-info[b-6uajie9gf7] {
    background: rgba(52, 152, 219, .12);
    color: #1b6fa3;
}

.chip-warn[b-6uajie9gf7] {
    background: rgba(243, 156, 18, .12);
    color: #a06a00;
}

.chip-bad[b-6uajie9gf7] {
    background: rgba(231, 76, 60, .12);
    color: #9c2f25;
}

@media (max-width: 768px) {
    .env-tile[b-6uajie9gf7] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
    
    .env-main[b-6uajie9gf7] {
        width: 100%;
    }
    
    .env-health-chip[b-6uajie9gf7] {
        align-self: flex-start;
    }
    
    .env-sub[b-6uajie9gf7] {
        font-size: 0.75rem;
    }
}
/* /Pages/Dashboard/serverAlertsList.razor.rz.scp.css */
.server-alerts[b-os1xq8a3u2] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.alerts-list[b-os1xq8a3u2] {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.alert-item[b-os1xq8a3u2] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .75rem .85rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-left: 3px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.alert-item:hover[b-os1xq8a3u2] {
    background: var(--migratrix-bg-secondary);
    transform: translateX(3px);
}

.alert-item.sev-critical[b-os1xq8a3u2] { border-left-color: var(--migratrix-danger); }
.alert-item.sev-warning[b-os1xq8a3u2]  { border-left-color: var(--migratrix-warning); }
.alert-item.sev-info[b-os1xq8a3u2]     { border-left-color: var(--migratrix-primary); }

.alert-icon[b-os1xq8a3u2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.alert-icon i[b-os1xq8a3u2] { font-size: 20px; }
.sev-critical .alert-icon i[b-os1xq8a3u2] { color: var(--migratrix-danger); }
.sev-warning  .alert-icon i[b-os1xq8a3u2] { color: var(--migratrix-warning); }
.sev-info     .alert-icon i[b-os1xq8a3u2] { color: var(--migratrix-primary); }

.alert-main[b-os1xq8a3u2] {
    flex: 1;
    min-width: 0;
}

.alert-title[b-os1xq8a3u2] {
    font-size: .9rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.alert-sub[b-os1xq8a3u2] {
    font-size: .78rem;
    color: var(--migratrix-text-secondary);
    margin-top: .1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.alert-value[b-os1xq8a3u2] {
    font-weight: 800;
    font-size: .76rem;
    padding: .1rem .45rem;
    border-radius: 999px;
    flex-shrink: 0;
}

.alert-value.sev-critical[b-os1xq8a3u2] { background: rgba(231, 76, 60, .12); color: #9c2f25; }
.alert-value.sev-warning[b-os1xq8a3u2]  { background: rgba(243, 156, 18, .12); color: #a06a00; }
.alert-value.sev-info[b-os1xq8a3u2]     { background: rgba(243, 124, 25, .12); color: #a8530a; }

.alerts-empty[b-os1xq8a3u2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    flex: 1;
    min-height: 200px;
    color: var(--migratrix-text-secondary);
    font-size: .85rem;
    text-align: center;
}

.alerts-empty i[b-os1xq8a3u2] {
    font-size: 32px;
    color: var(--migratrix-success, #2ecc71);
}
/* /Pages/Dashboard/ServerMetricsCard.razor.rz.scp.css */
.server-card[b-2te98a70bw] {
    position: relative;
    overflow: hidden;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-height: 238px;
    height: 100%;
}

.server-card[b-2te98a70bw]::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: var(--migratrix-success);
}

.server-card.warning[b-2te98a70bw]::before {
    background: var(--migratrix-warning);
}

.server-card.critical[b-2te98a70bw]::before {
    background: var(--migratrix-danger);
}

.server-card-top[b-2te98a70bw] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.server-identity[b-2te98a70bw] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.db-icon[b-2te98a70bw] {
    width: 34px;
    height: 34px;
    border-radius: var(--migratrix-radius-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--migratrix-primary);
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
}

.db-icon img[b-2te98a70bw] {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.db-icon i[b-2te98a70bw] {
    font-size: 1.25rem;
}

.db-icon-fallback[b-2te98a70bw] {
    display: none;
}
.server-header-top[b-2te98a70bw] {
    display: flex;
    gap: 1rem;
    align-items: center;
}
.server-name[b-2te98a70bw] {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--migratrix-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 190px;
}

.server-meta[b-2te98a70bw] {
    margin-top: 0.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-size: 0.7rem;
    color: var(--migratrix-text-secondary);
}

.server-meta span[b-2te98a70bw] {
    border-radius: 20px;
    padding: 0.12rem 0.4rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
}

.health-chip[b-2te98a70bw] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border-radius: 20px;
    padding: 0.22rem 0.5rem;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
}

.health-chip.healthy[b-2te98a70bw] {
    color: var(--migratrix-success);
    background: rgba(34, 197, 94, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.22);
}

.health-chip.warning[b-2te98a70bw] {
    color: var(--migratrix-warning);
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.25);
}

.health-chip.critical[b-2te98a70bw] {
    color: var(--migratrix-danger);
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.health-chip i[b-2te98a70bw] {
    font-size: 0.9rem;
}

.metric-grid[b-2te98a70bw] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
}

.metric-tile[b-2te98a70bw] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 0.45rem;
    background: var(--migratrix-bg-secondary);
}

.metric-tile span[b-2te98a70bw] {
    display: block;
    font-size: 0.65rem;
    color: var(--migratrix-text-secondary);
}

.metric-tile strong[b-2te98a70bw] {
    display: block;
    font-size: 0.82rem;
    color: var(--migratrix-success);
}

.metric-tile.warning strong[b-2te98a70bw] {
    color: var(--migratrix-warning);
}

.metric-tile.critical strong[b-2te98a70bw] {
    color: var(--migratrix-danger);
}

.trend-panel[b-2te98a70bw] {
    position: relative;
    min-height: 92px;
    border-radius: var(--migratrix-radius-sm);
    overflow: hidden;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    padding: 0.55rem 0.45rem 1rem 2.05rem;
}

.sparkline[b-2te98a70bw] {
    width: 100%;
    height: 72px;
}

.sparkline-line[b-2te98a70bw] {
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}

.sparkline-cpu[b-2te98a70bw] {
    stroke: var(--migratrix-primary);
}

.sparkline-memory[b-2te98a70bw] {
    stroke: var(--migratrix-success);
    stroke-width: 2;
    opacity: 0.85;
}

.sparkline-disk[b-2te98a70bw] {
    stroke: var(--migratrix-warning);
    stroke-width: 2;
    opacity: 0.8;
}

.sparkline-hit-area[b-2te98a70bw] {
    fill: transparent;
    cursor: crosshair;
}

.trend-tooltip[b-2te98a70bw] {
    position: absolute;
    top: 0.35rem;
    transform: translateX(-50%);
    z-index: 4;
    min-width: 132px;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    box-shadow: var(--migratrix-shadow);
    color: var(--migratrix-text-primary);
    pointer-events: none;
    opacity: 1;
    transition: left 120ms ease-out, opacity 120ms ease-out, transform 120ms ease-out;
    will-change: left, transform;
}

.trend-tooltip-time[b-2te98a70bw] {
    margin-bottom: 0.3rem;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
}

.trend-tooltip-row[b-2te98a70bw] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.65rem;
    color: var(--migratrix-text-secondary);
}

.trend-tooltip-row strong[b-2te98a70bw] {
    color: var(--migratrix-text-primary);
    font-weight: 700;
}

.trend-dot[b-2te98a70bw] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

.trend-dot.cpu[b-2te98a70bw] {
    background: var(--migratrix-primary);
}

.trend-dot.memory[b-2te98a70bw] {
    background: var(--migratrix-success);
}

.trend-dot.disk[b-2te98a70bw] {
    background: var(--migratrix-warning);
}

.trend-scale[b-2te98a70bw] {
    position: absolute;
    left: 0.45rem;
    top: 0.55rem;
    bottom: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    font-size: 0.56rem;
    color: var(--migratrix-text-secondary);
}

.trend-axis[b-2te98a70bw] {
    position: absolute;
    left: 2.05rem;
    right: 0.45rem;
    bottom: 0.25rem;
    display: flex;
    justify-content: space-between;
    font-size: 0.56rem;
    color: var(--migratrix-text-secondary);
}

@media (max-width: 1727px) {

    .server-card[b-2te98a70bw] {
        min-height: 200px;
    }
}

@media (max-width: 768px) {
    .metric-grid[b-2te98a70bw] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Pages/Dashboard/ServersOverview.razor.rz.scp.css */
.servers-overview-page[b-t7b22p73wq] {
    width: 100%;
    min-height: 100%;
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
    overflow: hidden;
    box-sizing: border-box;
}

.servers-hero[b-t7b22p73wq],
.servers-card[b-t7b22p73wq] {
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    box-shadow: var(--migratrix-shadow);
}

.servers-hero[b-t7b22p73wq] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.header-title-section[b-t7b22p73wq] {
    gap: 0.85rem;
}

.header-title-icon[b-t7b22p73wq] {
    border-radius: var(--migratrix-radius-sm);
    background: rgba(243, 124, 25, 0.12);
    border: 1px solid rgba(243, 124, 25, 0.22);
}

.header-title-icon i[b-t7b22p73wq] {
    font-size: 1.125rem;
}

.header-title-text h1[b-t7b22p73wq] {
    font-size: 1.1rem;
}

.header-tagline[b-t7b22p73wq] {
    margin: 0.25rem 0 0;
    font-size: 0.82rem;
}

.header-controls[b-t7b22p73wq] {
    gap: 0.75rem;
}

.servers-count[b-t7b22p73wq] {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
}

.dashboard-primary-btn[b-t7b22p73wq] {
    gap: 0.4rem;
}

.servers-toolbar[b-t7b22p73wq] {
    padding-top: 0.75rem;
    border-top: 1px solid var(--migratrix-border);
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 220px 220px auto;
    gap: 0.75rem;
    align-items: center;
}

.server-search[b-t7b22p73wq] {
    position: relative;
    display: flex;
    align-items: center;
}

.server-search i[b-t7b22p73wq] {
    position: absolute;
    left: 0.8rem;
    font-size: 1rem;
    color: var(--migratrix-text-secondary);
    pointer-events: none;
}

.server-search input[b-t7b22p73wq],
.server-filter[b-t7b22p73wq] {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    font-size: 0.84rem;
}

.server-search input[b-t7b22p73wq] {
    padding: 0.45rem 0.8rem 0.45rem 2.25rem;
}

.server-filter[b-t7b22p73wq] {
    padding: 0.45rem 0.8rem;
}

.server-search input:focus[b-t7b22p73wq],
.server-filter:focus[b-t7b22p73wq] {
    outline: none;
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 3px rgba(243, 124, 25, 0.12);
}

.view-switch[b-t7b22p73wq] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
}

.view-switch-btn[b-t7b22p73wq] {
    width: 38px;
    height: 38px;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.view-switch-btn.active[b-t7b22p73wq] {
    background: rgba(243, 124, 25, 0.12);
    color: var(--migratrix-primary);
    border-color: rgba(243, 124, 25, 0.28);
}

.servers-card[b-t7b22p73wq] {
    padding: 1.75rem;
    flex: 1;
    min-height: 0;
    overflow: auto;
}

.servers-grid[b-t7b22p73wq] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 2.75rem;
    align-items: stretch;
    align-content: start;
}

.servers-grid-list[b-t7b22p73wq] {
    grid-template-columns: 1fr;
}

.servers-empty[b-t7b22p73wq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 240px;
    color: var(--migratrix-text-secondary);
    font-size: 0.9rem;
}

.servers-empty i[b-t7b22p73wq] {
    font-size: 36px;
    opacity: 0.55;
}

@media (max-width: 1536px) {
    .servers-grid[b-t7b22p73wq] {
        grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
    }
}

@media (max-width: 1024px) {
    .servers-toolbar[b-t7b22p73wq] {
        grid-template-columns: 1fr 1fr;
    }

    .view-switch[b-t7b22p73wq] {
        justify-content: flex-start;
    }

    .servers-grid[b-t7b22p73wq] {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
}

@media (max-width: 768px) {
    .servers-overview-page[b-t7b22p73wq] {
        padding: 0.75rem;
    }

    .header-top[b-t7b22p73wq],
    .header-controls[b-t7b22p73wq] {
        flex-direction: column;
        align-items: stretch;
    }

    .servers-toolbar[b-t7b22p73wq] {
        grid-template-columns: 1fr;
    }

    .servers-grid[b-t7b22p73wq] {
        grid-template-columns: 1fr;
    }

    .dashboard-primary-btn[b-t7b22p73wq] {
        justify-content: center;
    }
}
/* /Pages/DriftMonitor/DriftMonitor.razor.rz.scp.css */
.drift-monitor-dashboard[b-aaszxpttjw] {
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.profile-avatar-small.drift-avatar[b-aaszxpttjw] {
    background: rgba(243, 124, 25, 0.16);
    color: var(--migratrix-primary);
    border: 1px solid rgba(243, 124, 25, 0.3);
}

.drift-avatar i[b-aaszxpttjw] {
    font-size: 1.1rem;
}

/* KPI grid — 4 columns for this page */
.drift-kpi-grid[b-aaszxpttjw] {
    grid-template-columns: repeat(4, 1fr);
}

/* Content layout */
.dashboard-content-grid[b-aaszxpttjw] {
    flex: 1 1 auto;
    min-height: 0;
}

.dashboard-row[b-aaszxpttjw] {
    flex: 1 1 auto;
    min-height: 0;
}

.drift-content-row[b-aaszxpttjw] {
    grid-template-columns: 25fr 75fr;
}

/* Monitor list card */
.monitor-list-card[b-aaszxpttjw] {
    min-height: 0;
}

.monitor-list-body[b-aaszxpttjw] {
    overflow: auto;
}

/* Detail card */
.detail-card[b-aaszxpttjw] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

/* Monitor list items */
.monitor-item[b-aaszxpttjw] {
    cursor: pointer;
}

.monitor-item.active .monitor-row[b-aaszxpttjw] {
    border-color: rgba(243, 124, 25, 0.4);
    background: rgba(243, 124, 25, 0.04);
}

.monitor-row[b-aaszxpttjw] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.7rem;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-card);
    cursor: pointer;
    transition: background .12s;
}

.monitor-head[b-aaszxpttjw] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
}

.monitor-head > .status-icon[b-aaszxpttjw] {
    flex-shrink: 0;
}

.monitor-head > .status-pill[b-aaszxpttjw] {
    margin-left: auto;
    flex-shrink: 0;
}

.monitor-info[b-aaszxpttjw] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.monitor-info strong[b-aaszxpttjw] {
    display: block;
    color: var(--migratrix-text-primary);
    font-size: 0.9rem;
    overflow-wrap: anywhere;
}

.monitor-conn[b-aaszxpttjw] {
    color: var(--migratrix-text-secondary);
    font-size: 0.78rem;
    overflow-wrap: anywhere;
}

.monitor-meta[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem 0.6rem;
    color: var(--migratrix-text-secondary);
    font-size: 0.72rem;
}

.monitor-info code[b-aaszxpttjw] {
    font-size: 0.72rem;
    background: var(--migratrix-bg-secondary);
    padding: 0 4px;
    border-radius: 3px;
}

.monitor-actions[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    justify-content: flex-start;
}

/* Item icon buttons (shared with risk assessment pattern) */
.item-icon[b-aaszxpttjw] {
    width: 30px;
    height: 30px;
    border-radius: 4px;
    border: 1px solid var(--migratrix-border);
    background: var(--migratrix-bg-secondary);
    color: var(--migratrix-text-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .12s, color .12s;
}

.item-icon i[b-aaszxpttjw] { font-size: 1rem; }

.item-icon:hover[b-aaszxpttjw] { background: var(--migratrix-bg-hover); }
.item-icon:disabled[b-aaszxpttjw] { cursor: not-allowed; opacity: 0.5; }

.item-icon.primary[b-aaszxpttjw] { color: var(--migratrix-primary); }
.item-icon.primary:hover[b-aaszxpttjw] { background: rgba(243, 124, 25, 0.08); }

.item-icon.danger[b-aaszxpttjw] { color: var(--migratrix-danger); }
.item-icon.danger:hover[b-aaszxpttjw] { background: rgba(231, 76, 60, 0.08); }

/* Status icon (shared variant) */
.status-icon[b-aaszxpttjw] {
    width: 30px;
    height: 30px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    flex-shrink: 0;
}

.status-icon i[b-aaszxpttjw] { font-size: 1rem; }

.status-icon.success[b-aaszxpttjw] {
    color: var(--migratrix-success);
    background: rgba(46, 204, 113, 0.12);
    border-color: rgba(46, 204, 113, 0.25);
}

.status-icon.warning[b-aaszxpttjw] {
    color: var(--migratrix-warning);
    background: rgba(243, 156, 18, 0.12);
    border-color: rgba(243, 156, 18, 0.25);
}

.status-icon.danger[b-aaszxpttjw] {
    color: var(--migratrix-danger);
    background: rgba(231, 76, 60, 0.1);
    border-color: rgba(231, 76, 60, 0.24);
}

.status-icon.muted[b-aaszxpttjw] {
    color: var(--migratrix-text-secondary);
    background: var(--migratrix-bg-secondary);
    border-color: var(--migratrix-border);
}

/* Status pills */
.status-pill[b-aaszxpttjw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.22rem 0.5rem;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 700;
    white-space: nowrap;
    text-transform: uppercase;
}

.status-pill.ready[b-aaszxpttjw] {
    color: var(--migratrix-success);
    background: rgba(46, 204, 113, 0.12);
}

.status-pill.pending[b-aaszxpttjw] {
    color: var(--migratrix-warning);
    background: rgba(243, 156, 18, 0.12);
}

.status-pill.failed[b-aaszxpttjw],
.status-pill.critical[b-aaszxpttjw] {
    color: var(--migratrix-danger);
    background: rgba(231, 76, 60, 0.1);
}

.status-pill.cancelled[b-aaszxpttjw] {
    color: var(--migratrix-text-secondary);
    background: var(--migratrix-bg-secondary);
}

/* Migratrix applied this change itself — reads as provenance, not alarm. */
.status-pill.deploy[b-aaszxpttjw] {
    color: var(--migratrix-primary);
    background: rgba(243, 124, 25, 0.12);
    gap: 3px;
}

.status-pill.deploy i[b-aaszxpttjw] {
    font-size: 0.82rem;
}

.status-pill.open[b-aaszxpttjw] {
    color: var(--migratrix-warning);
    background: rgba(243, 156, 18, 0.12);
}

.status-pill.acknowledged[b-aaszxpttjw] {
    color: var(--migratrix-info);
    background: rgba(52, 152, 219, 0.12);
}

.status-pill.warning[b-aaszxpttjw] {
    color: var(--migratrix-warning);
    background: rgba(243, 156, 18, 0.12);
}

.status-pill.info[b-aaszxpttjw] {
    color: var(--migratrix-info);
    background: rgba(52, 152, 219, 0.12);
}

.status-pill.none[b-aaszxpttjw] {
    color: var(--migratrix-text-secondary);
    background: var(--migratrix-bg-secondary);
}

/* Detail panel KPIs */
.detail-kpi-row[b-aaszxpttjw] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-bottom: 1px solid var(--migratrix-border);
}

.detail-kpi[b-aaszxpttjw] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px 16px;
    border-right: 1px solid var(--migratrix-border);
}

.detail-kpi:last-child[b-aaszxpttjw] { border-right: none; }

.detail-kpi.warn .detail-kpi-value[b-aaszxpttjw] { color: var(--migratrix-warning); }
.detail-kpi.warn .detail-kpi-sub[b-aaszxpttjw]   { color: var(--migratrix-warning); }

.detail-kpi-value[b-aaszxpttjw] {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
    line-height: 1;
}

.detail-kpi-label[b-aaszxpttjw] {
    font-size: 0.72rem;
    color: var(--migratrix-text-secondary);
}

.detail-kpi-sub[b-aaszxpttjw] {
    font-size: 0.68rem;
    color: var(--migratrix-text-muted);
}

/* Events section */
.events-section[b-aaszxpttjw] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.events-toolbar[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    border-bottom: 1px solid var(--migratrix-border);
    flex-shrink: 0;
}

.events-toolbar-left[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.events-label[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.baseline-hint[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.72rem;
    color: var(--migratrix-text-secondary);
    cursor: help;
}

.baseline-hint i[b-aaszxpttjw] {
    font-size: 0.9rem;
}

.filter-pills[b-aaszxpttjw] {
    display: flex;
    gap: 4px;
}

.filter-pill[b-aaszxpttjw] {
    font-size: 0.72rem;
    padding: 3px 10px;
    border-radius: 20px;
    border: 1px solid var(--migratrix-border);
    background: transparent;
    color: var(--migratrix-text-secondary);
    cursor: pointer;
    transition: background .12s, color .12s, border-color .12s;
}

.filter-pill.active[b-aaszxpttjw] {
    background: var(--migratrix-primary);
    color: #fff;
    border-color: var(--migratrix-primary);
}

.events-empty[b-aaszxpttjw] {
    min-height: 120px;
}

.event-list[b-aaszxpttjw] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

/* Event rows */
.event-item[b-aaszxpttjw] {
    display: grid;
    grid-template-columns: 3px 1fr auto;
    gap: 0;
    border-bottom: 1px solid var(--migratrix-border);
    transition: background .1s;
}

.event-item.has-diff[b-aaszxpttjw] {
    grid-template-columns: 3px minmax(180px, 1fr) minmax(260px, 2fr) auto;
}

.event-item:hover[b-aaszxpttjw] { background: var(--migratrix-bg-hover); }
.event-item:last-child[b-aaszxpttjw] { border-bottom: none; }

.sev-bar[b-aaszxpttjw] {
    width: 3px;
    border-radius: 2px;
    align-self: stretch;
}

.sev-critical[b-aaszxpttjw] { background: var(--migratrix-danger); }
.sev-warning[b-aaszxpttjw]  { background: var(--migratrix-warning); }
.sev-info[b-aaszxpttjw]     { background: var(--migratrix-info); }
.sev-none[b-aaszxpttjw]     { background: var(--migratrix-border); }

.event-meta-col[b-aaszxpttjw] {
    padding: 11px 12px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.event-diff-col[b-aaszxpttjw] {
    border-left: 1px solid var(--migratrix-border);
    padding: 0;
    min-width: 0;
    overflow: hidden;
}

.event-diff-col .diff-block[b-aaszxpttjw] {
    border: none;
    border-radius: 0;
    height: 100%;
    overflow-y: auto;
}

.event-top-row[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.event-time[b-aaszxpttjw] {
    font-size: 0.73rem;
    color: var(--migratrix-text-secondary);
}

.event-chips-row[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}

.change-chip[b-aaszxpttjw] {
    font-size: 0.72rem;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}
 .change-chip i[b-aaszxpttjw] {
     font-size: 0.9rem;
 }
.chip-add[b-aaszxpttjw] {color: var(--migratrix-success); }
.chip-mod[b-aaszxpttjw] { color: var(--migratrix-warning); }
.chip-del[b-aaszxpttjw] { color: var(--migratrix-danger); }

.event-error[b-aaszxpttjw] {
    font-size: 0.78rem;
    color: var(--migratrix-danger);
    display: flex;
    align-items: center;
    gap: 4px;
}

.event-note[b-aaszxpttjw] {
    font-size: 0.78rem;
    color: var(--migratrix-text-secondary);
    font-style: italic;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* ── Diff block ─────────────────────────────────────────────────────────── */

.diff-block[b-aaszxpttjw] {
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius);
    overflow: hidden;
    margin-top: 6px;
    font-size: 0.76rem;
    font-family: monospace;
}

.diff-group[b-aaszxpttjw] {
    border-bottom: 1px solid var(--migratrix-border);
}

.diff-group:last-child[b-aaszxpttjw] { border-bottom: none; }

.diff-group-header[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    font-weight: 600;
    font-size: 0.78rem;
}

.diff-entry[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px 4px 28px;
    border-top: 1px solid var(--migratrix-border);
    flex-wrap: wrap;
}

.diff-row-add[b-aaszxpttjw], .diff-row-mod[b-aaszxpttjw], .diff-row-del[b-aaszxpttjw] { background: transparent; }

.diff-row-add .diff-obj-icon[b-aaszxpttjw] { color: var(--migratrix-success); }
.diff-row-mod .diff-obj-icon[b-aaszxpttjw] { color: var(--migratrix-warning); }
.diff-row-del .diff-obj-icon[b-aaszxpttjw] { color: var(--migratrix-danger); }

.diff-obj-icon[b-aaszxpttjw] {
    font-size: 0.9rem !important;
    flex-shrink: 0;
}

.diff-op-label[b-aaszxpttjw] {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 1px 5px;
    border-radius: 3px;
    flex-shrink: 0;
}

.diff-op-add[b-aaszxpttjw] { background: rgba(46, 204, 113, 0.18); color: var(--migratrix-success); }
.diff-op-mod[b-aaszxpttjw] { background: rgba(243, 156, 18, 0.18);  color: var(--migratrix-warning); }
.diff-op-del[b-aaszxpttjw] { background: rgba(231, 76, 60, 0.15);   color: var(--migratrix-danger); }

.diff-obj-name[b-aaszxpttjw] {
    font-weight: 600;
    color: inherit;
    font-size: 0.8rem;
}

.diff-entry-type[b-aaszxpttjw] {
    color: var(--migratrix-text-muted);
    font-size: 0.72rem;
}

.diff-entry-name[b-aaszxpttjw] {
    font-weight: 500;
    color: inherit;
}

.diff-def[b-aaszxpttjw] {
    color: var(--migratrix-text-secondary);
    font-size: 0.72rem;
    word-break: break-all;
    flex-basis: 100%;
    padding-left: 2px;
    opacity: 0.85;
}

.diff-change-detail[b-aaszxpttjw] {
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-basis: 100%;
    padding-left: 2px;
    flex-wrap: wrap;
}

.diff-was[b-aaszxpttjw] {
    color: var(--migratrix-danger);
    text-decoration: line-through;
    font-size: 0.72rem;
    word-break: break-all;
    opacity: 0.85;
}

.diff-now[b-aaszxpttjw] {
    color: var(--migratrix-success);
    font-size: 0.72rem;
    word-break: break-all;
}

.diff-arrow[b-aaszxpttjw] {
    font-size: 0.85rem !important;
    color: var(--migratrix-text-muted);
    flex-shrink: 0;
}

.resolve-form[b-aaszxpttjw] {
    display: flex;
    gap: 6px;
    align-items: center;
    background: var(--migratrix-bg-secondary);
    padding: 8px 10px;
    border-radius: 4px;
    flex-wrap: wrap;
}

.resolve-input[b-aaszxpttjw] {
    flex: 1;
    min-width: 160px;
}

.event-actions[b-aaszxpttjw] {
    display: flex;
    flex-direction: row;
    gap: 4px;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    border-left: 1px solid var(--migratrix-border);
    flex-shrink: 0;
}

/* Restore script modal */
.restore-modal-backdrop[b-aaszxpttjw] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 9000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.restore-modal[b-aaszxpttjw] {
    background: var(--migratrix-bg-card);
    border-radius: var(--migratrix-radius-lg);
    max-width: 860px;
    width: 100%;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--migratrix-border);
    box-shadow: var(--migratrix-shadow);
}

.restore-modal-head[b-aaszxpttjw] {
    border-bottom: 1px solid var(--migratrix-border);
    align-items: center;
}

.restore-baseline-note[b-aaszxpttjw] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 6px 0 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--migratrix-text-secondary);
}

.restore-baseline-note i[b-aaszxpttjw] {
    font-size: 0.95rem;
    color: var(--migratrix-text-secondary);
    flex-shrink: 0;
}

.restore-warning[b-aaszxpttjw] {
    padding: 10px 20px;
    border-bottom: 1px solid var(--migratrix-border);
    background: rgba(243, 156, 18, 0.07);
}

.restore-risk-label[b-aaszxpttjw] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--migratrix-warning);
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 4px;
}

.restore-risk-item[b-aaszxpttjw] {
    font-size: 0.75rem;
    color: var(--migratrix-warning);
}

.restore-modal-body[b-aaszxpttjw] {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px;
}

.restore-modal-body pre[b-aaszxpttjw] {
    margin: 0;
    font-size: 0.75rem;
    font-family: monospace;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 1.6;
    color: var(--migratrix-text-primary);
}

.restore-modal-foot[b-aaszxpttjw] {
    padding: 12px 20px;
    border-top: 1px solid var(--migratrix-border);
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

/* Empty state */
.profile-empty-state[b-aaszxpttjw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 180px;
    padding: 2rem;
    text-align: center;
    color: var(--migratrix-text-secondary);
    font-size: 0.88rem;
}

.profile-empty-state i[b-aaszxpttjw] {
    color: var(--migratrix-primary);
    font-size: 2rem;
}

.profile-empty-state small[b-aaszxpttjw] {
    max-width: 320px;
    font-size: 0.78rem;
    color: var(--migratrix-text-muted);
}

/* repository-meta reuse */
.repository-meta[b-aaszxpttjw] {
    display: inline-flex;
    align-items: center;
    gap: 0.18rem;
    color: var(--migratrix-text-secondary);
}

.repository-meta i[b-aaszxpttjw] { font-size: 0.8rem; }

@media (max-width: 1727px) {
    .kpi-card[b-aaszxpttjw], .metric-card[b-aaszxpttjw]{
        height: 35px;
    }
}

@media (max-width: 768px) {
    .drift-kpi-grid[b-aaszxpttjw] {
        grid-template-columns: repeat(2, 1fr);
    }

    .detail-kpi-row[b-aaszxpttjw] {
        grid-template-columns: 1fr 1fr;
    }

    .monitor-row[b-aaszxpttjw] {
        align-items: flex-start;
    }
}

/* Detail tabs */
.detail-tabs[b-aaszxpttjw] {
    display: flex;
    gap: 2px;
    padding: 0 16px;
    border-bottom: 1px solid var(--migratrix-border);
    flex-shrink: 0;
}

.detail-tab[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    cursor: pointer;
    transition: color .12s, border-color .12s;
}

.detail-tab:hover[b-aaszxpttjw] {
    color: var(--migratrix-text-primary);
}

.detail-tab.active[b-aaszxpttjw] {
    color: var(--migratrix-primary);
    border-bottom-color: var(--migratrix-primary);
}

.detail-tab i[b-aaszxpttjw] {
    font-size: 1rem;
}

.tab-count[b-aaszxpttjw] {
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    padding: 2px 6px;
    border-radius: 10px;
    background: var(--migratrix-warning);
    color: #fff;
}

/* Snapshot panel */
.snapshot-toolbar-right[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.snapshot-stamp[b-aaszxpttjw],
.snapshot-checksum[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.72rem;
    color: var(--migratrix-text-secondary);
}

.snapshot-stamp i[b-aaszxpttjw],
.snapshot-checksum i[b-aaszxpttjw] {
    font-size: 0.9rem;
}

.snapshot-checksum[b-aaszxpttjw] {
    font-family: var(--migratrix-font-mono, monospace);
}

.snapshot-summary[b-aaszxpttjw] {
    display: flex;
    gap: 18px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--migratrix-border);
    flex-shrink: 0;
}

.snapshot-stat[b-aaszxpttjw] {
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

.snapshot-stat strong[b-aaszxpttjw] {
    color: var(--migratrix-text-primary);
    font-size: 0.9rem;
    margin-right: 3px;
}

.snapshot-filters[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 16px;
    border-bottom: 1px solid var(--migratrix-border);
    flex-shrink: 0;
    flex-wrap: wrap;
}

.snapshot-search[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    min-width: 180px;
}

.snapshot-search i[b-aaszxpttjw] {
    font-size: 1rem;
    color: var(--migratrix-text-muted);
}

.snapshot-search-input[b-aaszxpttjw] {
    flex: 1;
    min-width: 0;
}

.snapshot-type-pills[b-aaszxpttjw] {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.snapshot-list[b-aaszxpttjw] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.snapshot-group[b-aaszxpttjw] {
    border-bottom: 1px solid var(--migratrix-border);
}

.snapshot-group-header[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    cursor: pointer;
    transition: background .1s;
}

.snapshot-group-header:hover[b-aaszxpttjw] {
    background: var(--migratrix-hover-bg, rgba(127, 127, 127, .06));
}

.snap-chevron[b-aaszxpttjw] {
    font-size: 1.05rem;
    color: var(--migratrix-text-muted);
}

.snap-member-count[b-aaszxpttjw] {
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1;
    padding: 2px 6px;
    border-radius: 10px;
    border: 1px solid var(--migratrix-border);
    color: var(--migratrix-text-secondary);
    margin-left: auto;
}

.snapshot-entry[b-aaszxpttjw] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px 4px 34px;
    border-top: 1px solid var(--migratrix-border);
    flex-wrap: wrap;
}

.snapshot-entry .diff-obj-icon[b-aaszxpttjw] {
    color: var(--migratrix-text-muted);
}

.snapshot-owner-def[b-aaszxpttjw] {
    padding-left: 34px;
}

.snap-def-body[b-aaszxpttjw] {
    margin: 0;
    font-size: 0.7rem;
    line-height: 1.45;
    color: var(--migratrix-text-secondary);
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 260px;
    overflow-y: auto;
    flex-basis: 100%;
}

.snap-owner-type[b-aaszxpttjw] {
    font-size: 0.7rem;
    color: var(--migratrix-text-muted);
}

.snapshot-showing[b-aaszxpttjw] {
    margin-left: auto;
    color: var(--migratrix-primary);
}
/* /Pages/Environments/AccountSettings.razor.rz.scp.css */
.dashboard-content-grid[b-rg9du4p1qq] {
    gap: 1.5rem;
}

.account-settings-kpi-grid[b-rg9du4p1qq] {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    gap: 0.5rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.account-settings-kpi-grid .kpi-label[b-rg9du4p1qq] {
    white-space: nowrap;
}

.agent-summary[b-rg9du4p1qq] {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.agent-summary-main[b-rg9du4p1qq],
.profile-status-item[b-rg9du4p1qq],
.endpoint-item[b-rg9du4p1qq] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.7rem;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-card);
}

.status-icon.info[b-rg9du4p1qq] {
    color: #0288d1;
    background: rgba(2, 136, 209, 0.12);
    border-color: rgba(2, 136, 209, 0.25);
}

.agent-summary-main strong[b-rg9du4p1qq],
.profile-status-item strong[b-rg9du4p1qq],
.endpoint-item strong[b-rg9du4p1qq] {
    display: block;
    color: var(--migratrix-text-primary);
    font-size: 0.9rem;
    overflow-wrap: anywhere;
}

.agent-summary-main p[b-rg9du4p1qq],
.profile-status-item p[b-rg9du4p1qq] {
    margin: 0.15rem 0 0;
    color: var(--migratrix-text-secondary);
    font-size: 0.75rem;
}

.version-update-pill[b-rg9du4p1qq] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: 0.4rem;
    color: var(--migratrix-primary);
    text-decoration: none;
    font-size: 0.75rem;
}

.version-update-pill i[b-rg9du4p1qq] {
    font-size: 0.9rem;
}


.endpoint-list[b-rg9du4p1qq] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.profile-status-list[b-rg9du4p1qq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.55rem;
    align-items: start;
}

.endpoint-item[b-rg9du4p1qq] {
    grid-template-columns: auto minmax(0, 1fr);
}

.endpoint-item code[b-rg9du4p1qq],
.endpoint-note code[b-rg9du4p1qq],
.api-key-input[b-rg9du4p1qq] {
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
}

.endpoint-item code[b-rg9du4p1qq] {
    display: block;
    margin-top: 0.2rem;
    color: var(--migratrix-text-primary);
    font-size: 0.82rem;
    word-break: break-all;
}

.endpoint-title-row[b-rg9du4p1qq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.url-type-badge[b-rg9du4p1qq] {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.4rem;
    color: var(--migratrix-primary);
    background: rgba(243, 124, 25, 0.1);
    border: 1px solid rgba(243, 124, 25, 0.24);
    border-radius: 12px;
    font-size: 0.68rem;
    font-weight: 600;
}

.endpoint-note[b-rg9du4p1qq] {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid rgba(2, 136, 209, 0.2);
    border-radius: 4px;
    background: rgba(2, 136, 209, 0.08);
    color: var(--migratrix-text-primary);
    font-size: 0.8rem;
}

.api-key-panel[b-rg9du4p1qq] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
}

.api-key-input[b-rg9du4p1qq],
.setting-input[b-rg9du4p1qq] {
    width: 100%;
    min-height: 34px;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    font-size: 0.82rem;
}

.api-key-input[b-rg9du4p1qq] {
    padding: 0.4rem 0.65rem;
}

.api-key-actions[b-rg9du4p1qq] {
    display: flex;
    gap: 0.55rem;
}

.settings-dashboard-grid[b-rg9du4p1qq] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.settings-group[b-rg9du4p1qq] {
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-card);
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.settings-group-title[b-rg9du4p1qq] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--migratrix-text-primary);
    font-size: 0.9rem;
    font-weight: 700;
}

.settings-group-title i[b-rg9du4p1qq] {
    color: var(--migratrix-primary);
    font-size: 1rem;
}

.setting-row[b-rg9du4p1qq] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

/* Two related fields sharing one line (e.g. Retention + Max Rows). */
.setting-row-pair[b-rg9du4p1qq] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
    min-width: 0;
}

.setting-row-pair .setting-row[b-rg9du4p1qq] {
    min-width: 0;
}

.setting-row label[b-rg9du4p1qq] {
    color: var(--migratrix-text-secondary);
    font-size: 0.72rem;
    font-weight: 600;
}

.setting-input[b-rg9du4p1qq] {
    padding: 0.4rem 0.55rem;
    width: 100%;
    box-sizing: border-box;
}

.setting-checkbox[b-rg9du4p1qq] {
    align-self: flex-start;
    width: 16px;
    height: 16px;
    margin: 0.15rem 0 0 0.1rem;
    accent-color: var(--migratrix-primary);
}

.setting-input:focus[b-rg9du4p1qq],
.api-key-input:focus[b-rg9du4p1qq] {
    outline: none;
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 2px rgba(243, 124, 25, 0.12);
}

.status-icon[b-rg9du4p1qq] {
    width: 30px;
    height: 30px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
}

.status-icon i[b-rg9du4p1qq] {
    font-size: 1rem;
}

.status-icon.success[b-rg9du4p1qq] {
    color: var(--migratrix-success);
    background: rgba(46, 204, 113, 0.12);
    border-color: rgba(46, 204, 113, 0.25);
}

.status-icon.warning[b-rg9du4p1qq] {
    color: #ed6c02;
    background: rgba(237, 108, 2, 0.14);
    border-color: rgba(237, 108, 2, 0.28);
}

.status-icon.danger[b-rg9du4p1qq] {
    color: var(--migratrix-danger);
    background: rgba(231, 76, 60, 0.12);
    border-color: rgba(231, 76, 60, 0.25);
}
.agent-directory[b-rg9du4p1qq] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.agent-directory .flows-panel[b-rg9du4p1qq] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.agent-directory .tab-navigation[b-rg9du4p1qq] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    gap: 0.6rem;
    overflow: hidden;
}

.agent-directory .tab-headers[b-rg9du4p1qq] {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    padding: 0;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
}

.agent-directory .tab-headers[b-rg9du4p1qq]::-webkit-scrollbar {
    display: none;
}

.agent-directory .tab-header[b-rg9du4p1qq] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 0.5rem;
    min-height: 2.75rem;
    padding: 0.625rem 1rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    box-shadow: var(--migratrix-shadow-sm);
    color: var(--migratrix-text-secondary);
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1;
    transform: none;
    white-space: nowrap;
}

.agent-directory .tab-headers[b-rg9du4p1qq]  .tab-header-actions {
    flex: 0 0 auto;
    margin-left: auto;
}

.agent-directory .tab-header i[b-rg9du4p1qq] {
    flex: 0 0 auto;
    font-size: 1.125rem;
}

.agent-directory .tab-header:hover[b-rg9du4p1qq],
.agent-directory .tab-header.active[b-rg9du4p1qq] {
    border-color: rgba(243, 124, 25, 0.3);
    color: var(--migratrix-primary);
    background: var(--migratrix-bg-card);
    transform: none;
}

.engine-tab-panel[b-rg9du4p1qq] {
    padding: 0 0.75rem 0.25rem;
}

.agent-tab-body[b-rg9du4p1qq] {
    display: flex;
    flex-direction: column;
    flex: 1 1 32rem;
    gap: 0.6rem;
    height: 32rem;
    min-height: 32rem;
    overflow-y: auto;
    scrollbar-width: thin;
}

.agent-tab-body .engine-tab-panel[b-rg9du4p1qq] {
    flex: 1;
    min-height: 0;
}

.agent-tab-body[b-rg9du4p1qq]  .flows-panel {
    flex: 1;
    min-height: 0;
    overflow: visible;
}

.engine-list-panel[b-rg9du4p1qq] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Only the rows scroll: the note above and the column headings below it stay put, so a long
   engine list still says what its columns mean. */
.engine-table-wrap[b-rg9du4p1qq] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
}

.engine-tab-note[b-rg9du4p1qq] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.engine-tab-note .engine-note[b-rg9du4p1qq] {
    margin: 0;
    max-width: 66ch;
}

.engine-banner[b-rg9du4p1qq] {
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #6b7280;
    font-size: 0.8rem;
}

.engine-banner.warn[b-rg9du4p1qq] {
    color: #b45309;
}

.engine-banner .material-icons[b-rg9du4p1qq] {
    font-size: 1rem;
}

.engine-table[b-rg9du4p1qq] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
    table-layout: fixed;
}

.engine-table thead th[b-rg9du4p1qq] {
    position: sticky;
    top: 0;
    z-index: 2;
    text-align: left;
    font-weight: 500;
    color: #6b7280;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 6px 12px 6px 0;
    background: var(--migratrix-bg-bright);
    box-shadow: inset 0 -1px 0 var(--border-color, #e5e7eb);
}

.engine-table td[b-rg9du4p1qq] {
    padding: 7px 12px 7px 0;
    border-bottom: 1px solid var(--border-color, #f1f2f4);
    vertical-align: middle;
    overflow: hidden;
    text-overflow: ellipsis;
}

.engine-table .col-engine[b-rg9du4p1qq] { width: 16%; }
.engine-table .col-installed[b-rg9du4p1qq] { width: 21%; }
.engine-table .col-status[b-rg9du4p1qq] { width: 17%; }
.engine-table .col-version[b-rg9du4p1qq] { width: 22%; }
.engine-table .col-actions[b-rg9du4p1qq] { width: 24%; }

/* Buttons must not be cropped by the ellipsis the other cells rely on. */
.engine-table td.col-actions[b-rg9du4p1qq] {
    overflow: visible;
    padding-right: 0;
}

.engine-key[b-rg9du4p1qq] {
    font-weight: 500;
}

.engine-version[b-rg9du4p1qq] {
    font-variant-numeric: tabular-nums;
}

/* A separate element rather than trailing text, so it can never run into the version
   beside it the way "1.1.49 · pluginrestart pending" did. */
.engine-source[b-rg9du4p1qq] {
    display: inline-block;
    margin-left: 6px;
    padding: 0 6px;
    border-radius: 8px;
    background: var(--surface-muted, #f3f4f6);
    color: #6b7280;
    font-size: 0.72rem;
}

.engine-pending[b-rg9du4p1qq] {
    color: #b45309;
    font-size: 0.78rem;
}

.engine-behind[b-rg9du4p1qq] {
    color: #059669;
    font-size: 0.78rem;
}

.engine-version-select[b-rg9du4p1qq] {
    width: 100%;
    max-width: 200px;
    padding: 3px 6px;
    border: 1px solid var(--border-color, #d1d5db);
    border-radius: 6px;
    background: transparent;
    font: inherit;
    font-size: 0.82rem;
}

.engine-actions[b-rg9du4p1qq] {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
}

.engine-btn[b-rg9du4p1qq] {
    padding: 3px 10px;
    border: 1px solid #10b981;
    border-radius: 10px;
    background: transparent;
    color: #10b981;
    font: inherit;
    font-size: 0.78rem;
    cursor: pointer;
    white-space: nowrap;
}

.engine-btn:hover:not(:disabled)[b-rg9du4p1qq] {
    background: #10b981;
    color: #fff;
}

/* A downgrade is a legitimate choice but not the default one, so it does not wear the
   same colour as an upgrade. */
.engine-btn.warn[b-rg9du4p1qq] {
    border-color: #f59e0b;
    color: #b45309;
}

.engine-btn.warn:hover:not(:disabled)[b-rg9du4p1qq] {
    background: #f59e0b;
    color: #fff;
}

.engine-btn.ghost[b-rg9du4p1qq] {
    border-color: var(--border-color, #d1d5db);
    color: #6b7280;
}

.engine-btn.ghost:hover:not(:disabled)[b-rg9du4p1qq] {
    background: #6b7280;
    color: #fff;
}

.engine-btn:disabled[b-rg9du4p1qq] {
    opacity: 0.45;
    cursor: default;
}

@media (max-width: 1727px){
    .agent-summary-main[b-rg9du4p1qq],
    .profile-status-item[b-rg9du4p1qq],
    .endpoint-item[b-rg9du4p1qq] {
        padding: 0.5rem;
    }
    .agent-directory .tab-headers[b-rg9du4p1qq]{
        margin: 0.75rem 0;
    }
}

@media (max-width: 1280px) {
    .account-settings-dashboard .header-top[b-rg9du4p1qq] {
        flex-wrap: wrap;
    }

    .account-settings-kpi-grid[b-rg9du4p1qq] {
        flex: 1 1 100%;
        order: 3;
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .dashboard-row[b-rg9du4p1qq],
    .dashboard-row--55-45[b-rg9du4p1qq],
    .settings-dashboard-grid[b-rg9du4p1qq] {
        grid-template-columns: 1fr;
    }

    .api-key-panel[b-rg9du4p1qq] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .header-top[b-rg9du4p1qq],
    .header-controls[b-rg9du4p1qq] {
        flex-direction: column;
        align-items: stretch;
    }

    .account-settings-kpi-grid[b-rg9du4p1qq] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-primary-btn[b-rg9du4p1qq] {
        justify-content: center;
    }

    .profile-detail-grid[b-rg9du4p1qq] {
        grid-template-columns: 1fr;
    }

    .engine-health .warn[b-rg9du4p1qq],
    .profile-detail-item strong.warn[b-rg9du4p1qq] {
        color: #c62828;
    }

    .agent-summary-main[b-rg9du4p1qq],
    .profile-status-item[b-rg9du4p1qq] {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .agent-summary-main .migratrix-btn[b-rg9du4p1qq] {
        grid-column: 1 / -1;
    }

    .api-key-actions[b-rg9du4p1qq] {
        flex-direction: column;
    }

    .api-key-actions .migratrix-btn[b-rg9du4p1qq] {
        width: 100%;
    }
}
/* /Pages/Environments/AgentInstallation.razor.rz.scp.css */
.flows-panel[b-nb40ij3907] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    overflow-y: auto;
}

.install-content[b-nb40ij3907] {
    padding: 1.5rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
}

.platform-selection[b-nb40ij3907] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.platform-tabs[b-nb40ij3907] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.configure-btn[b-nb40ij3907] {
    flex-shrink: 0;
}

.platform-tab[b-nb40ij3907] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    transition: all 0.2s ease;
}

.platform-tab:hover[b-nb40ij3907] {
    border-color: var(--migratrix-primary);
    color: var(--migratrix-primary);
    background: var(--migratrix-bg-hover);
    transform: translateY(-2px);
    box-shadow: var(--migratrix-shadow-sm);
}

.platform-tab.active[b-nb40ij3907] {
    background: var(--migratrix-primary);
    border-color: var(--migratrix-primary);
    color: #fff;
    box-shadow: var(--migratrix-shadow-sm);
}

.platform-tab i[b-nb40ij3907] {
    font-size: 1.125rem;
}

.command-section[b-nb40ij3907] {
    margin-bottom: 1.25rem;
}

.command-block[b-nb40ij3907] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    overflow: hidden;
}

.command-header[b-nb40ij3907] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    background: var(--migratrix-bg-secondary);
    border-bottom: 1px solid var(--migratrix-border);
}

.command-title[b-nb40ij3907] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.command-title i[b-nb40ij3907] {
    color: var(--migratrix-primary);
    font-size: 1.125rem;
}

.copy-button[b-nb40ij3907] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    background: transparent;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    color: var(--migratrix-text-secondary);
    cursor: pointer;
    transition: all 0.2s ease;
}

.copy-button:hover[b-nb40ij3907] {
    background: var(--migratrix-bg-hover);
    border-color: var(--migratrix-primary);
    color: var(--migratrix-primary);
}

.copy-button i[b-nb40ij3907] {
    font-size: 1rem;
}

.code-block[b-nb40ij3907] {
    padding: 1rem;
    background: #1e1e1e;
    color: #d8dee9;
    overflow: auto;
}

.code-block pre[b-nb40ij3907] {
    margin: 0;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 0.85rem;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-all;
}

.install-notes-section[b-nb40ij3907] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    overflow: hidden;
}

.notes-header[b-nb40ij3907] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--migratrix-bg-secondary);
    border-bottom: 1px solid var(--migratrix-border);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.notes-header i[b-nb40ij3907] {
    color: var(--migratrix-primary);
    font-size: 1.125rem;
}

.notes-content[b-nb40ij3907] {
    padding: 1rem;
}

.notes-content ul[b-nb40ij3907] {
    margin: 0;
    padding-left: 1.5rem;
    font-size: 0.85rem;
    color: var(--migratrix-text-secondary);
    line-height: 1.8;
}

.notes-content li[b-nb40ij3907] {
    margin-bottom: 0.25rem;
}

.notes-content strong[b-nb40ij3907] {
    color: var(--migratrix-text-primary);
}

@media (max-width: 1727px) {
    .install-content[b-nb40ij3907] {
        padding: 1rem;
    }

    .platform-tab[b-nb40ij3907] {
        padding: 0.5rem 0.75rem;
        font-size: 0.8rem;
    }

    .code-block pre[b-nb40ij3907] {
        font-size: 0.8rem;
    }

    .notes-content ul[b-nb40ij3907] {
        font-size: 0.8rem;
    }
}

@media (max-width: 1024px) {
    .platform-tabs[b-nb40ij3907] {
        gap: 0.375rem;
    }

    .platform-tab[b-nb40ij3907] {
        padding: 0.45rem 0.6rem;
        font-size: 0.75rem;
    }

    .platform-tab i[b-nb40ij3907] {
        font-size: 1rem;
    }
}

@media (max-width: 768px) {
    .install-content[b-nb40ij3907] {
        padding: 0.75rem;
    }

    .platform-selection[b-nb40ij3907] {
        flex-wrap: wrap;
    }

    .platform-tabs[b-nb40ij3907] {
        flex-wrap: wrap;
        width: 100%;
    }

    .platform-tab[b-nb40ij3907] {
        flex: 1 1 calc(50% - 0.25rem);
        justify-content: center;
    }

    .configure-btn[b-nb40ij3907] {
        width: 100%;
        justify-content: center;
    }

    .command-header[b-nb40ij3907] {
        padding: 0.5rem 0.75rem;
    }

    .code-block[b-nb40ij3907] {
        padding: 0.75rem;
    }

    .notes-content[b-nb40ij3907] {
        padding: 0.75rem;
    }

    .notes-content ul[b-nb40ij3907] {
        padding-left: 1.25rem;
        font-size: 0.75rem;
    }
}
/* /Pages/Environments/environmentManagement.razor.rz.scp.css */
/* ── List view ───────────────────────────────────────────────── */
/* The alternative to the card grid, for when you are scanning a set rather than reading one of
   them. Same information, one row each. The toggle itself reuses the shared .admin-view-toggle
   from admin-roles.css so it behaves identically to the one on the user-roles screen. */
/* The header is space-between, which reads correctly with two children and strands a third in the
   middle. Letting the title absorb the free space packs everything else against the right edge,
   which is where the controls belong - the same grouping .admin-panel-actions gives the user-roles
   screen, without restructuring markup that FeatureGate wrappers make awkward to nest. */
.flow-panel-header .flows-panel-info[b-jqwjgipfmh] {
    margin-right: auto;
    align-items: center;
}

/* The column tracks live on the list, not the row. Each row used to be its own grid, so an
   "auto" column sized itself to that row's own content - a "Standby" badge is wider than
   "Active", a longer approval label is wider than a shorter one - and every column to its left
   landed at a different x per row. Declaring the tracks once here and having the rows adopt
   them with subgrid keeps the whole list, and both lists on the page, on the same grid. */
.env-list[b-jqwjgipfmh] {
    display: grid;
    grid-template-columns: auto minmax(200px, 1.4fr) minmax(160px, 1fr) auto auto;
    align-content: start;
    row-gap: 0.5rem;
    column-gap: 0.875rem;
    padding: 1rem;
}

.env-list-row[b-jqwjgipfmh] {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: subgrid;
    align-items: center;
    padding: 0.7rem 1rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    box-shadow: var(--migratrix-shadow-sm);
    transition: border-color 0.2s, box-shadow 0.2s;
}

/* Without subgrid the rows have no tracks of their own, so hand them back the old per-row
   grid: ragged, but laid out. */
@supports not (grid-template-columns: subgrid) {
    .env-list[b-jqwjgipfmh] {
        display: flex;
        flex-direction: column;
    }

    .env-list-row[b-jqwjgipfmh] {
        grid-template-columns: auto minmax(200px, 1.4fr) minmax(160px, 1fr) auto auto;
        gap: 0.875rem;
    }
}

.env-list-row:hover[b-jqwjgipfmh] {
    border-color: var(--migratrix-primary);
}

/* Dimmed rather than hidden: an inactive flow is still part of the picture. */
.env-list-row.is-inactive[b-jqwjgipfmh] {
    opacity: 0.65;
}

.env-list-icon[b-jqwjgipfmh] {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
}
.margin-0[b-jqwjgipfmh] {
    margin: 0;
}

.env-list-icon i[b-jqwjgipfmh] {
    font-size: 1.05rem;
}

.env-list-main[b-jqwjgipfmh] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.env-list-main strong[b-jqwjgipfmh] {
    font-size: 0.9rem;
    color: var(--migratrix-text-primary);
}

.env-list-sub[b-jqwjgipfmh],
.env-list-pipeline[b-jqwjgipfmh] {
    font-size: 0.76rem;
    color: var(--migratrix-text-secondary);
    /* A long pipeline truncates rather than wrapping the row to two lines and breaking the rhythm
       of the list; the full sequence is still on the card. */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.env-list-meta[b-jqwjgipfmh] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.76rem;
    color: var(--migratrix-text-secondary);
    min-width: 0;
}

.env-list-meta span[b-jqwjgipfmh] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    white-space: nowrap;
}

.env-list-meta i[b-jqwjgipfmh] {
    font-size: 0.85rem;
    opacity: 0.75;
}

/* Divides creator from date without competing with either. */
.env-list-meta-sep[b-jqwjgipfmh] {
    opacity: 0.45;
}

.env-list-badge[b-jqwjgipfmh] {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    border-radius: 100px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-text-secondary);
    white-space: nowrap;
}

.env-list-badge.is-ok[b-jqwjgipfmh] {
    background: rgba(46, 204, 113, 0.12);
    color: var(--migratrix-success);
}

.env-list-badge.is-danger[b-jqwjgipfmh] {
    background: rgba(231, 76, 60, 0.12);
    color: var(--migratrix-danger);
}

.env-list-actions[b-jqwjgipfmh] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

/* Below this the five columns stop being readable, so the row stacks instead of compressing. */
@media (max-width: 900px) {
    .env-list[b-jqwjgipfmh] {
        grid-template-columns: auto 1fr;
    }

    .env-list-row[b-jqwjgipfmh] {
        row-gap: 0.5rem;
    }

    @supports not (grid-template-columns: subgrid) {
        .env-list-row[b-jqwjgipfmh] {
            grid-template-columns: auto 1fr;
        }
    }

    .env-list-meta[b-jqwjgipfmh],
    .env-list-status[b-jqwjgipfmh],
    .env-list-actions[b-jqwjgipfmh] {
        grid-column: 2;
    }
}

.card-header[b-jqwjgipfmh] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius);
    padding: 0.75rem;
    margin-bottom: 0.75rem;
    box-shadow: var(--migratrix-shadow);
    align-items: center;
    flex-wrap: wrap;
}

.kpi-grid[b-jqwjgipfmh] {
    display: flex;
}
.environment-content[b-jqwjgipfmh] {
    padding: 1.75rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
}

.environment-content > .config-card:first-child[b-jqwjgipfmh] {
    flex-shrink: 0;
}

.environment-content .spacer[b-jqwjgipfmh] {
    margin-bottom: 1.75rem;
    flex-shrink: 0;
}

#config-card[b-jqwjgipfmh] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.card-actions[b-jqwjgipfmh] {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.environment-stats[b-jqwjgipfmh] {
    display: flex;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    background: var(--migratrix-bg-secondary);
    border-radius: var(--migratrix-radius);
    margin-bottom: 0.75rem;
}

.stat-box[b-jqwjgipfmh] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.environments-grid[b-jqwjgipfmh] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 2.75rem;
    padding: 1.75rem;
    align-items: stretch;
    align-content: start;
}

.environments-grid > .config-card[b-jqwjgipfmh] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.flows-panel[b-jqwjgipfmh] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    overflow: hidden;
}

#config-card > .flows-panel:first-of-type[b-jqwjgipfmh] {
    max-height: 330px;
}

#config-card > .flows-panel .flow-panel-header[b-jqwjgipfmh] {
    flex-shrink: 0;
}

#config-card > .flows-panel > .loading-overlay-container[b-jqwjgipfmh] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#config-card > .flows-panel > .loading-overlay-container > div:first-child[b-jqwjgipfmh] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#config-card > .flows-panel > .loading-overlay-container .environments-grid[b-jqwjgipfmh],
#config-card > .flows-panel > .loading-overlay-container .env-list[b-jqwjgipfmh] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.flow-header[b-jqwjgipfmh] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.flow-panel-header[b-jqwjgipfmh] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 0.75rem;
    justify-content: space-between;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    font-size: 0.9rem;
    font-weight: 700;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    box-shadow: var(--migratrix-shadow-sm);
}

.env-card-header[b-jqwjgipfmh] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 0.75rem;
    gap: 0.75rem;
}

.env-card-title[b-jqwjgipfmh] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
}

.env-name-section h3[b-jqwjgipfmh] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.25rem 0;
    letter-spacing: -0.01em;
}

.env-order-badge[b-jqwjgipfmh] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 0.75rem;
    background: var(--migratrix-bg-secondary);
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    margin-bottom: 0.5rem;
}

.status-indicator[b-jqwjgipfmh] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.875rem;
    background: rgba(46, 204, 113, 0.1);
    border: 1px solid rgba(46, 204, 113, 0.2);
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--migratrix-success);
}

.status-dot[b-jqwjgipfmh] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
}

.env-card-details[b-jqwjgipfmh] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}

.detail-item[b-jqwjgipfmh] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.6rem;
    background: var(--migratrix-bg-secondary);
    border-radius: var(--migratrix-radius-sm);
    border: 1px solid var(--migratrix-border);
}

.detail-label[b-jqwjgipfmh] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.detail-label i[b-jqwjgipfmh] {
    font-size: 1rem;
}

.detail-value[b-jqwjgipfmh] {
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.approval-indicator[b-jqwjgipfmh] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.approval-indicator i[b-jqwjgipfmh] {
    font-size: 1.25rem;
    color: var(--migratrix-success);
}

.env-card-actions[b-jqwjgipfmh] {
    display: flex;
    gap: 0.75rem;
    padding-top: 1rem;
    border-top: 1px solid var(--migratrix-border);
}

.flows-container[b-jqwjgipfmh] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.config-card.flow-card[b-jqwjgipfmh] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.flow-card[b-jqwjgipfmh] {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.flow-meta-info[b-jqwjgipfmh] {
    display: flex;
    gap: 1rem;
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
}

.flow-meta-info span[b-jqwjgipfmh] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.flow-meta-info i[b-jqwjgipfmh] {
    font-size: 16px;
    opacity: 0.8;
}

.flow-pipeline[b-jqwjgipfmh] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem;
    justify-content: space-between;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    overflow-x: auto;
    scrollbar-width: thin;
    margin-bottom: 0.75rem;
    min-height: 45px;
    flex: 1;
}

.flow-pipeline[b-jqwjgipfmh]::-webkit-scrollbar {
    height: 6px;
}

.flow-pipeline[b-jqwjgipfmh]::-webkit-scrollbar-thumb {
    background: var(--migratrix-border);
    border-radius: 3px;
}

.pipeline-stage[b-jqwjgipfmh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.4rem 0.6rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    min-width: 75px;
    flex-shrink: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.pipeline-stage:hover[b-jqwjgipfmh] {
    border-color: var(--migratrix-primary);
    transform: translateY(-2px);
    box-shadow: var(--migratrix-shadow-sm);
}

.pipeline-stage-icon[b-jqwjgipfmh] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.125rem;
}

.pipeline-stage-name[b-jqwjgipfmh] {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
    text-align: center;
}

.pipeline-stage-connection[b-jqwjgipfmh] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.pipeline-arrow[b-jqwjgipfmh] {
    color: var(--migratrix-primary);
    font-size: 1.5rem;
    flex-shrink: 0;
    opacity: 0.5;
}

.flow-actions[b-jqwjgipfmh] {
    display: flex;
    gap: 0.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--migratrix-border);
}

.order-container[b-jqwjgipfmh] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.order-item[b-jqwjgipfmh] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1rem 1.5rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius);
    box-shadow: var(--migratrix-shadow-sm);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: move;
}

.order-item:hover[b-jqwjgipfmh] {
    border-color: var(--migratrix-primary);
    box-shadow: var(--migratrix-shadow);
    transform: translateX(4px);
}

.drag-handle[b-jqwjgipfmh] {
    cursor: grab;
    color: var(--migratrix-text-secondary);
    font-size: 1.5rem;
}

.drag-handle:active[b-jqwjgipfmh] {
    cursor: grabbing;
}

.order-number[b-jqwjgipfmh] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, var(--migratrix-primary) 0%, rgba(243, 124, 25, 0.9) 100%);
    color: white;
    border-radius: 50%;
    font-size: 1.125rem;
    font-weight: 700;
    flex-shrink: 0;
    box-shadow: var(--migratrix-shadow-sm);
}

.order-item-content[b-jqwjgipfmh] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.order-controls[b-jqwjgipfmh] {
    display: flex;
    gap: 0.5rem;
}

@media (max-width: 1727px) {

    .environment-content[b-jqwjgipfmh]{
        padding: 1.2rem;
    }

    #config-card > .flows-panel:first-of-type[b-jqwjgipfmh] {
        max-height: 260px;
    }

    .environments-grid[b-jqwjgipfmh] {
        grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
        gap: 2.25rem;
        padding: 0.5rem;
    }

    .environment-content .spacer[b-jqwjgipfmh] {
        margin-bottom: 1rem;
    }
    
    .flow-pipeline[b-jqwjgipfmh]{
        padding: 0.4rem;
    }

    .flow-actions[b-jqwjgipfmh]{
        padding-top: 0.5rem;
    }
    .card-title h4 i[b-jqwjgipfmh] {
        font-size: 1.4rem;
    }

    .env-card-details[b-jqwjgipfmh] {
        gap: 0.5rem;
    }

    .detail-item[b-jqwjgipfmh] {
        padding: 0.5rem;
    }

    .env-name-section h3[b-jqwjgipfmh] {
        font-size: 0.9rem;
        font-weight: 600;
    }

    .order-number[b-jqwjgipfmh] {
        width: 28px;
        height: 24px;
        font-size: 0.85rem;
    }

    .flow-meta-info[b-jqwjgipfmh] {
        gap: 0.5rem;
        font-size: 0.7rem;
    }
    .env-card-header[b-jqwjgipfmh]{
        margin-bottom: 0.5rem;
    }
    
    .env-card-actions[b-jqwjgipfmh]{
        padding-top: 0.5rem;
    }

    .pipeline-stage[b-jqwjgipfmh]{
        padding: 0.25rem 0.4rem;
        border-radius: var(--migratrix-radius-sm);
    }
}

@media (max-width: 1536px) {
    .flow-card[b-jqwjgipfmh] {
        padding: 1rem;
    }

    .order-number[b-jqwjgipfmh] {
        width: 28px;
        height: 22px;
        font-size: 0.85rem;
    }
}

@media (max-width: 1280px) {
    .card-header[b-jqwjgipfmh] {
        padding: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .environments-grid[b-jqwjgipfmh] {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 0.625rem;
        padding: 0.5rem;
    }

    .env-name-section h3[b-jqwjgipfmh] {
        font-size: 0.8rem;
        font-weight: 500;
    }

    .order-number[b-jqwjgipfmh] {
        width: 26px;
        height: 20px;
        font-size: 0.8rem;
    }
}

@media (max-width: 1024px) {
    .environments-grid[b-jqwjgipfmh] {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 0.625rem;
        padding: 0.4rem;
    }

    .flow-pipeline[b-jqwjgipfmh] {
        flex-direction: column;
        align-items: stretch;
        padding: 0.4rem;
    }

    .pipeline-arrow[b-jqwjgipfmh] {
        transform: rotate(90deg);
        margin: -0.2rem 0;
    }

    .pipeline-stage[b-jqwjgipfmh] {
        min-width: auto;
        width: 100%;
        padding: 0.3rem;
    }
}

@media (max-width: 768px) {
    .card-header[b-jqwjgipfmh] {
        flex-direction: column;
        align-items: stretch;
        padding: 0.6rem;
        margin-bottom: 0.6rem;
    }

    .card-actions[b-jqwjgipfmh] {
        justify-content: space-between;
    }

    .environments-grid[b-jqwjgipfmh] {
        grid-template-columns: 1fr;
        gap: 0.625rem;
        padding: 0.4rem;
    }

    .env-card-details[b-jqwjgipfmh] {
        grid-template-columns: 1fr;
        gap: 0.4rem;
    }

    .environment-stats[b-jqwjgipfmh] {
        flex-wrap: wrap;
        gap: 0.625rem;
        padding: 0.4rem 0.6rem;
    }
}

@media (max-width: 640px) {
    .card-header[b-jqwjgipfmh] {
        padding: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .env-card-actions[b-jqwjgipfmh] {
        flex-direction: column;
        padding-top: 0.6rem;
    }

    .flow-meta-info[b-jqwjgipfmh] {
        gap: 0.5rem;
        font-size: 0.7rem;
    }

    .order-item[b-jqwjgipfmh] {
        flex-wrap: wrap;
    }

    .environments-grid[b-jqwjgipfmh] {
        padding: 0.3rem;
        gap: 0.5rem;
    }
}
/* /Pages/Explorer/Explorer.razor.rz.scp.css */
.migratrix-toolbar[b-nb5wl8pg9k] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 50px;
    background: var(--migratrix-bg-main);
    border-bottom: 1px solid var(--migratrix-border);
    padding: 0 16px;
    flex-shrink: 0;
    box-shadow: var(--migratrix-shadow-sm);
}

.migratrix-toolbar-section[b-nb5wl8pg9k] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 5px;
}

.migratrix-toolbar-item[b-nb5wl8pg9k] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    color: var(--migratrix-text-primary);
    font-size: 13px;
}

/* Disabled state. Neither fading nor greying the icon works here: the illustrated icons
   are soft to begin with, and "script" is a white sheet whose only strong colour is the
   pencil - desaturate it and it vanishes into a white button. So the artwork stays at full
   strength and the button chrome carries the state instead: recessed fill, muted border,
   no shadow. The label keeps its fade. */
.migratrix-toolbar-item-disabled[b-nb5wl8pg9k] {
    pointer-events: none;
}

.migratrix-toolbar-item-disabled > span[b-nb5wl8pg9k] {
    opacity: 0.5;
}

.migratrix-toolbar-item-disabled .migratrix-btn-icon[b-nb5wl8pg9k] {
    background: var(--migratrix-bg-main);
    border-color: var(--migratrix-border-light, var(--migratrix-border));
    box-shadow: none;
}

/* Enhanced button styling to match roles page */
.migratrix-btn-icon[b-nb5wl8pg9k] {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--migratrix-border);
    cursor: pointer;
    transition: all 0.2s ease;
}

.migratrix-btn-icon:hover[b-nb5wl8pg9k] {
    background-color: var(--migratrix-bg-sidebar);
    border-color: var(--migratrix-primary);
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(74, 137, 220, 0.2);
}

.migratrix-btn-icon i[b-nb5wl8pg9k] {
    font-size: 16px;
    color: var(--migratrix-text-secondary);
    transition: color 0.2s ease;
}

.migratrix-btn-icon:hover i[b-nb5wl8pg9k] {
    color: var(--migratrix-primary);
}

/* Main Content Area */
.migratrix-explorer-content[b-nb5wl8pg9k] {
    display: flex;
    flex: 1;
    overflow: hidden;
    min-height: 0;
}

/* Explorer Sidebar - enhanced styling */
.migratrix-explorer-sidebar[b-nb5wl8pg9k] {
    width: 300px;
    border-right: 1px solid var(--migratrix-border);
    overflow-y: auto;
    background-color: var(--migratrix-bg-sidebar);
    box-shadow: inset -1px 0 0 var(--migratrix-border-light);
}

/* Custom scrollbar for sidebar */
.migratrix-explorer-sidebar[b-nb5wl8pg9k]::-webkit-scrollbar {
    width: 6px;
}

.migratrix-explorer-sidebar[b-nb5wl8pg9k]::-webkit-scrollbar-track {
    background: var(--migratrix-bg-sidebar);
}

.migratrix-explorer-sidebar[b-nb5wl8pg9k]::-webkit-scrollbar-thumb {
    background: var(--migratrix-border);
    border-radius: 3px;
}

.migratrix-explorer-sidebar[b-nb5wl8pg9k]::-webkit-scrollbar-thumb:hover {
    background: var(--migratrix-text-muted);
}

/* Main Content */
.migratrix-explorer-main[b-nb5wl8pg9k] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background-color: var(--migratrix-bg-main);
}

/* Enhanced icon styling to match roles page */
.migratrix-icon-sm[b-nb5wl8pg9k] {
    width: 27px;
    height: 27px;
    border-radius: 6px;
    background-color: var(--migratrix-primary);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: var(--migratrix-shadow-sm);
}

.migratrix-icon-md[b-nb5wl8pg9k] {
    width: 36px;
    height: 36px;
    border-radius: var(--migratrix-radius);
    background-color: var(--migratrix-secondary);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    box-shadow: var(--migratrix-shadow-sm);
}

.migratrix-icon-lg[b-nb5wl8pg9k] {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    background-color: var(--migratrix-secondary);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    margin-bottom: 16px;
    box-shadow: var(--migratrix-shadow);
}

/* Icon color variants matching roles page */
.migratrix-icon-primary[b-nb5wl8pg9k] {
    background: linear-gradient(135deg, var(--migratrix-primary), var(--migratrix-primary-dark));
}
.migratrix-icon-success[b-nb5wl8pg9k] {
    background: linear-gradient(135deg, var(--migratrix-success), #1e8e3e);
}
.migratrix-icon-warning[b-nb5wl8pg9k] {
    background: linear-gradient(135deg, var(--migratrix-warning), #e6a800);
}
.migratrix-icon-danger[b-nb5wl8pg9k] {
    background: linear-gradient(135deg, var(--migratrix-danger), #b02a37);
}
.migratrix-icon-info[b-nb5wl8pg9k] {
    background: linear-gradient(135deg, var(--migratrix-info), #138496);
}

.lan-icon[b-nb5wl8pg9k] {
    font-size: 18px;
}

/* Status Bar - enhanced to match roles page footer */
.migratrix-status-bar[b-nb5wl8pg9k] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 28px;
    background-color: var(--migratrix-bg-sidebar);
    border-top: 1px solid var(--migratrix-border);
    font-size: 12px;
    color: var(--migratrix-text-secondary);
    flex-shrink: 0;
}

.migratrix-status-item[b-nb5wl8pg9k] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.migratrix-status-bar-right[b-nb5wl8pg9k] {
    min-width: 0;
    overflow: hidden;
}

.migratrix-status-bar-right .migratrix-status-item[b-nb5wl8pg9k] {
    min-width: 0;
    flex: 1;
    width: 100%;
    overflow: hidden;
}

.migratrix-status-bar[b-nb5wl8pg9k] (.notification) {
    min-width: 0;
    flex: 1;
    width: 100%;
    overflow: hidden;
}

.migratrix-status-bar[b-nb5wl8pg9k] (.notification-toast) {
    align-items: center;
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
}

.migratrix-status-bar[b-nb5wl8pg9k] (.notification-icon) {
    width: 1.125rem;
    height: 1.125rem;
    margin-top: 0;
    font-size: 0.875rem !important;
    flex-shrink: 0;
}

.migratrix-status-bar[b-nb5wl8pg9k] (.notification-message) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-wrap: normal;
    line-height: 1.2;
}

.migratrix-status-connection[b-nb5wl8pg9k] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
}

.migratrix-status-indicator[b-nb5wl8pg9k] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.migratrix-status-indicator.online[b-nb5wl8pg9k] {
    background: linear-gradient(135deg, var(--migratrix-success), #1e8e3e);
    box-shadow: 0 0 4px rgba(39, 174, 96, 0.4);
    animation: pulse-status-b-nb5wl8pg9k 2s infinite;
}

.migratrix-status-indicator.offline[b-nb5wl8pg9k] {
    background: linear-gradient(135deg, var(--migratrix-danger), #b02a37);
    box-shadow: 0 0 4px rgba(220, 53, 69, 0.4);
}

@keyframes pulse-status-b-nb5wl8pg9k {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.7;
        transform: scale(0.95);
    }
}

.migratrix-status-icon[b-nb5wl8pg9k] {
    font-size: 14px;
}

/* Empty States - matching roles page design */
.migratrix-empty-state[b-nb5wl8pg9k] {
    padding: 4rem 2rem;
    color: var(--migratrix-text-secondary);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.migratrix-empty-state-container[b-nb5wl8pg9k] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background-color: var(--migratrix-bg-main);
}

.migratrix-empty-state i[b-nb5wl8pg9k],
.migratrix-empty-icon[b-nb5wl8pg9k] {
    font-size: 48px;
    color: var(--migratrix-text-muted);
    margin-bottom: 1rem;
    opacity: 0.5;
}

.migratrix-empty-state h3[b-nb5wl8pg9k] {
    font-size: 1.25rem;
    font-weight: 500;
    color: #495057;
    margin-bottom: 0.5rem;
}

.migratrix-empty-state p[b-nb5wl8pg9k] {
    color: var(--migratrix-text-secondary);
    font-size: 14px;
    margin: 0;
}

/* Loader - enhanced styling */
.migratrix-loader[b-nb5wl8pg9k] {
    padding: 16px;
    background-color: var(--migratrix-bg-sidebar);
}

.migratrix-progress[b-nb5wl8pg9k] {
    height: 3px !important;
    background-color: var(--migratrix-border-light) !important;
}

.migratrix-progress .rz-progressbar-value[b-nb5wl8pg9k] {
    background-color: var(--migratrix-primary) !important;
}

.migratrix-menu-text[b-nb5wl8pg9k] {
    color: var(--migratrix-text-primary);
    font-size: 13px;
    font-weight: 500;
}

.migratrix-menu-icon[b-nb5wl8pg9k] {
    font-size: 16px;
    color: var(--migratrix-text-secondary);
    width: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Enhanced Radzen menu item styling */
[b-nb5wl8pg9k] .rz-menuitem {
    transition: all 0.2s ease;
    border-radius: var(--migratrix-radius);
    margin: 0 4px;
    padding: 0.5rem 0.75rem;
}

[b-nb5wl8pg9k] .rz-menuitem:hover {
    background-color: var(--migratrix-bg-sidebar);
}

[b-nb5wl8pg9k] .rz-menuitem div {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Data Grid Customizations */
.migratrix-data-grid[b-nb5wl8pg9k] {
    border: none !important;
    box-shadow: none !important;
}

.migratrix-data-grid[b-nb5wl8pg9k]  .rz-grid-table thead {
    display: none;
}

.migratrix-data-grid[b-nb5wl8pg9k]  .rz-grid-table td {
    border: none !important;
    padding: 4px 8px !important;
    background-color: transparent !important;
}

.migratrix-data-grid[b-nb5wl8pg9k]  .rz-data-grid-data {
    margin-left: 15px;
}

.migratrix-data-grid[b-nb5wl8pg9k]  .rz-col-icon {
    display: flex !important;
    font-size: 18px;
    color: var(--migratrix-text-secondary);
}

.migratrix-tree-label[b-nb5wl8pg9k] {
    font-weight: 500;
    color: var(--migratrix-text-primary);
}

@media (max-width: 768px) {
    .migratrix-explorer-sidebar[b-nb5wl8pg9k] {
        width: 240px;
        min-width: 180px;
    }

    .migratrix-toolbar[b-nb5wl8pg9k] {
        height: 44px;
        padding: 0 12px;
    }

    .migratrix-toolbar-section[b-nb5wl8pg9k] {
        gap: 8px;
    }

    .migratrix-toolbar-item[b-nb5wl8pg9k] {
        font-size: 12px;
        gap: 6px;
    }

    .migratrix-btn-icon[b-nb5wl8pg9k] {
        width: 26px;
        height: 26px;
    }

    .migratrix-btn-icon i[b-nb5wl8pg9k] {
        font-size: 14px;
    }

    .migratrix-status-bar[b-nb5wl8pg9k] {
        height: 26px;
        font-size: 11px;
    }

    .migratrix-status-indicator[b-nb5wl8pg9k] {
        width: 6px;
        height: 6px;
    }

    .migratrix-icon-sm[b-nb5wl8pg9k] {
        width: 24px;
        height: 24px;
        font-size: 14px;
    }
}

/* Accessibility improvements */
.sidebar-resize-handle:focus[b-nb5wl8pg9k] {
    outline: 2px solid var(--migratrix-primary);
    outline-offset: 2px;
}

.migratrix-btn-icon:focus[b-nb5wl8pg9k] {
    outline: none;
    box-shadow: 0 0 0 2px var(--migratrix-primary), 0 0 0 4px rgba(74, 137, 220, 0.2);
}

/* Smooth transitions */
.migratrix-explorer-sidebar[b-nb5wl8pg9k] {
    transition: width 0.1s ease-out;
}

.sidebar-resize-handle:hover[b-nb5wl8pg9k]::before {
    background: var(--migratrix-primary-light);
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .migratrix-toolbar[b-nb5wl8pg9k] {
        border-bottom: 2px solid var(--migratrix-border);
    }

    .migratrix-explorer-sidebar[b-nb5wl8pg9k] {
        border-right: 2px solid var(--migratrix-border);
    }

    .migratrix-status-bar[b-nb5wl8pg9k] {
        border-top: 2px solid var(--migratrix-border);
    }

    .migratrix-status-indicator[b-nb5wl8pg9k] {
        border: 1px solid var(--migratrix-text-primary);
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .migratrix-btn-icon[b-nb5wl8pg9k],
    .migratrix-toolbar-item[b-nb5wl8pg9k],
    .migratrix-context-menu .rz-menuitem[b-nb5wl8pg9k] {
        transition: none;
    }

    .migratrix-btn-icon:hover[b-nb5wl8pg9k] {
        transform: none;
    }

    .migratrix-status-indicator[b-nb5wl8pg9k] {
        animation: none;
    }
}

/* Page container fixes */
html[b-nb5wl8pg9k], body[b-nb5wl8pg9k], app[b-nb5wl8pg9k] {
    height: 100vh;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

[b-nb5wl8pg9k] .page-container {
    height: 100vh;
    display: flex;
    flex-direction: column;
}

@media (max-width: 768px) {
    .migratrix-resize-handle[b-nb5wl8pg9k] {
        display: none;
    }

    .migratrix-explorer-sidebar[b-nb5wl8pg9k] {
        width: 250px !important;
    }
}
/* /Pages/Explorer/GridFindPanel.razor.rz.scp.css */
/*
    The panel floats over the grid rows, which is what makes it different from the filter picker it
    borrows its shape from.
*/
/* The surface itself - opaque, themed - comes from .migratrix-filter-picker, which both this and the
   column filter share. Only the sizing is particular to find/replace. */
.migratrix-find-picker[b-nw719w6md1] {
    /* Wide enough that Find / Next / Replace / Replace all / Close stay on one row, and never wider
       than the viewport - the panel is anchored to a button near the right edge, so on a narrow window
       an unclamped width would push it off-screen. */
    width: min(450px, calc(100vw - 32px));
    min-width: 0;
}

/* Below roughly a laptop width there is no room for one row of five, so the actions stack tidily
   instead of spilling. */
@media (max-width: 900px) {
    .migratrix-find-picker[b-nw719w6md1] {
        width: min(350px, calc(100vw - 24px));
    }

    .migratrix-find-picker .filter-picker-actions[b-nw719w6md1] {
        justify-content: stretch;
    }

    .migratrix-find-picker .filter-picker-actions .migratrix-btn[b-nw719w6md1] {
        flex: 1 1 auto;
    }
}

.find-option[b-nw719w6md1] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.15rem;
    margin-bottom: 6px;
    cursor: pointer;
    user-select: none;
}

.find-status[b-nw719w6md1] {
    font-size: 12px;
    color: var(--migratrix-text-secondary);
    margin: 0 0 8px;
}
/* /Pages/Explorer/migratrixDataTable.razor.rz.scp.css */
.row-count-badge[b-jcbqxvkgeu] {
    font-size: 10px;
    font-weight: 600;
    padding: 1px 5px;
    border-radius: 10px;
    background: var(--migratrix-bg-secondary);
    color: var(--migratrix-text-secondary);
    white-space: nowrap;
    flex-shrink: 0;
}

.row-count-badge.has-more[b-jcbqxvkgeu] {
    background: #fff3cd;
    color: #856404;
}

/* Progress Bar */
.migratrix-progress-bar-container[b-jcbqxvkgeu] {
    height: 8px;
    background-color: var(--migratrix-border-light);
    border-radius: var(--migratrix-radius);
    overflow: hidden;
    width: 200px;
    margin-top: 0.5rem;
}

.migratrix-progress-bar[b-jcbqxvkgeu] {
    height: 100%;
    background-color: var(--migratrix-primary);
    transition: width 0.3s ease;
    border-radius: var(--migratrix-radius);
}

.migratrix-progress-info[b-jcbqxvkgeu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.25rem;
}

.progress-percentage[b-jcbqxvkgeu] {
    font-weight: 500;
    color: var(--migratrix-text-primary);
    font-size: 12px;
}

/* Table Container - UPDATED FOR STICKY HEADER */
.migratrix-table-container[b-jcbqxvkgeu] {
    flex: 1;
    background-color: var(--migratrix-bg-main);
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden; /* Prevent container from scrolling */
}

.table-responsive[b-jcbqxvkgeu] {
    flex: 1;
    overflow: auto; /* Only the table body scrolls */
    position: relative;
}

/* Table Styles - UPDATED FOR STICKY HEADER */
.migratrix-grid[b-jcbqxvkgeu] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0;
    font-size: 13px;
}

/* STICKY HEADER IMPLEMENTATION */
.migratrix-grid thead th[b-jcbqxvkgeu] {
    border-bottom: 1px solid var(--migratrix-border);
    border-right: 1px solid var(--migratrix-border-light);
    padding: 0.75rem 1rem;
    font-weight: 500;
    font-size: 13px;
    color: var(--migratrix-text-primary);
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease;
    text-align: left;
    position: sticky;
    top: 0;
    z-index: 10;
    background-clip: padding-box;
}

.migratrix-grid thead th:last-child[b-jcbqxvkgeu] {
    border-right: none;
}

.migratrix-grid thead th .d-flex[b-jcbqxvkgeu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sort-icon[b-jcbqxvkgeu] {
    font-size: 16px;
    margin-left: 0.25rem;
    color: var(--migratrix-primary);
}

/* Table Body */
.migratrix-grid tbody td[b-jcbqxvkgeu] {
    padding: 0;
    border-bottom: 1px solid var(--migratrix-border-light);
    border-right: 1px solid var(--migratrix-border-light);
    vertical-align: middle;
}

.migratrix-grid tbody td:last-child[b-jcbqxvkgeu] {
    border-right: none;
}

.migratrix-grid tbody tr:hover[b-jcbqxvkgeu] {
    background-color: rgba(243, 124, 25, 0.06);
    transition: all 0.2s ease;
}

.migratrix-grid tbody tr:nth-child(even)[b-jcbqxvkgeu] {
}

.migratrix-grid tbody tr:nth-child(even):hover[b-jcbqxvkgeu] {
    background-color: rgba(243, 124, 25, 0.06);
}

/* Cell Styling */
.migratrix-cell[b-jcbqxvkgeu] {
    padding: 0.5rem 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    transition: all 0.2s ease;
    line-height: 1.4;
    user-select: none;
    color: var(--migratrix-text-primary);
}

.migratrix-cell:hover[b-jcbqxvkgeu] {
    background-color: rgba(243, 124, 25, 0.08);
}

.migratrix-cell-modified[b-jcbqxvkgeu] {
    color: var(--migratrix-primary);
    font-weight: 500;
    background-color: rgba(243, 124, 25, 0.1);
}

.migratrix-cell-editor[b-jcbqxvkgeu] {
    padding: 0.25rem 0.5rem;
}

.migratrix-cell-input[b-jcbqxvkgeu] {
    width: 100%;
    padding: 0.375rem 0.5rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-size: 13px;
    background: var(--migratrix-bg-card);
}

.migratrix-cell-input:focus[b-jcbqxvkgeu] {
    outline: none;
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 2px rgba(243, 124, 25, 0.22);
}

.migratrix-pager[b-jcbqxvkgeu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 1rem;
    background: var(--migratrix-bg-hover);
    border-top: 1px solid var(--migratrix-border);
    font-size: 13px;
    flex-shrink: 0; /* Prevent pagination from shrinking */
}

.pager-info[b-jcbqxvkgeu] {
    color: var(--migratrix-text-secondary);
}

.pager-buttons[b-jcbqxvkgeu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pager-btn[b-jcbqxvkgeu] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 25px;
    height: 25px;
    padding: 0 0.5rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius);
    background-color: var(--migratrix-bg-card);
    color: var(--migratrix-text-secondary);
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 12px;
    font-weight: 500;
}

.pager-btn:hover:not(:disabled)[b-jcbqxvkgeu] {
    background-color: var(--migratrix-bg-hover);
    border-color: var(--migratrix-primary);
    color: var(--migratrix-primary);
    transform: translateY(-1px);
}

.pager-btn.active[b-jcbqxvkgeu] {
    background-color: var(--migratrix-primary);
    border-color: var(--migratrix-primary);
    color: white;
}

.pager-btn:disabled[b-jcbqxvkgeu] {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
}

.pager-btn i[b-jcbqxvkgeu] {
    font-size: 16px;
}

.pager-size[b-jcbqxvkgeu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--migratrix-text-secondary);
    font-size: 13px;
}

.pager-size label[b-jcbqxvkgeu] {
    margin: 0;
}

.pager-size select[b-jcbqxvkgeu] {
    padding: 0.25rem 0.5rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius);
    background-color: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    font-size: 13px;
}

/* Empty State */
.migratrix-empty-table[b-jcbqxvkgeu] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    color: var(--migratrix-text-secondary);
}

.migratrix-empty-icon[b-jcbqxvkgeu] {
    font-size: 48px;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.migratrix-empty-table p[b-jcbqxvkgeu] {
    font-size: 14px;
    margin: 0;
}

/* Status Messages - matching roles page alerts */
.migratrix-status-message[b-jcbqxvkgeu] {
    padding: 0.75rem 1rem;
    border-radius: var(--migratrix-radius);
    margin-bottom: 1rem;
    font-size: 13px;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    animation: slideDown-b-jcbqxvkgeu 0.3s ease-out;
}

.migratrix-status-success[b-jcbqxvkgeu] {
    background-color: rgba(39, 174, 96, 0.1);
    border: 1px solid rgba(39, 174, 96, 0.2);
    color: var(--migratrix-success);
}

.migratrix-status-error[b-jcbqxvkgeu] {
    background-color: rgba(220, 53, 69, 0.1);
    border: 1px solid rgba(220, 53, 69, 0.2);
    color: var(--migratrix-danger);
}

.migratrix-status-info[b-jcbqxvkgeu] {
    background-color: rgba(243, 124, 25, 0.1);
    border: 1px solid rgba(243, 124, 25, 0.22);
    color: var(--migratrix-primary);
}

.migratrix-status-warning[b-jcbqxvkgeu] {
    background-color: rgba(243, 156, 18, 0.12);
    border: 1px solid rgba(243, 156, 18, 0.28);
    color: var(--migratrix-warning);
}

/* Animations */
@keyframes slideDown-b-jcbqxvkgeu {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes highlight-new-row-b-jcbqxvkgeu {
    0% {
        background-color: rgba(39, 174, 96, 0.2);
    }
    70% {
        background-color: rgba(39, 174, 96, 0.2);
    }
    100% {
        background-color: transparent;
    }
}

.migratrix-row-new[b-jcbqxvkgeu] {
    animation: highlight-new-row-b-jcbqxvkgeu 3s ease-in-out;
}

/* ADDITIONAL STYLES FOR STICKY HEADER SUPPORT */

/* Ensure proper scrolling behavior */
.table-responsive[b-jcbqxvkgeu]::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.table-responsive[b-jcbqxvkgeu]::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.table-responsive[b-jcbqxvkgeu]::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

.table-responsive[b-jcbqxvkgeu]::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Ensure header shadow when scrolling */
.migratrix-grid thead th[b-jcbqxvkgeu]::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    z-index: 1;
}

/* Responsive Design */
@media (max-width: 768px) {
    .migratrix-datatable-toolbar[b-jcbqxvkgeu] {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
        padding: 1rem;
    }

    .migratrix-datatable-actions[b-jcbqxvkgeu] {
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 1rem;
    }

    .migratrix-grid thead th[b-jcbqxvkgeu],
    .migratrix-cell[b-jcbqxvkgeu] {
        padding: 0.5rem;
    }

    .migratrix-pager[b-jcbqxvkgeu] {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
        padding: 1rem;
    }

    .pager-buttons[b-jcbqxvkgeu] {
        order: 2;
    }

    .pager-size[b-jcbqxvkgeu] {
        order: 3;
        justify-content: center;
    }

    .pager-info[b-jcbqxvkgeu] {
        order: 1;
    }
}

@media (max-width: 480px) {
    .migratrix-grid[b-jcbqxvkgeu] {
        font-size: 12px;
    }

    .migratrix-btn[b-jcbqxvkgeu] {
        padding: 4px 8px;
        font-size: 11px;
    }
}
/* /Pages/Explorer/migratrixTreeNode.razor.rz.scp.css */
.tree-node[b-spibwdcd4n] {
    display: flex;
    flex-direction: column;
}

.migratrix-tree-item:hover[b-spibwdcd4n] {
    background-color: var(--migratrix-bg-hover);
}

.migratrix-tree-item-active[b-spibwdcd4n] {
    background-color: var(--migratrix-bg-active);
    /*color: var(--migratrix-primary);*/
}

.migratrix-tree-item-active .migratrix-tree-icon[b-spibwdcd4n] {
    /*color: var(--migratrix-primary);*/
}

.tree-expand-button[b-spibwdcd4n] {
    padding: 0;
    margin: 0;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-right: 0.25rem;
    color: var(--migratrix-text-secondary);
}

.tree-expand-button:hover[b-spibwdcd4n] {
    background-color: var(--migratrix-bg-hover);
    border-radius: var(--migratrix-radius-sm);
}

.tree-expand-button i[b-spibwdcd4n] {
    font-size: 16px;
}

.tree-expand-spacer[b-spibwdcd4n] {
    width: 24px;
    height: 24px;
    margin-right: 0.25rem;
}

.migratrix-tree-icon-l[b-spibwdcd4n] {
    font-size: 16px;
   
    margin-right: 0.5rem;
}

.migratrix-tree-label[b-spibwdcd4n] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tree-children[b-spibwdcd4n] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Explorer/Procedures/parametersTab.razor.rz.scp.css */

@media (max-width: 768px) {
    .parameters-cards[b-u2gusbumkt] {
        grid-template-columns: 1fr;
        padding: 0.5rem;
    }

    .parameter-filters[b-u2gusbumkt] {
        flex-direction: column;
        width: 100%;
    }

    .parameter-filters .migratrix-btn[b-u2gusbumkt] {
        flex: 1;
    }

    .migratrix-datatable-actions[b-u2gusbumkt] {
        flex-direction: column;
        gap: 0.5rem;
    }

    .parameter-signature[b-u2gusbumkt] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }

    .metadata-grid[b-u2gusbumkt] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Explorer/sqlEditor.razor.rz.scp.css */
.connection-context-bar[b-l5rj8a25qy] {
    background-color: var(--migratrix-bg-main);
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    padding: 5px 5px;
}

.connection-info[b-l5rj8a25qy] {
    display: flex;
    align-items: center;
    font-size: 0.9rem;
    gap: 1rem;
}

.connection-icon[b-l5rj8a25qy] {
    font-size: 18px;
}

.connection-name[b-l5rj8a25qy] {
    font-weight: 500;
}

.connection-db-context[b-l5rj8a25qy] {
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 18px;
    color: var(--migratrix-text-secondary);
    background-color: rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.08);
    font-family: monospace;
}

.database-separator[b-l5rj8a25qy] {
    margin: 0 8px;
    color: #999;
}

.database-name[b-l5rj8a25qy] {
    color: #0066cc;
    font-family: monospace;
}

.mysql-icon[b-l5rj8a25qy] {
    color: #00758f;
}

.postgres-icon[b-l5rj8a25qy] {
    color: #336791;
}

.sqlserver-icon[b-l5rj8a25qy] {
    color: #cc2927;
}

.buttons-border[b-l5rj8a25qy] {
   gap: 1rem;
}

.action-buttons[b-l5rj8a25qy] {
    font-size: 22px;
}

.action-buttons.execute[b-l5rj8a25qy] {
    color: #ff9100;
}

.action-buttons.execute:hover[b-l5rj8a25qy] {
    cursor: pointer;
    background-color: rgba(255, 145, 0, 0.1);
    transform: scale(1.1);
}

.action-buttons.clear[b-l5rj8a25qy] {
    font-weight: 900;
    color: #3f87df;
}

.action-buttons.clear:hover[b-l5rj8a25qy] {
    cursor: pointer;
    background-color: rgba(63, 135, 223, 0.1);
    transform: scale(1.1);
}

.action-buttons.save[b-l5rj8a25qy] {
    color: #02800d;
}

.action-buttons.save:hover[b-l5rj8a25qy] {
    cursor: pointer;
    background-color: rgba(2, 128, 13, 0.1);
    transform: scale(1.1);
}

.action-buttons.ai[b-l5rj8a25qy] {
    color: #6f42c1;
}

.action-buttons.ai:hover[b-l5rj8a25qy] {
    cursor: pointer;
    background-color: rgba(111, 66, 193, 0.08);
    transform: scale(1.1);
}

.migratrix-monaco-editor[b-l5rj8a25qy] {
    border: 1px solid #ddd;
    border-radius: 4px;
    height: 100%;
}

.monaco-container[b-l5rj8a25qy] {
    height: 100%;
    width: 100%;
    border: 1px solid var(--migratrix-border);
}

.migratrix-results[b-l5rj8a25qy] {
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
}

.migratrix-results-header[b-l5rj8a25qy] {
    background-color: #f5f5f5;
    border-bottom: 1px solid #ddd;
}

.results-info[b-l5rj8a25qy] {
    display: flex;
    align-items: center;
}

.results-info i[b-l5rj8a25qy] {
    margin-right: 6px;
    font-size: 18px;
    color: #555;
}

.column-with-border[b-l5rj8a25qy] {
    border-right: 1px solid #eee;
}

.data-row:nth-child(even)[b-l5rj8a25qy] {
    background-color: #f9f9f9;
}

.splitter-container[b-l5rj8a25qy] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 190px);
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    margin-top: 10px;
}

.editor-section[b-l5rj8a25qy] {
    height: 50%; /* Default 50% height */
    overflow: hidden;
    border-bottom: none;
    transition: height 0.1s ease-out;
}

.splitter-handle[b-l5rj8a25qy] {
    height: 8px;
    background: var(--migratrix-glass-gradient);
    border-top: 1px solid var(--migratrix-bg-main);
    border-bottom: 1px solid var(--migratrix-bg-main);
    cursor: ns-resize;
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    flex: none;
    z-index: 10;
}

.splitter-handle:hover[b-l5rj8a25qy] {
    background: var(--migratrix-bg-hover);
}

.splitter-grip[b-l5rj8a25qy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.splitter-grip span[b-l5rj8a25qy] {
    display: block;
    width: 20px;
    height: 1px;
    background: #999;
    margin: 1px 0;
}

.splitter-handle:hover .splitter-grip span[b-l5rj8a25qy] {
    background: #666;
}

.results-section[b-l5rj8a25qy] {
    height: 50%; /* Default 50% height */
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: height 0.1s ease-out;
}

.result-tabs[b-l5rj8a25qy] {
    display: flex;
    justify-content: space-between;
}
.tab-content[b-l5rj8a25qy] {
    display: flex;
    padding: 0.1rem;
    align-items: center;
    overflow: hidden;
    gap: 1rem;
}

.tab-title[b-l5rj8a25qy] {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.results-content[b-l5rj8a25qy] {
    flex: 1;
    overflow: auto;
    background: var(--migratrix-bg-main);
}

.migratrix-table-container[b-l5rj8a25qy] {
    height: 100%;
}


.ai-modal-backdrop[b-l5rj8a25qy] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

.ai-modal[b-l5rj8a25qy] {
    width: min(900px, 95vw);
    max-height: 90vh;
    background: var(--migratrix-bg-card, #ffffff);
    border-radius: 8px;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.35);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ai-modal-header[b-l5rj8a25qy] {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ai-modal-header h3[b-l5rj8a25qy] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.ai-modal-body[b-l5rj8a25qy] {
    padding: 0.75rem 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow-y: auto;
}

.ai-label[b-l5rj8a25qy] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #6b7280;
}

.ai-textarea[b-l5rj8a25qy] {
    width: 100%;
    min-height: 80px;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
    padding: 0.5rem 0.6rem;
    font-size: 0.9rem;
    resize: vertical;
}

.ai-row[b-l5rj8a25qy] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.ai-field select[b-l5rj8a25qy] {
    padding: 0.4rem 0.6rem;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
}

.ai-actions[b-l5rj8a25qy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ai-result[b-l5rj8a25qy] {
    border-radius: 6px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    padding: 0.75rem 0.9rem 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.ai-result-header[b-l5rj8a25qy] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ai-meta[b-l5rj8a25qy] {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    margin-top: 0.25rem;
}

.ai-sql[b-l5rj8a25qy] {
    background: #0f172a;
    color: #e5e7eb;
    padding: 0.6rem 0.7rem;
    border-radius: 6px;
    font-family: "JetBrains Mono", "Consolas", monospace;
    font-size: 0.85rem;
    max-height: 220px;
    overflow: auto;
    margin: 0;
}

.ai-warnings[b-l5rj8a25qy] {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 0.8rem;
}

.ai-apply-actions[b-l5rj8a25qy] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    margin-top: 0.25rem;
}

.badge[b-l5rj8a25qy] {
    border-radius: 999px;
    padding: 0.1rem 0.6rem;
    font-size: 0.75rem;
}

.badge-warning[b-l5rj8a25qy] {
    background: rgba(245, 158, 11, 0.1);
    color: #f59e0b;
    border: 1px solid rgba(245, 158, 11, 0.4);
}

.risk-low[b-l5rj8a25qy] {
    background: rgba(34, 197, 94, 0.1);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.4);
}

.risk-medium[b-l5rj8a25qy] {
    background: rgba(234, 179, 8, 0.1);
    color: #eab308;
    border: 1px solid rgba(234, 179, 8, 0.4);
}

.risk-high[b-l5rj8a25qy] {
    background: rgba(248, 113, 113, 0.1);
    color: #f97373;
    border: 1px solid rgba(248, 113, 113, 0.4);
}

.risk-critical[b-l5rj8a25qy] {
    background: rgba(220, 38, 38, 0.15);
}

@media (max-width: 1727px) {
    .action-buttons[b-l5rj8a25qy] {
        font-size: 20px;
    }

}
/* /Pages/Explorer/TableTabs/DataTab.razor.rz.scp.css */
.modified-cell[b-u8zzkk09e7] {
    font-weight: bold;
    color: #0069d9;
}
.primary-key-column[b-u8zzkk09e7] {
    font-weight: bold;
    background-color: rgba(0, 0, 0, 0.03);
}

.table-container[b-u8zzkk09e7] {
    width: 100%;
    overflow-x: auto; /* Enables horizontal scrolling */
    border: 1px solid #ddd; /* Optional: adds a border around the table */
    padding: 5px;
}


.migratrix-grid[b-u8zzkk09e7] {
    width: auto;
    min-width: 1000px; /* Adjust this value based on column width */
    white-space: nowrap; /* Prevents text from wrapping */
    border: 1px solid #ddd !important
}

.column-with-border[b-u8zzkk09e7] {
    border-right: 1px solid rgba(0, 0, 0, 0.1);
}
/* /Pages/Explorer/TableTabs/TableTabList.razor.rz.scp.css */

.tab-content[b-vycg15rfbi] {
    display: flex;
    padding: 0.1rem;
    align-items: center;
    max-width: 230px;
    overflow: visible;
    gap: 10px;
}

.tab-type-icon[b-vycg15rfbi] {
    font-size: 14px !important;
    flex-shrink: 0;
    color: var(--migratrix-text-secondary);
    transition: color 0.2s ease;
    user-select: none;
}

.migratrix-tab.active .tab-type-icon[b-vycg15rfbi] {
    color: var(--migratrix-primary);
}

/* Tab Text */
.tab-text[b-vycg15rfbi] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    line-height: 1.2;
    flex: 1;
}

.tab-name[b-vycg15rfbi] {
    color: var(--migratrix-text-primary);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.2s ease;
}

.migratrix-tab.active .tab-name[b-vycg15rfbi] {
    color: var(--migratrix-primary);
    font-weight: 600;
}

.migratrix-tab.other-connection.active .tab-name[b-vycg15rfbi] {
    color: #e6a800;
    font-weight: 600;
}

@keyframes tabActivate-b-vycg15rfbi {
    from {
        transform: translateY(2px);
        opacity: 0.8;
    }
    to {
        transform: translateY(-2px);
        opacity: 1;
    }
}

.migratrix-tab:focus[b-vycg15rfbi] {
    outline: none;
    box-shadow:
            0 0 0 2px var(--migratrix-primary),
            0 0 0 4px rgba(74, 137, 220, 0.2);
}

.tab-close-button[b-vycg15rfbi] {
    position: relative;
    left: 1rem;
}

@media (max-width: 768px) {
    .migratrix-tabs-container[b-vycg15rfbi] {
        height: 38px;
        padding: 0 0.25rem;
    }

    .migratrix-tab[b-vycg15rfbi] {
        max-width: 140px;
        min-width: 80px;
        height: 30px;
        padding: 0 0.375rem 0 0.5rem;
    }

    .migratrix-tab.active[b-vycg15rfbi] {
        height: 32px;
    }

    .tab-name[b-vycg15rfbi] {
        font-size: 12px;
    }

    .tab-close-button[b-vycg15rfbi] {
        width: 16px;
        height: 16px;
        left: 0;
    }

    .tab-close-button i[b-vycg15rfbi] {
        font-size: 10px;
    }
}

@media (max-width: 480px) {
    .migratrix-tab[b-vycg15rfbi] {
        max-width: 120px;
        min-width: 70px;
    }

    .tab-content[b-vycg15rfbi] {
        max-width: 90px;
    }
}
/* /Pages/Explorer/TableTabs/TriggersTab.razor.rz.scp.css */
.triggers-table[b-tjoua8yn44] {
    border: 1px solid var(--migratrix-border);
    margin-bottom: 0;
    color: var(--migratrix-text-primary);
}

.triggers-table th[b-tjoua8yn44] {
    background-color: var(--migratrix-bg-secondary);
    border-bottom: 2px solid var(--migratrix-border);
    font-weight: 600;
    color: var(--migratrix-text-secondary);
}

.editable-cell[b-tjoua8yn44] {
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background-color 0.2s;
    display: block;
    min-height: 24px;
}

.editable-cell:hover[b-tjoua8yn44] {
    background-color: var(--migratrix-bg-hover);
}

.event-cell[b-tjoua8yn44],
.event-cell-text[b-tjoua8yn44] {
    white-space: nowrap;
    min-width: 200px;
}

.definition-actions[b-tjoua8yn44] {
    display: flex;
    justify-content: center;
    gap: 0.25rem;
}

.row-new[b-tjoua8yn44] {
    background-color: rgba(243, 124, 25, 0.12);
    border-left: 4px solid var(--migratrix-primary);
}

.trigger-row.row-new td[b-tjoua8yn44] {
    background-color: rgba(243, 124, 25, 0.12);
}

.row-deleted[b-tjoua8yn44] {
    background-color: rgba(231, 76, 60, 0.12);
    border-left: 4px solid var(--migratrix-danger);
    opacity: 0.7;
}

.trigger-row.row-deleted td[b-tjoua8yn44] {
    background-color: rgba(231, 76, 60, 0.12);
}

.row-modified[b-tjoua8yn44] {
    background-color: rgba(243, 156, 18, 0.14);
    border-left: 4px solid var(--migratrix-warning);
}

.trigger-row.row-modified td[b-tjoua8yn44] {
    background-color: rgba(243, 156, 18, 0.14);
}

.cell-new[b-tjoua8yn44] {
    background-color: rgba(243, 124, 25, 0.1);
}

.cell-deleted[b-tjoua8yn44] {
    text-decoration: line-through;
    background-color: rgba(231, 76, 60, 0.1);
}

.cell-modified[b-tjoua8yn44] {
    background-color: rgba(243, 156, 18, 0.18);
    border-left: 3px solid var(--migratrix-warning);
}

.badge[b-tjoua8yn44] {
    font-size: 0.7em;
    padding: 0.3em 0.6em;
}

.badge-warning[b-tjoua8yn44] {
    color: var(--migratrix-text-primary);
    background-color: rgba(243, 156, 18, 0.35);
    border: 1px solid rgba(243, 156, 18, 0.45);
}

.btn-group .btn[b-tjoua8yn44] {
    margin-left: 0.25rem;
}

.btn-group .btn:first-child[b-tjoua8yn44] {
    margin-left: 0;
}

.pagination-container[b-tjoua8yn44] {
    display: flex;
    justify-content: center;
}

.page-link[b-tjoua8yn44] {
    border: none;
    background: none;
    color: var(--migratrix-primary);
    padding: 0.375rem 0.75rem;
}

.page-link:hover[b-tjoua8yn44] {
    background-color: var(--migratrix-bg-hover);
    color: var(--migratrix-primary);
}

.page-item.active .page-link[b-tjoua8yn44] {
    background-color: var(--migratrix-primary);
    color: var(--migratrix-bg-card);
}

.page-item.disabled .page-link[b-tjoua8yn44] {
    color: var(--migratrix-text-muted);
    cursor: not-allowed;
}

.ms-2[b-tjoua8yn44] {
    margin-left: 0.5rem;
}

.mt-3[b-tjoua8yn44] {
    margin-top: 1rem;
}

.mb-3[b-tjoua8yn44] {
    margin-bottom: 1rem;
}

.p-5[b-tjoua8yn44] {
    padding: 3rem;
}

.p-3[b-tjoua8yn44] {
    padding: 1rem;
}

.d-flex[b-tjoua8yn44] {
    display: flex;
}

.justify-content-between[b-tjoua8yn44] {
    justify-content: space-between;
}

.justify-content-center[b-tjoua8yn44] {
    justify-content: center;
}

.align-items-center[b-tjoua8yn44] {
    align-items: center;
}

.text-center[b-tjoua8yn44] {
    text-align: center;
}

.text-muted[b-tjoua8yn44] {
    color: var(--migratrix-text-muted);
}

.table-responsive[b-tjoua8yn44] {
    overflow-x: auto;
}

.table-striped tbody tr:nth-of-type(odd)[b-tjoua8yn44] {
    background-color: var(--migratrix-bg-secondary);
}

.table-dark[b-tjoua8yn44] {
    background-color: var(--migratrix-bg-secondary);
    color: var(--migratrix-text-secondary);
}
/* /Pages/FeatureLocked.razor.rz.scp.css */
.feature-locked[b-isfkn2iig7] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    padding: 2rem 1rem;
}

.feature-locked-card[b-isfkn2iig7] {
    max-width: 32rem;
    text-align: center;
    background: var(--migratrix-surface, #fff);
    border: 1px solid var(--migratrix-border, rgba(0, 0, 0, 0.08));
    border-radius: 12px;
    padding: 2.5rem 2rem;
}

.feature-locked-icon[b-isfkn2iig7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    margin-bottom: 1.25rem;
    border-radius: 50%;
    background: rgba(74, 137, 220, 0.1);
    color: var(--migratrix-primary, #4a89dc);
}

.feature-locked-icon i[b-isfkn2iig7] {
    font-size: 2rem;
}

.feature-locked-card h1[b-isfkn2iig7] {
    margin: 0 0 0.75rem;
    font-size: 1.35rem;
    color: var(--migratrix-text-primary);
}

.feature-locked-summary[b-isfkn2iig7] {
    margin: 0 0 1.25rem;
    color: var(--migratrix-text-secondary);
    line-height: 1.5;
}

.feature-locked-plan[b-isfkn2iig7] {
    margin: 0 0 1.75rem;
    font-size: 0.9rem;
    color: var(--migratrix-text-secondary);
}

.feature-locked-plan strong[b-isfkn2iig7] {
    color: var(--migratrix-text-primary);
}
/* /Pages/GitOpsChanges/GitOpsChanges.razor.rz.scp.css */
.gitops-changes-container[b-g1w65mca7x] {
    background: var(--migratrix-bg-main);
    margin: 0 auto;
}

.search-container[b-g1w65mca7x] {
    position: relative;
    flex: 1;
    max-width: 400px;
    min-width: 250px;
}

.search-input[b-g1w65mca7x] {
    width: 100%;
    padding: 0.75rem 0.75rem 0.75rem 2.5rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.875rem;
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    transition: all 0.2s ease;
}

.filter-controls[b-g1w65mca7x] {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.filter-select[b-g1w65mca7x] {
    padding: 0.75rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
    min-width: 140px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.controls-section[b-g1w65mca7x] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    padding: 1.5rem;
}

.gitops-changes-table-container[b-g1w65mca7x] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    box-shadow: var(--migratrix-shadow-sm);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 280px);
    transition: all 0.2s ease;
}

.gitops-changes-table-container:hover[b-g1w65mca7x] {
    box-shadow: var(--migratrix-shadow);
}

.migratrix-table[b-g1w65mca7x] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.table-header[b-g1w65mca7x] {
    background: var(--migratrix-bg-secondary);
    border-bottom: 1px solid var(--migratrix-border);
    position: sticky;
    top: 0;
    z-index: 2;
}

.table-header th[b-g1w65mca7x] {
    padding: 1rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.col-status[b-g1w65mca7x] { width: 12%; }
.col-change-script[b-g1w65mca7x] { width: 20%; }
.col-repository[b-g1w65mca7x] { width: 18%; }
.col-file[b-g1w65mca7x] { width: 20%; }
.col-pr[b-g1w65mca7x] { width: 15%; }
.col-created[b-g1w65mca7x] { width: 15%; }

.gitops-changes-table-body-scroll[b-g1w65mca7x] {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--migratrix-border) transparent;
}

.gitops-changes-table-body-scroll[b-g1w65mca7x]::-webkit-scrollbar {
    width: 6px;
}

.gitops-changes-table-body-scroll[b-g1w65mca7x]::-webkit-scrollbar-track {
    background: var(--migratrix-bg-secondary);
}

.gitops-changes-table-body-scroll[b-g1w65mca7x]::-webkit-scrollbar-thumb {
    background: var(--migratrix-border);
    border-radius: 3px;
}

.pipelines-content[b-g1w65mca7x] {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex: 1;
}

.pipeline-item.desktop-row[b-g1w65mca7x] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    border-left: 4px solid var(--migratrix-border);
    transition: all 0.2s ease;
    margin-bottom: 0;
}

.pipeline-item.created[b-g1w65mca7x] { border-left-color: var(--migratrix-success); }
.pipeline-item.imported[b-g1w65mca7x] { border-left-color: var(--migratrix-success); }
.pipeline-item.failed[b-g1w65mca7x] { border-left-color: var(--migratrix-danger); }
.pipeline-item.creating[b-g1w65mca7x] { border-left-color: var(--migratrix-primary); }

.status-cell[b-g1w65mca7x] {
    display: flex;
    align-items: center;
}

.status-badge[b-g1w65mca7x] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
}

.pipeline-meta[b-g1w65mca7x] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
    flex-wrap: wrap;
}

.info-icon[b-g1w65mca7x] {
    font-size: 14px;
}

.repository-info[b-g1w65mca7x] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.repository-name[b-g1w65mca7x] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
}

.repository-name .material-icons[b-g1w65mca7x] {
    font-size: 16px;
    color: var(--migratrix-text-secondary);
}

.file-info[b-g1w65mca7x] {
    display: flex;
    align-items: center;
}

.file-path[b-g1w65mca7x] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

.file-path .material-icons[b-g1w65mca7x] {
    font-size: 14px;
}

.muted[b-g1w65mca7x] {
    color: var(--migratrix-text-muted);
    font-size: 0.875rem;
}

.pr-info[b-g1w65mca7x] {
    display: flex;
    align-items: center;
}

.pr-link[b-g1w65mca7x] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    background: var(--migratrix-primary);
    color: white;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.75rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

.pr-link:hover[b-g1w65mca7x] {
    background: var(--migratrix-primary-dark);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(74, 137, 220, 0.3);
}

.error-message[b-g1w65mca7x] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    color: var(--migratrix-danger);
    font-size: 0.75rem;
}

.error-message .material-icons[b-g1w65mca7x] {
    font-size: 14px;
}

.created-info[b-g1w65mca7x] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.author-time[b-g1w65mca7x] {
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

.mobile-gitops-changes-scroll[b-g1w65mca7x] {
    padding: 1rem;
    height: calc(100vh - 280px);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mobile-gitops-card[b-g1w65mca7x] {
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    border-left: 4px solid var(--migratrix-border);
    padding: 1.5rem;
    transition: all 0.2s ease;
}

.mobile-gitops-card:hover[b-g1w65mca7x] {
    background: var(--migratrix-bg-card);
    border-color: var(--migratrix-primary);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(74, 137, 220, 0.15);
}

.mobile-gitops-card.created[b-g1w65mca7x] { border-left-color: var(--migratrix-success); }
.mobile-gitops-card.imported[b-g1w65mca7x] { border-left-color: var(--migratrix-success); }
.mobile-gitops-card.failed[b-g1w65mca7x] { border-left-color: var(--migratrix-danger); }
.mobile-gitops-card.creating[b-g1w65mca7x] { border-left-color: var(--migratrix-primary); }

.mobile-change-info[b-g1w65mca7x] {
    flex: 1;
}

.mobile-change-name[b-g1w65mca7x] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.75rem 0;
}

.mobile-change-meta[b-g1w65mca7x] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.mobile-status-badge.created[b-g1w65mca7x] {
    background: rgba(46, 204, 113, 0.1);
    color: var(--migratrix-success);
}

.mobile-status-badge.imported[b-g1w65mca7x] {
    background: rgba(46, 204, 113, 0.15);
    color: var(--migratrix-success);
}

.mobile-status-badge.failed[b-g1w65mca7x] {
    background: rgba(231, 76, 60, 0.1);
    color: var(--migratrix-danger);
}

.mobile-status-badge.creating[b-g1w65mca7x] {
    background: rgba(74, 137, 220, 0.1);
    color: var(--migratrix-primary);
}

.mobile-details-section[b-g1w65mca7x] {
    margin-bottom: 1.5rem;
}

.mobile-detail-row[b-g1w65mca7x] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--migratrix-border);
}

.mobile-detail-row:last-child[b-g1w65mca7x] {
    border-bottom: none;
}

.mobile-detail-label[b-g1w65mca7x] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
}

.mobile-detail-value[b-g1w65mca7x] {
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
    text-align: right;
    word-break: break-word;
}

.mobile-action-btn.secondary[b-g1w65mca7x] {
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    border-color: var(--migratrix-border);
}

.mobile-action-btn.secondary:hover[b-g1w65mca7x] {
    background: var(--migratrix-bg-hover);
}

.mobile-error-message[b-g1w65mca7x] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    background: rgba(231, 76, 60, 0.1);
    border: 1px solid var(--migratrix-danger);
    border-radius: var(--migratrix-radius-sm);
    color: var(--migratrix-danger);
    font-size: 0.875rem;
}

.mobile-error-message .material-icons[b-g1w65mca7x] {
    font-size: 18px;
}

.empty-state[b-g1w65mca7x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    text-align: center;
    flex: 1;
}

.empty-icon[b-g1w65mca7x] {
    font-size: 4rem;
    color: var(--migratrix-text-muted);
    margin-bottom: 1.5rem;
}

.empty-title[b-g1w65mca7x] {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
}

.empty-description[b-g1w65mca7x] {
    color: var(--migratrix-text-secondary);
    margin-bottom: 2rem;
    max-width: 400px;
    line-height: 1.6;
    font-size: 0.875rem;
}

@media (max-width: 1024px) {
    .desktop-table-view[b-g1w65mca7x] {
        display: none;
    }

    .mobile-card-view[b-g1w65mca7x] {
        display: block;
    }

    .controls-section[b-g1w65mca7x] {
        flex-direction: column;
        align-items: stretch;
        gap: 1.25rem;
        padding: 1.5rem;
    }

    .search-container[b-g1w65mca7x] {
        max-width: none;
        min-width: auto;
    }

    .filter-controls[b-g1w65mca7x] {
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .filter-select[b-g1w65mca7x] {
        min-width: auto;
        flex: 1;
    }

    .gitops-changes-table-container[b-g1w65mca7x] {
        height: calc(100vh - 320px);
    }
}

@media (max-width: 768px) {
    .gitops-changes-container[b-g1w65mca7x] {
        padding: 1rem;
    }

    .controls-section[b-g1w65mca7x] {
        padding: 1.25rem;
    }

    .mobile-gitops-card[b-g1w65mca7x] {
        padding: 1.25rem;
    }

    .mobile-card-header[b-g1w65mca7x] {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }

    .mobile-status-badge[b-g1w65mca7x] {
        align-self: flex-start;
    }

    .gitops-changes-table-container[b-g1w65mca7x] {
        height: calc(100vh - 350px);
    }
}

@media (max-width: 640px) {
    .gitops-changes-container[b-g1w65mca7x] {
        padding: 0.75rem;
    }

    .controls-section[b-g1w65mca7x] {
        padding: 1rem;
        gap: 1rem;
    }

    .search-input[b-g1w65mca7x] {
        padding: 0.625rem 0.625rem 0.625rem 2.25rem;
        font-size: 0.8rem;
    }

    .search-icon[b-g1w65mca7x] {
        left: 0.75rem;
        font-size: 14px;
    }

    .filter-select[b-g1w65mca7x] {
        padding: 0.625rem;
        font-size: 0.8rem;
    }

    .mobile-gitops-card[b-g1w65mca7x] {
        padding: 1rem;
    }

    .mobile-change-name[b-g1w65mca7x] {
        font-size: 0.9rem;
    }

    .gitops-changes-table-container[b-g1w65mca7x] {
        height: calc(100vh - 350px);
    }
}

@media (max-width: 480px) {
    .gitops-changes-container[b-g1w65mca7x] {
        padding: 0.5rem;
    }

    .controls-section[b-g1w65mca7x] {
        padding: 0.875rem;
    }

    .mobile-gitops-card[b-g1w65mca7x] {
        padding: 0.875rem;
    }

    .mobile-action-btn[b-g1w65mca7x] {
        font-size: 0.75rem;
        padding: 0.5rem 0.75rem;
    }
}
/* /Pages/GitOpsChanges/GitOpsChangesPanel.razor.rz.scp.css */
.activity-page[b-re0mz2puls] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem;
}

.repo-activity-card[b-re0mz2puls] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.activity-feed-header[b-re0mz2puls] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding-bottom: 1rem;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid var(--migratrix-border);
}

.activity-section-title[b-re0mz2puls] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    white-space: nowrap;
}

.activity-section-title .material-icons[b-re0mz2puls] {
    font-size: 1.25rem;
    color: var(--migratrix-primary);
}

.activity-count[b-re0mz2puls] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--migratrix-text-secondary);
}

.activity-filters[b-re0mz2puls] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    flex-wrap: wrap;
}

.activity-search-wrap[b-re0mz2puls] {
    position: relative;
}

.activity-search-icon[b-re0mz2puls] {
    position: absolute;
    left: 0.625rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    color: var(--migratrix-text-muted);
    pointer-events: none;
}

.activity-search-input[b-re0mz2puls] {
    padding: 0.625rem 0.75rem 0.625rem 2.125rem;
    width: 240px;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
    background: var(--migratrix-bg-card);
    outline: none;
    transition: all 0.2s ease;
}

.activity-search-input[b-re0mz2puls]::placeholder {
    color: var(--migratrix-text-muted);
}

.activity-search-input:focus[b-re0mz2puls] {
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 3px rgba(74, 137, 220, 0.1);
}

.activity-filter-select[b-re0mz2puls] {
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
    background: var(--migratrix-bg-card);
    outline: none;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 140px;
}

.activity-filter-select:focus[b-re0mz2puls] {
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 3px rgba(74, 137, 220, 0.1);
}

/* ── Two-column layout ── */
.activity-layout[b-re0mz2puls] {
    flex: 1;
    min-height: 0;
    display: grid;
    gap: 1.25rem;
    align-items: start;
}

/* ── Activity feed ── */
.activity-feed-col[b-re0mz2puls] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.activity-list[b-re0mz2puls] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* ── Activity item ── */
.activity-item[b-re0mz2puls] {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    padding: 0.875rem 1rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-left: 3px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    box-shadow: var(--migratrix-shadow-sm);
    transition: all 0.2s ease;
}

.activity-item:hover[b-re0mz2puls] {
    box-shadow: var(--migratrix-shadow);
    border-color: rgba(243, 124, 25, 0.22);
    transform: translateX(2px);
}

.activity-item.created[b-re0mz2puls]  { border-left-color: var(--migratrix-success); }
.activity-item.imported[b-re0mz2puls] { border-left-color: #3b82f6; }
.activity-item.failed[b-re0mz2puls]   { border-left-color: var(--migratrix-danger); }
.activity-item.creating[b-re0mz2puls] { border-left-color: var(--migratrix-primary); }

/* Avatar */
.activity-avatar[b-re0mz2puls] {
    width: 32px;
    height: 32px;
    border-radius: var(--migratrix-radius-sm);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #fff;
    background: rgba(74, 137, 220, 0.15);
    color: var(--migratrix-primary);
    border: 1px solid rgba(74, 137, 220, 0.2);
}

/* Body */
.activity-body[b-re0mz2puls] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.activity-row-top[b-re0mz2puls] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.activity-name[b-re0mz2puls] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.activity-change-script-link[b-re0mz2puls] {
    color: var(--migratrix-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.activity-change-script-link:hover[b-re0mz2puls] {
    text-decoration: underline;
}

/* Status badge */
.activity-status-badge[b-re0mz2puls] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.625rem;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.6875rem;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
    border: 1px solid;
}

.activity-status-badge .material-icons[b-re0mz2puls] {
    font-size: 13px;
}

.activity-status-badge.created[b-re0mz2puls] {
    background: rgba(46, 204, 113, 0.1);
    color: var(--migratrix-success);
    border-color: rgba(46, 204, 113, 0.25);
}

.activity-status-badge.imported[b-re0mz2puls] {
    background: rgba(59, 130, 246, 0.09);
    color: #3b82f6;
    border-color: rgba(59, 130, 246, 0.22);
}

.activity-status-badge.failed[b-re0mz2puls] {
    background: rgba(231, 76, 60, 0.1);
    color: var(--migratrix-danger);
    border-color: rgba(231, 76, 60, 0.22);
}

.activity-status-badge.creating[b-re0mz2puls] {
    background: rgba(74, 137, 220, 0.1);
    color: var(--migratrix-primary);
    border-color: rgba(74, 137, 220, 0.22);
}

/* Meta row */
.activity-row-meta[b-re0mz2puls] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    flex-wrap: wrap;
}

.activity-meta-item[b-re0mz2puls] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

.activity-meta-item .material-icons[b-re0mz2puls] {
    font-size: 13px;
    color: var(--migratrix-text-muted);
}

.activity-meta-item.mono[b-re0mz2puls] {
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: 0.6875rem;
}

/* PR link */
.activity-pr-btn[b-re0mz2puls] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.625rem;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.75rem;
    font-weight: 600;
    background: rgba(74, 137, 220, 0.1);
    color: var(--migratrix-primary);
    border: 1px solid rgba(74, 137, 220, 0.22);
    text-decoration: none;
    transition: all 0.2s ease;
}

.activity-pr-btn:hover[b-re0mz2puls] {
    background: var(--migratrix-primary);
    color: #fff;
    border-color: var(--migratrix-primary);
}

.activity-pr-btn .material-icons[b-re0mz2puls] {
    font-size: 12px;
}

/* Error */
.activity-error-msg[b-re0mz2puls] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--migratrix-danger);
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.activity-error-msg .material-icons[b-re0mz2puls] {
    font-size: 13px;
    flex-shrink: 0;
}

/* ── Empty state ── */
.activity-empty[b-re0mz2puls] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    text-align: center;
    gap: 0.875rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    box-shadow: var(--migratrix-shadow-sm);
}

.activity-empty-icon[b-re0mz2puls] {
    width: 52px;
    height: 52px;
    border-radius: var(--migratrix-radius-sm);
    background: rgba(74, 137, 220, 0.08);
    border: 1px solid rgba(74, 137, 220, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
}

.activity-empty-icon .material-icons[b-re0mz2puls] {
    font-size: 26px;
    color: var(--migratrix-primary);
}

.activity-empty-title[b-re0mz2puls] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0;
}

.activity-empty-desc[b-re0mz2puls] {
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
    max-width: 380px;
    line-height: 1.6;
    margin: 0;
}

/* ── Summary sidebar ── */
.activity-summary-col[b-re0mz2puls] {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    position: sticky;
    top: 1rem;
}

/* Summary cards match migratrix-sidebar-section style */
.summary-card[b-re0mz2puls] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    box-shadow: var(--migratrix-shadow-sm);
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.summary-card:hover[b-re0mz2puls] {
    box-shadow: var(--migratrix-shadow);
}

.summary-card-title[b-re0mz2puls] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--migratrix-text-secondary);
    padding: 0.625rem 1rem;
    background: var(--migratrix-bg-secondary);
    border-bottom: 1px solid var(--migratrix-border);
}

/* Status breakdown bars */
.status-breakdown[b-re0mz2puls] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.875rem 1rem;
}

.status-bar-row[b-re0mz2puls] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.status-bar-label[b-re0mz2puls] {
    font-size: 0.75rem;
    font-weight: 600;
    width: 56px;
    flex-shrink: 0;
}

.status-bar-label.created[b-re0mz2puls]  { color: var(--migratrix-success); }
.status-bar-label.imported[b-re0mz2puls] { color: #3b82f6; }
.status-bar-label.creating[b-re0mz2puls] { color: var(--migratrix-primary); }
.status-bar-label.failed[b-re0mz2puls]   { color: var(--migratrix-danger); }

.status-bar-track[b-re0mz2puls] {
    flex: 1;
    height: 5px;
    background: var(--migratrix-bg-secondary);
    border-radius: 2px;
    overflow: hidden;
    border: 1px solid var(--migratrix-border);
}

.status-bar-fill[b-re0mz2puls] {
    height: 100%;
    border-radius: 2px;
    transition: width 0.4s ease;
}

.fill-created[b-re0mz2puls]  { background: var(--migratrix-success); }
.fill-imported[b-re0mz2puls] { background: #3b82f6; }
.fill-creating[b-re0mz2puls] { background: var(--migratrix-primary); }
.fill-failed[b-re0mz2puls]   { background: var(--migratrix-danger); }

.status-bar-count[b-re0mz2puls] {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
    width: 20px;
    text-align: right;
    flex-shrink: 0;
}

/* Summary rows (contributors / repos) */
.summary-row[b-re0mz2puls] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--migratrix-border);
}

.summary-row:last-child[b-re0mz2puls] {
    border-bottom: none;
}

.summary-row-left[b-re0mz2puls] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.summary-avatar[b-re0mz2puls] {
    width: 22px;
    height: 22px;
    border-radius: var(--migratrix-radius-sm);
    background: rgba(74, 137, 220, 0.12);
    border: 1px solid rgba(74, 137, 220, 0.2);
    color: var(--migratrix-primary);
    font-size: 0.5625rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.summary-row-label[b-re0mz2puls] {
    font-size: 0.8125rem;
    color: var(--migratrix-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.summary-row-value[b-re0mz2puls] {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
    flex-shrink: 0;
}

.summary-repo-icon[b-re0mz2puls] {
    font-size: 14px !important;
    color: var(--migratrix-text-muted);
    flex-shrink: 0;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .activity-layout[b-re0mz2puls] {
        grid-template-columns: 1fr 230px;
    }
}

@media (max-width: 768px) {
    .activity-layout[b-re0mz2puls] {
        grid-template-columns: 1fr;
    }

    .activity-summary-col[b-re0mz2puls] {
        position: static;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    }
}

@media (max-width: 640px) {
    .activity-page[b-re0mz2puls] {
        padding: 1rem;
    }

    .activity-feed-header[b-re0mz2puls] {
        flex-direction: column;
        align-items: flex-start;
    }

    .activity-filters[b-re0mz2puls] {
        width: 100%;
    }

    .activity-search-input[b-re0mz2puls] {
        width: 100%;
    }

    .activity-filter-select[b-re0mz2puls] {
        flex: 1;
    }

    .activity-summary-col[b-re0mz2puls] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .activity-item[b-re0mz2puls] {
        gap: 0.625rem;
        padding: 0.75rem;
    }

    .activity-row-top[b-re0mz2puls] {
        flex-wrap: wrap;
    }
}
/* /Pages/GitRepositories/ConnectionRepositoryPopover.razor.rz.scp.css */
.connection-form-container[b-yq60vqwvwi] {
    padding: 0;
}

.connection-popover-footer-messages[b-yq60vqwvwi] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    max-width: min(26rem, 52vw);
    justify-content: center;
}

.connection-popover-footer-messages[b-yq60vqwvwi] (.notification) {
    width: 100%;
}

.connection-popover-footer-messages[b-yq60vqwvwi] (.notification-toast) {
    width: 100%;
    max-width: 100%;
}

.tab-content[b-yq60vqwvwi] {
    padding: 0 2rem;
}

.form-section[b-yq60vqwvwi] {
    margin-bottom: 1.5rem;
}

.section-title[b-yq60vqwvwi] {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--migratrix-border);
}

.form-group[b-yq60vqwvwi] {
    margin-bottom: 1.25rem;
}

.form-group label[b-yq60vqwvwi] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
}

.connection-form-container .migratrix-input[b-yq60vqwvwi] {
    max-width: 22rem;
}

.form-row[b-yq60vqwvwi] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.form-help[b-yq60vqwvwi] {
    display: block;
    margin-top: 0.375rem;
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
    line-height: 1.4;
}

.form-help code[b-yq60vqwvwi] {
    background: var(--migratrix-bg-secondary);
    padding: 0.125rem 0.375rem;
    border-radius: 3px;
    font-size: 0.7rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.form-help a[b-yq60vqwvwi] {
    color: var(--migratrix-primary);
    text-decoration: none;
}

.form-help a:hover[b-yq60vqwvwi] {
    text-decoration: underline;
}

.repository-identity-panel[b-yq60vqwvwi] {
    display: flex;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    margin-bottom: 1.25rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-secondary);
    color: var(--migratrix-text-primary);
}

.repository-identity-panel i[b-yq60vqwvwi] {
    color: var(--migratrix-primary);
    font-size: 1.5rem;
}

.repository-identity-panel strong[b-yq60vqwvwi],
.repository-identity-panel span[b-yq60vqwvwi] {
    display: block;
}

.repository-identity-panel strong[b-yq60vqwvwi] {
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
}

.repository-identity-panel span[b-yq60vqwvwi] {
    color: var(--migratrix-text-secondary);
    font-size: 0.78rem;
    line-height: 1.4;
}

.form-optional[b-yq60vqwvwi] {
    font-size: 0.75rem;
    color: var(--migratrix-text-muted);
    font-weight: 400;
    margin-left: 0.25rem;
}

.checkbox-label[b-yq60vqwvwi] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
    font-weight: 500;
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
}

[b-yq60vqwvwi] .validation-message {
    font-size: 0.75rem;
    color: var(--migratrix-danger);
    margin-top: 0.375rem;
    display: block;
}
/* /Pages/GitRepositories/GitOpsChangesTab.razor.rz.scp.css */
.gitops-changes-tab[b-ttruzxoc91] {
    padding: 1rem 0;
}

.changes-list[b-ttruzxoc91] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.change-item[b-ttruzxoc91] {
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    border-left: 4px solid var(--migratrix-border);
    padding: 1.25rem;
    transition: all 0.2s ease;
}

.change-item:hover[b-ttruzxoc91] {
    background: var(--migratrix-bg-card);
    border-color: var(--migratrix-primary);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(74, 137, 220, 0.15);
}

.change-item.created[b-ttruzxoc91] { border-left-color: var(--migratrix-success); }
.change-item.imported[b-ttruzxoc91] { border-left-color: var(--migratrix-success); }
.change-item.failed[b-ttruzxoc91] { border-left-color: var(--migratrix-danger); }
.change-item.creating[b-ttruzxoc91] { border-left-color: var(--migratrix-primary); }

.change-header[b-ttruzxoc91] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.change-info[b-ttruzxoc91] {
    flex: 1;
}

.change-name[b-ttruzxoc91] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
}

.change-meta[b-ttruzxoc91] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
    flex-wrap: wrap;
}

.change-date[b-ttruzxoc91] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.change-date .material-icons[b-ttruzxoc91] {
    font-size: 14px;
}

.change-status[b-ttruzxoc91] {
    flex-shrink: 0;
}

.status-badge[b-ttruzxoc91] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
}

.change-detail[b-ttruzxoc91] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding: 0.75rem;
    background: var(--migratrix-bg-card);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.875rem;
}

.detail-label[b-ttruzxoc91] {
    font-weight: 600;
    color: var(--migratrix-text-secondary);
}

.detail-value[b-ttruzxoc91] {
    color: var(--migratrix-text-primary);
    word-break: break-all;
}

.change-actions[b-ttruzxoc91] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.action-btn[b-ttruzxoc91] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.action-btn:hover[b-ttruzxoc91] {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.action-btn.primary[b-ttruzxoc91] {
    background: var(--migratrix-primary);
    color: white;
    border-color: var(--migratrix-primary);
}

.action-btn.primary:hover[b-ttruzxoc91] {
    background: var(--migratrix-primary-dark);
}

.action-btn.secondary[b-ttruzxoc91] {
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    border-color: var(--migratrix-border);
}

.action-btn.secondary:hover[b-ttruzxoc91] {
    background: var(--migratrix-bg-hover);
}

.action-btn .material-icons[b-ttruzxoc91] {
    font-size: 18px;
}

.error-message[b-ttruzxoc91] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    background: rgba(231, 76, 60, 0.1);
    border: 1px solid var(--migratrix-danger);
    border-radius: var(--migratrix-radius-sm);
    color: var(--migratrix-danger);
    font-size: 0.875rem;
    margin-top: 1rem;
}

.error-message .material-icons[b-ttruzxoc91] {
    font-size: 18px;
}

.loading-state[b-ttruzxoc91] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 2rem;
    text-align: center;
}

.loading-spinner[b-ttruzxoc91] {
    width: 2rem;
    height: 2rem;
    border: 3px solid var(--migratrix-border);
    border-top: 3px solid var(--migratrix-primary);
    border-radius: 50%;
    animation: spin-b-ttruzxoc91 1s linear infinite;
    margin-bottom: 1rem;
}

@keyframes spin-b-ttruzxoc91 {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.empty-state[b-ttruzxoc91] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 2rem;
    text-align: center;
}

.empty-icon[b-ttruzxoc91] {
    font-size: 3rem;
    color: var(--migratrix-text-muted);
    margin-bottom: 1rem;
}

.empty-title[b-ttruzxoc91] {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
}

.empty-description[b-ttruzxoc91] {
    color: var(--migratrix-text-secondary);
    max-width: 400px;
    line-height: 1.6;
    font-size: 0.875rem;
}
/* /Pages/GitRepositories/gitRepositories.razor.rz.scp.css */

.git-ops-page[b-6a5jp42pyc] {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.25rem;
    box-sizing: border-box;
    gap: 1rem;
}

.gitops-tabs[b-6a5jp42pyc] {
    margin-top: 0;
    margin-bottom: 0;
}

.gitops-tabs .migratrix-tab[b-6a5jp42pyc] {
    gap: 0.375rem;
    padding: 0 1.125rem;
    font-size: 0.875rem;
}

/* ── Tab body ── */
.git-ops-page-body[b-6a5jp42pyc] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.git-ops-page .repository-content[b-6a5jp42pyc] {
    padding: 0;
}

.git-ops-hub-activity[b-6a5jp42pyc] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Punch height through LoadingOverlay wrappers in the Activity tab */
.git-ops-hub-activity[b-6a5jp42pyc]  .loading-overlay-container,
.git-ops-hub-activity[b-6a5jp42pyc]  .loading-overlay-container > div {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* ── Analyzer banner ── */
.analyzer-banner .analyzer-banner-inner[b-6a5jp42pyc] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.analyzer-banner .migratrix-connection-icon[b-6a5jp42pyc] {
    width: 40px;
    height: 40px;
    border-radius: var(--migratrix-radius-sm);
    flex-shrink: 0;
}

.analyzer-banner .analyzer-copy[b-6a5jp42pyc] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.indexing-progress[b-6a5jp42pyc] {
    padding: 0.5rem 0 0;
}

.indexing-progress-bar[b-6a5jp42pyc] {
    width: 100%;
    max-width: 260px;
    height: 6px;
    background: var(--migratrix-border);
    border-radius: 3px;
    overflow: hidden;
}

.indexing-progress-fill[b-6a5jp42pyc] {
    height: 100%;
    background: linear-gradient(90deg, var(--migratrix-primary), var(--migratrix-success));
    border-radius: 3px;
    transition: width 0.3s ease;
}

.indexing-progress-label[b-6a5jp42pyc] {
    margin-top: 0.375rem;
    font-size: 0.8125rem;
    color: var(--migratrix-text-secondary);
}

/* ── Repository content ── */
.repository-content[b-6a5jp42pyc] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.repo-connections-card[b-6a5jp42pyc] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.repository-grid[b-6a5jp42pyc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
    align-content: start;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

/* ── Section panel ── */
.flows-panel[b-6a5jp42pyc] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.flow-panel-header[b-6a5jp42pyc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 1rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--migratrix-border);
}

.flows-panel-title[b-6a5jp42pyc] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.flows-panel-title h4[b-6a5jp42pyc] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0;
}

.flows-panel-count[b-6a5jp42pyc] {
    font-size: 0.8125rem;
    color: var(--migratrix-text-muted);
}

/* ── Repo cards ── */
.repo-card[b-6a5jp42pyc] {
    border-left: 3px solid var(--migratrix-border);
    transition: all 0.2s ease;
}

.repo-card.sync-completed[b-6a5jp42pyc] { border-left-color: var(--migratrix-success); }
.repo-card.sync-processing[b-6a5jp42pyc] { border-left-color: var(--migratrix-primary); }
.repo-card.sync-failed[b-6a5jp42pyc]     { border-left-color: var(--migratrix-danger); }

.repo-card:hover[b-6a5jp42pyc] {
    transform: translateY(-1px);
    box-shadow: var(--migratrix-shadow);
    border-color: rgba(243, 124, 25, 0.22);
}

.env-card-header[b-6a5jp42pyc] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.875rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--migratrix-border);
}

.env-card-title[b-6a5jp42pyc] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
    min-width: 0;
}

.env-name-section h3[b-6a5jp42pyc] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Sync status pill */
.status-indicator[b-6a5jp42pyc] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.625rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    border: 1px solid;
    white-space: nowrap;
    flex-shrink: 0;
}

.status-dot[b-6a5jp42pyc] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
    animation: dotPulse-b-6a5jp42pyc 2s ease-in-out infinite;
}

@keyframes dotPulse-b-6a5jp42pyc {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.4; }
}

/* Repo meta chips */
.repo-subtitle[b-6a5jp42pyc] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.25rem;
    flex-wrap: wrap;
}

.repo-chip[b-6a5jp42pyc] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.125rem 0.45rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.6875rem;
    color: var(--migratrix-text-secondary);
    font-weight: 500;
}

.repo-chip i[b-6a5jp42pyc] { font-size: 0.75rem; }

/* Card detail rows */
.env-card-details[b-6a5jp42pyc] {
    display: flex;
    flex-direction: column;
    margin-bottom: 0.875rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    overflow: hidden;
}

.detail-item[b-6a5jp42pyc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.875rem;
    border-bottom: 1px solid var(--migratrix-border);
}

.detail-item:last-child[b-6a5jp42pyc] { border-bottom: none; }

.detail-label[b-6a5jp42pyc] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    color: var(--migratrix-text-secondary);
    font-weight: 500;
}

.detail-label i[b-6a5jp42pyc] {
    font-size: 0.9375rem;
    opacity: 0.7;
}

.detail-value[b-6a5jp42pyc] {
    font-size: 0.8125rem;
    color: var(--migratrix-text-primary);
    font-weight: 600;
}

/* Card actions */
.actions-section[b-6a5jp42pyc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--migratrix-border);
}

.actions-primary[b-6a5jp42pyc],
.actions-secondary[b-6a5jp42pyc] {
    display: flex;
    gap: 0.375rem;
}

/* ── Empty state ── */
.repo-empty-state[b-6a5jp42pyc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3.5rem 2rem;
    text-align: center;
    gap: 0.875rem;
}

.repo-empty-icon[b-6a5jp42pyc] {
    width: 52px;
    height: 52px;
    border-radius: var(--migratrix-radius-sm);
    background: rgba(74, 137, 220, 0.08);
    border: 1px solid rgba(74, 137, 220, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
}

.repo-empty-icon .material-icons[b-6a5jp42pyc] {
    font-size: 26px;
    color: var(--migratrix-primary);
}

.repo-empty-title[b-6a5jp42pyc] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0;
}

.repo-empty-desc[b-6a5jp42pyc] {
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
    max-width: 340px;
    line-height: 1.6;
    margin: 0;
}

/* ── Provider account cards ── */
.git-account-cards[b-6a5jp42pyc] {
    display: flex;
    gap: 0.75rem;
}

.git-account-card[b-6a5jp42pyc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.875rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.git-account-card.connected[b-6a5jp42pyc] {
    border-color: rgba(46, 204, 113, 0.28);
    background: linear-gradient(180deg, rgba(240, 253, 244, 0.88), rgba(255, 255, 255, 0.7));
}

.git-account-card.not-connected[b-6a5jp42pyc] {
    border-color: rgba(108, 117, 125, 0.22);
}

.git-account-card.unavailable[b-6a5jp42pyc] {
    opacity: 0.72;
}

.git-account-card.selectable[b-6a5jp42pyc] {
    width: 100%;
    text-align: left;
    cursor: pointer;
}

.git-account-card.selectable.selected[b-6a5jp42pyc] {
    border-color: rgba(243, 124, 25, 0.36);
    background: linear-gradient(180deg, rgba(255, 247, 237, 0.92), rgba(255, 255, 255, 0.72));
}

.git-account-card:hover[b-6a5jp42pyc] {
    border-color: rgba(243, 124, 25, 0.28);
    box-shadow: var(--migratrix-shadow-sm);
}

.git-account-card-action[b-6a5jp42pyc] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    align-self: center;
    flex-shrink: 0;
    padding: 0.45rem 0.75rem;
    border: 1px solid rgba(243, 124, 25, 0.28);
    border-radius: var(--migratrix-radius-sm);
    color: var(--migratrix-primary);
    background: rgba(255, 255, 255, 0.78);
    font-size: 0.8125rem;
    font-weight: 600;
}

.git-account-card-action i[b-6a5jp42pyc] { font-size: 1rem; }

.git-account-main[b-6a5jp42pyc] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.git-account-avatar-shell[b-6a5jp42pyc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--migratrix-radius-sm);
    overflow: hidden;
    flex-shrink: 0;
    color: #fff;
}

.git-account-avatar-shell.github[b-6a5jp42pyc] { background: #24292f; }
.git-account-avatar-shell.gitlab[b-6a5jp42pyc] { background: #fc6d26; }
.git-account-avatar-shell i[b-6a5jp42pyc] { font-size: 1.25rem; }

.git-account-avatar[b-6a5jp42pyc] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    flex-shrink: 0;
}

.git-account-avatar-fallback[b-6a5jp42pyc] {
    display: none;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem !important;
    color: #fff;
    flex-shrink: 0;
}

.git-account-copy[b-6a5jp42pyc] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.git-account-title-row[b-6a5jp42pyc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.git-account-provider[b-6a5jp42pyc] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    line-height: 1;
}

.git-account-status[b-6a5jp42pyc] {
    display: inline-flex;
    align-items: center;
    padding: 0.125rem 0.45rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    border: 1px solid rgba(108, 117, 125, 0.22);
    color: var(--migratrix-text-muted);
    background: rgba(255, 255, 255, 0.64);
}

.git-account-status.connected[b-6a5jp42pyc] {
    color: #16803a;
    border-color: rgba(46, 204, 113, 0.32);
    background: rgba(240, 253, 244, 0.84);
}

.git-account-status.not-connected[b-6a5jp42pyc] { color: var(--migratrix-text-muted); }

.git-account-login[b-6a5jp42pyc] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.git-account-row-actions[b-6a5jp42pyc] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
}

.git-account-action[b-6a5jp42pyc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    min-height: 32px;
    padding: 0.35rem 0.625rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    color: var(--migratrix-text-secondary);
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.git-account-action:hover[b-6a5jp42pyc] {
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-primary);
    border-color: rgba(243, 124, 25, 0.26);
}

.git-account-action.primary[b-6a5jp42pyc] {
    color: var(--migratrix-primary);
    border-color: rgba(243, 124, 25, 0.28);
}

.git-account-action.danger:hover[b-6a5jp42pyc] {
    color: var(--migratrix-danger);
    border-color: rgba(220, 38, 38, 0.24);
    background: rgba(254, 242, 242, 0.82);
}

.git-account-action:disabled[b-6a5jp42pyc] {
    cursor: wait;
    opacity: 0.66;
}

.git-account-action i[b-6a5jp42pyc] { font-size: 1.1rem; }

.git-accounts-panel[b-6a5jp42pyc] {
    flex: 0 0 auto;
    margin-left: auto;
}

/* ── Header controls section ── */
.controls-section[b-6a5jp42pyc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
}

.card-title h4[b-6a5jp42pyc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0;
}

.card-title h4 i[b-6a5jp42pyc] {
    color: var(--migratrix-primary);
    font-size: 1.25rem;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .git-account-card[b-6a5jp42pyc] {
        align-items: flex-start;
        flex-direction: column;
    }

    .controls-section[b-6a5jp42pyc] {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .git-accounts-panel[b-6a5jp42pyc] {
        width: 100%;
        margin-left: 0;
    }

    .repository-grid[b-6a5jp42pyc] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .git-ops-page[b-6a5jp42pyc] {
        padding: 1rem;
    }

    .git-account-row-actions[b-6a5jp42pyc] {
        width: 100%;
    }

    .git-account-action[b-6a5jp42pyc] {
        flex: 1;
    }

    .git-ops-page-header[b-6a5jp42pyc] {
        width: 100%;
    }

    .git-ops-hub-tabs[b-6a5jp42pyc] {
        width: 100%;
    }

    .git-ops-hub-tab[b-6a5jp42pyc] {
        flex: 1;
        justify-content: center;
    }

    .analyzer-banner .analyzer-banner-inner[b-6a5jp42pyc] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Pages/GitRepositories/repositoryDetail.razor.rz.scp.css */
.repository-content[b-rdgb7f7luh] {
    padding: 2rem;
}

.repository-content .spacer[b-rdgb7f7luh] {
    margin-bottom: 1.75rem;
}

.tab-navigation[b-rdgb7f7luh]{
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
.repo-controls[b-rdgb7f7luh] {
    align-items: flex-start;
    gap: 1rem;
}

.repo-title p[b-rdgb7f7luh] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

/* Actions aligned to right */
.repo-actions[b-rdgb7f7luh] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

/* Make disconnect look like “delete” but keep same button system */
.repo-danger[b-rdgb7f7luh] {
    color: var(--migratrix-danger) !important;
}

/* KPI spacing */
.repo-kpis[b-rdgb7f7luh] {
    margin-top: 1rem;
}

/* Panel header like flows/environments panels */
.repo-panel[b-rdgb7f7luh] {
    padding: 0.75rem;
}

.repo-panel-header[b-rdgb7f7luh] {
    margin-bottom: 0.75rem;
}

/* Inline chip for subtitle */
.repo-chip-inline[b-rdgb7f7luh] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
}

/* Empty state */
.repo-empty[b-rdgb7f7luh] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    text-align: center;
    padding: 3rem 1.5rem;
}

.repo-empty-icon[b-rdgb7f7luh] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(231, 76, 60, 0.12);
    border: 1px solid rgba(231, 76, 60, 0.2);
}

.repo-empty-icon i[b-rdgb7f7luh] {
    font-size: 40px;
    color: var(--migratrix-danger);
}

.repo-empty-text h3[b-rdgb7f7luh] {
    margin: 0;
    font-weight: 700;
}

.repo-empty-text p[b-rdgb7f7luh] {
    margin: 0;
    color: var(--migratrix-text-secondary);
}

/* Responsive */
@media (max-width: 1024px) {
    .repository-content[b-rdgb7f7luh] {
        padding: 1.25rem;
    }

    .repo-controls[b-rdgb7f7luh] {
        flex-direction: column;
        align-items: stretch;
    }

    .repo-actions[b-rdgb7f7luh] {
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    .repository-content[b-rdgb7f7luh] {
        padding: 1rem;
    }

    .repo-actions .migratrix-btn[b-rdgb7f7luh] {
        flex: 1;
        justify-content: center;
    }
}
/* /Pages/GitRepositories/SyncHistoryTab.razor.rz.scp.css */
/* ============================================
   Sync History Tab - Card-Based Design
   ============================================ */

.sync-history-tab-content[b-jng3tpj6pm] {
    width: 100%;
}

.sync-history-list[b-jng3tpj6pm] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* Sync History Card */
.sync-history-card[b-jng3tpj6pm] {
    background: var(--migratrix-glass-gradient);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius);
    box-shadow: var(--migratrix-shadow-sm);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

@supports (backdrop-filter: blur(10px)) {
    .sync-history-card[b-jng3tpj6pm] {
        backdrop-filter: blur(15px) saturate(160%);
        -webkit-backdrop-filter: blur(15px) saturate(160%);
    }
}

.sync-history-card:hover[b-jng3tpj6pm] {
    box-shadow: var(--migratrix-shadow);
    transform: translateY(-2px);
}

.sync-history-card.status-success[b-jng3tpj6pm] {
    border-left: 4px solid var(--migratrix-success);
}

.sync-history-card.status-error[b-jng3tpj6pm] {
    border-left: 4px solid var(--migratrix-danger);
}

.sync-history-card.status-processing[b-jng3tpj6pm] {
    border-left: 4px solid var(--migratrix-warning);
}

/* Card Header */
.sync-card-header[b-jng3tpj6pm] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--migratrix-border);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.2) 100%);
}

.sync-card-status[b-jng3tpj6pm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.sync-timestamp[b-jng3tpj6pm] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.85rem;
    color: var(--migratrix-text-secondary);
}

.sync-timestamp i[b-jng3tpj6pm] {
    font-size: 1rem;
}

/* Card Body */
.sync-card-body[b-jng3tpj6pm] {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* Commit Info */
.commit-info[b-jng3tpj6pm] {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.commit-message-line[b-jng3tpj6pm] {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
}

.commit-message-line i[b-jng3tpj6pm] {
    font-size: 1.25rem;
    color: var(--migratrix-primary);
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.commit-message[b-jng3tpj6pm] {
    flex: 1;
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--migratrix-text-primary);
    font-weight: 500;
}

.commit-metadata[b-jng3tpj6pm] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-left: 2rem;
}

.commit-sha[b-jng3tpj6pm],
.commit-author[b-jng3tpj6pm] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.3rem 0.625rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: 15px;
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
    font-weight: 500;
}

.commit-sha[b-jng3tpj6pm] {
    font-family: var(--font-mono);
}

.commit-sha i[b-jng3tpj6pm],
.commit-author i[b-jng3tpj6pm] {
    font-size: 0.95rem;
}

/* Stats Grid */
.sync-stats-grid[b-jng3tpj6pm] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 1rem;
}

.stat-item[b-jng3tpj6pm] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.stat-item:hover[b-jng3tpj6pm] {
    transform: translateX(4px);
    box-shadow: var(--migratrix-shadow-sm);
}

.stat-icon[b-jng3tpj6pm] {
    width: 40px;
    height: 40px;
    border-radius: var(--migratrix-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.stat-icon i[b-jng3tpj6pm] {
    font-size: 1.5rem;
}

.stat-item.stat-added .stat-icon[b-jng3tpj6pm] {
    background: linear-gradient(135deg, rgba(46, 204, 113, 0.15) 0%, rgba(46, 204, 113, 0.1) 100%);
    color: var(--migratrix-success);
}

.stat-item.stat-modified .stat-icon[b-jng3tpj6pm] {
    background: linear-gradient(135deg, rgba(243, 156, 18, 0.15) 0%, rgba(243, 156, 18, 0.1) 100%);
    color: var(--migratrix-warning);
}

.stat-item.stat-deleted .stat-icon[b-jng3tpj6pm] {
    background: linear-gradient(135deg, rgba(231, 76, 60, 0.15) 0%, rgba(231, 76, 60, 0.1) 100%);
    color: var(--migratrix-danger);
}

.stat-item.stat-change-scripts .stat-icon[b-jng3tpj6pm] {
    background: linear-gradient(135deg, rgba(52, 152, 219, 0.15) 0%, rgba(52, 152, 219, 0.1) 100%);
    color: var(--migratrix-info);
}

.stat-content[b-jng3tpj6pm] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.stat-value[b-jng3tpj6pm] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
    line-height: 1;
}

.stat-label[b-jng3tpj6pm] {
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
    font-weight: 500;
}

/* Error Message */
.sync-error-message[b-jng3tpj6pm] {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.875rem;
    background: linear-gradient(135deg, rgba(231, 76, 60, 0.1) 0%, rgba(231, 76, 60, 0.05) 100%);
    border: 1px solid rgba(231, 76, 60, 0.2);
    border-radius: var(--migratrix-radius-sm);
    color: var(--migratrix-danger);
    font-size: 0.875rem;
    line-height: 1.5;
}

.sync-error-message i[b-jng3tpj6pm] {
    font-size: 1.25rem;
    flex-shrink: 0;
    margin-top: 0.125rem;
}

/* Expand Button */
.sync-expand-button[b-jng3tpj6pm] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    color: var(--migratrix-text-primary);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sync-expand-button:hover[b-jng3tpj6pm] {
    background: var(--migratrix-bg-hover);
    border-color: var(--migratrix-primary);
    color: var(--migratrix-primary);
}

.sync-expand-button i[b-jng3tpj6pm] {
    font-size: 1.25rem;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Expanded Content */
.sync-card-expanded[b-jng3tpj6pm] {
    padding: 1.25rem;
    background: var(--migratrix-bg-secondary);
    border-top: 1px solid var(--migratrix-border);
    animation: expandDown-b-jng3tpj6pm 0.3s ease-out;
}

@keyframes expandDown-b-jng3tpj6pm {
    from {
        opacity: 0;
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
    to {
        opacity: 1;
        max-height: 2000px;
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }
}

/* File Changes Section */
.file-changes-section[b-jng3tpj6pm] {
    margin-bottom: 1.25rem;
}

.file-changes-section:last-child[b-jng3tpj6pm] {
    margin-bottom: 0;
}

.file-changes-header[b-jng3tpj6pm] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--migratrix-border);
}

.file-changes-header i[b-jng3tpj6pm] {
    font-size: 1.25rem;
}

.file-changes-header.added[b-jng3tpj6pm] {
    color: var(--migratrix-success);
    border-bottom-color: var(--migratrix-success);
}

.file-changes-header.modified[b-jng3tpj6pm] {
    color: var(--migratrix-warning);
    border-bottom-color: var(--migratrix-warning);
}

.file-changes-header.deleted[b-jng3tpj6pm] {
    color: var(--migratrix-danger);
    border-bottom-color: var(--migratrix-danger);
}

/* File Changes List */
.file-changes-list[b-jng3tpj6pm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 0.5rem;
}

.file-change-item[b-jng3tpj6pm] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-family: var(--font-mono);
    font-size: 0.8rem;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.file-change-item i[b-jng3tpj6pm] {
    font-size: 1rem;
    flex-shrink: 0;
}

.file-change-item span[b-jng3tpj6pm] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-change-item:hover[b-jng3tpj6pm] {
    transform: translateX(4px);
    box-shadow: var(--migratrix-shadow-sm);
}

.file-change-item.added[b-jng3tpj6pm] {
    border-left: 3px solid var(--migratrix-success);
    color: var(--migratrix-success);
}

.file-change-item.modified[b-jng3tpj6pm] {
    border-left: 3px solid var(--migratrix-warning);
    color: var(--migratrix-warning);
}

.file-change-item.deleted[b-jng3tpj6pm] {
    border-left: 3px solid var(--migratrix-danger);
    color: var(--migratrix-danger);
}

.file-change-more[b-jng3tpj6pm] {
    padding: 0.5rem 0.75rem;
    background: var(--migratrix-bg-secondary);
    border: 1px dashed var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
    text-align: center;
    font-style: italic;
}

/* Responsive Adjustments */
@media (max-width: 1727px) {
    .sync-stats-grid[b-jng3tpj6pm] {
        gap: 0.875rem;
    }

    .stat-item[b-jng3tpj6pm] {
        padding: 0.75rem;
    }

    .stat-icon[b-jng3tpj6pm] {
        width: 36px;
        height: 36px;
    }

    .stat-icon i[b-jng3tpj6pm] {
        font-size: 1.375rem;
    }

    .stat-value[b-jng3tpj6pm] {
        font-size: 1.375rem;
    }

    .file-changes-list[b-jng3tpj6pm] {
        grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
        gap: 0.4rem;
    }

    .file-change-item[b-jng3tpj6pm] {
        padding: 0.4rem 0.6rem;
        font-size: 0.75rem;
    }
}

@media (max-width: 1024px) {
    .sync-history-list[b-jng3tpj6pm] {
        gap: 1rem;
    }

    .sync-card-header[b-jng3tpj6pm] {
        padding: 0.875rem 1rem;
    }

    .sync-card-body[b-jng3tpj6pm] {
        padding: 1rem;
        gap: 1rem;
    }

    .sync-card-expanded[b-jng3tpj6pm] {
        padding: 1rem;
    }

    .sync-stats-grid[b-jng3tpj6pm] {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }

    .file-changes-list[b-jng3tpj6pm] {
        grid-template-columns: 1fr;
        gap: 0.375rem;
    }

    .commit-metadata[b-jng3tpj6pm] {
        margin-left: 0;
    }
}

@media (max-width: 768px) {
    .sync-card-header[b-jng3tpj6pm] {
        padding: 0.75rem;
    }

    .sync-card-status[b-jng3tpj6pm] {
        flex-direction: column;
        align-items: flex-start;
    }

    .sync-card-body[b-jng3tpj6pm] {
        padding: 0.875rem;
        gap: 0.875rem;
    }

    .sync-card-expanded[b-jng3tpj6pm] {
        padding: 0.875rem;
    }

    .commit-message[b-jng3tpj6pm] {
        font-size: 0.875rem;
    }

    .commit-metadata[b-jng3tpj6pm] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .sync-stats-grid[b-jng3tpj6pm] {
        grid-template-columns: 1fr;
        gap: 0.625rem;
    }

    .stat-item[b-jng3tpj6pm] {
        padding: 0.625rem;
    }

    .file-changes-section[b-jng3tpj6pm] {
        margin-bottom: 1rem;
    }

    .file-change-item[b-jng3tpj6pm] {
        padding: 0.375rem 0.5rem;
        font-size: 0.7rem;
    }
}

@media (max-width: 640px) {
    .sync-history-list[b-jng3tpj6pm] {
        gap: 0.875rem;
    }

    .sync-card-body[b-jng3tpj6pm] {
        gap: 0.75rem;
    }

    .stat-icon[b-jng3tpj6pm] {
        width: 32px;
        height: 32px;
    }

    .stat-icon i[b-jng3tpj6pm] {
        font-size: 1.25rem;
    }

    .stat-value[b-jng3tpj6pm] {
        font-size: 1.25rem;
    }

    .stat-label[b-jng3tpj6pm] {
        font-size: 0.75rem;
    }

    .sync-expand-button[b-jng3tpj6pm] {
        padding: 0.625rem;
        font-size: 0.8rem;
    }

    .file-changes-header[b-jng3tpj6pm] {
        font-size: 0.85rem;
    }

    .file-change-more[b-jng3tpj6pm] {
        font-size: 0.75rem;
    }
}
/* /Pages/Management/catalogAdmin.razor.rz.scp.css */
.catalog-container[b-3rvc830cfz] {
    padding: 0.75rem 1rem;
    background: var(--migratrix-bg-main);
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow: hidden;
    min-height: 0;
    box-sizing: border-box;
}

.catalog-container > .config-card[b-3rvc830cfz] {
    flex-shrink: 0;
}

.controls-section[b-3rvc830cfz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0.85rem;
    flex-wrap: nowrap;
}

.catalog-kpi-grid[b-3rvc830cfz] {
    flex: 0 1 auto;
    min-width: 0;
    margin: 0;
    gap: 0.4rem;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
}

.catalog-kpi-grid .kpi-label[b-3rvc830cfz] { white-space: nowrap; }

.controls-right[b-3rvc830cfz] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 0 0 auto;
    margin-inline-start: auto;
}

.catalog-status[b-3rvc830cfz] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.75rem;
    border-radius: var(--migratrix-radius-sm);
    border: 1px solid var(--migratrix-border);
    background: var(--migratrix-bg-card);
    font-size: 0.75rem;
    flex-shrink: 0;
}

.catalog-status .material-icons[b-3rvc830cfz] { font-size: 1rem; }
.catalog-status.is-ok[b-3rvc830cfz] { border-left: 4px solid var(--migratrix-success); }
.catalog-status.is-ok .material-icons[b-3rvc830cfz] { color: var(--migratrix-success); }
.catalog-status.is-error[b-3rvc830cfz] { border-left: 4px solid var(--migratrix-danger, #b42318); }
.catalog-status.is-error .material-icons[b-3rvc830cfz] { color: var(--migratrix-danger, #b42318); }

.catalog-panels[b-3rvc830cfz] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1.2fr);
    grid-template-areas:
        "products limits"
        "features matrix";
    gap: 0.75rem;
    flex: 1;
    min-height: 0;
}

.catalog-panel.matrix[b-3rvc830cfz] { grid-area: matrix; }
.catalog-panel.limits[b-3rvc830cfz] { grid-area: limits; }
.catalog-panel.products[b-3rvc830cfz] { grid-area: products; }
.catalog-panel.features[b-3rvc830cfz] { grid-area: features; }

.catalog-panel[b-3rvc830cfz] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    box-shadow: var(--migratrix-shadow-sm);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
}

.catalog-panel-head[b-3rvc830cfz] {
    display: flex;
    align-items: center;
    padding: 0.4rem 0.75rem;
    background: var(--migratrix-bg-secondary);
    border-bottom: 1px solid var(--migratrix-border);
    flex-shrink: 0;
}

.catalog-panel-head h2[b-3rvc830cfz] {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--migratrix-text-secondary);
}

.table-header-row[b-3rvc830cfz] {
    display: grid;
    gap: 0.5rem;
    align-items: center;
    padding: 0.35rem 0.75rem 0.35rem calc(0.75rem + 3px);
    background: var(--migratrix-bg-secondary);
    border-bottom: 1px solid var(--migratrix-border);
    font-size: 0.62rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    flex-shrink: 0;
}

.th-center[b-3rvc830cfz] { text-align: center; }
.th-actions[b-3rvc830cfz] { text-align: right; }

.catalog-body-scroll[b-3rvc830cfz] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--migratrix-border) transparent;
}

.catalog-body-scroll[b-3rvc830cfz]::-webkit-scrollbar { width: 5px; }
.catalog-body-scroll[b-3rvc830cfz]::-webkit-scrollbar-track { background: var(--migratrix-bg-secondary); }
.catalog-body-scroll[b-3rvc830cfz]::-webkit-scrollbar-thumb { background: var(--migratrix-border); border-radius: 3px; }

.catalog-rows[b-3rvc830cfz] {
    padding: 0.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.catalog-row[b-3rvc830cfz] {
    display: grid;
    gap: 0.5rem;
    align-items: center;
    padding: 0.35rem 0.65rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    border-left: 3px solid var(--migratrix-border);
}

.catalog-row.deprecated[b-3rvc830cfz] { border-left-color: var(--migratrix-warning); }
.catalog-row.inactive[b-3rvc830cfz]   { border-left-color: var(--migratrix-warning); }
.catalog-row.active[b-3rvc830cfz]     { border-left-color: var(--migratrix-success); }
.catalog-row.capacity[b-3rvc830cfz]   { border-left-color: var(--migratrix-info); }
.catalog-row.metered[b-3rvc830cfz]    { border-left-color: var(--migratrix-secondary); }

.catalog-group-label[b-3rvc830cfz] {
    padding: 0.45rem 0.2rem 0.05rem;
    font-size: 0.62rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--migratrix-text-secondary);
}

.catalog-cell-main[b-3rvc830cfz] { min-width: 0; }

.catalog-name[b-3rvc830cfz] {
    display: block;
    font-size: 0.75rem;
    color: var(--migratrix-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalog-meta[b-3rvc830cfz] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.05rem;
    min-width: 0;
}

.catalog-meta code[b-3rvc830cfz],
.catalog-name code[b-3rvc830cfz] {
    font-family: ui-monospace, "SF Mono", Menlo, monospace;
    font-size: 0.65rem;
    color: var(--migratrix-text-secondary);
}

.catalog-badge[b-3rvc830cfz] {
    display: inline-flex;
    align-items: center;
    padding: 0.05rem 0.3rem;
    border-radius: 3px;
    font-size: 0.55rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.3;
    flex-shrink: 0;
}

.catalog-badge.low[b-3rvc830cfz] {
    background: rgba(46, 204, 113, 0.12);
    color: #16a34a;
    border: 1px solid rgba(46, 204, 113, 0.3);
}

.catalog-badge.medium[b-3rvc830cfz] {
    background: rgba(243, 156, 18, 0.12);
    color: #b45309;
    border: 1px solid rgba(243, 156, 18, 0.3);
}

.catalog-badge.high[b-3rvc830cfz] {
    background: rgba(185, 28, 28, 0.08);
    color: #b42318;
    border: 1px solid rgba(180, 35, 24, 0.2);
}

[data-theme="dark"] .catalog-badge.low[b-3rvc830cfz]    { color: #4ade80; }
[data-theme="dark"] .catalog-badge.medium[b-3rvc830cfz] { color: #fbbf24; }
[data-theme="dark"] .catalog-badge.high[b-3rvc830cfz]   { color: #f97066; }

.btn-text[b-3rvc830cfz] { display: inline; }

@media (max-width: 1400px) {
    .btn-text[b-3rvc830cfz] { display: none; }
}

.catalog-cell[b-3rvc830cfz] {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: var(--migratrix-radius-sm);
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

.catalog-cell:hover[b-3rvc830cfz] { transform: scale(1.08); }
.catalog-cell:disabled[b-3rvc830cfz] { cursor: wait; opacity: 0.5; transform: none; }
.catalog-cell:focus-visible[b-3rvc830cfz] { outline: 2px solid var(--migratrix-primary); outline-offset: 2px; }
.catalog-cell .material-icons[b-3rvc830cfz] { font-size: 0.95rem; }

.catalog-cell.included[b-3rvc830cfz] {
    color: var(--migratrix-success);
    border-color: var(--migratrix-success);
    background: color-mix(in srgb, var(--migratrix-success) 12%, transparent);
}

.catalog-cell.addon[b-3rvc830cfz] {
    color: var(--migratrix-warning);
    border-color: var(--migratrix-warning);
    background: color-mix(in srgb, var(--migratrix-warning) 12%, transparent);
}

.catalog-cell.excluded[b-3rvc830cfz] {
    color: var(--migratrix-text-secondary);
    border-color: var(--migratrix-border);
    background: var(--migratrix-bg-card);
}

.catalog-limit-input[b-3rvc830cfz] {
    width: 4.5rem;
    height: 26px;
    text-align: center;
    font-size: 0.75rem;
}

.catalog-products-grid[b-3rvc830cfz] { grid-template-columns: minmax(0, 2.4fr) 0.8fr 0.7fr 0.7fr; }
.catalog-features-grid[b-3rvc830cfz] { grid-template-columns: minmax(0, 2.2fr) 1.2fr 0.9fr 0.7fr; }

.catalog-row .migratrix-btn[b-3rvc830cfz] {
    min-width: 0;
    padding: 0.2rem 0.35rem;
}

.catalog-row .migratrix-btn .material-icons[b-3rvc830cfz] {
    font-size: 1rem;
}

.catalog-modal-backdrop[b-3rvc830cfz] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 1rem;
}

.catalog-modal[b-3rvc830cfz] {
    width: min(480px, 100%);
    max-height: 90vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    box-shadow: var(--migratrix-shadow-lg, 0 18px 48px rgba(0, 0, 0, 0.28));
}

.catalog-modal h2[b-3rvc830cfz] {
    margin: 0;
    font-size: 1.1rem;
    color: var(--migratrix-text-primary);
}

.catalog-note[b-3rvc830cfz] {
    padding: 0;
    font-size: 0.78rem;
    line-height: 1.55;
    color: var(--migratrix-text-secondary);
    background: none;
    border: none;
}

.catalog-note strong[b-3rvc830cfz] { color: var(--migratrix-text-primary); }

.catalog-modal label[b-3rvc830cfz] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
}

.catalog-inline-note[b-3rvc830cfz] {
    font-size: 0.72rem;
    font-weight: 400;
    color: var(--migratrix-text-secondary);
}

.catalog-check[b-3rvc830cfz] {
    flex-direction: row !important;
    align-items: center;
    gap: 0.5rem !important;
    font-weight: 500 !important;
}

.catalog-modal-actions[b-3rvc830cfz] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    margin-top: 0.35rem;
}

@media (max-width: 1100px) {
    .catalog-panels[b-3rvc830cfz] {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        grid-template-areas:
            "products"
            "limits"
            "features"
            "matrix";
        overflow-y: auto;
    }

    .catalog-panel[b-3rvc830cfz] {
        min-height: 16rem;
    }
}

@media (max-width: 900px) {
    .controls-section[b-3rvc830cfz] { flex-wrap: wrap; }
    .catalog-kpi-grid[b-3rvc830cfz] { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .catalog-cell[b-3rvc830cfz] { transition: none; }
    .catalog-cell:hover[b-3rvc830cfz] { transform: none; }
}
/* /Pages/Management/management.razor.rz.scp.css */
/* ================================
   MANAGEMENT DASHBOARD
   ================================ */

/* The page is exactly as tall as the scroll area, so the organizations card always reaches the
   bottom of the screen: no dead space under a short list, and a long one scrolls inside the
   table instead of pushing the card past the fold. height, not min-height - a min-height leaves
   the container indefinite, which makes the flex-basis below resolve as content height and lets
   the card grow past the viewport again. */
.management-dashboard[b-8al7pyiz4c] {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 2rem;
    max-width: 1800px;
    margin: 0 auto;
}

/* The page header is the shared one: .config-card plus .header-top / .header-title-icon /
   .header-title-text / .header-tagline, all defined in app.css, same as the dashboard's. Sizing
   deliberately stays there so the two pages can't drift apart — the local h1 override this
   replaced is exactly what made this title twice the size of every other page's. All that is
   left here is the gap down to the KPI grid. */
.dashboard-header[b-8al7pyiz4c] {
    flex: 0 0 auto;
    margin-bottom: 2rem;
}

/* The shared .kpi-grid is five across because that is how many the dashboard has; this page has
   four, which would leave an empty fifth column. Only the widest breakpoint needs saying — below
   1280px app.css drops to two columns and then one, and this page wants that too. */
.kpi-grid[b-8al7pyiz4c] {
    flex: 0 0 auto;
}

@media (min-width: 1281px) {
    .kpi-grid[b-8al7pyiz4c] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.management-content[b-8al7pyiz4c] {
    display: flex;
    flex-direction: column;
    /* Takes whatever the header and KPI row leave, with a floor that keeps the table usable on
       a short viewport - past that the outer content area scrolls. */
    flex: 1;
    min-height: 20rem;
    margin-top: 2rem;
}

.chart-card[b-8al7pyiz4c] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    background: var(--migratrix-glass-gradient);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 2rem;
    box-shadow: var(--migratrix-shadow);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-header[b-8al7pyiz4c] {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
}

.card-title[b-8al7pyiz4c] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.card-title i[b-8al7pyiz4c] {
    color: var(--migratrix-primary);
    font-size: 1.5rem;
    flex-shrink: 0;
}

.card-title h3[b-8al7pyiz4c] {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.25rem 0;
}

.card-title p[b-8al7pyiz4c] {
    font-size: 0.85rem;
    color: var(--migratrix-text-secondary);
    margin: 0;
}

.card-actions[b-8al7pyiz4c] {
    display: flex;
    gap: 0.5rem;
}

/* ================================
   MANAGEMENT TOOLBAR
   ================================ */

.management-toolbar[b-8al7pyiz4c] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.management-search-input[b-8al7pyiz4c]::placeholder {
    color: var(--migratrix-text-muted);
}

/* ================================
   DATA TABLE
   ================================ */

/* The rows are the only part that scrolls, so the toolbar above and the pagination bar below
   stay on screen no matter how many organizations the page is showing. */
.table-container[b-8al7pyiz4c] {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

.data-table[b-8al7pyiz4c],
.org-table[b-8al7pyiz4c] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.data-table thead[b-8al7pyiz4c],
.org-table thead[b-8al7pyiz4c],
.org-table-header[b-8al7pyiz4c] {
    background: rgba(243, 124, 25, 0.05);
}

.data-table th[b-8al7pyiz4c],
.org-th[b-8al7pyiz4c],
.org-th-center[b-8al7pyiz4c] {
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    border-bottom: 2px solid var(--migratrix-border);
    white-space: nowrap;
}

/* .data-table th in the rule above carries one specificity point more than a lone class, so it
   was overriding this and left-aligning every heading whose column is centred - which is why the
   headings sat off to the left of the cells beneath them. */
.data-table th.org-th-center[b-8al7pyiz4c],
.org-th-center[b-8al7pyiz4c] {
    text-align: center;
}

.data-table td[b-8al7pyiz4c],
.org-td[b-8al7pyiz4c],
.org-td-center[b-8al7pyiz4c] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--migratrix-border);
    color: var(--migratrix-text-primary);
}

.org-td-center[b-8al7pyiz4c] {
    text-align: center;
}

.org-actions[b-8al7pyiz4c] {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    align-items: center;
}

.data-table tbody tr[b-8al7pyiz4c],
.org-table-row[b-8al7pyiz4c] {
    transition: all 0.2s ease;
}

.data-table tbody tr:hover[b-8al7pyiz4c],
.org-table-row:hover[b-8al7pyiz4c] {
    background: rgba(243, 124, 25, 0.03);
}

.org-table-row-clickable[b-8al7pyiz4c] {
    cursor: pointer;
}

.data-table tbody tr:last-child td[b-8al7pyiz4c],
.org-table tbody tr:last-child td[b-8al7pyiz4c] {
    border-bottom: none;
}

.org-th-expand[b-8al7pyiz4c],
.org-td-expand[b-8al7pyiz4c] {
    width: 50px;
    padding: 0.5rem !important;
}

/* Table Cell Content */
.org-cell-content[b-8al7pyiz4c] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.org-name[b-8al7pyiz4c] {
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.org-slug[b-8al7pyiz4c] {
    font-size: 0.85rem;
    color: var(--migratrix-text-secondary);
}

.org-owner[b-8al7pyiz4c] {
    font-size: 0.9rem;
    color: var(--migratrix-text-secondary);
}

.org-count[b-8al7pyiz4c] {
    font-weight: 700;
    color: var(--migratrix-text-primary);
    font-size: 1.1rem;
}

/* ================================
   BADGES
   ================================ */

.badge[b-8al7pyiz4c] {
    padding: 0.35rem 0.75rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    display: inline-block;
    white-space: nowrap;
}

.badge-primary[b-8al7pyiz4c] {
    background: rgba(243, 124, 25, 0.15);
    color: var(--migratrix-primary);
    border: 1px solid rgba(243, 124, 25, 0.2);
}

.badge-success[b-8al7pyiz4c] {
    background: rgba(46, 204, 113, 0.15);
    color: #2ecc71;
    border: 1px solid rgba(46, 204, 113, 0.2);
}

.badge-danger[b-8al7pyiz4c] {
    background: rgba(231, 76, 60, 0.15);
    color: #e74c3c;
    border: 1px solid rgba(231, 76, 60, 0.2);
}

.badge-warning[b-8al7pyiz4c] {
    background: rgba(243, 156, 18, 0.15);
    color: var(--migratrix-warning);
    border: 1px solid rgba(243, 156, 18, 0.2);
}

/* ================================
   EMPTY & LOADING STATES
   ================================ */

.org-td-empty[b-8al7pyiz4c] {
    text-align: center;
    padding: 3rem;
}

.org-loading[b-8al7pyiz4c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.loading-progress[b-8al7pyiz4c] {
    width: 40px;
    height: 40px;
}

.org-loading-text[b-8al7pyiz4c] {
    color: var(--migratrix-text-secondary);
    font-size: 0.9rem;
}

.org-empty-icon[b-8al7pyiz4c] {
    font-size: 4rem;
    color: var(--migratrix-text-muted);
    opacity: 0.5;
    margin-bottom: 1rem;
}

.org-empty-title[b-8al7pyiz4c] {
    color: var(--migratrix-text-primary);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.org-empty-text[b-8al7pyiz4c] {
    color: var(--migratrix-text-secondary);
    font-size: 0.9rem;
}

/* ================================
   PAGINATION
   ================================ */

.management-pagination[b-8al7pyiz4c] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1.5rem;
    padding: 1rem;
    border-radius: var(--migratrix-radius-sm);
    background: rgba(243, 124, 25, 0.03);
}

.pagination-info[b-8al7pyiz4c] {
    color: var(--migratrix-text-secondary);
    font-size: 0.9rem;
}

.pagination-buttons[b-8al7pyiz4c] {
    display: flex;
    gap: 0.5rem;
}

.migratrix-btn-outline:disabled[b-8al7pyiz4c] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* ================================
   EXPANDABLE ROWS
   ================================ */

.org-expand-btn[b-8al7pyiz4c] {
    padding: 0.25rem;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--migratrix-text-secondary);
    transition: all 0.2s;
}

.org-expand-btn:hover[b-8al7pyiz4c] {
    color: var(--migratrix-primary);
}

.org-details-row[b-8al7pyiz4c] {
    background: var(--migratrix-bg-secondary);
}

.org-details-cell[b-8al7pyiz4c] {
    padding: 0 !important;
}

.org-details-container[b-8al7pyiz4c] {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.5) 0%, rgba(248, 249, 250, 0.3) 100%);
}

.org-details-section[b-8al7pyiz4c] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.org-details-header[b-8al7pyiz4c] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.org-details-header i[b-8al7pyiz4c] {
    color: var(--migratrix-primary);
    font-size: 1.5rem;
}

/* ================================
   WORKSPACE CARDS
   ================================ */

.org-workspace-card[b-8al7pyiz4c] {
    background: var(--migratrix-glass-gradient);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius);
    padding: 1.25rem;
    transition: all 0.3s ease;
}

.org-workspace-card:hover[b-8al7pyiz4c] {
    box-shadow: var(--migratrix-shadow);
    border-color: rgba(243, 124, 25, 0.3);
}

.org-workspace-expand-btn[b-8al7pyiz4c] {
    padding: 0.25rem;
    flex-shrink: 0;
}

.org-workspace-info[b-8al7pyiz4c] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1;
}

.org-workspace-agent-summary[b-8al7pyiz4c] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(243, 124, 25, 0.05);
    border-radius: var(--migratrix-radius-sm);
    border: 1px solid rgba(243, 124, 25, 0.1);
}

.org-workspace-agent-summary i[b-8al7pyiz4c] {
    color: var(--migratrix-primary);
    font-size: 1.2rem;
}

.org-empty-agents[b-8al7pyiz4c] {
    text-align: center;
    padding: 2rem;
    color: var(--migratrix-text-muted);
}

.org-empty-agents i[b-8al7pyiz4c] {
    font-size: 2.5rem;
    opacity: 0.5;
    margin-bottom: 0.5rem;
}

.org-empty-agents p[b-8al7pyiz4c] {
    margin: 0;
    font-size: 0.9rem;
}

/* ================================
   AGENTS TABLE
   ================================ */

.org-agent-row[b-8al7pyiz4c] {
    border-top: 1px solid var(--migratrix-border);
    transition: background 0.2s;
}

.icon-primary[b-8al7pyiz4c] {
    color: var(--migratrix-primary);
}

.item-icon[b-8al7pyiz4c] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 1727px) {
    .management-dashboard[b-8al7pyiz4c] {
        padding: 1.25rem;
        max-width: 100%;
    }

    .chart-card[b-8al7pyiz4c] {
        padding: 1.25rem;
    }

    .card-title h3[b-8al7pyiz4c] {
        font-size: 1.05rem;
    }

    .card-title p[b-8al7pyiz4c] {
        font-size: 0.75rem;
    }

    .card-title i[b-8al7pyiz4c] {
        font-size: 1.2rem;
    }

    .data-table[b-8al7pyiz4c] {
        font-size: 0.8rem;
    }

    .data-table th[b-8al7pyiz4c],
    .data-table td[b-8al7pyiz4c] {
        padding: 0.6rem 0.8rem;
    }
}

/* 1440px and below */
@media (max-width: 1536px) {
    .management-dashboard[b-8al7pyiz4c] {
        padding: 1.1rem;
    }

    .chart-card[b-8al7pyiz4c] {
        padding: 1.1rem;
    }

    .card-title h3[b-8al7pyiz4c] {
        font-size: 1rem;
    }

    .card-title p[b-8al7pyiz4c] {
        font-size: 0.7rem;
    }

    .card-title i[b-8al7pyiz4c] {
        font-size: 1.15rem;
    }

    .data-table[b-8al7pyiz4c] {
        font-size: 0.8rem;
    }

    .data-table th[b-8al7pyiz4c],
    .data-table td[b-8al7pyiz4c] {
        padding: 0.6rem 0.8rem;
    }
}

@media (max-width: 1280px) {
    .management-dashboard[b-8al7pyiz4c] {
        padding: 1rem;
    }

    .chart-card[b-8al7pyiz4c] {
        padding: 1rem;
    }

    .card-title h3[b-8al7pyiz4c] {
        font-size: 1rem;
    }

    .card-title p[b-8al7pyiz4c] {
        font-size: 0.7rem;
    }

    .card-title i[b-8al7pyiz4c] {
        font-size: 1.1rem;
    }

    .management-toolbar[b-8al7pyiz4c] {
        gap: 0.6rem;
    }
}

@media (max-width: 1024px) {
    .management-dashboard[b-8al7pyiz4c] {
        padding: 0.9rem;
    }

    .dashboard-header[b-8al7pyiz4c] {
        margin-bottom: 1.25rem;
    }

    /* Stack the title above the action rather than letting the button crowd the tagline. The
       shared header does this too, but only at 768px — the KPI grid here narrows sooner. */
    .header-top[b-8al7pyiz4c] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.9rem;
    }

    .chart-card[b-8al7pyiz4c] {
        padding: 0.9rem;
    }

    .card-title h3[b-8al7pyiz4c] {
        font-size: 0.95rem;
    }

    .card-title p[b-8al7pyiz4c] {
        font-size: 0.65rem;
    }

    .card-title i[b-8al7pyiz4c] {
        font-size: 1.05rem;
    }

    .data-table[b-8al7pyiz4c] {
        font-size: 0.75rem;
    }

    .data-table th[b-8al7pyiz4c],
    .data-table td[b-8al7pyiz4c] {
        padding: 0.55rem 0.7rem;
    }

    .management-toolbar[b-8al7pyiz4c] {
        flex-wrap: wrap;
        gap: 0.55rem;
    }

    .management-search-input[b-8al7pyiz4c] {
        min-width: 180px;
    }
}

/* 768px and below */
@media (max-width: 768px) {
    .management-dashboard[b-8al7pyiz4c] {
        padding: 0.75rem;
    }

    .chart-card[b-8al7pyiz4c] {
        padding: 0.8rem;
    }

    .card-header[b-8al7pyiz4c] {
        margin-bottom: 0.9rem;
        padding-bottom: 0.65rem;
    }

    .card-title h3[b-8al7pyiz4c] {
        font-size: 0.95rem;
    }

    .card-title p[b-8al7pyiz4c] {
        font-size: 0.65rem;
    }

    .card-title i[b-8al7pyiz4c] {
        font-size: 1.1rem;
    }

    .data-table[b-8al7pyiz4c] {
        font-size: 0.7rem;
    }

    .data-table th[b-8al7pyiz4c],
    .data-table td[b-8al7pyiz4c] {
        padding: 0.45rem 0.6rem;
    }

    .management-toolbar[b-8al7pyiz4c] {
        flex-direction: column;
        gap: 0.5rem;
    }

    .management-search-input[b-8al7pyiz4c] {
        width: 100%;
        min-width: unset;
    }

    .management-pagination[b-8al7pyiz4c] {
        flex-direction: column;
        gap: 0.65rem;
        padding: 0.65rem;
    }

    .pagination-buttons[b-8al7pyiz4c] {
        width: 100%;
        justify-content: space-between;
    }

    .org-details-container[b-8al7pyiz4c] {
        padding: 0.9rem;
        gap: 0.9rem;
    }

    .org-workspace-card[b-8al7pyiz4c] {
        padding: 0.75rem;
    }

    .org-workspace-header[b-8al7pyiz4c] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.7rem;
    }
}

/* 640px and below */
@media (max-width: 640px) {
    .management-dashboard[b-8al7pyiz4c] {
        padding: 0.65rem;
    }

    .chart-card[b-8al7pyiz4c] {
        padding: 0.75rem;
    }

    .card-title h3[b-8al7pyiz4c] {
        font-size: 0.9rem;
    }

    .card-title p[b-8al7pyiz4c] {
        font-size: 0.6rem;
    }

    .card-title i[b-8al7pyiz4c] {
        font-size: 1rem;
    }

    .data-table[b-8al7pyiz4c] {
        font-size: 0.65rem;
    }

    .data-table th[b-8al7pyiz4c],
    .data-table td[b-8al7pyiz4c] {
        padding: 0.4rem 0.45rem;
    }

    .org-details-container[b-8al7pyiz4c] {
        padding: 0.8rem;
        gap: 0.8rem;
    }

    .org-workspace-card[b-8al7pyiz4c] {
        padding: 0.7rem;
    }
}

@media (max-width: 480px) {
    .management-dashboard[b-8al7pyiz4c] {
        padding: 0.5rem;
    }

    .chart-card[b-8al7pyiz4c] {
        padding: 0.7rem;
    }

    .card-header[b-8al7pyiz4c] {
        margin-bottom: 0.8rem;
        padding-bottom: 0.6rem;
    }

    .card-title h3[b-8al7pyiz4c] {
        font-size: 0.9rem;
    }

    .card-title p[b-8al7pyiz4c] {
        font-size: 0.6rem;
    }

    .card-title i[b-8al7pyiz4c] {
        font-size: 1rem;
    }

    .data-table[b-8al7pyiz4c] {
        font-size: 0.65rem;
    }

    .data-table th[b-8al7pyiz4c],
    .data-table td[b-8al7pyiz4c] {
        padding: 0.4rem 0.45rem;
    }

    .org-details-container[b-8al7pyiz4c] {
        padding: 0.7rem;
        gap: 0.7rem;
    }

    .org-workspace-card[b-8al7pyiz4c] {
        padding: 0.65rem;
    }
}
/* /Pages/Management/OrganizationDetail.razor.rz.scp.css */
.org-detail-dashboard[b-jhg205wlye] {
    padding: 2rem;
    margin: 0 auto;
}

/* The page header is the shared one: .config-card plus .header-top / .header-title-icon /
   .header-title-text / .header-tagline, all defined in app.css, same as the organizations list
   it drills down from. Sizing deliberately stays there so the two cannot drift apart; all that
   is left here is the gap down to the sections. */
.dashboard-header[b-jhg205wlye] {
    margin-bottom: 2rem;
}

.org-detail-loading[b-jhg205wlye],
.org-detail-empty[b-jhg205wlye] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 4rem 2rem;
    color: var(--migratrix-text-secondary);
}

.org-detail-loading .loading-progress[b-jhg205wlye] {
    width: 40px;
    height: 40px;
}

.org-detail-empty .material-icons[b-jhg205wlye],
.org-detail-empty-section .material-icons[b-jhg205wlye] {
    font-size: 3rem;
    color: var(--migratrix-text-muted);
    opacity: 0.6;
}

/* An organization with a logo of its own wears it in place of the shared header icon. */
.org-detail-logo[b-jhg205wlye] {
    width: 100%;
    height: 100%;
    border-radius: 3px;
    object-fit: cover;
}

/* Plan, status and owner ride as a second row under the title, the one thing this header
   carries that the list page's does not. */
.org-detail-meta[b-jhg205wlye] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 0.85rem;
    font-size: 0.82rem;
    color: var(--migratrix-text-secondary);
}

.org-detail-sections[b-jhg205wlye] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.org-detail-section.chart-card[b-jhg205wlye] {
    background: var(--migratrix-glass-gradient);
    backdrop-filter: blur(15px);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 1rem;
    box-shadow: var(--migratrix-shadow);
}

.org-details-header[b-jhg205wlye] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.org-details-header .material-icons[b-jhg205wlye] {
    color: var(--migratrix-primary);
    font-size: 1.5rem;
}

.org-workspace-card[b-jhg205wlye] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 1.25rem;
}

.org-workspace-info[b-jhg205wlye] {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.org-workspace-agent-summary[b-jhg205wlye] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(243, 124, 25, 0.05);
    border-radius: var(--migratrix-radius-sm);
}

.org-workspace-agent-summary .material-icons[b-jhg205wlye] {
    color: var(--migratrix-primary);
    font-size: 1.2rem;
}

.org-detail-empty-section[b-jhg205wlye] {
    text-align: center;
    padding: 2rem;
    color: var(--migratrix-text-muted);
}

.org-detail-empty-section .material-icons[b-jhg205wlye] {
    display: block;
    margin-bottom: 0.5rem;
}

.org-detail-empty-section p[b-jhg205wlye] {
    margin: 0;
    font-size: 0.9rem;
}

.org-agent-row[b-jhg205wlye] {
    border-top: 1px solid var(--migratrix-border);
}

.item-icon[b-jhg205wlye] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.badge[b-jhg205wlye] {
    padding: 0.35rem 0.75rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    display: inline-block;
}

.badge-primary[b-jhg205wlye] {
    background: rgba(243, 124, 25, 0.15);
    color: var(--migratrix-primary);
}

.badge-success[b-jhg205wlye] {
    background: rgba(46, 204, 113, 0.15);
    color: #2ecc71;
}

.badge-warning[b-jhg205wlye] {
    background: rgba(243, 156, 18, 0.15);
    color: var(--migratrix-warning);
}

.badge-secondary[b-jhg205wlye] {
    background: rgba(108, 117, 125, 0.15);
    color: var(--migratrix-text-secondary);
}

.org-count[b-jhg205wlye] {
    font-weight: 700;
    color: var(--migratrix-text-primary);
}

.data-table th[b-jhg205wlye] {
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    border-bottom: 2px solid var(--migratrix-border);
}

.org-table-row:hover[b-jhg205wlye] {
    background: rgba(243, 124, 25, 0.03);
}

/* Org security / MFA policy */
.org-security-row[b-jhg205wlye] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0;
}

.org-security-row p[b-jhg205wlye] {
    margin: 4px 0 0 0;
    color: #6c757d;
    font-size: 0.85rem;
}

.org-toggle[b-jhg205wlye] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    font-weight: 500;
    cursor: pointer;
}

.org-toggle input[b-jhg205wlye] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}


/* ---------------------------------------------------------------------------
   Licence section. Tokens only, so both themes follow the rest of the page.
   --------------------------------------------------------------------------- */

.lic-header-btn[b-jhg205wlye] { margin-inline-start: auto; }

.lic-message[b-jhg205wlye] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 0.85rem;
    border-radius: var(--migratrix-radius-sm);
    border: 1px solid var(--migratrix-border);
    background: var(--migratrix-bg-secondary);
    font-size: 0.8125rem;
    margin-bottom: 0.85rem;
}

.lic-message .material-icons[b-jhg205wlye] { font-size: 1.05rem; flex-shrink: 0; }
.lic-message.is-ok[b-jhg205wlye] { border-left: 3px solid var(--migratrix-success); }
.lic-message.is-ok .material-icons[b-jhg205wlye] { color: var(--migratrix-success); }
.lic-message.is-error[b-jhg205wlye] { border-left: 3px solid #b42318; }
.lic-message.is-error .material-icons[b-jhg205wlye] { color: #b42318; }

.lic-summary[b-jhg205wlye] { display: flex; flex-direction: column; gap: 0.85rem; }

.lic-primary[b-jhg205wlye] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.lic-product[b-jhg205wlye] {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
    text-transform: capitalize;
}

.lic-kind[b-jhg205wlye] {
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lic-state[b-jhg205wlye] {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.15rem 0.5rem;
    border-radius: 3px;
    border: 1px solid transparent;
}

.lic-state.lic-active[b-jhg205wlye]  { background: rgba(46, 204, 113, 0.12); color: #16a34a; border-color: rgba(46, 204, 113, 0.3); }
.lic-state.lic-grace[b-jhg205wlye]   { background: rgba(243, 156, 18, 0.12); color: #b45309; border-color: rgba(243, 156, 18, 0.3); }
.lic-state.lic-future[b-jhg205wlye]  { background: rgba(70, 120, 200, 0.12);  color: #35619e; border-color: rgba(70, 120, 200, 0.3); }
.lic-state.lic-expired[b-jhg205wlye] { background: rgba(185, 28, 28, 0.08);  color: #b42318; border-color: rgba(180, 35, 24, 0.25); }

[data-theme="dark"] .lic-state.lic-active[b-jhg205wlye]  { color: #4ade80; }
[data-theme="dark"] .lic-state.lic-grace[b-jhg205wlye]   { color: #fbbf24; }
[data-theme="dark"] .lic-state.lic-future[b-jhg205wlye]  { color: #7aa7e8; }
[data-theme="dark"] .lic-state.lic-expired[b-jhg205wlye] { color: #f97066; }

.lic-facts[b-jhg205wlye] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: 0.75rem 1rem;
}

.lic-facts > div[b-jhg205wlye] { display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; }

.lic-facts span[b-jhg205wlye] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--migratrix-text-secondary);
}

.lic-facts strong[b-jhg205wlye] {
    font-size: 0.85rem;
    color: var(--migratrix-text-primary);
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lic-countdown[b-jhg205wlye] { font-size: 0.8125rem; color: var(--migratrix-text-secondary); margin: 0; }
.lic-countdown.urgent[b-jhg205wlye] { color: #b45309; font-weight: 600; }
[data-theme="dark"] .lic-countdown.urgent[b-jhg205wlye] { color: #fbbf24; }

.lic-history[b-jhg205wlye] { margin-top: 1rem; font-size: 0.8125rem; }

.lic-history summary[b-jhg205wlye] {
    cursor: pointer;
    color: var(--migratrix-text-secondary);
    padding: 0.35rem 0;
}

.lic-history-row[b-jhg205wlye] {
    display: grid;
    grid-template-columns: 1fr 1fr 0.5fr 1.2fr 1.2fr;
    gap: 0.75rem;
    padding: 0.45rem 0;
    border-top: 1px solid var(--migratrix-border);
    color: var(--migratrix-text-secondary);
}

.lic-history-product[b-jhg205wlye] { color: var(--migratrix-text-primary); text-transform: capitalize; }
.lic-history-status[b-jhg205wlye] { text-transform: uppercase; font-size: 0.68rem; letter-spacing: 0.04em; }

.lic-form[b-jhg205wlye] {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--migratrix-border);
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.lic-form h5[b-jhg205wlye] { margin: 0; font-size: 0.95rem; color: var(--migratrix-text-primary); }

.lic-form-note[b-jhg205wlye] {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.55;
    color: var(--migratrix-text-secondary);
    max-width: 70ch;
}

.lic-form-grid[b-jhg205wlye] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 0.85rem;
}

.lic-form-grid label[b-jhg205wlye] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--migratrix-text-secondary);
}

.lic-form-wide[b-jhg205wlye] { grid-column: 1 / -1; }

.lic-inline-note[b-jhg205wlye] {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
    font-size: 0.72rem;
}

.lic-form-actions[b-jhg205wlye] {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
}

@media (max-width: 700px) {
    .lic-history-row[b-jhg205wlye] { grid-template-columns: 1fr 1fr; }
}
/* /Pages/Notifications/notificationBell.razor.rz.scp.css */
.notification-bell-container[b-05ii7a2bm6] {
    position: relative;
    display: inline-block;
}

.notification-bell[b-05ii7a2bm6] {
    position: relative;
    border: none;
    background: transparent;
    padding: 0.5rem;
    cursor: pointer;
    color: var(--migratrix-text);
    transition: color 0.2s ease;
}

.notification-bell:hover[b-05ii7a2bm6] {
    color: var(--migratrix-primary);
}

.notification-badge[b-05ii7a2bm6] {
    position: absolute;
    top: 0;
    right: 0;
    background: var(--migratrix-error, #dc3545);
    color: white;
    border-radius: 10px;
    padding: 2px 6px;
    font-size: 0.7rem;
    font-weight: bold;
    min-width: 18px;
    text-align: center;
    line-height: 1.2;
}

.notification-panel-wrapper[b-05ii7a2bm6] {
    position: relative;
    z-index: 9999;
}

.notification-click-outside[b-05ii7a2bm6] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    background: transparent;
    cursor: default;
}

/* /Pages/Notifications/notificationPanel.razor.rz.scp.css */
.notification-panel[b-bsv7753ulp] {
    position: fixed;
    top: 60px;
    right: 20px;
    width: 360px;
    max-width: calc(100vw - 40px);
    max-height: calc(100vh - 80px);
    /* Same reasoning as the grid's filter and find panels: --migratrix-bg-card is translucent because
       it is meant for surfaces sitting on the page background. This one is position:fixed over the
       page content, and at 75% that content reads through it. Compositing the themed colour over an
       opaque base keeps light/dark working without naming a colour here. */
    background-color: var(--migratrix-bg-bright);
    background-image: linear-gradient(var(--migratrix-bg-card), var(--migratrix-bg-card));
    border-radius: var(--migratrix-radius-md, 7px);
    box-shadow: var(--migratrix-shadow);
    z-index: 1001;
    display: flex;
    flex-direction: column;
    animation: slideDown-b-bsv7753ulp 0.3s ease;
}

@keyframes slideDown-b-bsv7753ulp {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.notification-panel-header[b-bsv7753ulp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.8rem 0.9rem;
    border-bottom: 1px solid var(--migratrix-border, #e0e0e0);
}

.notification-panel-header h3[b-bsv7753ulp] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.notification-panel-header .migratrix-btn-link[b-bsv7753ulp] {
    padding: 0.22rem 0.45rem;
    font-size: 0.8rem;
    color: var(--migratrix-primary);
    text-decoration: none;
    border: none;
    background: transparent;
    cursor: pointer;
}

.notification-panel-header .migratrix-btn-link:hover[b-bsv7753ulp] {
    text-decoration: underline;
}

.notification-panel-body[b-bsv7753ulp] {
    flex: 1;
    overflow-y: auto;
    padding: 0.4rem 0;
}

.notification-loading[b-bsv7753ulp],
.notification-empty[b-bsv7753ulp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 0.9rem;
    color: var(--migratrix-text-secondary);
    text-align: center;
}

.notification-loading[b-bsv7753ulp] {
    gap: 0.9rem;
}

.notification-empty i[b-bsv7753ulp] {
    font-size: 2.5rem;
    opacity: 0.3;
    margin-bottom: 0.9rem;
}

.notification-item[b-bsv7753ulp] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.65rem 0.85rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
    border-left: 2.5px solid transparent;
}

.notification-item:hover[b-bsv7753ulp] {
    background-color: var(--migratrix-bg-hover);
}

.notification-item.unread[b-bsv7753ulp] {
    background-color: rgba(13, 110, 253, 0.14);
    border-left-color: var(--migratrix-primary);
}

.notification-icon[b-bsv7753ulp] {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    color: white;
    font-size: 0.9rem;
}
.notification-icon i[b-bsv7753ulp] {
    font-size: 14px;
}

.notification-content[b-bsv7753ulp] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.notification-title[b-bsv7753ulp] {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.22rem;
}

.notification-message[b-bsv7753ulp] {
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
    line-height: 1.38;
    margin-bottom: 0.22rem;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
    white-space: normal;
    max-width: 100%;
}

.notification-time[b-bsv7753ulp] {
    font-size: 0.7rem;
    color: var(--migratrix-text-muted);
}

.notification-mark-read[b-bsv7753ulp] {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--migratrix-primary);
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

.notification-mark-read:hover[b-bsv7753ulp] {
    opacity: 1;
}

.notification-mark-read i[b-bsv7753ulp] {
    font-size: 0.7rem;
}

.notification-load-more[b-bsv7753ulp] {
    width: 100%;
    padding: 0.65rem;
    border: none;
    background: transparent;
    color: var(--migratrix-primary);
    cursor: pointer;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    transition: background-color 0.2s ease;
}

.notification-load-more:hover:not(:disabled)[b-bsv7753ulp] {
    background-color: var(--migratrix-bg-hover, #f5f5f5);
}

.notification-load-more:disabled[b-bsv7753ulp] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Responsive breakpoints */
@media (max-width: 1727px) {
    .notification-panel[b-bsv7753ulp] {
        width: 340px;
        right: 15px;
    }

    .notification-panel-header[b-bsv7753ulp] {
        padding: 0.75rem 0.8rem;
    }

    .notification-panel-header h3[b-bsv7753ulp] {
        font-size: 0.9rem;
    }

    .notification-panel-header .migratrix-btn-link[b-bsv7753ulp] {
        font-size: 0.75rem;
        padding: 0.2rem 0.4rem;
    }

    .notification-item[b-bsv7753ulp] {
        padding: 0.6rem 0.75rem;
        gap: 0.6rem;
    }

    .notification-icon[b-bsv7753ulp] {
        width: 22px;
        height: 22px;
    }

    .notification-icon i[b-bsv7753ulp] {
        font-size: 12px;
    }

    .notification-title[b-bsv7753ulp] {
        font-size: 0.82rem;
    }

    .notification-message[b-bsv7753ulp] {
        font-size: 0.75rem;
    }

    .notification-time[b-bsv7753ulp] {
        font-size: 0.68rem;
    }

    .notification-mark-read[b-bsv7753ulp] {
        width: 18px;
        height: 18px;
    }

    .notification-mark-read i[b-bsv7753ulp] {
        font-size: 0.65rem;
    }
}

@media (max-width: 1280px) {
    .notification-panel[b-bsv7753ulp] {
        width: 320px;
        right: 12px;
        top: 55px;
    }

    .notification-panel-header[b-bsv7753ulp] {
        padding: 0.7rem 0.75rem;
    }

    .notification-panel-header h3[b-bsv7753ulp] {
        font-size: 0.88rem;
    }

    .notification-panel-header .migratrix-btn-link[b-bsv7753ulp] {
        font-size: 0.73rem;
        padding: 0.18rem 0.38rem;
    }

    .notification-panel-body[b-bsv7753ulp] {
        padding: 0.35rem 0;
    }

    .notification-item[b-bsv7753ulp] {
        padding: 0.58rem 0.7rem;
        gap: 0.55rem;
    }

    .notification-icon[b-bsv7753ulp] {
        width: 20px;
        height: 20px;
    }

    .notification-icon i[b-bsv7753ulp] {
        font-size: 11px;
    }

    .notification-title[b-bsv7753ulp] {
        font-size: 0.8rem;
    }

    .notification-message[b-bsv7753ulp] {
        font-size: 0.73rem;
        line-height: 1.35;
    }

    .notification-time[b-bsv7753ulp] {
        font-size: 0.65rem;
    }

    .notification-mark-read[b-bsv7753ulp] {
        width: 17px;
        height: 17px;
    }

    .notification-mark-read i[b-bsv7753ulp] {
        font-size: 0.63rem;
    }

    .notification-load-more[b-bsv7753ulp] {
        padding: 0.6rem;
        font-size: 0.75rem;
    }

    .notification-empty i[b-bsv7753ulp] {
        font-size: 2.25rem;
    }

    .notification-loading[b-bsv7753ulp],
    .notification-empty[b-bsv7753ulp] {
        padding: 2rem 0.8rem;
    }
}

@media (max-width: 1024px) {
    .notification-panel[b-bsv7753ulp] {
        width: 300px;
        right: 10px;
        top: 50px;
        max-height: calc(100vh - 70px);
    }

    .notification-panel-header[b-bsv7753ulp] {
        padding: 0.65rem 0.7rem;
    }

    .notification-panel-header h3[b-bsv7753ulp] {
        font-size: 0.85rem;
    }

    .notification-panel-header .migratrix-btn-link[b-bsv7753ulp] {
        font-size: 0.7rem;
        padding: 0.15rem 0.35rem;
    }

    .notification-panel-body[b-bsv7753ulp] {
        padding: 0.3rem 0;
    }

    .notification-item[b-bsv7753ulp] {
        padding: 0.55rem 0.65rem;
        gap: 0.5rem;
    }

    .notification-icon[b-bsv7753ulp] {
        width: 18px;
        height: 18px;
    }

    .notification-icon i[b-bsv7753ulp] {
        font-size: 9px;
    }

    .notification-title[b-bsv7753ulp] {
        font-size: 0.78rem;
        margin-bottom: 0.2rem;
    }

    .notification-message[b-bsv7753ulp] {
        font-size: 0.7rem;
        line-height: 1.3;
        margin-bottom: 0.2rem;
    }

    .notification-time[b-bsv7753ulp] {
        font-size: 0.63rem;
    }

    .notification-mark-read[b-bsv7753ulp] {
        width: 16px;
        height: 16px;
    }

    .notification-mark-read i[b-bsv7753ulp] {
        font-size: 0.6rem;
    }

    .notification-load-more[b-bsv7753ulp] {
        padding: 0.55rem;
        font-size: 0.73rem;
    }

    .notification-empty i[b-bsv7753ulp] {
        font-size: 2rem;
    }

    .notification-loading[b-bsv7753ulp],
    .notification-empty[b-bsv7753ulp] {
        padding: 1.75rem 0.7rem;
    }
}

@media (max-width: 768px) {
    .notification-panel[b-bsv7753ulp] {
        right: 10px;
        left: 10px;
        width: auto;
        max-width: none;
    }
}

/* /Pages/Onboarding/onboarding.razor.rz.scp.css */
.onboarding-container[b-8fsrzc2rkt] {
    background: var(--migratrix-bg-main);
    padding: 0.5rem;
    position: relative;
    align-items: center;
    justify-content: center;
}

.onboarding-header[b-8fsrzc2rkt] {
    max-width: 1000px;
    margin: 4rem auto 4rem;
}

.logo-section[b-8fsrzc2rkt] {
    text-align: center;
    margin-bottom: 1rem;
}

.migratrix-logo[b-8fsrzc2rkt] {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--migratrix-primary);
    font-size: 1.5rem;
    font-weight: 700;
}

.migratrix-logo i[b-8fsrzc2rkt] {
    font-size: 2rem;
}

.progress-section[b-8fsrzc2rkt] {
    background: var(--migratrix-glass-gradient);
    backdrop-filter: blur(10px) saturate(180%);
    border-radius: var(--migratrix-radius);
    padding: 1rem;
    box-shadow: var(--migratrix-shadow-sm);
    border: 1px solid var(--migratrix-border);
}

.progress-steps[b-8fsrzc2rkt] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    position: relative;
}

.step-circle[b-8fsrzc2rkt] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--migratrix-bg-secondary);
    border: 2px solid var(--migratrix-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--migratrix-text-secondary);
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s ease;
    z-index: 2;
    position: relative;
}

.progress-step.active .step-circle[b-8fsrzc2rkt] {
    background: var(--migratrix-primary);
    color: white;
    border-color: var(--migratrix-primary);
    box-shadow: 0 4px 12px rgba(243, 124, 25, 0.3);
    transform: scale(1.1);
}

.progress-step.completed .step-circle[b-8fsrzc2rkt] {
    background: var(--migratrix-success);
    border-color: var(--migratrix-success);
    color: white;
}

.step-circle i[b-8fsrzc2rkt] {
    font-size: 1.25rem;
}

.step-label[b-8fsrzc2rkt] {
    color: var(--migratrix-text-secondary);
    font-weight: 500;
    text-align: center;
    margin-top: 0.5rem;
}

.progress-step.active .step-label[b-8fsrzc2rkt] {
    color: var(--migratrix-primary);
    font-weight: 600;
}

.progress-step[b-8fsrzc2rkt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    position: relative;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0.25rem;
    border-radius: var(--migratrix-radius-sm);
}

.progress-step:hover[b-8fsrzc2rkt] {
    background: var(--migratrix-bg-hover);
}

.progress-step.disabled[b-8fsrzc2rkt] {
    opacity: 0.5;
    cursor: not-allowed;
}

.progress-step.disabled:hover[b-8fsrzc2rkt] {
    background: transparent;
}

.summary-title[b-8fsrzc2rkt]{
    align-self: center;
}
.onboarding-content[b-8fsrzc2rkt] {
    max-width: 1000px;
    margin: 0 auto;
    background: var(--migratrix-glass-gradient);
    border-radius: var(--migratrix-radius);
    padding: 1.5rem;
    box-shadow: var(--migratrix-shadow);
    border: 1px solid var(--migratrix-border);
    position: relative;
    animation: slideUp-b-8fsrzc2rkt 0.4s ease-out;
}

@supports (backdrop-filter: blur(10px)) {
    .onboarding-content[b-8fsrzc2rkt] {
        backdrop-filter: blur(10px) saturate(150%);
        -webkit-backdrop-filter: blur(10px) saturate(150%);
    }
}

.onboarding-content[b-8fsrzc2rkt]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(243, 124, 25, 0.3) 50%, transparent 100%);
}

@keyframes slideUp-b-8fsrzc2rkt {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.onboarding-step[b-8fsrzc2rkt] {
    animation: fadeIn-b-8fsrzc2rkt 0.3s ease-out;
}

@keyframes fadeIn-b-8fsrzc2rkt {
    from { opacity: 0; }
    to { opacity: 1; }
}

.step-header[b-8fsrzc2rkt] {
    text-align: center;
    margin-bottom: 1.5rem;
}

.step-icon[b-8fsrzc2rkt] {
    width: 60px;
    height: 60px;
    margin: 0 auto 1rem;
    background: linear-gradient(135deg, rgba(243, 124, 25, 0.15) 0%, rgba(243, 124, 25, 0.05) 100%);
    border-radius: var(--migratrix-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--migratrix-shadow-sm);
    border: 1px solid rgba(243, 124, 25, 0.2);
}

.step-icon.success[b-8fsrzc2rkt] {
    background: linear-gradient(135deg, rgba(46, 204, 113, 0.15) 0%, rgba(46, 204, 113, 0.05) 100%);
    border-color: rgba(46, 204, 113, 0.2);
}

.step-icon i[b-8fsrzc2rkt] {
    font-size: 2rem;
    color: var(--migratrix-primary);
}

.step-icon.success i[b-8fsrzc2rkt] {
    color: var(--migratrix-success);
}

.step-header h2[b-8fsrzc2rkt] {
    font-size: 1.5rem;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.step-description[b-8fsrzc2rkt] {
    font-size: 1rem;
    color: var(--migratrix-text-secondary);
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
}

.welcome-step[b-8fsrzc2rkt] {
    text-align: center;
}

.welcome-step h1[b-8fsrzc2rkt] {
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}


.subtitle[b-8fsrzc2rkt] {
    color: var(--migratrix-text-secondary);
    margin-bottom: 2rem;
}

.welcome-cards[b-8fsrzc2rkt] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}

.welcome-card[b-8fsrzc2rkt] {
    padding: 1.5rem 1rem;
    background: var(--migratrix-bg-card);
    border-radius: var(--migratrix-radius);
    border: 1px solid var(--migratrix-border);
    transition: all 0.3s ease;
}

@supports (backdrop-filter: blur(10px)) {
    .welcome-card[b-8fsrzc2rkt] {
        backdrop-filter: blur(10px) saturate(150%);
        -webkit-backdrop-filter: blur(10px) saturate(150%);
    }
}

.welcome-card:hover[b-8fsrzc2rkt] {
    transform: translateY(-4px);
    box-shadow: var(--migratrix-shadow);
    border-color: rgba(243, 124, 25, 0.3);
}

.welcome-card i[b-8fsrzc2rkt] {
    font-size: 2rem;
    color: var(--migratrix-primary);
    margin-bottom: 0.75rem;
}

.welcome-card h3[b-8fsrzc2rkt] {
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.welcome-card p[b-8fsrzc2rkt] {
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
    line-height: 1.5;
}
.step-add-button[b-8fsrzc2rkt]{
    margin: 2rem;
}

.form-section[b-8fsrzc2rkt] {
    margin-bottom: 1.5rem;
}

.form-group[b-8fsrzc2rkt] {
    margin-bottom: 1.25rem;
}

.form-group label[b-8fsrzc2rkt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
}

.form-row[b-8fsrzc2rkt] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.environment-type-grid[b-8fsrzc2rkt] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 1rem;
}

.type-card[b-8fsrzc2rkt] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius);
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}

@supports (backdrop-filter: blur(10px)) {
    .type-card[b-8fsrzc2rkt] {
        backdrop-filter: blur(10px) saturate(150%);
        -webkit-backdrop-filter: blur(10px) saturate(150%);
    }
}

.connection-grid[b-8fsrzc2rkt]{
    display: flex;
    gap: 0.5rem;
}
.type-card i[b-8fsrzc2rkt] {
    font-size: 1.75rem;
    color: var(--migratrix-primary);
    margin-bottom: 0.75rem;
}

.type-card h4[b-8fsrzc2rkt] {
    font-size: 0.9rem;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.25rem;
    font-weight: 600;
}

.type-card p[b-8fsrzc2rkt] {
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

.summary-section[b-8fsrzc2rkt] {
    margin-bottom: 2rem;
}

.summary-card[b-8fsrzc2rkt] {
    display: flex;
    gap: 1.25rem;
    padding: 1.25rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius);
    margin-bottom: 1rem;
}

@supports (backdrop-filter: blur(10px)) {
    .summary-card[b-8fsrzc2rkt] {
        backdrop-filter: blur(10px) saturate(150%);
        -webkit-backdrop-filter: blur(10px) saturate(150%);
    }
}

.summary-icon[b-8fsrzc2rkt] {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    background: linear-gradient(135deg, rgba(243, 124, 25, 0.15) 0%, rgba(243, 124, 25, 0.05) 100%);
    color: var(--migratrix-primary);
    border-radius: var(--migratrix-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(243, 124, 25, 0.2);
}

.summary-icon i[b-8fsrzc2rkt] {
    font-size: 1.5rem;
}

.summary-content[b-8fsrzc2rkt] {
    flex: 1;
}

.summary-content h4[b-8fsrzc2rkt] {
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.summary-content p[b-8fsrzc2rkt] {
    font-size: 1rem;
    color: var(--migratrix-text-primary);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.badge[b-8fsrzc2rkt] {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    background: var(--migratrix-primary);
    color: white;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: capitalize;
}

.status-badge[b-8fsrzc2rkt] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.8rem;
    font-weight: 600;
}

.status-badge.success[b-8fsrzc2rkt] {
    background: linear-gradient(135deg, rgba(46, 204, 113, 0.15) 0%, rgba(46, 204, 113, 0.05) 100%);
    color: var(--migratrix-success);
    border: 1px solid rgba(46, 204, 113, 0.2);
}

.status-badge i[b-8fsrzc2rkt] {
    font-size: 0.875rem;
}

.skip-onboarding[b-8fsrzc2rkt] {
    color: var(--migratrix-text-muted);
    border-color: var(--migratrix-border);
}

.onboarding-container[b-8fsrzc2rkt]  .step-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1.5rem;
    flex-wrap: wrap;
}

@media (max-width: 1727px) {
    .onboarding-container[b-8fsrzc2rkt] {
        padding: 0.4rem;
    }

    .onboarding-header[b-8fsrzc2rkt],
    .onboarding-content[b-8fsrzc2rkt] {
        max-width: 880px;
    }

    .onboarding-header[b-8fsrzc2rkt] {
        margin: 2rem auto 1.5rem;
    }

    .onboarding-content[b-8fsrzc2rkt] {
        padding: 1.25rem;
    }

    .progress-section[b-8fsrzc2rkt] {
        padding: 0.875rem;
    }

    .step-circle[b-8fsrzc2rkt] {
        width: 30px;
        height: 30px;
    }

    .step-circle i[b-8fsrzc2rkt] {
        font-size: 1.05rem;
    }
    
    .step-header[b-8fsrzc2rkt] {
        margin-bottom: 1.25rem;
    }

    .step-icon[b-8fsrzc2rkt] {
        width: 42px;
        height: 42px;
        margin-bottom: 0.75rem;
    }

    .step-icon i[b-8fsrzc2rkt] {
        font-size: 1.75rem;
    }

    .step-header h2[b-8fsrzc2rkt] {
        font-size: 1.35rem;
    }

    .step-description[b-8fsrzc2rkt] {
        font-size: 0.95rem;
        max-width: 540px;
    }

    .subtitle[b-8fsrzc2rkt] {
        margin-bottom: 1.5rem;
    }

    .welcome-cards[b-8fsrzc2rkt] {
        gap: 0.75rem;
        margin-bottom: 1.5rem;
    }

    .welcome-card[b-8fsrzc2rkt] {
        padding: 1.125rem 0.875rem;
    }

    .welcome-card i[b-8fsrzc2rkt] {
        font-size: 1.75rem;
    }

    .step-add-button[b-8fsrzc2rkt] {
        margin: 1.25rem;
    }

    .summary-section[b-8fsrzc2rkt] {
        margin-bottom: 1.5rem;
    }

    .summary-card[b-8fsrzc2rkt] {
        gap: 1rem;
        padding: 1rem;
    }

    .summary-icon[b-8fsrzc2rkt] {
        width: 44px;
        height: 44px;
    }

    .summary-icon i[b-8fsrzc2rkt] {
        font-size: 1.25rem;
    }

    .summary-content p[b-8fsrzc2rkt] {
        font-size: 0.9rem;
    }

    .table[b-8fsrzc2rkt] {
        font-size: 0.875rem;
    }

    .onboarding-container[b-8fsrzc2rkt]  .step-actions {
        margin-top: 1.25rem;
        gap: 0.625rem;
    }
}

@media (max-width: 1280px) {
    .onboarding-header[b-8fsrzc2rkt],
    .onboarding-content[b-8fsrzc2rkt] {
        max-width: 780px;
    }

    .onboarding-header[b-8fsrzc2rkt] {
        margin: 1.5rem auto 1rem;
    }

    .onboarding-content[b-8fsrzc2rkt] {
        padding: 1rem;
    }

    .progress-step[b-8fsrzc2rkt] {
        gap: 0.35rem;
    }

    .step-circle[b-8fsrzc2rkt] {
        width: 30px;
        height: 30px;
        font-size: 0.8rem;
    }
    
    .step-icon[b-8fsrzc2rkt] {
        width: 46px;
        height: 46px;
    }

    .step-icon i[b-8fsrzc2rkt] {
        font-size: 1.5rem;
    }

    .step-header h2[b-8fsrzc2rkt] {
        font-size: 1.25rem;
    }

    .step-description[b-8fsrzc2rkt],
    .subtitle[b-8fsrzc2rkt] {
        font-size: 0.9rem;
    }

    .welcome-card p[b-8fsrzc2rkt] {
        font-size: 0.8rem;
    }

    .migratrix-input[b-8fsrzc2rkt] {
        padding: 0.65rem 0.875rem;
    }
}

@media (max-width: 1024px) {
    .onboarding-container[b-8fsrzc2rkt] {
        padding: 0.25rem;
    }

    .onboarding-header[b-8fsrzc2rkt],
    .onboarding-content[b-8fsrzc2rkt] {
        max-width: calc(100vw - 2rem);
    }

    .progress-steps[b-8fsrzc2rkt] {
        gap: 0.5rem;
    }

    .progress-step[b-8fsrzc2rkt] {
        min-width: 76px;
    }

    .welcome-cards[b-8fsrzc2rkt] {
        grid-template-columns: 1fr;
    }

    .form-row[b-8fsrzc2rkt] {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .environment-type-grid[b-8fsrzc2rkt] {
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 0.75rem;
    }

    .summary-card[b-8fsrzc2rkt] {
        padding: 0.875rem;
    }

    .connection-grid[b-8fsrzc2rkt] {
        flex-wrap: wrap;
    }

    .onboarding-container[b-8fsrzc2rkt]  .step-actions {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .onboarding-container[b-8fsrzc2rkt] {
        padding: 0.25rem;
    }

    .onboarding-header[b-8fsrzc2rkt] {
        margin: 0 auto 0.75rem;
        padding: 0 0.25rem;
    }

    .onboarding-content[b-8fsrzc2rkt] {
        max-width: calc(100vw - 1rem);
        padding: 0.875rem;
    }

    .progress-section[b-8fsrzc2rkt] {
        padding: 0.75rem;
    }

    .progress-steps[b-8fsrzc2rkt] {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 0.75rem;
        overflow-x: auto;
        padding-bottom: 0.25rem;
    }
    .progress-step[b-8fsrzc2rkt] {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
    }

    .step-circle[b-8fsrzc2rkt] {
        width: 22px;
        height: 22px;
        font-size: 0.85rem;
    }

    .step-label[b-8fsrzc2rkt] {
        margin-top: 0;
        text-align: left;
    }
    .progress-step:not(:last-child)[b-8fsrzc2rkt]::after{
        top: 14px;
        left: 77%;
        width: 60%;
    }

    .onboarding-container[b-8fsrzc2rkt]  .step-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .onboarding-container[b-8fsrzc2rkt]  .step-actions .migratrix-btn {
        justify-content: center;
        width: 100%;
    }

}

@media (max-width: 480px) {
    .onboarding-content[b-8fsrzc2rkt] {
        padding: 0.75rem;
    }

    .step-header h2[b-8fsrzc2rkt] {
        font-size: 1.1rem;
    }
    
    .step-description[b-8fsrzc2rkt],
    .subtitle[b-8fsrzc2rkt] {
        font-size: 0.85rem;
    }

    .summary-card[b-8fsrzc2rkt] {
        flex-direction: column;
        gap: 0.75rem;
    }

    .summary-icon[b-8fsrzc2rkt] {
        width: 38px;
        height: 38px;
    }
}
/* /Pages/Onboarding/onBoardingFinale.razor.rz.scp.css */
/* ===============================================
   STAGE 6 - PIPELINE VIEW STYLES
   =============================================== */

.pipeline-banner[b-iht3zrpfi0] {
    text-align: center;
}

.pipeline-badge[b-iht3zrpfi0] {
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.pipeline-badge i[b-iht3zrpfi0] {
    font-size: 1.25rem;
    color: var(--migratrix-success);
}

/* ===============================================
   HORIZONTAL PIPELINE CONTAINER
   =============================================== */

.pipeline-container[b-iht3zrpfi0] {
    display: flex;
    align-items: stretch;
    gap: 2.5rem;
    margin-bottom: 2rem;
    overflow-x: auto;
    padding: 1rem 0;
    position: relative;
}

.pipeline-stage[b-iht3zrpfi0] {
    flex: 1;
    min-width: 0;
    position: relative;
}

.pipeline-stage:not(:last-child)[b-iht3zrpfi0]::after {
    content: '';
    position: absolute;
    right: -1.8rem;
    top: 50%;
    transform: translateY(-50%) translateX(50%);
    width: 0;
    height: 0;
    border-left: 10px solid var(--migratrix-success);
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    z-index: 10;
}

.pipeline-stage:not(:last-child)[b-iht3zrpfi0]::before {
    content: '';
    position: absolute;
    right: -2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.5rem;
    height: 2px;
    background: var(--migratrix-success);
    z-index: 9;
}

/* ===============================================
   ENVIRONMENT CARD
   =============================================== */

.environment-card[b-iht3zrpfi0] {
    width: 100%;
    height: 100%;
    background: var(--migratrix-bg-card);
    border: 2px solid var(--migratrix-primary);
    border-radius: var(--migratrix-radius);
    overflow: hidden;
    box-shadow: var(--migratrix-shadow);
    transition: transform 0.2s ease;
    display: flex;
    flex-direction: column;
}

@supports (backdrop-filter: blur(10px)) {
    .environment-card[b-iht3zrpfi0] {
        backdrop-filter: blur(10px) saturate(150%);
        -webkit-backdrop-filter: blur(10px) saturate(150%);
    }
}

.environment-card:hover[b-iht3zrpfi0] {
    transform: translateY(-2px);
    box-shadow: var(--migratrix-shadow-lg);
}

/* Environment Header */
.environment-header[b-iht3zrpfi0] {
    display: flex;
    justify-content: space-between;
    background: var(--migratrix-primary);
    padding: 0.875rem 1rem;
    text-align: center;
    position: relative;
    flex-shrink: 0;
}

.connection-header[b-iht3zrpfi0]{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.env-icon-wrapper[b-iht3zrpfi0] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.env-icon[b-iht3zrpfi0] {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.25rem;
}

.env-title[b-iht3zrpfi0] {
    font-size: 1rem;
    font-weight: 700;
    color: white;
    margin: 0 0 0.5rem 0;
}

.env-order-badge[b-iht3zrpfi0] {
    display: inline-block;
    align-self:  stretch;
    padding: 0.2rem 0.625rem;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    font-size: 0.65rem;
    font-weight: 600;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ===============================================
   CONNECTION SECTION
   =============================================== */

.connection-section[b-iht3zrpfi0] {
    padding: 0.875rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.connection-badge[b-iht3zrpfi0] {
    background: rgba(243, 124, 25, 0.1);
    border: 1px solid rgba(243, 124, 25, 0.2);
    border-radius: var(--migratrix-radius-sm);
    padding: 0.75rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.connection-badge.no-connection[b-iht3zrpfi0] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem;
    color: var(--migratrix-text-secondary);
}

.connection-badge.no-connection i[b-iht3zrpfi0] {
    color: var(--migratrix-warning);
}

.connection-title[b-iht3zrpfi0] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.5rem 0;
    text-align: center;
}

.connection-details[b-iht3zrpfi0] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    margin-bottom: 0.5rem;
}

.connection-detail[b-iht3zrpfi0] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.7rem;
    color: var(--migratrix-text-secondary);
    word-break: break-word;
}

.connection-detail i[b-iht3zrpfi0] {
    font-size: 0.875rem;
    color: var(--migratrix-text-muted);
    flex-shrink: 0;
}

.connection-status[b-iht3zrpfi0] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--migratrix-success);
}

.status-dot[b-iht3zrpfi0] {
    width: 6px;
    height: 6px;
    background: var(--migratrix-success);
    border-radius: 50%;
}

/* ===============================================
   ENVIRONMENT DETAILS
   =============================================== */

.environment-details[b-iht3zrpfi0] {
    padding: 0 0.875rem 0.875rem;
}

.details-title[b-iht3zrpfi0] {
    font-size: 0.65rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0.5rem 0;
    text-align: center;
}

.detail-item[b-iht3zrpfi0] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 0.75rem;
    background: white;
    border: 1px solid rgba(243, 124, 25, 0.1);
    border-radius: var(--migratrix-radius-sm);
    margin-bottom: 0.375rem;
    font-size: 0.7rem;
    color: var(--migratrix-text-secondary);
}

.detail-item:last-child[b-iht3zrpfi0] {
    margin-bottom: 0;
}

.detail-item i[b-iht3zrpfi0] {
    font-size: 0.875rem;
    color: var(--migratrix-text-muted);
}

/* ===============================================
   FLOW ARROW - HIDDEN
   =============================================== */

.flow-arrow[b-iht3zrpfi0] {
    display: none;
}

/* ===============================================
   PIPELINE STATUS FOOTER
   =============================================== */

.pipeline-status[b-iht3zrpfi0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1.25rem;
    background: linear-gradient(135deg, rgba(46, 204, 113, 0.15) 0%, rgba(46, 204, 113, 0.05) 100%);
    border: 2px solid rgba(46, 204, 113, 0.3);
    border-radius: var(--migratrix-radius);
    margin-bottom: 2rem;
}

@supports (backdrop-filter: blur(10px)) {
    .pipeline-status[b-iht3zrpfi0] {
        backdrop-filter: blur(10px) saturate(150%);
        -webkit-backdrop-filter: blur(10px) saturate(150%);
    }
}

.status-content[b-iht3zrpfi0] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.status-content i[b-iht3zrpfi0] {
    font-size: 1.125rem;
    color: var(--migratrix-success);
}

.status-text[b-iht3zrpfi0] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #047857;
}

.status-summary[b-iht3zrpfi0] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

.separator[b-iht3zrpfi0] {
    color: var(--migratrix-text-muted);
}
.next-steps-section[b-iht3zrpfi0] {
    margin-bottom: 1.5rem;
}

.next-steps-section h3[b-iht3zrpfi0] {
    font-size: 1.25rem;
    color: var(--migratrix-text-primary);
    margin-bottom: 1.25rem;
    font-weight: 700;
}

.next-steps-grid[b-iht3zrpfi0] {
    display: grid;
    gap: 1rem;
}

.next-step-card[b-iht3zrpfi0] {
    display: flex;
    gap: 1.25rem;
    padding: 1.25rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    transition: all 0.2s;
}

@supports (backdrop-filter: blur(10px)) {
    .next-step-card[b-iht3zrpfi0] {
        backdrop-filter: blur(10px) saturate(150%);
        -webkit-backdrop-filter: blur(10px) saturate(150%);
    }
}

.next-step-card:hover[b-iht3zrpfi0] {
    transform: translateX(4px);
    border-color: rgba(243, 124, 25, 0.3);
    box-shadow: var(--migratrix-shadow-sm);
}

.next-step-number[b-iht3zrpfi0] {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--migratrix-primary) 0%, rgba(243, 124, 25, 0.9) 100%);
    color: white;
    border-radius: var(--migratrix-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.125rem;
    font-weight: 700;
}

.next-step-content h4[b-iht3zrpfi0] {
    font-size: 0.9rem;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.25rem;
    font-weight: 600;
}

.next-step-content p[b-iht3zrpfi0] {
    font-size: 0.8rem;
}

@media (max-width: 1727px) {
    .pipeline-badge[b-iht3zrpfi0] {
        padding: 0.5rem 1.125rem;
        font-size: 0.9rem;
    }

    .pipeline-container[b-iht3zrpfi0] {
        gap: 1.5rem;
        margin-bottom: 1.5rem;
        padding: 0.75rem 0;
    }

    .pipeline-stage:not(:last-child)[b-iht3zrpfi0]::after {
        right: -1.1rem;
        border-left-width: 8px;
        border-top-width: 6px;
        border-bottom-width: 6px;
    }

    .pipeline-stage:not(:last-child)[b-iht3zrpfi0]::before {
        right: -1.25rem;
        width: 1rem;
    }

    .environment-header[b-iht3zrpfi0] {
        padding: 0.7rem 0.875rem;
    }

    .env-title[b-iht3zrpfi0] {
        font-size: 0.9rem;
    }

    .connection-section[b-iht3zrpfi0] {
        padding: 0.75rem;
    }

    .connection-badge[b-iht3zrpfi0] {
        padding: 0.625rem;
    }

    .connection-title[b-iht3zrpfi0] {
        font-size: 0.8rem;
    }

    .connection-detail[b-iht3zrpfi0] {
        font-size: 0.65rem;
    }

    .pipeline-status[b-iht3zrpfi0] {
        padding: 0.75rem 1rem;
        margin-bottom: 1.5rem;
    }

    .next-steps-section[b-iht3zrpfi0] {
        margin-bottom: 1.25rem;
    }

    .next-steps-section h3[b-iht3zrpfi0] {
        font-size: 1.1rem;
        margin-bottom: 1rem;
    }

    .next-step-card[b-iht3zrpfi0] {
        gap: 1rem;
        padding: 1rem;
    }

    .next-step-number[b-iht3zrpfi0] {
        width: 32px;
        height: 32px;
        font-size: 1rem;
    }
}

@media (max-width: 1280px) {
    .pipeline-container[b-iht3zrpfi0] {
        gap: 1rem;
    }

    .pipeline-stage:not(:last-child)[b-iht3zrpfi0]::after,
    .pipeline-stage:not(:last-child)[b-iht3zrpfi0]::before {
        display: none;
    }

    .environment-header[b-iht3zrpfi0] {
        gap: 0.5rem;
        padding: 0.625rem 0.75rem;
    }

    .env-title[b-iht3zrpfi0] {
        font-size: 0.85rem;
        margin-bottom: 0;
    }

    .env-order-badge[b-iht3zrpfi0] {
        padding: 0.15rem 0.5rem;
        font-size: 0.6rem;
    }

    .connection-section[b-iht3zrpfi0] {
        padding: 0.625rem;
    }
}

@media (max-width: 1024px) {
    .pipeline-container[b-iht3zrpfi0] {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }

    .pipeline-status[b-iht3zrpfi0] {
        align-items: flex-start;
        gap: 0.75rem;
    }
}

@media (max-width: 768px) {
    
    .pipeline-badge[b-iht3zrpfi0] {
        padding: 0.625rem 1.25rem;
        font-size: 0.875rem;
    }

    .pipeline-container[b-iht3zrpfi0] {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .pipeline-stage[b-iht3zrpfi0] {
        width: 100%;
    }

    .pipeline-stage:not(:last-child)[b-iht3zrpfi0]::after,
    .pipeline-stage:not(:last-child)[b-iht3zrpfi0]::before {
        display: none;
    }

    .environment-card[b-iht3zrpfi0] {
        width: 100%;
    }

    .environment-header[b-iht3zrpfi0] {
        padding: 1rem;
    }

    .env-title[b-iht3zrpfi0] {
        font-size: 1.125rem;
    }

    .connection-section[b-iht3zrpfi0] {
        padding: 1rem;
    }

    .connection-detail[b-iht3zrpfi0] {
        font-size: 0.75rem;
    }

    .environment-details[b-iht3zrpfi0] {
        padding: 0 1rem 1rem;
    }

    .detail-item[b-iht3zrpfi0] {
        padding: 0.5rem 0.75rem;
        font-size: 0.75rem;
    }

    .pipeline-status[b-iht3zrpfi0] {
        flex-direction: column;
        gap: 0.75rem;
        text-align: center;
        padding: 1rem;
    }

    .status-summary[b-iht3zrpfi0] {
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .pipeline-badge[b-iht3zrpfi0] {
        font-size: 0.8rem;
        gap: 0.5rem;
    }

    .pipeline-badge i[b-iht3zrpfi0] {
        font-size: 1rem;
    }

    .env-icon[b-iht3zrpfi0] {
        width: 36px;
        height: 36px;
        font-size: 1.25rem;
    }

    .env-title[b-iht3zrpfi0] {
        font-size: 1rem;
    }

    .connection-title[b-iht3zrpfi0] {
        font-size: 0.9rem;
    }

    .connection-detail[b-iht3zrpfi0] {
        font-size: 0.7rem;
    }

    .connection-detail i[b-iht3zrpfi0] {
        font-size: 0.875rem;
    }
}
/* /Pages/PlanCards.razor.rz.scp.css */
.card-title[b-vfcimdlejb]{
    font-size: 0.9rem;
    margin-bottom: 0.4rem;
}

.item-description[b-vfcimdlejb]{
    font-size: 0.8rem;
}

.feature-item[b-vfcimdlejb]{
    padding: 0.5rem 0.25rem;
}

.feature-title[b-vfcimdlejb]{
    font-size: 0.85rem;
}

.feature-icon i[b-vfcimdlejb] {
    font-size: 20px;
}
.feature-description[b-vfcimdlejb]{
    font-size: 0.8rem;
    margin-bottom: 0.2rem;
}

.plans-row[b-vfcimdlejb]{
    display: flex;
    gap: 1rem;
}

.plans-grid .card[b-vfcimdlejb] {
    padding: 1rem 0.75rem;
}

.plan-pricing[b-vfcimdlejb] {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.card:hover[b-vfcimdlejb] {
    transform: translateY(-4px);
    box-shadow: var(--migratrix-shadow-glass);
    border-color: rgba(243, 124, 25, 0.2);
}

.feature-table[b-vfcimdlejb] {
    list-style: none;
    padding: 0;
    margin: 1rem 0 0;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--migratrix-text-secondary);
}

.feature-table li[b-vfcimdlejb] {
    position: relative;
    padding-left: 1.2rem;
    margin-bottom: 0.5rem;
}

.feature-table li[b-vfcimdlejb]::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--migratrix-primary);
    font-weight: bold;
}
@media (max-width: 1280px) {
    .plans-grid[b-vfcimdlejb] {
        /*grid-template-columns: repeat(4, 1fr);*/
        gap: 0.75rem;
    }

    .plans-grid[b-vfcimdlejb] {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

@media (max-width: 768px) {
    .plans-grid[b-vfcimdlejb] {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

@media (max-width: 1280px) {

    .plans-row[b-vfcimdlejb]{
        display: grid;
        gap: 1rem;
    }
}
/* /Pages/Popovers/AgentConfigurationPopover.razor.rz.scp.css */
.agent-config-container[b-gjpt33v0x5] {
    padding: 1.5rem 2rem;
    min-height: 400px;
}

.method-selection[b-gjpt33v0x5] {
    margin-bottom: 1.5rem;
}

.section-title[b-gjpt33v0x5] {
    display: flex;
    align-items: center;
    font-size: 1rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 1rem;
}

.section-icon[b-gjpt33v0x5] {
    margin-right: 0.5rem;
    font-size: 1.25rem;
    color: var(--migratrix-primary);
}

.method-cards[b-gjpt33v0x5] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
}

.method-card[b-gjpt33v0x5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.5rem;
    padding: 1rem;
    border: 2px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    cursor: pointer;
    background: var(--migratrix-bg-card);
    transition: all 0.2s ease;
}

.method-card:hover[b-gjpt33v0x5] {
    border-color: var(--migratrix-primary);
    transform: translateY(-2px);
    box-shadow: var(--migratrix-shadow);
}

.method-card input[type="radio"][b-gjpt33v0x5] {
    position: absolute;
    opacity: 0;
}

.method-card.selected[b-gjpt33v0x5] {
    border-color: var(--method-color, var(--migratrix-primary));
}

.method-card[data-method="migratrix"].selected[b-gjpt33v0x5] {
    --method-color: #8b5cf6;
    background: rgba(139, 92, 246, 0.08);
}

.method-card[data-method="custom"].selected[b-gjpt33v0x5] {
    --method-color: #10b981;
    background: rgba(16, 185, 129, 0.08);
}

.method-card[data-method="ip"].selected[b-gjpt33v0x5] {
    --method-color: #3b82f6;
    background: rgba(59, 130, 246, 0.08);
}

.method-card[data-method="localhost"].selected[b-gjpt33v0x5] {
    --method-color: #f59e0b;
    background: rgba(245, 158, 11, 0.08);
}

.method-icon[b-gjpt33v0x5] {
    font-size: 2rem;
}

.method-icon-purple[b-gjpt33v0x5] { color: #8b5cf6; }
.method-icon-green[b-gjpt33v0x5] { color: #10b981; }
.method-icon-blue[b-gjpt33v0x5] { color: #3b82f6; }
.method-icon-orange[b-gjpt33v0x5] { color: #f59e0b; }

.method-title[b-gjpt33v0x5] {
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
}

.method-description[b-gjpt33v0x5] {
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
    line-height: 1.4;
}

.config-details-section[b-gjpt33v0x5] {
    padding: 1.5rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    animation: fadeIn-b-gjpt33v0x5 0.3s ease-in-out;
}

@keyframes fadeIn-b-gjpt33v0x5 {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.info-section[b-gjpt33v0x5] {
    padding: 1rem;
    border-radius: var(--migratrix-radius-sm);
    margin-bottom: 1.25rem;
}

.info-section-purple[b-gjpt33v0x5] {
    background: rgba(139, 92, 246, 0.08);
    border: 1px solid rgba(139, 92, 246, 0.2);
}

.info-section-green[b-gjpt33v0x5] {
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.info-section-blue[b-gjpt33v0x5] {
    background: rgba(59, 130, 246, 0.08);
    border: 1px solid rgba(59, 130, 246, 0.2);
}

.info-section-orange[b-gjpt33v0x5] {
    background: rgba(245, 158, 11, 0.08);
    border: 1px solid rgba(245, 158, 11, 0.2);
}

.info-header[b-gjpt33v0x5] {
    display: flex;
    align-items: center;
    font-weight: 600;
    margin-bottom: 0.75rem;
    color: var(--migratrix-text-primary);
}

.info-icon[b-gjpt33v0x5] {
    margin-right: 0.5rem;
    font-size: 1.125rem;
}

.info-section-purple .info-icon[b-gjpt33v0x5] { color: #8b5cf6; }
.info-section-green .info-icon[b-gjpt33v0x5] { color: #10b981; }
.info-section-blue .info-icon[b-gjpt33v0x5] { color: #3b82f6; }
.info-section-orange .info-icon[b-gjpt33v0x5] { color: #f59e0b; }

.info-content[b-gjpt33v0x5] {
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
    line-height: 1.6;
}

.info-content p[b-gjpt33v0x5] {
    margin-bottom: 0.5rem;
}

.info-list[b-gjpt33v0x5] {
    margin: 0.5rem 0 0 1.5rem;
    padding: 0;
}

.info-list li[b-gjpt33v0x5] {
    margin-bottom: 0.25rem;
}

.status-badge[b-gjpt33v0x5] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-top: 0.75rem;
}

.status-success[b-gjpt33v0x5] {
    background: rgba(16, 185, 129, 0.1);
    color: #059669;
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.status-warning[b-gjpt33v0x5] {
    background: rgba(245, 158, 11, 0.1);
    color: #d97706;
    border: 1px solid rgba(245, 158, 11, 0.2);
}

.status-badge i[b-gjpt33v0x5] {
    font-size: 1rem;
}

.form-section[b-gjpt33v0x5] {
    margin-top: 1rem;
}

.form-group[b-gjpt33v0x5] {
    margin-bottom: 1rem;
}

.form-group label[b-gjpt33v0x5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
}

.form-help[b-gjpt33v0x5] {
    display: block;
    margin-top: 0.375rem;
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

.form-row[b-gjpt33v0x5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.dns-section[b-gjpt33v0x5] {
    margin-top: 1.5rem;
    padding: 1rem;
    background: rgba(59, 130, 246, 0.05);
    border: 1px solid rgba(59, 130, 246, 0.15);
    border-radius: var(--migratrix-radius-sm);
}

.dns-title[b-gjpt33v0x5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.5rem 0;
}

.dns-title i[b-gjpt33v0x5] {
    color: var(--migratrix-primary);
}

.dns-description[b-gjpt33v0x5] {
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
    margin: 0 0 1rem 0;
}

.message-banner[b-gjpt33v0x5] {
    padding: 0.625rem 0.875rem;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.8rem;
    margin-bottom: 0.75rem;
}

.message-success[b-gjpt33v0x5] {
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.2);
    color: #065f46;
}

.message-error[b-gjpt33v0x5] {
    background: rgba(231, 76, 60, 0.1);
    border: 1px solid rgba(231, 76, 60, 0.2);
    color: #991b1b;
}

.custom-domain-layout[b-gjpt33v0x5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.custom-domain-left[b-gjpt33v0x5],
.custom-domain-right[b-gjpt33v0x5] {
    display: flex;
    flex-direction: column;
}

.certificate-section[b-gjpt33v0x5] {
    padding: 1rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
}

.certificate-title[b-gjpt33v0x5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.5rem 0;
}

.certificate-title i[b-gjpt33v0x5] {
    color: var(--migratrix-success);
}

.certificate-description[b-gjpt33v0x5] {
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
    margin: 0 0 1rem 0;
}

.file-input[b-gjpt33v0x5] {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.85rem;
    background: var(--migratrix-bg-secondary);
}

.file-selected[b-gjpt33v0x5] {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--migratrix-success);
}

.tip-banner[b-gjpt33v0x5] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.2);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.8rem;
    color: #065f46;
    margin-top: 1rem;
}

.tip-banner i[b-gjpt33v0x5] {
    color: #10b981;
    flex-shrink: 0;
}

.tip-banner-blue[b-gjpt33v0x5] {
    background: rgba(59, 130, 246, 0.08);
    border-color: rgba(59, 130, 246, 0.2);
    color: #1e40af;
}

.tip-banner-blue i[b-gjpt33v0x5] {
    color: #3b82f6;
}

.tip-banner ul[b-gjpt33v0x5] {
    margin: 0.5rem 0 0 1.25rem;
    padding: 0;
}

.tip-banner li[b-gjpt33v0x5] {
    margin-bottom: 0.25rem;
}

.btn-spinner[b-gjpt33v0x5] {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin-b-gjpt33v0x5 0.8s linear infinite;
    margin-right: 0.5rem;
}

@keyframes spin-b-gjpt33v0x5 {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1024px) {
    .method-cards[b-gjpt33v0x5] {
        grid-template-columns: repeat(2, 1fr);
    }

    .custom-domain-layout[b-gjpt33v0x5] {
        grid-template-columns: 1fr;
    }

    .form-row[b-gjpt33v0x5] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .agent-config-container[b-gjpt33v0x5] {
        padding: 1rem;
    }

    .method-cards[b-gjpt33v0x5] {
        grid-template-columns: 1fr;
    }

    .method-card[b-gjpt33v0x5] {
        flex-direction: row;
        text-align: left;
        gap: 1rem;
    }

    .method-icon[b-gjpt33v0x5] {
        font-size: 1.5rem;
    }

    .config-details-section[b-gjpt33v0x5] {
        padding: 1rem;
    }
}
/* /Pages/Popovers/aiSqlGeneratorPopover.razor.rz.scp.css */
.ai-sql-body[b-np9w11g23a] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-height: 540px;
}

.ai-sql-body.fullscreen[b-np9w11g23a] {
    max-height: none;
    height: calc(100vh - 180px);
}

.ai-top[b-np9w11g23a] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ai-top-row[b-np9w11g23a] {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.engine-group[b-np9w11g23a] {
    min-width: 180px;
    max-width: 260px;
    margin-bottom: 0;
}

.ai-top-actions[b-np9w11g23a] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-left: auto;
}

.ai-prompt-input[b-np9w11g23a] {
    min-height: 120px;
    resize: vertical;
}

.ai-hint[b-np9w11g23a] {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    font-size: 0.8rem;
    color: #6b7280;
    background: #f9fafb;
    border: 1px dashed #e5e7eb;
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
}

.ai-hint .material-icons[b-np9w11g23a] {
    font-size: 18px;
    color: #3b82f6;
}

.ai-bottom[b-np9w11g23a] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    flex: 1;
    min-height: 180px;
}

.ai-sql-header[b-np9w11g23a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ai-sql-header h4[b-np9w11g23a] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
}

.ai-sql-output[b-np9w11g23a] {
    flex: 1;
    min-height: 150px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #f9fafb;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ai-loading[b-np9w11g23a],
.ai-empty[b-np9w11g23a] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #6b7280;
    padding: 1rem;
    text-align: center;
}

.ai-empty .material-icons[b-np9w11g23a] {
    font-size: 32px;
    color: #9ca3af;
}

.ai-sql-preview[b-np9w11g23a] {
    flex: 1;
    overflow: auto;
    background: #111827;
    color: #e5e7eb;
    font-family: Consolas, "JetBrains Mono", Menlo, Monaco, monospace;
    font-size: 0.8rem;
    padding: 0.75rem 1rem;
}

.ai-sql-preview pre[b-np9w11g23a] {
    margin: 0;
    white-space: pre;
}

.ai-apply-bar[b-np9w11g23a] {
    padding: 0.5rem 0.75rem;
    border-top: 1px solid #e5e7eb;
    background: #f3f4f6;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.ai-apply-label[b-np9w11g23a] {
    font-size: 0.8rem;
    color: #4b5563;
    margin-right: 0.5rem;
}

.ai-error[b-np9w11g23a] {
    font-size: 0.8rem;
    color: #dc2626;
}

.migratrix-btn.small[b-np9w11g23a] {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
}

@media (max-width: 768px) {
    .ai-top-row[b-np9w11g23a] {
        align-items: flex-start;
    }

    .ai-top-actions[b-np9w11g23a] {
        margin-left: 0;
    }
}
/* /Pages/Popovers/ChangePasswordPopover.razor.rz.scp.css */
.change-password-content[b-709xsjglk3] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 8px 12px;
    width: 100%;
    box-sizing: border-box;
}

.form-group[b-709xsjglk3] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-group label[b-709xsjglk3] {
    font-size: 0.85rem;
    font-weight: 500;
}

.field-hint[b-709xsjglk3] {
    font-size: 0.78rem;
}

.field-hint.warn[b-709xsjglk3] {
    color: #b9770e;
}

.profile-alert[b-709xsjglk3] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 0.85rem;
}

.profile-alert.error[b-709xsjglk3] {
    background: rgba(231, 76, 60, 0.12);
    color: #c0392b;
}
/* /Pages/Popovers/ChangeScriptDock.razor.rz.scp.css */
.cs-dock[b-t60yrr6l4g] {
    position: fixed;
    right: 28px;
    bottom: 14px;
    z-index: 100001; /* above a fullscreen popover (99999) and its children (100000) */
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    /* The container spans nothing but its chips; clicks pass through the gaps to the page. */
    pointer-events: none;
}

.cs-dock-strip[b-t60yrr6l4g] {
    display: flex;
    flex-direction: row-reverse;
    align-items: stretch;
    gap: 4px;
    min-width: 0;
    max-width: calc(100vw - 32px);
}

/* Where a minimized window lands: a chip-sized hole at the right end of the row, which is where its
   own chip is about to appear. Out of flow and empty - it exists only to be measured. */
.cs-dock-anchor[b-t60yrr6l4g] {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 200px;
    height: 40px;
}

.cs-notice[b-t60yrr6l4g],
.cs-chip[b-t60yrr6l4g] {
    pointer-events: auto;
}

/* Why nothing opened, shown where the windows in the way are. First in the column, so it sits above
   the row it is talking about. */
.cs-notice[b-t60yrr6l4g] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    max-width: min(320px, calc(100vw - 32px));
    padding: 0.5rem 0.625rem;
    background: var(--migratrix-bg-card, var(--migratrix-bg-main));
    border: 1px solid var(--migratrix-warning, #f59e0b);
    border-radius: var(--migratrix-radius-sm);
    box-shadow: var(--migratrix-shadow-lg);
    color: var(--migratrix-text-primary);
    font-size: 0.75rem;
    line-height: 1.35;
    animation: cs-chip-in-b-t60yrr6l4g 220ms cubic-bezier(0.175, 0.885, 0.32, 1.12);
}

.cs-notice-icon[b-t60yrr6l4g] {
    flex-shrink: 0;
}

.cs-chip[b-t60yrr6l4g] {
    display: flex;
    align-items: stretch;
    /* One fixed size for every chip, so a dock of them reads as equal cards rather than a ragged
       edge - the title ellipsises instead of the chip growing to fit it. Still shrinkable, so a
       cramped row squeezes them together and they stay equal to each other; the title gives up
       width long before the icon or the close button do. */
    width: 190px;
    flex: 0 1 auto;
    min-width: 0;
    min-height: 30px;
    max-width: calc(100vw - 32px);
    background: var(--migratrix-bg-card, var(--migratrix-bg-main));
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    box-shadow: var(--migratrix-shadow-lg);
    overflow: hidden;
    animation: cs-chip-in-b-t60yrr6l4g 220ms cubic-bezier(0.175, 0.885, 0.32, 1.12);
}

@keyframes cs-chip-in-b-t60yrr6l4g {
    from { opacity: 0; transform: translateY(12px) scale(0.94); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.cs-chip-main[b-t60yrr6l4g] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 1;
    min-width: 0;
    padding: 0.375rem 0.5rem;
    background: transparent;
    border: 0;
    color: var(--migratrix-text-primary);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.cs-chip-main:hover[b-t60yrr6l4g] {
    background: var(--migratrix-bg-hover);
}

.cs-chip-main:focus-visible[b-t60yrr6l4g],
.cs-chip-close:focus-visible[b-t60yrr6l4g] {
    outline: 2px solid var(--migratrix-primary);
    outline-offset: -2px;
}

.cs-chip-icon[b-t60yrr6l4g] {
    flex-shrink: 0;
}

.cs-chip-text[b-t60yrr6l4g] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.25;
}

.cs-chip-title[b-t60yrr6l4g] {
    font-weight: 500;
    /* One line, ellipsised: a long script name must not push the close button off the chip. */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cs-chip-status[b-t60yrr6l4g] {
    font-size: 0.65rem;
    color: var(--migratrix-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Unsaved work. Colour alone would not carry it, so the title attribute says so too. */
.cs-chip-dot[b-t60yrr6l4g] {
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--migratrix-warning, #f59e0b);
}

/* Matches the 16px controls in the popover's own header rather than towering over the chip. */
.cs-chip-close[b-t60yrr6l4g] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    flex-shrink: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-left: 1px solid var(--migratrix-border);
    color: var(--migratrix-text-secondary);
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.cs-chip-close:hover[b-t60yrr6l4g] {
    background: var(--migratrix-bg-hover);
}

/* Clear the mobile tab bar (64px tall, fixed to the bottom) plus the safe-area inset. */
@media (max-width: 767.98px) {
    .cs-dock[b-t60yrr6l4g] {
        right: 12px;
        left: 12px;
        bottom: calc(64px + 12px + env(safe-area-inset-bottom, 0px));
        align-items: stretch;
    }

    /* A phone has no room for a row of them, so they stack instead, newest nearest the thumb, and
       the column scrolls once it is taller than what is left of the screen. */
    .cs-dock-strip[b-t60yrr6l4g] {
        flex-direction: column-reverse;
        max-width: none;
        max-height: calc(100vh - 88px - env(safe-area-inset-bottom, 0px));
        overflow-y: auto;
        scrollbar-width: thin;
    }

    .cs-dock-anchor[b-t60yrr6l4g] {
        left: 0;
        width: auto;
    }

    .cs-chip[b-t60yrr6l4g] {
        width: auto;
        max-width: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cs-chip[b-t60yrr6l4g],
    .cs-notice[b-t60yrr6l4g] {
        animation: none;
    }
}
/* /Pages/Popovers/ChangeScriptPopover.razor.rz.scp.css */
/* ── Knowledge Graph: light / dark CSS variables ─────────────────────────── */
.kg-shell[b-9bwf7uag85] {
    --kg-canvas-bg: #f0f5fc;
    --kg-dot-color: rgba(90, 120, 165, 0.22);
    --kg-label-primary: #1e293b;
    --kg-label-secondary: #64748b;
    --kg-label-muted: #94a3b8;
    --kg-node-halo-opacity: 0.10;
    --kg-node-stroke: rgba(255, 255, 255, 0.55);
    --kg-stats-bg: #f1f5f9;
    --kg-stats-border: #e2e8f0;
    --kg-dep-code-bg: #f8fafc;
    --kg-dep-code-color: #1e293b;
    --kg-card-bg: rgba(255, 255, 255, 0.94);
    --kg-card-bg-strong: #ffffff;
    --kg-card-border: #cbd5e1;
    --kg-card-shadow: 0 18px 38px rgba(15, 23, 42, 0.10);
    --kg-line-soft: rgba(203, 213, 225, 0.82);
    --kg-line-risk: rgba(220, 38, 38, 0.34);
    --kg-ring-color: rgba(125, 151, 184, 0.28);
    --kg-control-bg: rgba(255, 255, 255, 0.96);
    --kg-chip-bg: #e3f2fd;
    --kg-chip-text: #1565c0;
    --kg-chip-border: #bfdbfe;
    --kg-toolbar-bg: #f7f9fc;
    --kg-toolbar-icon-border: #b7d7f2;
    --kg-toolbar-icon-bg: #e9f4ff;
    --kg-toolbar-icon-color: #1565c0;
    --kg-review-critical-bg: #fff5f5;
    --kg-review-critical-border: #ef9a9a;
    --kg-review-high-bg: #fffaf2;
    --kg-review-high-border: #ffcc80;
    --kg-review-low-bg: #f6fbf6;
    --kg-review-low-border: #a5d6a7;
}

@media (prefers-color-scheme: dark) {
    .kg-shell[b-9bwf7uag85] {
        --kg-canvas-bg: #0d1829;
        --kg-dot-color: rgba(100, 160, 255, 0.13);
        --kg-label-primary: #e2e8f0;
        --kg-label-secondary: #94a3b8;
        --kg-label-muted: #64748b;
        --kg-node-halo-opacity: 0.20;
        --kg-node-stroke: rgba(255, 255, 255, 0.28);
        --kg-stats-bg: #0f1f33;
        --kg-stats-border: #1e3a5f;
        --kg-dep-code-bg: #0f172a;
        --kg-dep-code-color: #e2e8f0;
        --kg-card-bg: rgba(15, 23, 42, 0.88);
        --kg-card-bg-strong: #111827;
        --kg-card-border: rgba(71, 85, 105, 0.92);
        --kg-card-shadow: 0 20px 44px rgba(0, 0, 0, 0.34);
        --kg-line-soft: rgba(71, 85, 105, 0.72);
        --kg-line-risk: rgba(248, 113, 113, 0.42);
        --kg-ring-color: rgba(148, 163, 184, 0.18);
        --kg-control-bg: rgba(15, 23, 42, 0.92);
        --kg-chip-bg: rgba(37, 99, 235, 0.16);
        --kg-chip-text: #93c5fd;
        --kg-chip-border: rgba(96, 165, 250, 0.34);
        --kg-toolbar-bg: #0f1f33;
        --kg-toolbar-icon-border: #1e3a5f;
        --kg-toolbar-icon-bg: rgba(37, 99, 235, 0.16);
        --kg-toolbar-icon-color: #93c5fd;
        --kg-review-critical-bg: rgba(127, 29, 29, 0.30);
        --kg-review-critical-border: #7f1d1d;
        --kg-review-high-bg: rgba(120, 53, 15, 0.30);
        --kg-review-high-border: #78350f;
        --kg-review-low-bg: rgba(20, 83, 45, 0.30);
        --kg-review-low-border: #14532d;
    }
}

:global(.dark) .kg-shell[b-9bwf7uag85],
.dark .kg-shell[b-9bwf7uag85] {
    --kg-canvas-bg: #0d1829;
    --kg-dot-color: rgba(100, 160, 255, 0.13);
    --kg-label-primary: #e2e8f0;
    --kg-label-secondary: #94a3b8;
    --kg-label-muted: #64748b;
    --kg-node-halo-opacity: 0.20;
    --kg-node-stroke: rgba(255, 255, 255, 0.28);
    --kg-stats-bg: #0f1f33;
    --kg-stats-border: #1e3a5f;
    --kg-dep-code-bg: #0f172a;
    --kg-dep-code-color: #e2e8f0;
    --kg-card-bg: rgba(15, 23, 42, 0.88);
    --kg-card-bg-strong: #111827;
    --kg-card-border: rgba(71, 85, 105, 0.92);
    --kg-card-shadow: 0 20px 44px rgba(0, 0, 0, 0.34);
    --kg-line-soft: rgba(71, 85, 105, 0.72);
    --kg-line-risk: rgba(248, 113, 113, 0.42);
    --kg-ring-color: rgba(148, 163, 184, 0.18);
    --kg-control-bg: rgba(15, 23, 42, 0.92);
    --kg-chip-bg: rgba(37, 99, 235, 0.16);
    --kg-chip-text: #93c5fd;
    --kg-chip-border: rgba(96, 165, 250, 0.34);
    --kg-toolbar-bg: #0f1f33;
    --kg-toolbar-icon-border: #1e3a5f;
    --kg-toolbar-icon-bg: rgba(37, 99, 235, 0.16);
    --kg-toolbar-icon-color: #93c5fd;
    --kg-review-critical-bg: rgba(127, 29, 29, 0.30);
    --kg-review-critical-border: #7f1d1d;
    --kg-review-high-bg: rgba(120, 53, 15, 0.30);
    --kg-review-high-border: #78350f;
    --kg-review-low-bg: rgba(20, 83, 45, 0.30);
    --kg-review-low-border: #14532d;
}

.tab-close-button:hover[b-9bwf7uag85] {
    background-color: var(--migratrix-bg-hover);
    color: var(--migratrix-text-primary);
    transform: scale(1.05);
}

.tab-close-button:focus[b-9bwf7uag85] {
    outline: none;
    box-shadow: 0 0 0 2px rgba(74, 137, 220, 0.3);
}

.popover:has(.change-script-form)[b-9bwf7uag85] {
    height: 85vh;
    min-height: 520px;
}

.popover.fullscreen:has(.change-script-form)[b-9bwf7uag85] {
    height: 100%;
    min-height: 100%;
}

.popover-content[b-9bwf7uag85] {
    display: flex;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    background: var(--migratrix-bg-main);
}

.popover-main[b-9bwf7uag85] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.popover-tabs[b-9bwf7uag85] {
    display: flex;
    background: var(--migratrix-bg-secondary);
    border-radius: var(--migratrix-radius-sm);
    padding: 0.25rem;
    margin-bottom: 0.5rem;
    gap: 0.25rem;
}

.popover-tab[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-weight: 500;
    color: var(--migratrix-text-secondary);
    border-radius: var(--migratrix-radius-sm);
    transition: all 0.2s ease;
    font-size: 0.875rem;
    white-space: nowrap;
    border: 1px solid transparent;
}

.popover-tab-content[b-9bwf7uag85] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: grid;
    grid-template-rows: 1fr;
    animation: fadeIn-b-9bwf7uag85 0.3s ease-in-out;
}

.popover-tab-content > *[b-9bwf7uag85] {
    min-height: 0;
}

.popover-tab-content:has(.change-script-form)[b-9bwf7uag85] {
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.popover-tab-content:has(.change-script-form) > .change-script-form[b-9bwf7uag85] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: row;
    gap: 0.2rem;
}

.change-script-popover-form[b-9bwf7uag85] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.change-script-popover-form-editor[b-9bwf7uag85] {
    min-height: 0;
}

.change-script-popover-form-editor.editor-side-by-side[b-9bwf7uag85] {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    min-height: 0;
    flex: 1;
    overflow: hidden;
}

.editor-details-sidebar[b-9bwf7uag85] {
    flex-shrink: 0;
    width: 240px;
    min-width: 200px;
    display: flex;
    flex-direction: column;
    align-content: flex-start;
}

@media (max-width: 640px) {
    .editor-side-by-side[b-9bwf7uag85] {
        flex-direction: column;
    }

    .editor-details-sidebar[b-9bwf7uag85] {
        width: 100%;
        min-width: unset;
    }
}

.editor-main[b-9bwf7uag85] {
    flex: 1;
    min-width: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 0;
}

.editor-main .editor-pane[b-9bwf7uag85] {
    min-height: 0;
}

.change-script-pane[b-9bwf7uag85] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.change-script-pane > .change-script-header[b-9bwf7uag85] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.change-script-pane > .change-script-editor[b-9bwf7uag85] {
    flex: 1;
    min-height: 50vh;
    display: flex;
    flex-direction: column;
}

.change-script-pane > .change-script-editor > .sql-editor-container[b-9bwf7uag85] {
    flex: 1;
    min-height: 0;
    min-width: 0;
    position: relative;
}

.change-script-pane > .change-script-analysis[b-9bwf7uag85] {
    flex-shrink: 0;
    margin-top: 0.5rem;
}

.editor-sub-tabs[b-9bwf7uag85] {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid var(--migratrix-border);
    padding-bottom: 0.5rem;
}

.editor-sub-tab[b-9bwf7uag85] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--migratrix-text-secondary);
    background: none;
    border: 1px solid transparent;
    border-radius: var(--migratrix-radius-sm);
    cursor: pointer;
    transition: all 0.2s ease;
}

.editor-sub-tab:hover:not(.disabled):not(.active)[b-9bwf7uag85] {
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-text-primary);
}

.editor-sub-tab.active[b-9bwf7uag85] {
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-primary);
    border-color: var(--migratrix-border);
}

.editor-sub-tab.disabled[b-9bwf7uag85] {
    cursor: default;
    opacity: 0.6;
}

.editor-sub-tab .material-symbols-outlined[b-9bwf7uag85] {
    font-size: 1.1rem;
}

.change-script-sidebar[b-9bwf7uag85] {
    flex-shrink: 0;
    width: 240px;
    min-width: 200px;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
}

/* Fullscreen has room to spare - give the metadata sidebar more of it. */
.popover.fullscreen .change-script-sidebar[b-9bwf7uag85] {
    width: 340px;
}

.change-script-body[b-9bwf7uag85] {
    flex: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 1rem 1.25rem;
}

.change-script-tabs[b-9bwf7uag85] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid var(--migratrix-border);
    padding-bottom: 0.5rem;
}

.change-script-tabs-left[b-9bwf7uag85] {
    display: flex;
    gap: 0.25rem;
}

.change-script-tabs-actions[b-9bwf7uag85] {
    display: flex;
    gap: 0.25rem;
}

.change-script-tab[b-9bwf7uag85] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--migratrix-text-secondary);
    background: none;
    border: 1px solid transparent;
    border-radius: var(--migratrix-radius-sm);
    cursor: pointer;
    transition: all 0.2s ease;
}
.change-script-tab i[b-9bwf7uag85] {
    font-size: 18px;
}
.change-script-tab:hover:not(.disabled):not(.active)[b-9bwf7uag85] {
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-text-primary);
}

.change-script-tab.active[b-9bwf7uag85] {
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-primary);
    border-color: var(--migratrix-border);
}

.change-script-tab.disabled[b-9bwf7uag85] {
    cursor: default;
    opacity: 0.6;
}

.change-script-content[b-9bwf7uag85] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.change-script-tab-change-script[b-9bwf7uag85] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.change-script-tab-change-script > .change-script-sql-header[b-9bwf7uag85] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.change-script-tab-change-script > .change-script-sql-area[b-9bwf7uag85] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.change-script-tab-change-script > .change-script-sql-area > .sql-editor-container[b-9bwf7uag85] {
    flex: 1;
    min-height: 120px;
    min-width: 0;
    position: relative;
}

.change-script-tab-change-script > .change-script-analysis-bar[b-9bwf7uag85] {
    flex-shrink: 0;
    margin-top: 0.5rem;
    display: flex;
    justify-content: space-between;
}

@media (max-width: 640px) {
    .popover-tab-content:has(.change-script-form) > .change-script-form[b-9bwf7uag85] {
        flex-direction: column;
    }

    .change-script-sidebar[b-9bwf7uag85],
    .popover.fullscreen .change-script-sidebar[b-9bwf7uag85] {
        width: 100%;
        min-width: unset;
    }

    .kg-toolbar[b-9bwf7uag85],
    .kg-review-strip[b-9bwf7uag85] {
        align-items: stretch;
    }

    .kg-toolbar[b-9bwf7uag85],
    .kg-workspace[b-9bwf7uag85],
    .kg-review-strip[b-9bwf7uag85] {
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .kg-toolbar-actions[b-9bwf7uag85] {
        justify-content: flex-start;
    }

    .kg-workspace[b-9bwf7uag85] {
        display: flex;
        flex-direction: column;
        overflow-y: auto;
    }

    .kg-canvas-panel[b-9bwf7uag85] {
        min-height: 360px;
        flex-shrink: 0;
    }

    .kg-workspace-topology .kg-canvas-panel[b-9bwf7uag85],
    .kg-topology[b-9bwf7uag85] {
        min-height: 760px;
    }

    .kg-topology[b-9bwf7uag85] {
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 1rem;
        padding: 4.75rem 1rem 12.5rem;
        overflow-y: auto;
    }

    .kg-connector-svg[b-9bwf7uag85],
    .kg-topology-rings[b-9bwf7uag85] {
        opacity: 0.45;
    }

    .kg-topology-schema-card[b-9bwf7uag85],
    .kg-topology-schema-tags[b-9bwf7uag85],
    .kg-cluster-service.secondary[b-9bwf7uag85] {
        width: 100%;
        margin-left: 0;
    }

    .kg-topology-code-preview[b-9bwf7uag85] {
        left: 1rem;
        right: 1rem;
        bottom: 3.25rem;
        width: auto;
    }

    .kg-inspector[b-9bwf7uag85] {
        overflow: visible;
    }
}

@media (min-width: 1728px) {
    .popover-tab-content[b-9bwf7uag85] {
        display: grid;
        grid-template-rows: 1fr;
    }

    .change-script-sidebar[b-9bwf7uag85] {
        width: 260px;
    }

    .popover.fullscreen .change-script-sidebar[b-9bwf7uag85] {
        width: 400px;
    }

    .change-script-tab-change-script > .change-script-sql-area > .sql-editor-container[b-9bwf7uag85] {
        min-height: 120px;
    }
}

.form-section[b-9bwf7uag85] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 1rem 1.25rem;
}

.form-section.editor-section[b-9bwf7uag85] {
    padding-top: 1rem;
    display: grid;
    grid-template-rows: auto auto 1fr;
    min-height: 0;
}

.section-title[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.75rem 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.section-title .section-icon[b-9bwf7uag85] {
    font-size: 1.1rem;
    color: var(--migratrix-primary);
}

.section-title .required[b-9bwf7uag85] {
    color: var(--migratrix-danger);
}

.section-title .risk-level-hint[b-9bwf7uag85] {
    margin-left: 0.25rem;
    cursor: help;
    color: var(--migratrix-text-muted);
}

.section-title .risk-level-hint .material-symbols-outlined[b-9bwf7uag85] {
    font-size: 1rem;
}

.form-row[b-9bwf7uag85] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.form-group[b-9bwf7uag85] {
    margin-bottom: 0.75rem;
}

.form-group:last-child[b-9bwf7uag85] {
    margin-bottom: 0;
}

.form-group-flex[b-9bwf7uag85] {
    flex: 1;
    min-width: 180px;
}

.form-label[b-9bwf7uag85] {
    display: block;
    font-weight: 500;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.375rem;
    font-size: 0.875rem;
}

.form-description[b-9bwf7uag85] {
    margin: 0 0 1rem 0;
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
    line-height: 1.5;
}

.form-hint-text[b-9bwf7uag85] {
    margin: 0.5rem 0 0 0;
    font-size: 0.8125rem;
    color: var(--migratrix-text-muted);
}

.form-hint-text .form-hint-icon[b-9bwf7uag85] {
    font-size: 1rem;
    vertical-align: middle;
    margin-right: 0.25rem;
}

.file-input-hidden[b-9bwf7uag85] {
    display: none;
}

.analyze-actions[b-9bwf7uag85] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 1rem;
}

.analyze-warning[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: #fff3cd;
    border-left: 4px solid #ffc107;
    border-radius: var(--migratrix-radius-sm);
    margin-bottom: 1rem;
    font-size: 0.8125rem;
    color: #856404;
}

.analyze-warning .material-symbols-outlined[b-9bwf7uag85] {
    color: #f57c00;
    flex-shrink: 0;
}

.analysis-results[b-9bwf7uag85] {
    margin-top: 1rem;
    padding: 1rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
}

.analysis-results-header[b-9bwf7uag85] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.analysis-results-header h4[b-9bwf7uag85] {
    margin: 0;
    font-size: 1rem;
}

.editor-header[b-9bwf7uag85] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 0.75rem;
}

.editor-header label[b-9bwf7uag85] {
    font-weight: 600;
    color: var(--migratrix-text-primary);
    font-size: 0.875rem;
}

.editor-actions[b-9bwf7uag85] {
    display: flex;
    gap: 0.5rem;
}

.sql-editor-container[b-9bwf7uag85] {
    position: relative;
    height: 100%;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    overflow: hidden;
    transition: border-color 0.2s ease;
}

.sql-editor-container:hover[b-9bwf7uag85] {
    border-color: var(--migratrix-primary);
}

.analysis-inline-panel[b-9bwf7uag85] {
    min-height: 36px;
    border-radius: var(--migratrix-radius-sm);
    border: 1px solid var(--migratrix-border);
    /*margin-top: 0.5rem;*/
    overflow: hidden;
    margin-top: auto;
    background: var(--migratrix-bg-secondary);
}

.analysis-inline-panel.analyzing[b-9bwf7uag85] {
    border-left: 3px solid var(--migratrix-primary);
}

.analysis-inline-panel.has-results .analysis-inline-summary[b-9bwf7uag85] {
    border-left: 3px solid var(--migratrix-border);
}

.analysis-inline-panel.has-results:has(.analysis-icon-breaking) .analysis-inline-summary[b-9bwf7uag85] {
    border-left-color: #d32f2f;
}

.analysis-inline-panel.has-results:has(.analysis-icon-info) .analysis-inline-summary[b-9bwf7uag85] {
    border-left-color: #f57c00;
}

.analysis-inline-panel.has-results:has(.analysis-icon-safe) .analysis-inline-summary[b-9bwf7uag85] {
    border-left-color: #388e3c;
}

.analysis-inline-status[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
    color: var(--migratrix-text-secondary);
}

.analysis-inline-status .status-spinner[b-9bwf7uag85] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(0,0,0,0.1);
    border-left-color: currentColor;
    border-radius: 50%;
    animation: status-spin-b-9bwf7uag85 1s linear infinite;
}

.analysis-inline-summary[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    gap: 0.5rem 0.75rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
    cursor: pointer;
    flex-wrap: wrap;
}

.analysis-inline-summary:hover[b-9bwf7uag85] {
    background: var(--migratrix-bg-hover);
}

.analysis-icon-breaking[b-9bwf7uag85] { color: #d32f2f; font-size: 1.1rem; }
.analysis-icon-info[b-9bwf7uag85] { color: #f57c00; font-size: 1.1rem; }
.analysis-icon-safe[b-9bwf7uag85] { color: #388e3c; font-size: 1.1rem; }

.analysis-counts[b-9bwf7uag85] { color: var(--migratrix-text-primary); }
.analysis-counts .count-critical[b-9bwf7uag85] { color: #d32f2f; margin-left: 0.25rem; }
.analysis-counts .count-high[b-9bwf7uag85] { color: #f57c00; margin-left: 0.25rem; }
.analysis-services[b-9bwf7uag85] { color: var(--migratrix-text-secondary); font-size: 0.75rem; }
.analysis-inline-summary .expand-icon[b-9bwf7uag85] { margin-left: auto; font-size: 1.25rem; color: var(--migratrix-text-muted); }

.analysis-stale-indicator[b-9bwf7uag85] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--migratrix-text-muted);
    padding: 0.25rem 0.5rem;
}

.analysis-inline-deps[b-9bwf7uag85] {
    max-height: 280px;
    margin-top: 0.5rem;
}

.migratrix-btn .btn-warning-icon[b-9bwf7uag85] { color: #f57c00; font-size: 1rem; }
.migratrix-btn .btn-info-icon[b-9bwf7uag85] { color: var(--migratrix-text-muted); font-size: 1rem; }
.migratrix-btn .btn-safe-icon[b-9bwf7uag85] { color: #388e3c; font-size: 1rem; }

.kg-shell[b-9bwf7uag85] {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
}

.kg-toolbar[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    background: var(--migratrix-bg-main);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    flex-wrap: wrap;
}

.kg-toolbar-identity[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.kg-toolbar-icon[b-9bwf7uag85] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid var(--kg-toolbar-icon-border);
    border-radius: 7px;
    background: var(--kg-toolbar-icon-bg);
    color: var(--kg-toolbar-icon-color);
    flex-shrink: 0;
}

.kg-toolbar-icon .material-symbols-outlined[b-9bwf7uag85] {
    font-size: 1.05rem;
}

.kg-toolbar-title-stack[b-9bwf7uag85] {
    display: flex;
    flex-direction: column;
    gap: 0.0625rem;
}

.kg-toolbar-name[b-9bwf7uag85] {
    color: var(--migratrix-text-primary);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.2;
}

.kg-toolbar-subtitle[b-9bwf7uag85] {
    color: var(--migratrix-text-muted);
    font-size: 0.7rem;
    line-height: 1.2;
}

.kg-toolbar-sep[b-9bwf7uag85] {
    width: 1px;
    height: 22px;
    background: var(--migratrix-border);
    flex-shrink: 0;
}

.kg-toolbar-metrics[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex: 1;
    min-width: 0;
    flex-wrap: wrap;
}

.kg-toolbar-actions[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.kg-risk-pill[b-9bwf7uag85],
.kg-metric[b-9bwf7uag85] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 24px;
    padding: 0.1875rem 0.5rem;
    border-radius: 6px;
    border: 1px solid var(--migratrix-border);
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-secondary);
    font-size: 0.75rem;
    white-space: nowrap;
}

.kg-risk-pill[b-9bwf7uag85] {
    font-weight: 600;
}

.kg-risk-pill .material-symbols-outlined[b-9bwf7uag85] {
    font-size: 0.95rem;
}

.kg-risk-critical[b-9bwf7uag85] {
    border-color: #ef9a9a;
    background: #ffebee;
    color: #b71c1c;
}

.kg-risk-high[b-9bwf7uag85] {
    border-color: #ffcc80;
    background: #fff3e0;
    color: #bf5100;
}

.kg-risk-medium[b-9bwf7uag85] {
    border-color: #ffe082;
    background: #fff8e1;
    color: #7a5c00;
}

.kg-risk-low[b-9bwf7uag85] {
    border-color: #a5d6a7;
    background: #e8f5e9;
    color: #1b5e20;
}

.kg-metric strong[b-9bwf7uag85] {
    color: var(--migratrix-text-primary);
    font-weight: 700;
}

.kg-critical strong[b-9bwf7uag85] { color: #c62828; }
.kg-high strong[b-9bwf7uag85] { color: #e65100; }

.kg-icon-btn[b-9bwf7uag85],
.kg-zoom-controls button[b-9bwf7uag85] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--migratrix-border);
    border-radius: 6px;
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-secondary);
    cursor: pointer;
    transition: all 0.15s ease;
}

.kg-icon-btn:hover[b-9bwf7uag85],
.kg-zoom-controls button:hover[b-9bwf7uag85] {
    border-color: var(--migratrix-primary);
    color: var(--migratrix-primary);
    background: var(--migratrix-bg-hover);
}

.kg-icon-btn .material-symbols-outlined[b-9bwf7uag85],
.kg-zoom-controls .material-symbols-outlined[b-9bwf7uag85] {
    font-size: 1rem;
}

.kg-workspace[b-9bwf7uag85] {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 34%);
    gap: 0.75rem;
}

.kg-canvas-panel[b-9bwf7uag85] {
    position: relative;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--kg-canvas-bg);
    transition: background 0.3s ease;
}

.kg-canvas-controls[b-9bwf7uag85] {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    right: 0.75rem;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    pointer-events: none;
}

.kg-canvas-controls > *[b-9bwf7uag85] {
    pointer-events: auto;
}

.kg-segmented[b-9bwf7uag85],
.kg-zoom-controls[b-9bwf7uag85] {
    display: inline-flex;
    align-items: center;
    gap: 0.125rem;
    padding: 0.125rem;
    border: 1px solid #c5d0dc;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 2px 6px rgba(0,0,0,0.07);
}

.kg-segmented button[b-9bwf7uag85] {
    border: 0;
    border-radius: 4px;
    padding: 0.25rem 0.5rem;
    background: transparent;
    color: var(--migratrix-text-secondary);
    font-size: 0.72rem;
    cursor: pointer;
}

.kg-segmented button.active[b-9bwf7uag85] {
    background: var(--migratrix-primary);
    color: #fff;
}

.kg-zoom-controls button[b-9bwf7uag85] {
    width: 24px;
    height: 24px;
    border: 0;
    background: transparent;
}

.kg-canvas-panel .knowledge-graph-svg[b-9bwf7uag85] {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    border-radius: 0;
    transition: background 0.3s ease;
}

/* ── Knowledge Graph SVG nodes ───────────────────────────────────────────── */
.kg-svg-bg[b-9bwf7uag85] {
    fill: var(--kg-canvas-bg);
    transition: fill 0.3s ease;
}

.kg-dot-pattern-point[b-9bwf7uag85] {
    fill: var(--kg-dot-color);
}

.kg-node-halo[b-9bwf7uag85] {
    fill-opacity: var(--kg-node-halo-opacity);
    transition: fill-opacity 0.2s ease;
}

.kg-repo-group:hover .kg-node-halo[b-9bwf7uag85] {
    fill-opacity: calc(var(--kg-node-halo-opacity) * 2.2);
}

.kg-node-repo[b-9bwf7uag85] {
    stroke: var(--kg-node-stroke);
    transition: filter 0.2s ease;
    cursor: pointer;
}

.kg-repo-group:hover .kg-node-repo[b-9bwf7uag85] {
    filter: url(#kg-shadow) brightness(1.15);
}

@media (prefers-color-scheme: dark) {
    .kg-node-repo[b-9bwf7uag85] {
        filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.12));
    }

    .kg-repo-group:hover .kg-node-repo[b-9bwf7uag85] {
        filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.22)) brightness(1.2);
    }
}

.dark .kg-node-repo[b-9bwf7uag85] {
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.12));
}

.dark .kg-repo-group:hover .kg-node-repo[b-9bwf7uag85] {
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.22)) brightness(1.2);
}

.kg-node-file[b-9bwf7uag85] {
    stroke: var(--kg-node-stroke);
    stroke-width: 1.5;
    cursor: pointer;
    transition: r 0.15s ease;
}

.kg-file-group:hover .kg-node-file[b-9bwf7uag85] {
    filter: brightness(1.2);
}

/* ── Knowledge Graph inspector stats grid ───────────────────────────────── */
.kg-inspector-stats[b-9bwf7uag85] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    padding: 0.625rem;
    border-bottom: 1px solid var(--migratrix-border);
    flex-shrink: 0;
    background: var(--kg-stats-bg);
}

.kg-stat-cell[b-9bwf7uag85] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.25rem;
    border-radius: 6px;
    border: 1px solid var(--kg-stats-border);
    background: var(--migratrix-bg-card);
    gap: 0.125rem;
}

.kg-stat-cell strong[b-9bwf7uag85] {
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1;
}

.kg-stat-cell span[b-9bwf7uag85] {
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--migratrix-text-muted);
}

.kg-stat-critical strong[b-9bwf7uag85] { color: #dc2626; }
.kg-stat-high strong[b-9bwf7uag85] { color: #c2410c; }
.kg-stat-medium strong[b-9bwf7uag85] { color: #a16207; }
.kg-stat-low strong[b-9bwf7uag85] { color: #166534; }

/* ── Dependency detail card in inspector ─────────────────────────────────── */
.kg-dep-detail[b-9bwf7uag85] {
    padding: 0 !important;
    overflow: hidden;
}

.kg-dep-detail-header[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.45rem 0.625rem;
    border-bottom: 1px solid var(--migratrix-border);
    background: var(--migratrix-bg-secondary);
    flex-wrap: wrap;
}

.kg-dep-detail-header .material-symbols-outlined[b-9bwf7uag85] {
    font-size: 0.9rem;
    color: var(--migratrix-text-muted);
    flex-shrink: 0;
}

.kg-dep-detail-path[b-9bwf7uag85] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: Consolas, "Cascadia Code", Monaco, "Courier New", monospace;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.kg-dep-detail-meta[b-9bwf7uag85] {
    padding: 0.3rem 0.625rem;
    font-size: 0.68rem;
    color: var(--migratrix-text-muted);
    border-bottom: 1px solid var(--migratrix-border);
    background: var(--migratrix-bg-secondary);
}

.kg-dep-detail-code[b-9bwf7uag85] {
    margin: 0;
    padding: 0.625rem;
    max-height: 130px;
    overflow: auto;
    font-family: Consolas, "Cascadia Code", Monaco, "Courier New", monospace;
    font-size: 0.7rem;
    line-height: 1.5;
    white-space: pre;
    background: var(--kg-dep-code-bg);
    color: var(--kg-dep-code-color);
    transition: background 0.3s ease, color 0.3s ease;
}

.kg-dot[b-9bwf7uag85] {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 2px;
    display: inline-block;
}

.kg-dot-critical[b-9bwf7uag85] { background: #c62828; }
.kg-dot-high[b-9bwf7uag85] { background: #e65100; }
.kg-dot-medium[b-9bwf7uag85] { background: #f9a825; }
.kg-dot-low[b-9bwf7uag85] { background: #2e7d32; }

.kg-service-pill rect[b-9bwf7uag85] {
    fill: var(--kg-card-bg);
    stroke: var(--kg-card-border);
    stroke-width: 1;
}

.kg-inspector[b-9bwf7uag85] {
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    display: flex;
    flex-direction: column;
    transition: background 0.3s ease;
}

.kg-inspector-body[b-9bwf7uag85] {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 0.625rem 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.kg-impact-summary[b-9bwf7uag85] {
    padding: 0.875rem 0.875rem 0.75rem;
    background: var(--migratrix-bg-card);
    border-bottom: 1px solid var(--migratrix-border);
    flex-shrink: 0;
}

.kg-impact-summary-row[b-9bwf7uag85] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.kg-impact-summary-label[b-9bwf7uag85] {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--migratrix-text-muted);
    margin-bottom: 0.125rem;
}

.kg-impact-summary-service[b-9bwf7uag85] {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
}

.kg-impact-risk[b-9bwf7uag85] {
    text-align: right;
}

.kg-impact-risk-word[b-9bwf7uag85] {
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.kg-impact-risk-word.kg-risk-critical[b-9bwf7uag85] { color: #dc2626; }
.kg-impact-risk-word.kg-risk-high[b-9bwf7uag85] { color: #c2410c; }
.kg-impact-risk-word.kg-risk-medium[b-9bwf7uag85] { color: #a16207; }
.kg-impact-risk-word.kg-risk-low[b-9bwf7uag85] { color: #166534; }

.kg-impact-risk-sub[b-9bwf7uag85] {
    font-size: 0.6875rem;
    color: var(--migratrix-text-muted);
    margin-top: 0.125rem;
}

.kg-impact-stat-grid[b-9bwf7uag85] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0.375rem;
}

.kg-impact-stat[b-9bwf7uag85] {
    text-align: center;
    padding: 0.4rem 0.25rem;
    background: var(--kg-stats-bg);
    border: 1px solid var(--kg-stats-border);
    border-radius: 6px;
}

.kg-impact-stat-num[b-9bwf7uag85] {
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1;
}

.kg-impact-critical[b-9bwf7uag85] { color: #dc2626; }
.kg-impact-high[b-9bwf7uag85]     { color: #c2410c; }
.kg-impact-medium[b-9bwf7uag85]   { color: #a16207; }
.kg-impact-low[b-9bwf7uag85]      { color: #166534; }

.kg-impact-stat-lbl[b-9bwf7uag85] {
    font-size: 0.625rem;
    color: var(--migratrix-text-muted);
    margin-top: 0.2rem;
}

.kg-inspector-scroll-area[b-9bwf7uag85] {
    flex: 1;
    overflow-y: auto;
    padding: 0.625rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.kg-inspector-card[b-9bwf7uag85] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 0.625rem 0.75rem;
    flex-shrink: 0;
}

.kg-inspector-card-gap[b-9bwf7uag85] {
    flex-shrink: 0;
}

.kg-card-label[b-9bwf7uag85] {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--migratrix-text-secondary);
    margin-bottom: 0.5rem;
}

.kg-chip-row[b-9bwf7uag85] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.kg-chip[b-9bwf7uag85] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0.25rem 0.5rem;
    border-radius: 5px;
    background: var(--kg-chip-bg);
    color: var(--kg-chip-text);
    border: 1px solid var(--kg-chip-border);
    font-size: 0.72rem;
    font-weight: 600;
}

.kg-reference-list[b-9bwf7uag85] {
    display: grid;
    gap: 0.375rem;
}

.kg-reference-row[b-9bwf7uag85] {
    width: 100%;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem;
    border: 1px solid var(--migratrix-border);
    border-radius: 6px;
    background: var(--migratrix-bg-secondary);
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.kg-reference-row:hover[b-9bwf7uag85] {
    border-color: var(--migratrix-primary);
    background: var(--migratrix-bg-hover);
}

.kg-reference-rank[b-9bwf7uag85] {
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--migratrix-text-muted);
    text-align: center;
    line-height: 1;
}

.kg-reference-main[b-9bwf7uag85] {
    min-width: 0;
    display: grid;
    gap: 0.125rem;
}

.kg-reference-file[b-9bwf7uag85],
.kg-reference-meta[b-9bwf7uag85] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kg-reference-file[b-9bwf7uag85] {
    color: var(--migratrix-text-primary);
    font-family: Consolas, "Cascadia Code", Monaco, "Courier New", monospace;
    font-size: 0.75rem;
    font-weight: 600;
}

.kg-reference-meta[b-9bwf7uag85] {
    color: var(--migratrix-text-muted);
    font-size: 0.68rem;
}

.kg-code-preview[b-9bwf7uag85] {
    margin-top: 0.875rem;
    border: 1px solid var(--migratrix-border);
    border-radius: 6px;
    overflow: hidden;
    background: var(--migratrix-bg-secondary);
}

.kg-code-preview-header[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.4rem 0.5rem;
    border-bottom: 1px solid var(--migratrix-border);
    color: var(--migratrix-text-secondary);
    font-size: 0.68rem;
}

.kg-code-preview-header span:first-child[b-9bwf7uag85] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kg-code-preview pre[b-9bwf7uag85] {
    margin: 0;
    max-height: 180px;
    overflow: auto;
    padding: 0.625rem;
    color: var(--migratrix-text-primary);
    font-size: 0.72rem;
    line-height: 1.5;
    white-space: pre;
}

mark.kg-hl-table[b-9bwf7uag85] {
    background: rgba(37, 99, 235, 0.18);
    color: #1d4ed8;
    border-radius: 2px;
    padding: 0 2px;
    font-style: normal;
}

mark.kg-hl-column[b-9bwf7uag85] {
    background: rgba(234, 88, 12, 0.15);
    color: #c2410c;
    border-radius: 2px;
    padding: 0 2px;
    font-style: normal;
}

.kg-breakdown-row[b-9bwf7uag85] {
    display: grid;
    grid-template-columns: minmax(58px, 0.6fr) minmax(52px, 1fr) auto;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.375rem;
    font-size: 0.72rem;
    color: var(--migratrix-text-secondary);
}

.kg-breakdown-track[b-9bwf7uag85] {
    height: 6px;
    border-radius: 999px;
    background: var(--migratrix-bg-hover);
    overflow: hidden;
}

.kg-breakdown-track i[b-9bwf7uag85] {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--migratrix-primary);
}

.kg-breakdown-row strong[b-9bwf7uag85],
.kg-type-row strong[b-9bwf7uag85] {
    color: var(--migratrix-text-primary);
}

.kg-type-row[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--migratrix-border);
    color: var(--migratrix-text-secondary);
    font-size: 0.72rem;
}

.kg-type-row:last-child[b-9bwf7uag85] {
    border-bottom: 0;
}

/* ── Knowledge Graph topology canvas ─────────────────────────────────────── */
.kg-workspace-topology[b-9bwf7uag85] {
    grid-template-columns: minmax(0, 1fr);
}

.kg-workspace-topology .kg-canvas-panel[b-9bwf7uag85] {
    min-height: 560px;
}

.kg-workspace-topology .kg-segmented[b-9bwf7uag85],
.kg-workspace-topology .kg-zoom-controls[b-9bwf7uag85],
.kg-workspace-topology[b-9bwf7uag85] {
    border-color: var(--kg-card-border);
    background: var(--kg-control-bg);
    color: var(--kg-label-secondary);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.10);
}

.kg-topology[b-9bwf7uag85] {
    position: relative;
    min-height: 560px;
    height: 100%;
    overflow: hidden;
    padding: 5.5rem 2.25rem 5.25rem;
    display: grid;
    grid-template-columns: minmax(170px, 0.7fr) minmax(320px, 1.15fr) minmax(360px, 1.25fr);
    align-items: center;
    gap: clamp(1.25rem, 3vw, 3rem);
    background:
        radial-gradient(circle at 44% 48%, transparent 0 128px, var(--kg-ring-color) 129px 130px, transparent 131px 218px, var(--kg-ring-color) 219px 220px, transparent 221px),
        radial-gradient(circle at 45% 50%, rgba(37, 99, 235, 0.08), transparent 35%),
        radial-gradient(circle at 72% 52%, rgba(220, 38, 38, 0.08), transparent 30%),
        linear-gradient(90deg, transparent 0 27px, var(--kg-dot-color) 28px, transparent 29px),
        linear-gradient(0deg, transparent 0 27px, var(--kg-dot-color) 28px, transparent 29px),
        var(--kg-canvas-bg);
    background-size: auto, auto, auto, 28px 28px, 28px 28px, auto;
}

.kg-topology-rings[b-9bwf7uag85],
.kg-topology-rings span[b-9bwf7uag85] {
    position: absolute;
    border: 1px dashed var(--kg-ring-color);
    border-radius: 999px;
    opacity: 0.62;
}

.kg-topology-rings span:nth-child(1)[b-9bwf7uag85] {
    width: 390px;
    height: 390px;
    left: 24%;
    top: 24%;
}

.kg-topology-rings span:nth-child(2)[b-9bwf7uag85] {
    width: 560px;
    height: 560px;
    left: 19%;
    top: 13%;
    opacity: 0.38;
}

.kg-topology-rings span:nth-child(3)[b-9bwf7uag85] {
    width: 360px;
    height: 360px;
    right: 11%;
    top: 26%;
    opacity: 0.34;
}

/* Overlay for the measured connector arrows; the paths themselves are created and
   styled inline by kg-impact-map.js (scoped CSS can't reach JS-created nodes). */
.kg-connector-svg[b-9bwf7uag85] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
    z-index: 0;
}

.kg-topology-schema[b-9bwf7uag85],
.kg-topology-services[b-9bwf7uag85],
.kg-topology-evidence[b-9bwf7uag85] {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.kg-topology-label[b-9bwf7uag85] {
    margin-bottom: 0.55rem;
    color: var(--kg-label-secondary);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.kg-topology-schema-card[b-9bwf7uag85] {
    width: min(100%, 180px);
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 0.55rem;
    padding: 1rem;
    border: 1px solid var(--kg-card-border);
    border-radius: 8px;
    background: var(--kg-card-bg);
    box-shadow: var(--kg-card-shadow);
    color: var(--kg-label-primary);
    text-align: center;
}

.kg-topology-schema-card .material-symbols-outlined[b-9bwf7uag85] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.14);
    color: #2563eb;
    font-size: 1.8rem;
}

.kg-topology-schema-card strong[b-9bwf7uag85] {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
    line-height: 1.25;
    font-size: 0.92rem;
}

.kg-topology-schema-card small[b-9bwf7uag85] {
    color: var(--kg-label-secondary);
    font-size: 0.78rem;
    font-weight: 600;
}

.kg-topology-schema-tags[b-9bwf7uag85] {
    width: min(100%, 250px);
    margin-top: 0.75rem;
}

.kg-service-cluster[b-9bwf7uag85] {
    position: relative;
    display: grid;
    gap: 0.65rem;
}

.kg-cluster-service[b-9bwf7uag85] {
    position: relative;
    width: 100%;
    min-height: 78px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.8rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--kg-card-border);
    border-left: 5px solid #dc2626;
    border-radius: 8px;
    background: var(--kg-card-bg-strong);
    color: var(--kg-label-primary);
    text-align: left;
    box-shadow: var(--kg-card-shadow);
    cursor: pointer;
}

.kg-cluster-service.primary[b-9bwf7uag85] {
    min-height: 96px;
    transform: translateX(0);
}

.kg-cluster-service.secondary[b-9bwf7uag85] {
    width: calc(100% - 2.25rem);
    margin-left: 1.25rem;
    opacity: 0.94;
}

.kg-cluster-service.kg-risk-high[b-9bwf7uag85] { border-left-color: #ea580c; }
.kg-cluster-service.kg-risk-medium[b-9bwf7uag85] { border-left-color: #f59e0b; }
.kg-cluster-service.kg-risk-low[b-9bwf7uag85] { border-left-color: #2e7d32; }
.kg-cluster-service.kg-risk-unknown[b-9bwf7uag85] { border-left-color: #64748b; }

.kg-cluster-service-icon[b-9bwf7uag85] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(220, 38, 38, 0.11);
    color: #dc2626;
    font-size: 2rem;
}

.kg-cluster-service-main[b-9bwf7uag85] {
    min-width: 0;
    display: grid;
    gap: 0.25rem;
}

.kg-cluster-service-main strong[b-9bwf7uag85],
.kg-evidence-main strong[b-9bwf7uag85] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--kg-label-primary);
}

.kg-cluster-service-main small[b-9bwf7uag85],
.kg-evidence-main small[b-9bwf7uag85] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--kg-label-secondary);
    font-size: 0.74rem;
    font-weight: 600;
}

.kg-topology-service-chips[b-9bwf7uag85] {
    margin-top: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.kg-topology .kg-chip[b-9bwf7uag85] {
    background: var(--kg-chip-bg);
    color: var(--kg-chip-text);
    border-color: var(--kg-chip-border);
}

.kg-evidence-rail[b-9bwf7uag85] {
    display: grid;
    gap: 0.75rem;
}

.kg-evidence-card[b-9bwf7uag85] {
    position: relative;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    min-height: 70px;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--kg-card-border);
    border-left: 5px solid #dc2626;
    border-radius: 8px;
    background: var(--kg-card-bg);
    color: var(--kg-label-primary);
    text-align: left;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.08);
    cursor: pointer;
}

.kg-evidence-card:hover[b-9bwf7uag85],
.kg-cluster-service:hover[b-9bwf7uag85] {
    border-color: color-mix(in srgb, var(--migratrix-primary) 58%, var(--kg-card-border));
    transform: translateY(-1px);
}

.kg-evidence-card.kg-risk-high[b-9bwf7uag85] { border-left-color: #ea580c; }
.kg-evidence-card.kg-risk-medium[b-9bwf7uag85] { border-left-color: #f59e0b; }
.kg-evidence-card.kg-risk-low[b-9bwf7uag85] { border-left-color: #2e7d32; }
.kg-evidence-card.kg-risk-unknown[b-9bwf7uag85] { border-left-color: #64748b; }

.kg-evidence-rank[b-9bwf7uag85] {
    color: var(--kg-label-muted);
    font-size: 0.76rem;
    font-weight: 800;
    text-align: center;
}

.kg-evidence-main[b-9bwf7uag85] {
    min-width: 0;
    display: grid;
    gap: 0.2rem;
}

.kg-topology-code-preview[b-9bwf7uag85] {
    position: absolute;
    z-index: 2;
    left: 20%;
    bottom: 1rem;
    width: min(500px, 44%);
    margin-top: 0;
    background: var(--kg-card-bg);
    box-shadow: var(--kg-card-shadow);
}

.kg-topology-code-preview pre[b-9bwf7uag85] {
    background: var(--kg-dep-code-bg);
    color: var(--kg-dep-code-color);
}

.popover:not(.fullscreen) .kg-workspace-topology .kg-canvas-panel[b-9bwf7uag85] {
    height: 350px;
    min-height: 350px;
    max-height: 350px;
}

.popover:not(.fullscreen) .kg-toolbar[b-9bwf7uag85] {
    padding: 0.5rem 0.625rem;
    gap: 0.45rem;
}

.popover:not(.fullscreen) .kg-toolbar-icon[b-9bwf7uag85] {
    width: 24px;
    height: 24px;
    border-radius: 6px;
}

.popover:not(.fullscreen) .kg-toolbar-icon .material-symbols-outlined[b-9bwf7uag85] {
    font-size: 0.9rem;
}

.popover:not(.fullscreen) .kg-toolbar-name[b-9bwf7uag85] {
    font-size: 0.78rem;
}

.popover:not(.fullscreen) .kg-toolbar-subtitle[b-9bwf7uag85] {
    font-size: 0.62rem;
}

.popover:not(.fullscreen) .kg-risk-pill[b-9bwf7uag85],
.popover:not(.fullscreen) .kg-metric[b-9bwf7uag85] {
    min-height: 20px;
    padding: 0.12rem 0.38rem;
    font-size: 0.66rem;
}

.popover:not(.fullscreen) .kg-icon-btn[b-9bwf7uag85],
.popover:not(.fullscreen) .kg-zoom-controls button[b-9bwf7uag85] {
    width: 24px;
    height: 24px;
}

.popover:not(.fullscreen) .kg-canvas-controls[b-9bwf7uag85] {
    top: 0.55rem;
    left: 0.55rem;
    right: 0.55rem;
}

.popover:not(.fullscreen) .kg-segmented button[b-9bwf7uag85] {
    padding: 0.2rem 0.42rem;
    font-size: 0.64rem;
}

.popover:not(.fullscreen) .kg-topology[b-9bwf7uag85] {
    height: 350px;
    min-height: 350px;
    grid-template-columns: minmax(118px, 0.68fr) minmax(220px, 1fr) minmax(240px, 1.08fr);
    grid-template-rows: 1fr;
    align-items: center;
    gap: 0.65rem;
    padding: 3.4rem 0.8rem 2.85rem;
}

.popover:not(.fullscreen) .kg-topology-schema[b-9bwf7uag85] {
    grid-column: 1;
    grid-row: 1;
}

.popover:not(.fullscreen) .kg-topology-services[b-9bwf7uag85] {
    grid-column: 2;
    grid-row: 1;
    width: min(100%, 270px);
}

.popover:not(.fullscreen) .kg-topology-evidence[b-9bwf7uag85] {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
}

.popover:not(.fullscreen) .kg-topology-rings span:nth-child(1)[b-9bwf7uag85] {
    width: 230px;
    height: 230px;
    left: 31%;
    top: 18%;
}

.popover:not(.fullscreen) .kg-topology-rings span:nth-child(2)[b-9bwf7uag85] {
    width: 330px;
    height: 330px;
    left: 25%;
    top: 2%;
}

.popover:not(.fullscreen) .kg-topology-rings span:nth-child(3)[b-9bwf7uag85] {
    width: 230px;
    height: 230px;
    right: 6%;
    top: 22%;
}

.popover:not(.fullscreen) .kg-topology-label[b-9bwf7uag85] {
    margin-bottom: 0.32rem;
    font-size: 0.58rem;
    letter-spacing: 0.11em;
}

.popover:not(.fullscreen) .kg-topology-schema-card[b-9bwf7uag85],
.popover:not(.fullscreen) .kg-topology-schema-tags[b-9bwf7uag85] {
    width: min(100%, 110px);
}

.popover:not(.fullscreen) .kg-topology-schema-card[b-9bwf7uag85] {
    gap: 0.28rem;
    padding: 0.55rem;
}

.popover:not(.fullscreen) .kg-topology-schema-card .material-symbols-outlined[b-9bwf7uag85] {
    border-radius: 9px;
    font-size: 1.5rem;
}

.popover:not(.fullscreen) .kg-topology-schema-card strong[b-9bwf7uag85] {
    font-size: 0.68rem;
}

.popover:not(.fullscreen) .kg-topology-schema-card small[b-9bwf7uag85],
.popover:not(.fullscreen) .kg-cluster-service-main small[b-9bwf7uag85],
.popover:not(.fullscreen) .kg-evidence-main small[b-9bwf7uag85] {
    font-size: 0.56rem;
}

.popover:not(.fullscreen) .kg-schema-changes span[b-9bwf7uag85] {
    padding: 0.18rem 0.32rem;
    font-size: 0.58rem;
}

.popover:not(.fullscreen) .kg-service-cluster[b-9bwf7uag85],
.popover:not(.fullscreen) .kg-evidence-rail[b-9bwf7uag85] {
    gap: 0.38rem;
}

.popover:not(.fullscreen) .kg-cluster-service[b-9bwf7uag85] {
    min-height: 54px;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 0.42rem;
    padding: 0.45rem 0.5rem;
    border-left-width: 4px;
}

.popover:not(.fullscreen) .kg-cluster-service.primary[b-9bwf7uag85] {
    min-height: 60px;
}

.popover:not(.fullscreen) .kg-cluster-service.secondary[b-9bwf7uag85] {
    display: none;
}

.popover:not(.fullscreen) .kg-cluster-service-icon[b-9bwf7uag85] {
    border-radius: 8px;
    font-size: 1.5rem;
}

.popover:not(.fullscreen) .kg-cluster-service-main strong[b-9bwf7uag85],
.popover:not(.fullscreen) .kg-evidence-main strong[b-9bwf7uag85] {
    font-size: 0.66rem;
}

.popover:not(.fullscreen) .kg-service-card-tags[b-9bwf7uag85] {
    display: none;
}

.popover:not(.fullscreen) .kg-topology-service-chips[b-9bwf7uag85] {
    margin-top: 0.35rem;
}

.popover:not(.fullscreen) .kg-topology-service-chips .kg-chip:not(:first-child)[b-9bwf7uag85] {
    display: none;
}

.popover:not(.fullscreen) .kg-evidence-card[b-9bwf7uag85] {
    min-height: 48px;
    grid-template-columns: 16px minmax(0, 1fr) auto;
    gap: 0.36rem;
    padding: 0.4rem 0.45rem;
    border-left-width: 4px;
}

.popover:not(.fullscreen) .severity-badge[b-9bwf7uag85] {
    padding: 0.18rem 0.36rem;
    border-radius: 5px;
    font-size: 0.62rem;
}

.popover:not(.fullscreen) .kg-evidence-card:nth-child(n+3)[b-9bwf7uag85] {
    display: none;
}

.popover:not(.fullscreen) .kg-evidence-rank[b-9bwf7uag85] {
    font-size: 0.58rem;
}

.popover:not(.fullscreen) .kg-code-preview[b-9bwf7uag85] {
    display: none;
}

.popover:not(.fullscreen) .kg-dot[b-9bwf7uag85] {
    width: 0.44rem;
    height: 0.44rem;
}

.kg-review-strip[b-9bwf7uag85] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-secondary);
    color: var(--migratrix-text-primary);
    font-size: 0.8125rem;
}

.kg-review-strip > .material-symbols-outlined[b-9bwf7uag85] {
    font-size: 1.1rem;
}

.kg-review-strip.kg-risk-critical[b-9bwf7uag85] {
    border-color: var(--kg-review-critical-border);
    background: var(--kg-review-critical-bg);
}

.kg-review-strip.kg-risk-high[b-9bwf7uag85] {
    border-color: var(--kg-review-high-border);
    background: var(--kg-review-high-bg);
}

.kg-review-strip.kg-risk-low[b-9bwf7uag85] {
    border-color: var(--kg-review-low-border);
    background: var(--kg-review-low-bg);
}

.kg-review-strip.reviewed[b-9bwf7uag85] {
    border-color: var(--kg-review-low-border);
    background: var(--kg-review-low-bg);
}

.kg-review-strip.reviewed > .material-symbols-outlined[b-9bwf7uag85] {
    color: #2e7d32;
}

@media (max-width: 1024px) {
    .kg-toolbar[b-9bwf7uag85] {
        align-items: flex-start;
        flex-wrap: wrap;
        row-gap: 0.5rem;
    }

    .kg-toolbar-sep[b-9bwf7uag85] {
        display: none;
    }

    .kg-toolbar-metrics[b-9bwf7uag85] {
        flex-basis: 100%;
    }

    .kg-toolbar-actions[b-9bwf7uag85] {
        margin-left: auto;
    }

    .kg-workspace[b-9bwf7uag85] {
        display: flex;
        flex-direction: column;
        overflow-y: auto;
    }

    .kg-canvas-panel[b-9bwf7uag85] {
        min-height: 360px;
        flex-shrink: 0;
    }

    .kg-workspace-topology .kg-canvas-panel[b-9bwf7uag85],
    .kg-topology[b-9bwf7uag85] {
        min-height: 760px;
    }

    .kg-topology[b-9bwf7uag85] {
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 1rem;
        padding: 4.75rem 1rem 12.5rem;
        overflow-y: auto;
    }

    .kg-connector-svg[b-9bwf7uag85],
    .kg-topology-rings[b-9bwf7uag85] {
        opacity: 0.45;
    }

    .kg-topology-schema-card[b-9bwf7uag85],
    .kg-topology-schema-tags[b-9bwf7uag85],
    .kg-cluster-service.secondary[b-9bwf7uag85] {
        width: 100%;
        margin-left: 0;
    }

    .kg-inspector[b-9bwf7uag85] {
        overflow: visible;
    }

    .kg-review-strip[b-9bwf7uag85] {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .kg-review-strip .migratrix-btn[b-9bwf7uag85] {
        justify-content: center;
    }
}

.popover.fullscreen .popover-content[b-9bwf7uag85] {
    min-height: 0;
}

.popover.fullscreen .popover-main[b-9bwf7uag85] {
    min-height: 0;
}

.popover.fullscreen .popover-tab-content[b-9bwf7uag85] {
    min-height: 0;
    display: grid;
    grid-template-rows: 1fr;
}

.popover.fullscreen .change-script-popover-form-editor[b-9bwf7uag85] {
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 0;
}

.popover.fullscreen .form-section.editor-section[b-9bwf7uag85] {
    display: grid;
    grid-template-rows: auto auto 1fr;
    min-height: 0;
}

.sql-editor-container.fullscreen[b-9bwf7uag85] {
    height: 100%;
    min-height: 200px;
}

.popover.fullscreen .kg-service-cluster[b-9bwf7uag85] {
    margin-left: -3rem;
    max-width: 320px;
}

.file-upload-label[b-9bwf7uag85] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    background: transparent;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    cursor: pointer;
    transition: all 0.2s ease;
    color: var(--migratrix-text-primary);
}

.file-upload-label:hover[b-9bwf7uag85] {
    background-color: var(--migratrix-bg-hover);
    border-color: var(--migratrix-primary);
    color: var(--migratrix-primary);
}

.file-upload-label .material-symbols-outlined[b-9bwf7uag85] {
    font-size: 18px;
}

.migratrix-btn-icon[b-9bwf7uag85] {
    padding: 0.5rem;
    background: transparent;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    color: var(--migratrix-text-primary);
}

.drag-drop-overlay[b-9bwf7uag85] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(74, 137, 220, 0.9);
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: white;
    cursor: pointer;
    z-index: 10;
    border-radius: var(--migratrix-radius-sm);
}

.drag-drop-enabled.dragging .drag-drop-overlay[b-9bwf7uag85] {
    display: flex;
    border: 2px dashed white;
}

.drag-drop-overlay .material-symbols-outlined[b-9bwf7uag85] {
    font-size: 48px;
    color: white;
    margin-bottom: 0.75rem;
}

.drag-drop-overlay p[b-9bwf7uag85] {
    font-size: 0.875rem;
    color: white;
    font-weight: 500;
    text-align: center;
    margin: 0;
}

.checkbox-container[b-9bwf7uag85] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.migratrix-btn.action[b-9bwf7uag85] {

    border: 1px solid var(--migratrix-primary);
    background: var(--migratrix-primary);
    color: white;
    border-radius: var(--migratrix-radius-sm);
    transition: all 0.2s;
    text-decoration: none;
}

@keyframes status-spin-b-9bwf7uag85 {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.script-info[b-9bwf7uag85] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.script-info .form-label[b-9bwf7uag85] {
    text-align: right;
}

.script-info .form-control[b-9bwf7uag85] {
    width: 250px;
}

.resize-handle[b-9bwf7uag85] {
    display: none;
}

.change-script-popover:not(.fullscreen) .resize-handle[b-9bwf7uag85] {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 16px;

    background: linear-gradient(-45deg, transparent 30%, var(--migratrix-border) 30%, var(--migratrix-border) 40%, transparent 40%, transparent 60%, var(--migratrix-border) 60%, var(--migratrix-border) 70%, transparent 70%);
    cursor: nw-resize;
}

@keyframes fadeIn-b-9bwf7uag85 {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.monaco-container[b-9bwf7uag85] {
    height: 100%;
    border-radius: var(--migratrix-radius-sm);
    overflow: hidden;
}

@media (max-width: 1727px) {
    .popover-tabs[b-9bwf7uag85] {
        padding: 0.2rem;
        margin-bottom: 0.75rem;
        gap: 0.2rem;
    }

    .popover-tab[b-9bwf7uag85] {
        padding: 0.4rem 0.65rem;
        font-size: 0.8125rem;
    }

    .popover-tab-content[b-9bwf7uag85] {
        min-height: 0;
    }

    .change-script-popover-form[b-9bwf7uag85] {
        gap: 0.75rem;
    }

    .form-section[b-9bwf7uag85] {
        padding: 0.6rem 0.875rem;
    }

    .form-section.editor-section[b-9bwf7uag85] {
        padding-top: 0.6rem;
    }

    .kg-workspace-topology .kg-canvas-panel[b-9bwf7uag85] {
        min-height: 500px;
    }

    .kg-topology[b-9bwf7uag85] {
        min-height: 500px;
        grid-template-columns: minmax(150px, 0.62fr) minmax(280px, 1fr) minmax(300px, 1.05fr);
        gap: clamp(0.75rem, 2vw, 1.5rem);
        padding: 4.75rem 1.25rem 4.5rem;
    }

    .kg-topology-label[b-9bwf7uag85] {
        margin-bottom: 0.45rem;
        font-size: 0.68rem;
    }

    .kg-topology-schema-card[b-9bwf7uag85],
    .kg-topology-schema-tags[b-9bwf7uag85] {
        width: min(100%, 150px);
    }

    .kg-topology-schema-card[b-9bwf7uag85] {
        gap: 0.45rem;
        padding: 0.8rem;
    }

    .kg-topology-schema-card .material-symbols-outlined[b-9bwf7uag85] {
        font-size: 2rem;
    }

    .kg-topology-schema-card strong[b-9bwf7uag85] {
        font-size: 0.84rem;
    }

    .kg-topology-schema-card small[b-9bwf7uag85] {
        font-size: 0.72rem;
    }

    .kg-service-cluster[b-9bwf7uag85],
    .kg-evidence-rail[b-9bwf7uag85] {
        gap: 0.55rem;
    }

    .kg-cluster-service[b-9bwf7uag85] {
        min-height: 68px;
        grid-template-columns: 40px minmax(0, 1fr) auto;
        gap: 0.6rem;
        padding: 0.65rem 0.7rem;
    }

    .kg-cluster-service.primary[b-9bwf7uag85] {
        min-height: 82px;
    }

    .kg-cluster-service.secondary[b-9bwf7uag85] {
        width: calc(100% - 1.25rem);
        margin-left: 0.75rem;
    }

    .kg-cluster-service-icon[b-9bwf7uag85] {
        font-size: 2rem;
    }

    .kg-cluster-service-main strong[b-9bwf7uag85],
    .kg-evidence-main strong[b-9bwf7uag85] {
        font-size: 0.86rem;
    }

    .kg-cluster-service-main small[b-9bwf7uag85],
    .kg-evidence-main small[b-9bwf7uag85] {
        font-size: 0.68rem;
    }

    .kg-service-card-tags em[b-9bwf7uag85],
    .kg-chip[b-9bwf7uag85] {
        font-size: 0.68rem;
    }

    .kg-evidence-card[b-9bwf7uag85] {
        min-height: 62px;
        grid-template-columns: 20px minmax(0, 1fr) auto;
        gap: 0.55rem;
        padding: 0.6rem 0.65rem;
    }

    .kg-evidence-rank[b-9bwf7uag85] {
        font-size: 0.7rem;
    }

    .kg-topology-code-preview[b-9bwf7uag85] {
        left: 20%;
        bottom: 0.8rem;
        width: min(420px, 50%);
    }

    .kg-topology-code-preview pre[b-9bwf7uag85] {
        max-height: 110px;
        font-size: 0.68rem;
    }

    .section-title[b-9bwf7uag85] {
        gap: 0.375rem;
        margin: 0 0 0.5rem 0;
        font-size: 0.8125rem;
    }

    .section-title .section-icon[b-9bwf7uag85] {
        font-size: 1rem;
    }

    .form-row[b-9bwf7uag85] {
        gap: 0.65rem;
    }

    .form-group[b-9bwf7uag85] {
        margin-bottom: 0.5rem;
    }

    .form-label[b-9bwf7uag85] {
        margin-bottom: 0.25rem;
        font-size: 0.8125rem;
    }

    .migratrix-input[b-9bwf7uag85] {
        padding: 0.35rem 0.5rem;
        font-size: 0.8125rem;
    }

    .form-description[b-9bwf7uag85] {
        margin: 0 0 0.5rem 0;
        font-size: 0.8125rem;
    }

    .form-hint-text[b-9bwf7uag85] {
        margin: 0.35rem 0 0 0;
        font-size: 0.75rem;
    }

    .analyze-actions[b-9bwf7uag85] {
        gap: 0.4rem;
        margin-bottom: 0.5rem;
    }

    .analyze-warning[b-9bwf7uag85] {
        gap: 0.4rem;
        padding: 0.5rem 0.75rem;
        margin-bottom: 0.5rem;
        font-size: 0.75rem;
    }

    .analysis-results[b-9bwf7uag85] {
        margin-top: 0.5rem;
        padding: 0.65rem;
    }

    .analysis-results-header[b-9bwf7uag85] {
        margin-bottom: 0.5rem;
    }

    .analysis-results-header h4[b-9bwf7uag85] {
        font-size: 0.9rem;
    }

    .editor-header[b-9bwf7uag85] {
        margin-bottom: 0.4rem;
    }

    .editor-header label[b-9bwf7uag85] {
        font-size: 0.8125rem;
    }

    .editor-actions[b-9bwf7uag85] {
        gap: 0.35rem;
    }
    
    .file-upload-label[b-9bwf7uag85] {
        padding: 0.35rem 0.5rem;
    }

    .file-upload-label .material-symbols-outlined[b-9bwf7uag85] {
        font-size: 16px;
    }

    .migratrix-btn-icon[b-9bwf7uag85] {
        padding: 0.35rem 0.5rem;
    }

    .migratrix-btn-icon .material-symbols-outlined[b-9bwf7uag85] {
        font-size: 16px;
    }
}

@media (min-width: 1537px) and (max-width: 1727px) {
    .popover-header[b-9bwf7uag85] {
        height: 46px;
        padding: 0 0.875rem;
    }

    .popover-title[b-9bwf7uag85] {
        gap: 0.4rem;
    }

    .popover-title i[b-9bwf7uag85] {
        font-size: 0.95rem;
    }

    .tab-close-button[b-9bwf7uag85] {
        width: 26px;
        height: 26px;
    }

    .sql-editor-container.fullscreen[b-9bwf7uag85] {
        height: 100%;
        min-height: 200px;
    }

    .checkbox-container[b-9bwf7uag85] {
        gap: 0.6rem;
        margin-bottom: 0.75rem;
    }

    .checkbox-container input[type="checkbox"][b-9bwf7uag85] {
        width: 16px;
        height: 16px;
    }

    .checkbox-container label[b-9bwf7uag85] {
        font-size: 0.82rem;
    }

    .footer-left[b-9bwf7uag85], .footer-right[b-9bwf7uag85] {
        gap: 0.6rem;
    }

    .migratrix-btn .material-symbols-outlined[b-9bwf7uag85],
    .migratrix-btn .status-spinner[b-9bwf7uag85] {
        font-size: 14px;
        width: 14px;
        height: 14px;
    }

    .script-info .form-control[b-9bwf7uag85] {
        width: 220px;
    }

    .drag-drop-overlay .material-symbols-outlined[b-9bwf7uag85] {
        font-size: 40px;
    }

    .drag-drop-overlay p[b-9bwf7uag85] {
        font-size: 0.82rem;
    }
}

@media (min-width: 1281px) and (max-width: 1536px) {
    .change-script-popover[b-9bwf7uag85] {
        min-width: 600px;
        min-height: 520px;
    }

    .popover-header[b-9bwf7uag85] {
        height: 44px;
        padding: 0 0.75rem;
    }

    .popover-title[b-9bwf7uag85] {
        gap: 0.35rem;
    }

    .popover-title i[b-9bwf7uag85] {
        font-size: 0.9rem;
    }

    .tab-close-button[b-9bwf7uag85] {
        width: 24px;
        height: 24px;
    }

    .popover-tabs[b-9bwf7uag85] {
        padding: 0.15rem;
        margin-bottom: 0.5rem;
        gap: 0.15rem;
    }

    .popover-tab[b-9bwf7uag85] {
        padding: 0.3rem 0.55rem;
        font-size: 0.75rem;
    }

    .form-group[b-9bwf7uag85] {
        margin-bottom: 0.4rem;
    }

    .form-label[b-9bwf7uag85] {
        font-size: 0.78rem;
    }

    .form-control[b-9bwf7uag85] {
        padding: 0.6rem;
        font-size: 0.78rem;
    }

    .editor-header label[b-9bwf7uag85] {
        font-size: 0.78rem;
    }

    .editor-actions[b-9bwf7uag85] {
        gap: 0.35rem;
    }
    
    .sql-editor-container.fullscreen[b-9bwf7uag85] {
        height: 100%;
        min-height: 200px;
    }

    .file-upload-label[b-9bwf7uag85],
    .migratrix-btn-icon[b-9bwf7uag85] {
        padding: 0.4rem;
    }

    .file-upload-label .material-symbols-outlined[b-9bwf7uag85],
    .migratrix-btn-icon .material-symbols-outlined[b-9bwf7uag85] {
        font-size: 15px;
    }

    .checkbox-container[b-9bwf7uag85] {
        gap: 0.55rem;
        margin-bottom: 0.75rem;
    }

    .checkbox-container input[type="checkbox"][b-9bwf7uag85] {
        width: 15px;
        height: 15px;
    }

    .checkbox-container label[b-9bwf7uag85] {
        font-size: 0.78rem;
    }

    .footer-left[b-9bwf7uag85], .footer-right[b-9bwf7uag85] {
        gap: 0.5rem;
    }

    .migratrix-btn.action[b-9bwf7uag85] {
        padding: 0.4rem 0.8rem;
        font-size: 0.78rem;
    }

    .migratrix-btn .material-symbols-outlined[b-9bwf7uag85],
    .migratrix-btn .status-spinner[b-9bwf7uag85] {
        font-size: 13px;
        width: 13px;
        height: 13px;
    }

    .script-info .form-control[b-9bwf7uag85] {
        width: 200px;
    }

    .drag-drop-overlay .material-symbols-outlined[b-9bwf7uag85] {
        font-size: 36px;
    }

    .drag-drop-overlay p[b-9bwf7uag85] {
        font-size: 0.78rem;
    }
}

@media (max-width: 1024px) {
    .change-script-popover[b-9bwf7uag85] {
        min-width: 550px;
    }

    .sql-editor-container.fullscreen[b-9bwf7uag85] {
        height: 100%;
        min-height: 200px;
    }

    .change-script-popover[b-9bwf7uag85] {
        min-width: 500px;
    }

    .form-row[b-9bwf7uag85] {
        flex-direction: column;
        gap: 0;
    }

    .form-group-flex[b-9bwf7uag85] {
        min-width: 100%;
    }

    .form-section[b-9bwf7uag85] {
        padding: 0.5rem 0.75rem;
    }

    .editor-actions[b-9bwf7uag85] {
        flex-wrap: wrap;
        gap: 0.3rem;
    }

    .popover-tabs[b-9bwf7uag85] {
        flex-wrap: wrap;
    }

    .popover-tab[b-9bwf7uag85] {
        padding: 0.3rem 0.6rem;
        font-size: 0.78rem;
    }
}

@media (max-width: 768px) {
    .change-script-popover[b-9bwf7uag85] {
        min-width: 100vw;
        max-width: 100vw;
    }

    .footer-right[b-9bwf7uag85] {
        width: 100%;
        justify-content: center;
    }

    .sql-editor-container.fullscreen[b-9bwf7uag85] {
        height: 100%;
        min-height: 200px;
    }

    .popover-tab-content[b-9bwf7uag85] {
        min-height: 0;
    }
}

@media (max-width: 640px) {
    .change-script-popover[b-9bwf7uag85] {
        min-width: 98vw;
        max-width: 98vw;
        min-height: 90vh;
    }

    .popover-header[b-9bwf7uag85] {
        height: 44px;
        padding: 0 0.75rem;
    }

    .popover-title[b-9bwf7uag85] {
        font-size: 0.8rem;
    }

    .tab-close-button[b-9bwf7uag85] {
        width: 32px;
        height: 32px;
    }

    .form-row[b-9bwf7uag85] {
        gap: 0.75rem;
    }

    .form-group[b-9bwf7uag85] {
        margin-bottom: 1rem;
    }
    
    .sql-editor-container.fullscreen[b-9bwf7uag85] {
        height: 100%;
        min-height: 200px;
    }

    .migratrix-btn.action[b-9bwf7uag85] {
        padding: 0.5rem 0.875rem;
        font-size: 0.78rem;
    }
}

@media (max-width: 480px) {
    .change-script-popover[b-9bwf7uag85] {
        min-width: 100vw;
        max-width: 100vw;
        min-height: 100vh;
        border-radius: 0;
    }

    .popover-header[b-9bwf7uag85] {
        height: 40px;
        padding: 0 0.5rem;
    }

    .popover-tabs[b-9bwf7uag85] {
        margin-bottom: 1rem;
        padding: 0.125rem;
        gap: 0.125rem;
    }

    .popover-tab[b-9bwf7uag85] {
        padding: 0.5rem 0.625rem;
        font-size: 0.75rem;
    }

    .form-control[b-9bwf7uag85] {
        padding: 0.625rem;
        font-size: 0.8rem;
    }

    .sql-editor-container.fullscreen[b-9bwf7uag85] {
        height: 100%;
        min-height: 200px;
    }

    .editor-actions[b-9bwf7uag85] {
        flex-direction: column;
        gap: 0.375rem;
    }

    .file-upload-label[b-9bwf7uag85],
    .migratrix-btn-icon[b-9bwf7uag85] {
        width: 100%;
        justify-content: center;
        padding: 0.75rem;
    }
}
/* /Pages/Popovers/ConfirmPopover.razor.rz.scp.css */
/* Layout only - badge, input, checkbox and button colours are the app's global ones. */
.confirm-popover-body[b-unhzz4cej8] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.9rem;
    overflow-y: auto;
    max-height: 100%;
}

.confirm-popover-badge[b-unhzz4cej8] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.confirm-popover-badge i[b-unhzz4cej8] {
    font-size: 0.95rem;
}

.confirm-popover-message[b-unhzz4cej8] {
    margin: 0;
    width: 100%;
    color: var(--migratrix-text-primary);
    font-size: 0.95rem;
    line-height: 1.5;
}

/* The body already spaces its children; the global .form-group's own margin would double it. */
.confirm-popover-phrase[b-unhzz4cej8] {
    width: 100%;
    margin-bottom: 0;
}

.confirm-popover-mismatch[b-unhzz4cej8] {
    display: block;
    margin-top: 0.4rem;
    color: var(--migratrix-danger);
    font-size: 0.85rem;
}

.confirm-popover-checkbox[b-unhzz4cej8] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.9rem;
    color: var(--migratrix-text-primary);
    cursor: pointer;
}
/* /Pages/Popovers/ConnectionPopover.razor.rz.scp.css */
.connection-popover[b-32axms6g86] {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 13px;
    color: #333;
    overflow: hidden;
    background: white;
    border-radius: 8px;
    border: 1px solid #dee2e6;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    width: min(90vw, 800px);
    max-width: 1200px;
    min-width: 320px;
    height: auto;
    max-height: 85vh;
    position: relative;
    z-index: 9999;
}

.connection-form-container .migratrix-input[b-32axms6g86] {
    width: 95%;
    display: block;
    margin-left: 0;
    margin-right: auto;
    padding: 0.5rem 0.625rem;
}

.connection-form-container select.migratrix-input[b-32axms6g86] {
    padding-right: 2rem;
    background-position: right 0.75rem center;
}

.connection-form-container textarea.migratrix-input[b-32axms6g86] {
    min-height: 60px;
}

.connection-form-container .form-group[b-32axms6g86] {
    margin-bottom: 0.75rem;
}

.connection-form-container .form-group label[b-32axms6g86] {
    margin-bottom: 0.25rem;
}

.connection-form-container .form-section[b-32axms6g86] {
    margin-bottom: 1rem;
}

.connection-form-container .section-title[b-32axms6g86] {
    margin-bottom: 0.5rem;
}

.connection-form-container .form-row[b-32axms6g86] {
    gap: 0.75rem;
}

.connection-form-container .database-type-grid[b-32axms6g86] {
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.connection-form-container .db-card[b-32axms6g86] {
    padding: 0.75rem 0.625rem;
}

.connection-form-container .db-icon[b-32axms6g86] {
    width: 36px;
    height: 36px;
    margin-bottom: 0.5rem;
}

.connection-form-container .db-icon i[b-32axms6g86] {
    font-size: 1.25rem;
}

.connection-form-container .db-card h4[b-32axms6g86] {
    font-size: 0.8125rem;
}

.connection-form-container .db-version[b-32axms6g86] {
    font-size: 0.65rem;
}

.connection-form-container .custom-select[b-32axms6g86] {
    padding: 0.5rem 0.625rem;
    font-size: 0.8125rem;
}

.connection-form-container .checkbox-label[b-32axms6g86] {
    font-size: 0.8125rem;
}

.connection-form-container .checkbox-label input[type="checkbox"][b-32axms6g86] {
    width: 14px;
    height: 14px;
}

.connection-form-container .advanced-toggle[b-32axms6g86] {
    padding: 0.5rem 0.625rem;
    font-size: 0.8125rem;
}

.connection-form-container .advanced-toggle i[b-32axms6g86] {
    font-size: 0.9375rem;
}

.connection-form-container .password-toggle[b-32axms6g86] {
    right: 0.85rem;
    padding: 0.25rem;
}

.connection-form-container .password-toggle i[b-32axms6g86] {
    font-size: 0.9375rem;
}

.connection-form-container .security-notice[b-32axms6g86] {
    padding: 0.625rem 0.75rem;
    margin: 0.75rem 0;
}

.connection-form-container .security-notice i[b-32axms6g86] {
    font-size: 1.125rem;
}

.connection-form-container .security-notice strong[b-32axms6g86] {
    font-size: 0.8125rem;
}

.connection-form-container .security-notice p[b-32axms6g86] {
    font-size: 0.75rem;
}

.connection-form-container .test-connection-section[b-32axms6g86] {
    margin-top: 1rem;
    padding-top: 1rem;
}

.connection-form-container .test-result[b-32axms6g86] {
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
}

.connection-form-container .test-result i[b-32axms6g86] {
    font-size: 1rem;
}

.connection-form-container .input-hint[b-32axms6g86],
.connection-form-container .input-error[b-32axms6g86] {
    font-size: 0.6875rem;
}

.connection-form-container .input-hint i[b-32axms6g86],
.connection-form-container .input-error i[b-32axms6g86] {
    font-size: 0.75rem;
}

.connection-form-container .form-help[b-32axms6g86] {
    font-size: 0.75rem;
}

.connection-form-container .tooltip-icon i[b-32axms6g86] {
    font-size: 0.75rem;
}

.connection-form-container .config-section[b-32axms6g86] {
    margin-bottom: 1rem;
    padding: 0.75rem;
}

.connection-form-container .section-header[b-32axms6g86] {
    margin-bottom: 0.5rem;
    font-size: 0.8125rem;
}

.connection-form-container .section-header .section-icon[b-32axms6g86] {
    font-size: 0.875rem;
}

.connection-form-container .migratrix-btn[b-32axms6g86] {
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
}

.popover-footer .migratrix-btn[b-32axms6g86] {
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
}

.connection-form-container .input-with-button .migratrix-btn-icon[b-32axms6g86] {
    padding: 0.375rem;
}

.connection-form-container .input-with-button .migratrix-btn-icon i[b-32axms6g86] {
    font-size: 1rem;
}

.connection-header[b-32axms6g86] {
    background: linear-gradient(to bottom, #f9f9f9, #e5e5e5);
    color: #333;
    padding: 1rem;
    text-align: center;
    position: relative;
}

.connection-title h1[b-32axms6g86] {
    font-size: clamp(1.125rem, 2vw, 1.5rem);
    font-weight: 500;
    margin: 0 0 0.5rem 0;
}

.connection-title p[b-32axms6g86] {
    opacity: 0.8;
    font-size: 13px;
    margin: 0;
}

.window-controls[b-32axms6g86] {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.window-control.close[b-32axms6g86] {
    width: 12px;
    height: 12px;
    background: #ff5f57;
    border-radius: 50%;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.window-control.close:hover[b-32axms6g86] {
    opacity: 0.8;
}

.migratrix-tabs-container[b-32axms6g86]{
    justify-content: unset;
}

.migratrix-tab[b-32axms6g86] {
    flex: 1;
    min-width: 0;
    justify-content: center;
}

.tab-item[b-32axms6g86] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    border-bottom: 3px solid transparent;
    font-size: 13px;
    font-weight: 500;
    color: #6c757d;
    position: relative;
    background: transparent;
    white-space: nowrap;
    flex-shrink: 0;
    min-width: fit-content;
}

.tab-item:hover[b-32axms6g86] {
    background-color: rgba(74, 137, 220, 0.1);
    color: #4A89DC;
}

.tab-item.active[b-32axms6g86] {
    color: #4A89DC;
    border-bottom-color: #4A89DC;
    background-color: rgba(74, 137, 220, 0.05);
}

.tab-item.completed[b-32axms6g86] {
    color: #27AE60;
}

.tab-item.completed:not(.active)[b-32axms6g86] {
    border-bottom-color: #27AE60;
}

.tab-icon[b-32axms6g86] {
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    flex-shrink: 0;
}

.tab-label[b-32axms6g86] {
    white-space: nowrap;
}

.tab-indicator[b-32axms6g86] {
    position: absolute;
    top: 4px;
    right: 4px;
    background: #27AE60;
    color: white;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

/* Agent status */
.agent-status[b-32axms6g86] {
    display: flex;
    align-items: center;
    padding: 8px 15px;
    margin: 0 1rem;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

.agent-status.connected[b-32axms6g86] {
    background-color: rgba(40, 167, 69, 0.1);
    color: #28a745;
    border: 1px solid rgba(40, 167, 69, 0.2);
}

.agent-status.disconnected[b-32axms6g86] {
    background-color: rgba(220, 53, 69, 0.1);
    color: #dc3545;
    border: 1px solid rgba(220, 53, 69, 0.2);
}

.agent-status.connected .status-icon[b-32axms6g86] {
    background-color: #28a745;
}

.agent-status.disconnected .status-icon[b-32axms6g86] {
    background-color: #dc3545;
}

.status-text[b-32axms6g86] {
    flex: 1;
}

.retry-link[b-32axms6g86] {
    text-decoration: underline;
    cursor: pointer;
    margin-left: 8px;
    opacity: 0.8;
}

.retry-link:hover[b-32axms6g86] {
    opacity: 1;
}

/* Content area */
.connection-content[b-32axms6g86] {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 2rem;
    max-height: calc(85vh - 290px);
}

.tab-content[b-32axms6g86] {
    animation: fadeIn-b-32axms6g86 0.3s ease-in-out;
    height: auto;
    min-height: 347px;
    max-height: none;
    padding: 0 2.5rem;
}

.step-title[b-32axms6g86] {
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    font-weight: 500;
    margin-bottom: 0.5rem;
    color: #333;
}
.config-section .form-group[b-32axms6g86] {
    padding: 0 1rem;
}
.step-description[b-32axms6g86] {
    color: #6c757d;
    margin-bottom: 1.5rem;
    font-size: clamp(12px, 1vw, 13px);
}

/* Loading state */
.loading-state[b-32axms6g86] {
    text-align: center;
    padding: 3rem;
}

.spinner[b-32axms6g86] {
    width: 32px;
    height: 32px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #4A89DC;
    border-radius: 50%;
    animation: spin-b-32axms6g86 1s linear infinite;
    margin: 0 auto 1rem;
}

.form-label[b-32axms6g86] {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    font-size: 13px;
    color: #333;
}

.form-control[b-32axms6g86] {
    width: 100%;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 13px;
    border: 1px solid #ccc;
    background: white;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
}

.form-control:focus[b-32axms6g86] {
    outline: none;
    border-color: #4A89DC;
    box-shadow: 0 0 0 2px rgba(74, 137, 220, 0.1);
}

.form-text[b-32axms6g86] {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #6c757d;
}

.form-row[b-32axms6g86] {
    display: flex;
    gap: 1rem;
    margin-right: 0;
}

.form-group.col-6[b-32axms6g86] {
    flex: 0 0 50%;
    max-width: 50%;
}

/* Form check elements */
.form-check[b-32axms6g86] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 16px;
}

.form-check-input[b-32axms6g86] {
    margin-top: 2px;
}

.form-check-label[b-32axms6g86] {
    font-size: 13px;
    color: #333;
    font-weight: 500;
}

.summary-title[b-32axms6g86] {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 1rem;
    color: #333;
}

.summary-grid[b-32axms6g86] {
    display: grid;
    gap: 0.75rem;
}

.summary-item[b-32axms6g86] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid #e9ecef;
}

.summary-item:last-child[b-32axms6g86] {
    border-bottom: none;
}

.summary-label[b-32axms6g86] {
    font-weight: 500;
    color: #495057;
}

.summary-value[b-32axms6g86] {
    color: #333;
    text-align: right;
    font-family: monospace;
    font-size: 12px;
}

.summary-value.ssl-enabled[b-32axms6g86] {
    color: #27AE60;
}

.summary-value.ssh-enabled[b-32axms6g86] {
    color: #4A89DC;
}

/* Configuration sections */
.ssl-options[b-32axms6g86],
.ssh-options[b-32axms6g86] {
    margin-top: 15px;
    animation: slideDown 0.3s ease-out;
}

.config-section[b-32axms6g86] {
    margin-bottom: 20px;
    padding: clamp(15px, 3vw, 20px);
    background-color: rgba(248, 249, 250, 0.5);
    border: 1px solid #dee2e6;
    border-radius: 4px;
}

.section-header[b-32axms6g86] {
    display: flex;
    align-items: center;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
    border-bottom: 1px solid #e9ecef;
    padding-bottom: 8px;
}

.section-icon[b-32axms6g86] {
    margin-right: 8px;
    font-size: 16px;
}

/* File input groups */

/* Info sections */
.info-section[b-32axms6g86] {
    margin-top: 20px;
    padding: 15px;
    background-color: rgba(255, 193, 7, 0.1);
    border: 1px solid rgba(255, 193, 7, 0.3);
    border-radius: 4px;
}

.info-header[b-32axms6g86] {
    display: flex;
    align-items: center;
    font-weight: 600;
    margin-bottom: 10px;
    color: #856404;
}

.info-icon[b-32axms6g86] {
    margin-right: 8px;
}

.info-list[b-32axms6g86] {
    margin: 0;
    padding-left: 20px;
    font-size: 12px;
    color: #666;
}

.info-list li[b-32axms6g86] {
    margin-bottom: 5px;
}

/* SSH tunnel flow */

.flow-arrow[b-32axms6g86] {
    margin: 0 8px;
    color: #4A89DC;
    font-weight: bold;
}

/* Placeholder text */
.placeholder-text[b-32axms6g86] {
    color: #6c757d;
    font-style: italic;
    text-align: center;
    margin: 20px 0;
    padding: 40px;
}

/* Alerts matching signup style */
.alert[b-32axms6g86] {
    padding: 0.75rem;
    border-radius: 4px;
    margin-bottom: 1rem;
    font-size: 13px;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    animation: slideDown 0.3s ease-out;
}

.alert-success[b-32axms6g86] {
    background-color: rgba(39, 174, 96, 0.1);
    border: 1px solid rgba(39, 174, 96, 0.2);
    color: #27ae60;
}

.alert-danger[b-32axms6g86] {
    background-color: rgba(231, 76, 60, 0.1);
    border: 1px solid rgba(231, 76, 60, 0.2);
    color: #e74c3c;
}

.alert-icon[b-32axms6g86] {
    flex-shrink: 0;
}

.alert-close[b-32axms6g86] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background: none;
    border: none;
    font-size: 16px;
    cursor: pointer;
    color: inherit;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.alert-close:hover[b-32axms6g86] {
    opacity: 1;
}

/* Footer */
.connection-footer[b-32axms6g86] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    border-top: 1px solid #dee2e6;
    background-color: #f8f9fa;
    flex-wrap: wrap;
    gap: 1rem;
}

.footer-actions[b-32axms6g86] {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

/* Buttons matching signup style */
.btn[b-32axms6g86] {
    border-radius: 4px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.btn-primary[b-32axms6g86] {
    background-color: #4A89DC;
    border-color: #3A79CC;
    color: white;
}

.btn-primary:hover:not(:disabled)[b-32axms6g86] {
    background-color: #3A79CC;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(74, 137, 220, 0.3);
}

.btn-outline[b-32axms6g86] {
    background-color: white;
    color: #4A89DC;
    border-color: #4A89DC;
}

.btn-outline:hover:not(:disabled)[b-32axms6g86] {
    background-color: #4A89DC;
    color: white;
    transform: translateY(-1px);
}

.btn:disabled[b-32axms6g86] {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
}

[b-32axms6g86] .rz-button {
    border-radius: 4px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

[b-32axms6g86] .rz-button-primary {
    background-color: #4A89DC !important;
    border-color: #3A79CC !important;
}

[b-32axms6g86] .rz-button-primary:hover {
    background-color: #3A79CC !important;
}

[b-32axms6g86] .rz-button-secondary {
    background-color: white !important;
    color: #4A89DC !important;
    border-color: #4A89DC !important;
}

[b-32axms6g86] .rz-button-secondary:hover {
    background-color: #4A89DC !important;
    color: white !important;
}

[b-32axms6g86] .rz-chkbox-box.rz-checked {
    background-color: #4A89DC !important;
    border-color: #4A89DC !important;
}

[b-32axms6g86] .rz-dropdown-panel {
    border-radius: 4px !important;
    border: 1px solid #ccc !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

[b-32axms6g86] .validation-message {
    font-size: 12px;
    color: #e74c3c;
    margin-top: 4px;
}
.tab-navigation[b-32axms6g86] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--migratrix-border);
    overflow-x: auto;
}

.tab-item[b-32axms6g86] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    color: var(--migratrix-text-secondary);
    transition: all 0.2s ease;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
}

.tab-item:hover[b-32axms6g86] {
    color: var(--migratrix-text-primary);
    background: var(--migratrix-bg-hover);
}

.tab-item.active[b-32axms6g86] {
    color: var(--migratrix-primary);
    border-bottom-color: var(--migratrix-primary);
}

.tab-item.completed .tab-indicator[b-32axms6g86] {
    color: #28a745;
    font-weight: bold;
}

.connection-content[b-32axms6g86] {
    flex: 1;
    overflow-y: auto;
}

.step-content[b-32axms6g86] {
    animation: fadeIn-b-32axms6g86 0.3s ease-in-out;
}

.step-title[b-32axms6g86] {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--migratrix-text-primary);
}

.step-description[b-32axms6g86] {
    color: var(--migratrix-text-secondary);
    margin-bottom: 1.5rem;
}

.config-section[b-32axms6g86] {
    margin-bottom: 1.5rem;
    padding: 1rem;
    background: var(--migratrix-bg-secondary);
    border-radius: var(--migratrix-radius-sm);
}

.section-header[b-32axms6g86] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.form-text[b-32axms6g86] {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
}

.spinner-sm[b-32axms6g86] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-left-color: currentColor;
    border-radius: 50%;
    display: inline-block;
    animation: spin-b-32axms6g86 1s linear infinite;
    margin-right: 0.5rem;
}

@keyframes spin-b-32axms6g86 {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes fadeIn-b-32axms6g86 {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.form-section[b-32axms6g86] {
    margin-bottom: 1.5rem;
}

.form-group[b-32axms6g86] {
    margin-bottom: 1.25rem;
}

.form-group label[b-32axms6g86] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
}

.form-row > .form-group:last-child .migratrix-input[b-32axms6g86],
.form-row > .form-group:last-child .custom-select[b-32axms6g86],
.form-row > .form-group:last-child label[b-32axms6g86] {
    width: 95%;
    margin-left: auto;
    margin-right: 0;
}

.form-group.half-left[b-32axms6g86] {
    width: calc(50% - 0.5rem);
}

    
.database-type-grid[b-32axms6g86] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.db-card[b-32axms6g86] {
    padding: 1.25rem 1rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius);
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}

@supports (backdrop-filter: blur(10px)) {
    .db-card[b-32axms6g86] {
        backdrop-filter: blur(10px) saturate(150%);
        -webkit-backdrop-filter: blur(10px) saturate(150%);
    }
}

.db-card:hover[b-32axms6g86] {
    transform: translateY(-2px);
    box-shadow: var(--migratrix-shadow-sm);
    border-color: rgba(243, 124, 25, 0.3);
}

.db-card.selected[b-32axms6g86] {
    background: white;
    border-color: var(--migratrix-primary);
    box-shadow: 0 4px 12px rgba(243, 124, 25, 0.2);
}

.db-icon[b-32axms6g86] {
    width: 50px;
    height: 50px;
    margin: 0 auto 0.75rem;
    border-radius: var(--migratrix-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
}

.db-icon.mysql[b-32axms6g86] {
    background: linear-gradient(135deg, #00758f 0%, #004d66 100%);
}

.db-icon.postgresql[b-32axms6g86] {
    background: linear-gradient(135deg, #336791 0%, #2d5777 100%);
}

.db-icon.mssql[b-32axms6g86] {
    background: linear-gradient(135deg, #cc2927 0%, #991f1e 100%);
}

.db-icon.mongodb[b-32axms6g86] {
    background: linear-gradient(135deg, #4db33d 0%, #3b8a2e 100%);
}

.db-icon i[b-32axms6g86] {
    font-size: 1.75rem;
    color: white;
}

.db-card h4[b-32axms6g86] {
    font-size: 0.9rem;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.25rem;
    font-weight: 600;
}

.db-version[b-32axms6g86] {
    font-size: 0.7rem;
    color: var(--migratrix-text-muted);
}

/* ===============================================
   SECURITY & ADVANCED OPTIONS
   =============================================== */

.connection-form[b-32axms6g86] {
    animation: fadeIn-b-32axms6g86 0.3s ease-out;
}

.fade-in[b-32axms6g86] {
    animation: fadeIn-b-32axms6g86 0.3s ease-out;
}

.credentials-fields[b-32axms6g86] {
    display: flex;
    gap: 0.75rem;
    width: 95%;
}

.credentials-fields > .form-group[b-32axms6g86] {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
}

.credentials-fields .migratrix-input[b-32axms6g86] {
    width: 100%;
}

.credentials-fields .password-input-wrapper[b-32axms6g86] {
    width: 100%;
}

.credentials-fields .password-input-wrapper .migratrix-input[b-32axms6g86] {
    width: 100%;
    padding-right: 2.5rem;
}

.password-input-wrapper[b-32axms6g86] {
    position: relative;
}

.password-toggle[b-32axms6g86] {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--migratrix-text-muted);
    cursor: pointer;
    padding: 0.5rem;
    transition: color 0.2s;
}

.password-toggle:hover[b-32axms6g86] {
    color: var(--migratrix-primary);
}

.password-toggle i[b-32axms6g86] {
    font-size: 1.125rem;
}

.security-notice[b-32axms6g86] {
    display: flex;
    gap: 1rem;
    padding: 1rem;
    background: linear-gradient(135deg, rgba(46, 204, 113, 0.1) 0%, rgba(46, 204, 113, 0.05) 100%);
    border: 1px solid rgba(46, 204, 113, 0.2);
    border-radius: var(--migratrix-radius);
    margin: 1.25rem 0;
}

.security-notice i[b-32axms6g86] {
    font-size: 1.5rem;
    color: var(--migratrix-success);
    flex-shrink: 0;
}

.security-notice strong[b-32axms6g86] {
    display: block;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.25rem;
    font-size: 0.875rem;
}

.security-notice p[b-32axms6g86] {
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
    margin: 0;
}

/* ===============================================
   ADVANCED OPTIONS
   =============================================== */

.advanced-section[b-32axms6g86] {
    margin-top: 1.25rem;
}

.advanced-toggle[b-32axms6g86] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.75rem 1rem;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    transition: all 0.2s;
}

@supports (backdrop-filter: blur(10px)) {
    .advanced-toggle[b-32axms6g86] {
        backdrop-filter: blur(10px) saturate(150%);
        -webkit-backdrop-filter: blur(10px) saturate(150%);
    }
}

.advanced-toggle:hover[b-32axms6g86] {
    border-color: var(--migratrix-primary);
    background: var(--migratrix-bg-hover);
}

.advanced-toggle i[b-32axms6g86] {
    font-size: 1.125rem;
    color: var(--migratrix-text-muted);
}

.advanced-options[b-32axms6g86] {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--migratrix-border);
}

.checkbox-label[b-32axms6g86] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
    font-weight: 500;
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
}

/* ===============================================
   TEST CONNECTION
   =============================================== */

.test-connection-section[b-32axms6g86] {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--migratrix-border);
}

.test-result[b-32axms6g86] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border-radius: var(--migratrix-radius-sm);
    margin-bottom: 1rem;
    font-weight: 500;
    font-size: 0.875rem;
}

.test-result.success[b-32axms6g86] {
    background: linear-gradient(135deg, rgba(46, 204, 113, 0.1) 0%, rgba(46, 204, 113, 0.05) 100%);
    color: var(--migratrix-success);
    border: 1px solid rgba(46, 204, 113, 0.2);
}

.test-result.error[b-32axms6g86] {
    background: linear-gradient(135deg, rgba(231, 76, 60, 0.1) 0%, rgba(231, 76, 60, 0.05) 100%);
    color: var(--migratrix-danger);
    border: 1px solid rgba(231, 76, 60, 0.2);
}

.test-result.info[b-32axms6g86] {
    background: linear-gradient(135deg, rgba(52, 152, 219, 0.1) 0%, rgba(52, 152, 219, 0.05) 100%);
    color: var(--migratrix-info);
    border: 1px solid rgba(52, 152, 219, 0.2);
}

.test-result i[b-32axms6g86] {
    font-size: 1.25rem;
}

.status-icon[b-32axms6g86] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 8px;
}
/* /Pages/Popovers/ContactPopover.razor.rz.scp.css */
.tab-content[b-4vr6dljbiu] {
    padding: 2rem;
}

.form-help[b-4vr6dljbiu] {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

.validation-message[b-4vr6dljbiu] {
    font-size: 0.75rem;
    color: var(--migratrix-danger);
    margin-top: 0.25rem;
}

/* Form Row */
.form-row[b-4vr6dljbiu] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.contact-success[b-4vr6dljbiu] {
    text-align: center;
    padding: 2rem 1rem;
}

.contact-success i[b-4vr6dljbiu] {
    font-size: 3rem;
    color: var(--migratrix-success, #28a745);
    margin-bottom: 1rem;
}

.contact-success h3[b-4vr6dljbiu] {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.75rem;
}

.contact-success p[b-4vr6dljbiu] {
    color: var(--migratrix-text-secondary);
    font-size: 0.95rem;
}

.error-message[b-4vr6dljbiu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    background: rgba(220, 53, 69, 0.1);
    border: 1px solid var(--migratrix-error, #dc3545);
    border-radius: var(--migratrix-radius-md, 7px);
    color: var(--migratrix-error, #dc3545);
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

.error-message i[b-4vr6dljbiu] {
    font-size: 1.2rem;
}

@keyframes fadeIn-b-4vr6dljbiu {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@media (max-width: 768px) {
    .footer-right[b-4vr6dljbiu] {
        justify-content: space-between;
    }
}

@media (max-width: 640px) {
    .tab-content[b-4vr6dljbiu] {
        padding: 1rem;
        min-height: auto;
    }

    .connection-form-container[b-4vr6dljbiu] {
        font-size: 14px;
    }

    .form-row[b-4vr6dljbiu] {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
}

/* /Pages/Popovers/createDbObjectPopover.razor.rz.scp.css */
.create-database-form[b-0515p8u6h2] {
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.form-group[b-0515p8u6h2] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-label[b-0515p8u6h2] {
    font-size: 14px;
    font-weight: 500;
    color: #374151;
}

.form-input[b-0515p8u6h2] {
    padding: 8px 10px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 13px;
    transition: all 0.2s;
    outline: none;
}

.form-input:focus[b-0515p8u6h2] {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.form-input-readonly[b-0515p8u6h2] {
    padding: 8px 10px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 13px;
    color: #6b7280;
    font-weight: 500;
}

.form-input.input-error[b-0515p8u6h2] {
    border-color: #ef4444;
}

.form-input.input-error:focus[b-0515p8u6h2] {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.form-input:disabled[b-0515p8u6h2] {
    background-color: #f3f4f6;
    cursor: not-allowed;
}

.error-message[b-0515p8u6h2] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #ef4444;
    font-size: 13px;
}

.error-message i[b-0515p8u6h2] {
    font-size: 16px;
}

.connection-info[b-0515p8u6h2] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    background: #f3f4f6;
    border-radius: 4px;
    font-size: 12px;
    color: #6b7280;
}

.connection-info.subtle[b-0515p8u6h2] {
    background: #fff;
    border: 1px dashed #e5e7eb;
}

.connection-info i[b-0515p8u6h2] {
    font-size: 16px;
    color: #9ca3af;
}

.migratrix-btn i[b-0515p8u6h2] {
    font-size: 18px;
}

.spinner-sm[b-0515p8u6h2] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-left-color: white;
    border-radius: 50%;
    animation: spin-b-0515p8u6h2 1s linear infinite;
}

@keyframes spin-b-0515p8u6h2 {
     0% { transform: rotate(0deg); }
     100% { transform: rotate(360deg); }
 }
/* /Pages/Popovers/EnvironmentDetailsPopover.razor.rz.scp.css */
.environment-details-container[b-stsba3s3p6] {
    width: 100%;
    padding: 0.5rem;
}

.clean-details-layout[b-stsba3s3p6] {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.clean-details-header[b-stsba3s3p6] {
    padding: 0.75rem 0.875rem;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-secondary);
}

.clean-title-wrap[b-stsba3s3p6] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.clean-leading-icon[b-stsba3s3p6] {
    width: 32px;
    height: 32px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.environment-title[b-stsba3s3p6] {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    line-height: 1.2;
}

.clean-details-card[b-stsba3s3p6] {
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-secondary);
    overflow: hidden;
}

.connections-card[b-stsba3s3p6] {
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-secondary);
    padding: 0.75rem;
}

.connections-toolbar[b-stsba3s3p6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.connections-title[b-stsba3s3p6] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.clean-add-btn[b-stsba3s3p6] {
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.clean-table-wrap[b-stsba3s3p6] {
    overflow-x: auto;
}

.clean-connections-table[b-stsba3s3p6] {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    overflow: hidden;
}

.clean-connections-table th[b-stsba3s3p6] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.65rem 0.8rem;
    background: rgba(0, 0, 0, 0.02);
    border-bottom: 1px solid var(--migratrix-border);
    text-align: left;
}

.clean-connections-table td[b-stsba3s3p6] {
    font-size: 0.84rem;
    color: var(--migratrix-text-primary);
    vertical-align: middle;
    padding: 0.75rem 0.8rem;
    border-bottom: 1px solid var(--migratrix-border);
}

.clean-connections-table tbody tr:last-child td[b-stsba3s3p6] {
    border-bottom: 0;
}

.clean-connections-table tbody tr:nth-child(even)[b-stsba3s3p6] {
    background: rgba(0, 0, 0, 0.015);
}

.clean-connections-table tbody tr:hover[b-stsba3s3p6] {
    background: rgba(0, 0, 0, 0.03);
}

.clean-connections-table th:last-child[b-stsba3s3p6],
.clean-connections-table td:last-child[b-stsba3s3p6] {
    text-align: center;
    width: 120px;
}

.connection-actions[b-stsba3s3p6] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.clean-icon-btn[b-stsba3s3p6] {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.clean-icon-btn i[b-stsba3s3p6] {
    font-size: 14px;
}

.connections-empty[b-stsba3s3p6] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 120px;
    color: var(--migratrix-text-secondary);
    font-size: 0.875rem;
}

.detail-row[b-stsba3s3p6] {
    display: grid;
    grid-template-columns: 160px 1fr;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 0.875rem;
    border-bottom: 1px solid var(--migratrix-border);
}

.detail-row:last-child[b-stsba3s3p6] {
    border-bottom: 0;
}

.detail-label[b-stsba3s3p6] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.detail-value[b-stsba3s3p6] {
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
    min-width: 0;
}

.detail-color-value[b-stsba3s3p6] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.clean-inline-icon[b-stsba3s3p6] {
    width: 20px;
    height: 20px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.clean-inline-icon i[b-stsba3s3p6] {
    font-size: 12px;
}

.clean-color-icon[b-stsba3s3p6] {
    background: transparent;
    border: 1px solid rgba(0, 0, 0, 0.12);
}

@media (max-width: 768px) {
    .connections-toolbar[b-stsba3s3p6] {
        flex-direction: column;
        align-items: stretch;
    }

    .clean-add-btn[b-stsba3s3p6] {
        width: 100%;
    }

    .detail-row[b-stsba3s3p6] {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }

    .detail-label[b-stsba3s3p6] {
        font-size: 0.6875rem;
    }

    .detail-value[b-stsba3s3p6] {
        font-size: 0.8125rem;
    }
}
/* /Pages/Popovers/EnvironmentPopover.razor.rz.scp.css */
.environment-form-layout[b-ukx3sjya0z] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.5rem;
}

.environment-form-card[b-ukx3sjya0z] {
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-secondary);
    padding: 0.875rem;
}

.form-grid[b-ukx3sjya0z] {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 0.875rem;
}

.form-field[b-ukx3sjya0z] {
    min-width: 0;
}

.form-field-wide[b-ukx3sjya0z] {
    min-width: 0;
}

.field-label[b-ukx3sjya0z] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.4rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.section-title[b-ukx3sjya0z] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.65rem;
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.section-title i[b-ukx3sjya0z] {
    font-size: 1rem;
}

.color-picker-row[b-ukx3sjya0z] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.color-option[b-ukx3sjya0z] {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    border: 1px solid transparent;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.12s ease, border-color 0.12s ease, background-color 0.12s ease;
}

.color-option:hover[b-ukx3sjya0z] {
    transform: translateY(-1px);
    border-color: var(--migratrix-border);
}

.color-option.selected[b-ukx3sjya0z] {
    border-color: var(--migratrix-primary);
    background: rgba(243, 124, 25, 0.12);
}

.color-icon[b-ukx3sjya0z] {
    font-size: 21px;
    line-height: 1;
    color: #9aa1a8;
}

.color-icon.red[b-ukx3sjya0z] { color: #d32f2f; }
.color-icon.green[b-ukx3sjya0z] { color: #2e7d32; }
.color-icon.blue[b-ukx3sjya0z] { color: #1976d2; }
.color-icon.orange[b-ukx3sjya0z] { color: #ed6c02; }
.color-icon.purple[b-ukx3sjya0z] { color: #8e24aa; }
.color-icon.gray[b-ukx3sjya0z] { color: #6b7280; }
.color-icon.cyan[b-ukx3sjya0z] { color: #0288d1; }
.color-icon.pink[b-ukx3sjya0z] { color: #d81b60; }
.color-icon.yellow[b-ukx3sjya0z] { color: #ca8a04; }
.color-icon.teal[b-ukx3sjya0z] { color: #0f766e; }
.color-icon.violet[b-ukx3sjya0z] { color: #7c3aed; }
.color-icon.amber[b-ukx3sjya0z] { color: #d97706; }
.color-icon.lime[b-ukx3sjya0z] { color: #65a30d; }
.color-icon.emerald[b-ukx3sjya0z] { color: #059669; }

.placeholder-text[b-ukx3sjya0z] {
    font-size: 0.82rem;
    color: var(--migratrix-text-secondary);
}

.approval-toggle[b-ukx3sjya0z] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.7rem;
    font-size: 0.84rem;
    color: var(--migratrix-text-primary);
}

.disabled-section[b-ukx3sjya0z] {
    opacity: 0.6;
    pointer-events: none;
}

[b-ukx3sjya0z] .validation-message {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.74rem;
    color: var(--migratrix-danger);
}

@media (max-width: 1024px) {
    .form-grid[b-ukx3sjya0z] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Popovers/ExplorerInputPopover.razor.rz.scp.css */
/* Layout only. Colours, inputs, labels and buttons come from the app's global stylesheet so this
   popover follows the theme (and its light/dark switch) instead of carrying its own palette. */
.popover-form[b-ebmr1tbrbn] {
    padding: 0.75rem;
}

.popover-form-intro[b-ebmr1tbrbn] {
    margin: 0 0 1rem;
    font-size: 0.9rem;
    line-height: 1.45;
}

/* The global .form-group reserves room for the next field; the last one in a popover has none. */
.popover-form .form-group:last-child[b-ebmr1tbrbn] {
    margin-bottom: 0;
}
/* /Pages/Popovers/FlowPopover.razor.rz.scp.css */
.tab-content[b-6ytrygyjoa] {
    padding: 1.5rem;
}

.form-label[b-6ytrygyjoa] {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    font-size: 13px;
    color: #333;
}

.form-control[b-6ytrygyjoa] {
    width: 100%;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 13px;
    border: 1px solid #ccc;
    background: white;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
}

.form-control:focus[b-6ytrygyjoa] {
    outline: none;
    border-color: #4A89DC;
    box-shadow: 0 0 0 2px rgba(74, 137, 220, 0.1);
}

.form-row[b-6ytrygyjoa] {
    display: flex;
    gap: 1rem;
    margin-right: 0;
}

.form-group.col-6[b-6ytrygyjoa] {
    flex: 0 0 50%;
    max-width: 50%;
}

.form-check[b-6ytrygyjoa] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 16px;
}

.form-check-input[b-6ytrygyjoa] {
    margin-top: 2px;
}

.form-check-label[b-6ytrygyjoa] {
    font-size: 13px;
    color: #333;
    font-weight: 500;
}

.section-header[b-6ytrygyjoa] {
    display: flex;
    align-items: center;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
    border-bottom: 1px solid #e9ecef;
    padding-bottom: 8px;
}

.section-icon[b-6ytrygyjoa] {
    margin-right: 8px;
    font-size: 16px;
}

/* File input groups */

/* Info sections */
.info-section[b-6ytrygyjoa] {
    margin-top: 20px;
    padding: 15px;
    background-color: rgba(255, 193, 7, 0.1);
    border: 1px solid rgba(255, 193, 7, 0.3);
    border-radius: 4px;
}

.info-header[b-6ytrygyjoa] {
    display: flex;
    align-items: center;
    font-weight: 600;
    margin-bottom: 10px;
    color: #856404;
}

.info-icon[b-6ytrygyjoa] {
    margin-right: 8px;
}

.info-list[b-6ytrygyjoa] {
    margin: 0;
    padding-left: 20px;
    font-size: 12px;
    color: #666;
}

.info-list li[b-6ytrygyjoa] {
    margin-bottom: 5px;
}

/* SSH tunnel flow */

.flow-arrow[b-6ytrygyjoa] {
    margin: 0 8px;
    color: #4A89DC;
    font-weight: bold;
}

/* Placeholder text */
.placeholder-text[b-6ytrygyjoa] {
    color: #6c757d;
    font-style: italic;
    text-align: center;
    margin: 20px 0;
    padding: 40px;
}

.footer-actions[b-6ytrygyjoa] {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.form-text[b-6ytrygyjoa] {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
}

.spinner-sm[b-6ytrygyjoa] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-left-color: currentColor;
    border-radius: 50%;
    display: inline-block;
    animation: spin-b-6ytrygyjoa 1s linear infinite;
    margin-right: 0.5rem;
}

@keyframes spin-b-6ytrygyjoa {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes fadeIn-b-6ytrygyjoa {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.form-section[b-6ytrygyjoa] {
    margin-bottom: 1.5rem;
}

.form-group[b-6ytrygyjoa] {
    margin-bottom: 1.25rem;
}

.form-group label[b-6ytrygyjoa] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
}

.form-row[b-6ytrygyjoa] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.flow-pipeline-section[b-6ytrygyjoa] {
    margin-top: 1.5rem;
}

.flow-pipeline-header[b-6ytrygyjoa] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.flow-pipeline-header-left[b-6ytrygyjoa] {
    min-width: 0;
}

.flow-pipeline-header .section-title[b-6ytrygyjoa] {
    margin-bottom: 0.25rem;
}

.section-description[b-6ytrygyjoa] {
    font-size: 0.8125rem;
    color: var(--migratrix-text-secondary);
    margin: 0;
    line-height: 1.4;
}

.flow-add-row[b-6ytrygyjoa] {
    flex-shrink: 0;
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 0.5rem;
}

.flow-pipeline-horizontal[b-6ytrygyjoa] {
    width: 100%;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 1rem;
    overflow-x: auto;
}

.flow-h-stages[b-6ytrygyjoa] {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 0;
    width: 100%;
}

.flow-h-arrow[b-6ytrygyjoa] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.5rem;
    color: var(--migratrix-primary);
    flex-shrink: 0;
}

.flow-h-arrow i[b-6ytrygyjoa] {
    font-size: 1.125rem;
    opacity: 0.8;
}

.flow-h-stage[b-6ytrygyjoa] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    overflow: hidden;
    transition: border-color 0.15s, box-shadow 0.15s;
    cursor: grab;
}

.flow-h-stage:active[b-6ytrygyjoa] {
    cursor: grabbing;
}

.flow-h-stage:hover[b-6ytrygyjoa] {
    border-color: rgba(243, 124, 25, 0.35);
    box-shadow: var(--migratrix-shadow-sm);
}

.flow-h-stage-body[b-6ytrygyjoa] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem;
    height: 100%;
    position: relative;
}

.flow-h-remove-top[b-6ytrygyjoa] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 1;
    cursor: pointer;
}

.flow-h-env-cell[b-6ytrygyjoa] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.flow-h-env-name[b-6ytrygyjoa] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--migratrix-text-primary);
}

.flow-h-autostart[b-6ytrygyjoa] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    color: var(--migratrix-text-secondary);
    white-space: nowrap;
}

.flow-h-autostart input[b-6ytrygyjoa] {
    margin: 0;
}

.flow-h-db-empty[b-6ytrygyjoa] {
    display: none;
}

.flow-env-dot[b-6ytrygyjoa] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.flow-env-dot.migratrix-icon-primary[b-6ytrygyjoa] { background: var(--migratrix-primary); }
.flow-env-dot.migratrix-icon-success[b-6ytrygyjoa] { background: var(--migratrix-success); }
.flow-env-dot.migratrix-icon-warning[b-6ytrygyjoa] { background: var(--migratrix-warning); }
.flow-env-dot.migratrix-icon-danger[b-6ytrygyjoa] { background: var(--migratrix-danger); }
.flow-env-dot.migratrix-icon-info[b-6ytrygyjoa] { background: var(--migratrix-info, #17a2b8); }

.flow-select[b-6ytrygyjoa],
.flow-input[b-6ytrygyjoa] {
    width: 100%;
    font-size: 0.8125rem;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
}

.flow-select:focus[b-6ytrygyjoa],
.flow-input:focus[b-6ytrygyjoa] {
    outline: none;
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 2px rgba(243, 124, 25, 0.15);
}

.flow-input-warning[b-6ytrygyjoa] {
    border-color: var(--migratrix-warning);
}

.flow-db-wrap[b-6ytrygyjoa] {
    position: relative;
    width: 100%;
}

.flow-db-wrap .flow-db-input[b-6ytrygyjoa] {
    padding-right: 1.75rem;
}

.flow-db-icon[b-6ytrygyjoa] {
    position: absolute;
    right: 0.4rem;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    color: var(--migratrix-text-muted);
}

.flow-db-icon i[b-6ytrygyjoa] {
    font-size: 0.875rem;
}

.flow-db-icon-warning[b-6ytrygyjoa] {
    color: var(--migratrix-warning);
}

.flow-db-icon-loading i[b-6ytrygyjoa] {
    animation: dbSpin-b-6ytrygyjoa 1s linear infinite;
}

@keyframes dbSpin-b-6ytrygyjoa {
    from { transform: translateY(-50%) rotate(0deg); }
    to { transform: translateY(-50%) rotate(360deg); }
}

.flow-action-btn[b-6ytrygyjoa] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: none;
    background: transparent;
    border-radius: 4px;
    color: var(--migratrix-text-muted);
    cursor: pointer;
    transition: color 0.15s, background 0.15s;
}

.flow-action-btn:hover:not(:disabled)[b-6ytrygyjoa] {
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-primary);
}

.flow-action-btn:disabled[b-6ytrygyjoa] {
    opacity: 0.35;
    cursor: default;
}

.flow-action-btn-remove:hover[b-6ytrygyjoa] {
    background: rgba(231, 76, 60, 0.12);
    color: var(--migratrix-danger);
}

.flow-action-btn i[b-6ytrygyjoa] {
    font-size: 1.125rem;
}

.flow-add-select[b-6ytrygyjoa] {
    font-size: 0.8125rem;
    padding: 0.5rem 0.75rem;
    border: 1px dashed var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-secondary);
    color: var(--migratrix-text-secondary);
    min-width: 160px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.flow-add-select:hover[b-6ytrygyjoa],
.flow-add-select:focus[b-6ytrygyjoa] {
    outline: none;
    border-color: var(--migratrix-primary);
    color: var(--migratrix-primary);
    background: var(--migratrix-bg-hover);
}

.flow-add-message[b-6ytrygyjoa] {
    font-size: 0.75rem;
    color: var(--migratrix-text-muted);
}

.flow-add-message-muted[b-6ytrygyjoa] {
    font-style: italic;
}

.migratrix-btn-icon[b-6ytrygyjoa] {
    background: transparent;
    border: none;
    padding: 6px;
    cursor: pointer;
    border-radius: var(--migratrix-radius-sm);
    transition: background 0.2s ease, transform 0.1s ease;
}

.migratrix-btn-icon:hover[b-6ytrygyjoa] {
    background: var(--migratrix-bg-hover);
    transform: translateY(-1px);
}

/* Accessibility helper for hidden labels */
.sr-only[b-6ytrygyjoa] {
    position: absolute !important;
    height: 1px; width: 1px;
    overflow: hidden; clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap; border: 0; padding: 0; margin: -1px;
}

.source-cards[b-6ytrygyjoa] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.source-card[b-6ytrygyjoa] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border: 2px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    cursor: pointer;
    transition: all 0.2s ease;
    background: var(--migratrix-bg-card);
}

.source-card:hover:not(.disabled)[b-6ytrygyjoa] {
    border-color: rgba(243, 124, 25, 0.4);
    transform: translateY(-1px);
    box-shadow: var(--migratrix-shadow-sm);
}

.source-card.selected[b-6ytrygyjoa] {
    border-color: var(--migratrix-primary);
    background: rgba(243, 124, 25, 0.05);
}

.source-card.disabled[b-6ytrygyjoa] {
    opacity: 0.5;
    cursor: not-allowed;
}

.source-card input[type="radio"][b-6ytrygyjoa] {
    display: none;
}

.source-card-icon[b-6ytrygyjoa] {
    width: 30px;
    height: 30px;
    border-radius: var(--migratrix-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* These were solid gradient tiles holding a white glyph. The illustrated marks bring their
   own colour - the Git mark in particular is warm and fought the purple - so the tile goes
   and each mark stands on its own. The box is kept for layout. */
.source-card-icon.manual[b-6ytrygyjoa],
.source-card-icon.gitops[b-6ytrygyjoa] {
    background: none;
}

.source-card-icon i[b-6ytrygyjoa] {
    font-size: 1.25rem;
}

.source-card-content[b-6ytrygyjoa] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.source-card-content strong[b-6ytrygyjoa] {
    font-size: 0.75rem;
    color: var(--migratrix-text-primary);
}

.source-card-content span[b-6ytrygyjoa] {
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

.source-hint[b-6ytrygyjoa] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.8rem;
    margin-bottom: 1rem;
}

.source-hint.warning[b-6ytrygyjoa] {
    background: rgba(243, 156, 18, 0.1);
    border: 1px solid rgba(243, 156, 18, 0.25);
    color: #b7791f;
}

.source-hint i[b-6ytrygyjoa] {
    font-size: 1rem;
    color: #f39c12;
}

.source-hint a[b-6ytrygyjoa] {
    color: var(--migratrix-primary);
    text-decoration: underline;
}

.repository-select[b-6ytrygyjoa] {
    margin-top: 1rem;
}

.repository-info[b-6ytrygyjoa] {
    margin-top: 0.75rem;
    padding: 0.75rem;
    background: var(--migratrix-bg-secondary);
    border-radius: var(--migratrix-radius-sm);
    border: 1px solid var(--migratrix-border);
}

.repo-info-row[b-6ytrygyjoa] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
    padding: 0.25rem 0;
}

.repo-info-row i[b-6ytrygyjoa] {
    font-size: 1rem;
    color: var(--migratrix-text-muted);
}

@media (max-width: 768px) {
    .flow-pipeline-header[b-6ytrygyjoa] {
        flex-direction: column;
        align-items: stretch;
    }

    .flow-add-row[b-6ytrygyjoa] {
        justify-content: flex-end;
    }

    .flow-h-stage[b-6ytrygyjoa] {
        min-width: 120px;
    }

    .source-cards[b-6ytrygyjoa] {
        grid-template-columns: 1fr;
    }
}
.flow-stage-ghost[b-6ytrygyjoa] {
    opacity: 0.5;
}

.flow-stage-chosen[b-6ytrygyjoa] {
    box-shadow: var(--migratrix-shadow-sm);
}

.flow-stage-dragging[b-6ytrygyjoa] {
    opacity: 0.5;
}

/* ─── Multi-Connection Selection ─── */

.flow-connection-multi[b-6ytrygyjoa] {
    width: 100%;
    position: relative;
}

.flow-connection-header[b-6ytrygyjoa] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px;
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border, #e0e0e0);
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    user-select: none;
    transition: border-color 0.2s;
}

.flow-connection-header:hover[b-6ytrygyjoa] {
    border-color: var(--migratrix-primary, #4A89DC);
}

.flow-connection-count[b-6ytrygyjoa] {
    color: var(--migratrix-text-secondary, #666);
}

.flow-connection-expand[b-6ytrygyjoa] {
    font-size: 18px;
    color: var(--migratrix-text-secondary, #666);
}

.flow-connection-list[b-6ytrygyjoa] {
    position: absolute;
    z-index: 100;
    top: 100%;
    left: 0;
    right: 0;
    max-height: 200px;
    overflow-y: auto;
    background: var(--migratrix-card-bg, #fff);
    border: 1px solid var(--migratrix-border, #e0e0e0);
    border-top: none;
    border-radius: 0 0 4px 4px;
    box-shadow: var(--migratrix-shadow-sm, 0 2px 4px rgba(0,0,0,0.1));
}

.flow-connection-check[b-6ytrygyjoa] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    font-size: 12px;
    cursor: pointer;
    transition: background 0.15s;
}

.flow-connection-check:hover[b-6ytrygyjoa] {
    background: var(--migratrix-surface, #f5f5f5);
}

.flow-connection-check input[type="checkbox"][b-6ytrygyjoa] {
    margin: 0;
    cursor: pointer;
}

.flow-connection-check span[b-6ytrygyjoa] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.flow-connection-all[b-6ytrygyjoa] {
    border-bottom: 1px solid var(--migratrix-border, #e0e0e0);
    font-weight: 500;
}

.flow-no-connections[b-6ytrygyjoa] {
    font-size: 12px;
    color: var(--migratrix-text-secondary, #999);
    padding: 6px 10px;
}
/* /Pages/Popovers/IssueLicensePopover.razor.rz.scp.css */
.issue-licence-content[b-frcse8ugv6] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0 1.5rem;
}

.issue-licence-lede[b-frcse8ugv6] {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--migratrix-text-secondary);
}

/* Two columns so Product/Kind and Duration/Seats pair up; each field owns its own hint
   below the input rather than between label and input, which is what pushed the seats
   box out of line with its neighbours in the inline version. */
.issue-licence-grid[b-frcse8ugv6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: 0.85rem 1rem;
    align-items: start;
}

.issue-licence-summary[b-frcse8ugv6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    border-radius: var(--migratrix-radius-sm);
    border: 1px solid var(--migratrix-border);
    border-left: 3px solid var(--migratrix-success);
    background: var(--migratrix-bg-secondary);
    font-size: 0.8125rem;
    color: var(--migratrix-text-primary);
}

.issue-licence-summary .material-icons[b-frcse8ugv6] {
    font-size: 1.05rem;
    color: var(--migratrix-success);
    flex-shrink: 0;
}

.issue-licence-summary.is-warning[b-frcse8ugv6] { border-left-color: var(--migratrix-warning); }
.issue-licence-summary.is-warning .material-icons[b-frcse8ugv6] { color: var(--migratrix-warning); }
/* /Pages/Popovers/MfaSetupPopover.razor.rz.scp.css */
.mfa-popover-content[b-ojpeiwnbgm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 4px 2px;
}

.mfa-status-line[b-ojpeiwnbgm] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.mfa-factors[b-ojpeiwnbgm] {
    color: #6c757d;
    font-size: 0.85rem;
}

.mfa-hint[b-ojpeiwnbgm] {
    margin: 0;
    color: #6c757d;
    font-size: 0.85rem;
}

.mfa-option-list[b-ojpeiwnbgm] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mfa-option[b-ojpeiwnbgm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.02);
}

.mfa-option strong[b-ojpeiwnbgm] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.92rem;
}

.mfa-option strong .material-icons[b-ojpeiwnbgm] {
    font-size: 1.1rem;
    color: rgb(243, 124, 25);
}

.mfa-option p[b-ojpeiwnbgm] {
    margin: 4px 0 0 0;
    color: #6c757d;
    font-size: 0.82rem;
}

.mfa-qr-wrapper[b-ojpeiwnbgm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.mfa-qr[b-ojpeiwnbgm] {
    width: 190px;
    height: 190px;
    background: #fff;
    padding: 8px;
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.mfa-secret code[b-ojpeiwnbgm],
.mfa-recovery-codes code[b-ojpeiwnbgm] {
    font-family: "SF Mono", Monaco, monospace;
    background: rgba(0, 0, 0, 0.05);
    padding: 6px 10px;
    border-radius: 6px;
    letter-spacing: 1px;
    word-break: break-all;
}

.mfa-recovery-codes[b-ojpeiwnbgm] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.mfa-recovery-codes code[b-ojpeiwnbgm] {
    text-align: center;
}

.form-group[b-ojpeiwnbgm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-group label[b-ojpeiwnbgm] {
    font-size: 0.85rem;
    font-weight: 500;
}

/* Short, centered code entry instead of a full-width field. */
.mfa-code-field[b-ojpeiwnbgm] {
    align-items: center;
}

.mfa-code-field input[b-ojpeiwnbgm] {
    max-width: 220px;
    text-align: center;
    letter-spacing: 4px;
    font-size: 1.1rem;
}

/* Status pills + alerts (scoped to this component's content) */
.status-pill[b-ojpeiwnbgm] {
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
}

.status-pill.success[b-ojpeiwnbgm] {
    background: rgba(46, 204, 113, 0.15);
    color: #1e8449;
}

.status-pill.warning[b-ojpeiwnbgm] {
    background: rgba(243, 156, 18, 0.15);
    color: #b9770e;
}

.profile-alert[b-ojpeiwnbgm] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 0.85rem;
}

.profile-alert.error[b-ojpeiwnbgm] {
    background: rgba(231, 76, 60, 0.12);
    color: #c0392b;
}

.profile-alert.success[b-ojpeiwnbgm] {
    background: rgba(46, 204, 113, 0.12);
    color: #1e8449;
}
/* /Pages/Popovers/PlatformInvitationsPopover.razor.rz.scp.css */
.platform-invitations-popover-inner[b-s1fs9vkf8p] {
    padding: 0;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.platform-invitations-popover-inner > .migratrix-tabs-container[b-s1fs9vkf8p] {
    flex-shrink: 0;
    margin-top: 0;
    justify-content: unset;
}

.platform-invitations-popover-inner .migratrix-tab[b-s1fs9vkf8p] {
    flex: 1;
    min-width: 0;
    justify-content: center;
    gap: 0.375rem;
    padding: 0 1.125rem;
}

.platform-invitations-popover-inner .migratrix-tab .material-icons[b-s1fs9vkf8p] {
    font-size: 1.125rem;
}

.platform-invitations-tab[b-s1fs9vkf8p] {
    flex: 1;
    min-height: 0;
    flex-direction: column;
}

.platform-invitations-popover-subtitle[b-s1fs9vkf8p] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
    font-size: 0.9rem;
    color: var(--migratrix-text-secondary);
    flex-shrink: 0;
}

.invite-form-section[b-s1fs9vkf8p] {
    padding: 1.25rem;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-secondary);
}

.invite-form-section label[b-s1fs9vkf8p] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    display: block;
    margin-bottom: 0.25rem;
}

.invite-form-row[b-s1fs9vkf8p] {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
}

.invite-form-row.two[b-s1fs9vkf8p] {
    grid-template-columns: 1fr 1fr;
}

.invite-form-row.three[b-s1fs9vkf8p] {
    grid-template-columns: 1fr 1fr 1fr;
}

.invite-message[b-s1fs9vkf8p] {
    margin-bottom: 1rem;
}

.invite-form-actions[b-s1fs9vkf8p] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
}

.management-content[b-s1fs9vkf8p] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.platform-invitations-chart[b-s1fs9vkf8p] {
    background: var(--migratrix-glass-gradient);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 1.25rem 1.5rem;
    box-shadow: var(--migratrix-shadow);
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.platform-invitations-chart .card-header[b-s1fs9vkf8p] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--migratrix-border);
    flex-shrink: 0;
}

.platform-invitations-chart .card-title h3[b-s1fs9vkf8p] {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0 0 0.25rem 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--migratrix-text-primary);
}

.platform-invitations-chart .card-title p[b-s1fs9vkf8p] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--migratrix-text-secondary);
}

.platform-invitations-table-scroll[b-s1fs9vkf8p] {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

.platform-invitations-chart .data-table[b-s1fs9vkf8p] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.platform-invitations-chart .data-table thead[b-s1fs9vkf8p],
.platform-invitations-chart .org-table-header[b-s1fs9vkf8p] {
    background: rgba(243, 124, 25, 0.05);
}

.platform-invitations-chart .data-table th[b-s1fs9vkf8p],
.platform-invitations-chart .org-th[b-s1fs9vkf8p],
.platform-invitations-chart .org-th-center[b-s1fs9vkf8p] {
    padding: 0.65rem 0.85rem;
    text-align: left;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--migratrix-text-secondary);
    border-bottom: 2px solid var(--migratrix-border);
    white-space: nowrap;
}

.platform-invitations-chart .org-th-center[b-s1fs9vkf8p] {
    text-align: center;
}

.platform-invitations-chart .data-table td[b-s1fs9vkf8p],
.platform-invitations-chart .org-td[b-s1fs9vkf8p],
.platform-invitations-chart .org-td-center[b-s1fs9vkf8p] {
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid var(--migratrix-border);
    color: var(--migratrix-text-primary);
}

.platform-invitations-chart .org-td-center[b-s1fs9vkf8p] {
    text-align: center;
}

.platform-invitations-chart .org-cell-content[b-s1fs9vkf8p] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.platform-invitations-chart .org-name[b-s1fs9vkf8p] {
    font-weight: 600;
}

.platform-invitations-chart .org-slug[b-s1fs9vkf8p] {
    font-size: 0.85rem;
    color: var(--migratrix-text-secondary);
}

.platform-invitations-chart .org-date[b-s1fs9vkf8p] {
    font-size: 0.85rem;
    color: var(--migratrix-text-secondary);
}

.platform-invitations-chart .org-revoke[b-s1fs9vkf8p] {
    color: var(--danger-color, #dc3545);
}

.platform-invitations-chart .org-actions[b-s1fs9vkf8p] {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    align-items: center;
}

.platform-invitations-chart .badge[b-s1fs9vkf8p] {
    padding: 0.3rem 0.65rem;
    border-radius: 12px;
    font-size: 0.72rem;
    font-weight: 600;
    display: inline-block;
    white-space: nowrap;
}

.platform-invitations-chart .badge-primary[b-s1fs9vkf8p] {
    background: rgba(243, 124, 25, 0.15);
    color: var(--migratrix-primary);
    border: 1px solid rgba(243, 124, 25, 0.2);
}

.platform-invitations-chart .badge-warning[b-s1fs9vkf8p] {
    background: rgba(243, 156, 18, 0.15);
    color: var(--migratrix-warning);
    border: 1px solid rgba(243, 156, 18, 0.2);
}

.platform-invitations-chart .badge-success[b-s1fs9vkf8p] {
    background: rgba(46, 204, 113, 0.15);
    color: #2ecc71;
    border: 1px solid rgba(46, 204, 113, 0.2);
}

.platform-invitations-chart .badge-secondary[b-s1fs9vkf8p] {
    background: var(--migratrix-bg-secondary);
    color: var(--migratrix-text-secondary);
    border: 1px solid var(--migratrix-border);
}

.platform-invitations-chart .item-status[b-s1fs9vkf8p] {
    padding: 0.3rem 0.65rem;
    border-radius: 12px;
    font-size: 0.72rem;
    font-weight: 600;
    display: inline-block;
}

.platform-invitations-chart .item-status.good[b-s1fs9vkf8p] {
    background: rgba(46, 204, 113, 0.15);
    color: #2ecc71;
}

.platform-invitations-chart .item-status.danger[b-s1fs9vkf8p] {
    background: rgba(231, 76, 60, 0.15);
    color: #e74c3c;
}

.platform-invitations-chart .org-td-empty[b-s1fs9vkf8p] {
    text-align: center;
    padding: 2rem 1rem;
}

.platform-invitations-chart .org-loading[b-s1fs9vkf8p] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.platform-invitations-chart .org-loading-text[b-s1fs9vkf8p] {
    color: var(--migratrix-text-secondary);
    font-size: 0.9rem;
}

.platform-invitations-chart .org-empty-icon[b-s1fs9vkf8p] {
    font-size: 3rem;
    color: var(--migratrix-text-muted);
    opacity: 0.5;
    margin-bottom: 0.5rem;
}

.platform-invitations-chart .org-empty-title[b-s1fs9vkf8p] {
    font-weight: 600;
    margin-bottom: 0.35rem;
    color: var(--migratrix-text-primary);
}

.platform-invitations-chart .org-empty-text[b-s1fs9vkf8p] {
    color: var(--migratrix-text-secondary);
    font-size: 0.88rem;
}

.invite-summary[b-s1fs9vkf8p] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 0.85rem;
    margin-bottom: 1rem;
    border-radius: var(--migratrix-radius-sm);
    border: 1px solid var(--migratrix-border);
    border-left: 3px solid var(--migratrix-primary);
    background: var(--migratrix-bg-secondary);
    font-size: 0.8125rem;
    color: var(--migratrix-text-primary);
}

.invite-summary .material-icons[b-s1fs9vkf8p] {
    font-size: 1.05rem;
    color: var(--migratrix-primary);
    flex-shrink: 0;
}

@media (max-width: 720px) {
    .invite-form-row.two[b-s1fs9vkf8p],
    .invite-form-row.three[b-s1fs9vkf8p] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Popovers/popover.razor.rz.scp.css */
.popover[b-z17w724kts] {
    position: fixed;
    display: grid;
    grid-template-rows: auto 1fr auto;
    background: var(--migratrix-bg-main);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    box-shadow: var(--migratrix-shadow-lg);
    overflow: hidden;
    z-index: 9999;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    min-width: 320px;
    min-height: 240px;
    max-width: 95vw;
    max-height: 95vh;
}

.popover.fullscreen[b-z17w724kts] {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    border-radius: 0 !important;
    z-index: 99999 !important;
}

.popover.child-over-fullscreen[b-z17w724kts] {
    z-index: 100000 !important;
}
.popover-header[b-z17w724kts] {
    grid-row: 1;
    display: flex;
    align-items: center;
    height: 40px;
    padding: 0 1rem;
    background: var(--migratrix-bg-secondary);
    border-bottom: 1px solid var(--migratrix-border);
    cursor: move;
    user-select: none;
    flex-shrink: 0;
}

.popover-header.fullscreen[b-z17w724kts],
.popover.fullscreen .popover-header[b-z17w724kts] {
    cursor: default;
    border-radius: 0;
}

.popover-title[b-z17w724kts] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.popover-title i[b-z17w724kts] {
    font-size: 1rem;
    color: var(--migratrix-primary);
}

.spacer[b-z17w724kts] {
    flex: 1;
}

/* The look is global now - shared with the explorer's table tabs and the SQL editor's result tabs.
   Only the header's larger target and its spacing are particular to this popover. */
.tab-close-button[b-z17w724kts] {
    width: 28px;
    height: 28px;
    margin-left: 0.25rem;
}

.popover-content[b-z17w724kts] {
    grid-row: 2;
    min-height: 0;
    overflow: hidden;
    display: flex;
    background: var(--migratrix-bg-main);
}

.popover-main[b-z17w724kts] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 0.5rem 0.5rem;
    overflow-y: auto;
}

.popover-tabs[b-z17w724kts] {
    display: flex;
    gap: 0.25rem;
    padding: 0.25rem;
    margin-bottom: 1.5rem;
    background: var(--migratrix-bg-secondary);
    border-radius: var(--migratrix-radius-sm);
}

.popover-tab[b-z17w724kts] {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--migratrix-text-secondary);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--migratrix-radius-sm);
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.popover-tab-content[b-z17w724kts] {
    flex: 1;
    min-height: 200px;
    display: grid;
    grid-template-rows: 1fr;
}

.popover-footer[b-z17w724kts] {
    grid-row: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1.5rem;
    background: var(--migratrix-bg-secondary);
    border-top: 1px solid var(--migratrix-border);
    flex-shrink: 0;
}

.footer-left[b-z17w724kts],
.footer-right[b-z17w724kts] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.resize-handle[b-z17w724kts] {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 16px;
    height: 16px;
    background: linear-gradient(
            -45deg,
            transparent 30%,
            var(--migratrix-border) 30%,
            var(--migratrix-border) 40%,
            transparent 40%,
            transparent 60%,
            var(--migratrix-border) 60%,
            var(--migratrix-border) 70%,
            transparent 70%
    );
    cursor: nwse-resize;
    z-index: 10;
}

.popover.fullscreen .resize-handle[b-z17w724kts] {
    display: none;
}

.form-row[b-z17w724kts] {
    display: flex;
    gap: 1.5rem;
}

.form-group[b-z17w724kts] {
    margin-bottom: 1.5rem;
}

.form-group.col-6[b-z17w724kts] {
    flex: 1;
}

.form-label[b-z17w724kts] {
    display: block;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
}

.form-control[b-z17w724kts] {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.875rem;
    transition: all 0.2s ease;
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
}

.form-control:focus[b-z17w724kts] {
    outline: none;
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 3px rgba(74, 137, 220, 0.1);
}

.form-control:hover[b-z17w724kts] {
    border-color: var(--migratrix-primary-light);
}

.migratrix-btn-icon[b-z17w724kts] {
    padding: 0.5rem;
    background: transparent;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    color: var(--migratrix-text-primary);
}

.migratrix-btn.action[b-z17w724kts] {
    border: 1px solid var(--migratrix-primary);
    background: var(--migratrix-primary);
    color: white;
    border-radius: var(--migratrix-radius-sm);
    transition: all 0.2s;
    text-decoration: none;
}

@keyframes status-spin-b-z17w724kts {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.checkbox-container[b-z17w724kts] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.monaco-container[b-z17w724kts] {
    height: 100%;
    border-radius: var(--migratrix-radius-sm);
    overflow: hidden;
}

@media (min-width: 1537px) and (max-width: 1727px) {

    .popover-header[b-z17w724kts] {
        padding: 0 0.875rem;
    }

    .popover-title[b-z17w724kts] {
        gap: 0.4rem;
    }

    .popover-title i[b-z17w724kts] {
        font-size: 0.95rem;
    }

    .tab-close-button[b-z17w724kts] {
        width: 26px;
        height: 26px;
    }

    .popover-tabs[b-z17w724kts] {
        padding: 0.2rem;
        margin-bottom: 1.125rem;
        gap: 0.2rem;
    }

    .popover-tab[b-z17w724kts] {
        padding: 0.6rem 0.9rem;
        font-size: 0.82rem;
    }

    .form-group[b-z17w724kts] {
        margin-bottom: 1rem;
    }

    .form-label[b-z17w724kts] {
        font-size: 0.82rem;
    }

    .form-control[b-z17w724kts] {
        padding: 0.65rem;
        font-size: 0.82rem;
    }

    .checkbox-container[b-z17w724kts] {
        gap: 0.6rem;
        margin-bottom: 0.75rem;
    }

    .checkbox-container input[type="checkbox"][b-z17w724kts] {
        width: 16px;
        height: 16px;
    }

    .checkbox-container label[b-z17w724kts] {
        font-size: 0.82rem;
    }

    .footer-left[b-z17w724kts], .footer-right[b-z17w724kts] {
        gap: 0.6rem;
    }

    .migratrix-btn .material-symbols-outlined[b-z17w724kts],
    .migratrix-btn .status-spinner[b-z17w724kts] {
        font-size: 14px;
        width: 14px;
        height: 14px;
    }
}

@media (min-width: 1281px) and (max-width: 1536px) {
    
    .popover-header[b-z17w724kts] {
        padding: 0 0.75rem;
    }

    .popover-title[b-z17w724kts] {
        gap: 0.35rem;
    }

    .popover-title i[b-z17w724kts] {
        font-size: 0.9rem;
    }

    .tab-close-button[b-z17w724kts] {
        width: 24px;
        height: 24px;
    }

    .popover-tabs[b-z17w724kts] {
        padding: 0.15rem;
        margin-bottom: 1rem;
        gap: 0.15rem;
    }

    .popover-tab[b-z17w724kts] {
        padding: 0.5rem 0.75rem;
        font-size: 0.78rem;
    }

    .form-group[b-z17w724kts] {
        margin-bottom: 0.875rem;
    }

    .form-label[b-z17w724kts] {
        font-size: 0.78rem;
    }

    .form-control[b-z17w724kts] {
        padding: 0.6rem;
        font-size: 0.78rem;
    }

    .checkbox-container[b-z17w724kts] {
        gap: 0.55rem;
        margin-bottom: 0.75rem;
    }

    .checkbox-container input[type="checkbox"][b-z17w724kts] {
        width: 15px;
        height: 15px;
    }

    .checkbox-container label[b-z17w724kts] {
        font-size: 0.78rem;
    }

    .footer-left[b-z17w724kts], .footer-right[b-z17w724kts] {
        gap: 0.5rem;
    }

    .migratrix-btn.action[b-z17w724kts] {
        padding: 0.4rem 0.8rem;
        font-size: 0.78rem;
    }

    .migratrix-btn .material-symbols-outlined[b-z17w724kts],
    .migratrix-btn .status-spinner[b-z17w724kts] {
        font-size: 13px;
        width: 13px;
        height: 13px;
    }
}

@media (max-width: 1024px) {

    .popover-header[b-z17w724kts] {
        padding: 0 0.875rem;
    }
    
    .popover-main[b-z17w724kts] {
        padding: 1.25rem;
    }

    .popover-tabs[b-z17w724kts] {
        margin-bottom: 1.25rem;
    }

    .popover-tab[b-z17w724kts] {
        padding: 0.65rem 0.9rem;
        font-size: 0.82rem;
    }

    .popover-footer[b-z17w724kts] {
        padding: 0.875rem 1.25rem;
    }

    .form-row[b-z17w724kts] {
        flex-direction: column;
        gap: 0;
    }

    .form-group.col-6[b-z17w724kts] {
        width: 100%;
    }

    .popover-tabs[b-z17w724kts] {
        flex-wrap: wrap;
    }

    .popover-tab[b-z17w724kts] {
        padding: 0.625rem 0.875rem;
        font-size: 0.8rem;
    }
}

/* Mobile (max 768px) */
@media (max-width: 768px) {
    .popover[b-z17w724kts] {
        width: 95vw !important;
        max-width: 95vw;
        min-width: 280px;
    }

    .popover-header[b-z17w724kts] {
        padding: 0 0.75rem;
    }

    .popover-title[b-z17w724kts] {
        font-size: 0.8rem;
    }

    .tab-close-button[b-z17w724kts] {
        width: 32px;
        height: 32px;
    }

    .popover-main[b-z17w724kts] {
        padding: 1rem;
    }

    .popover-tabs[b-z17w724kts] {
        margin-bottom: 1rem;
        flex-wrap: wrap;
    }

    .popover-tab[b-z17w724kts] {
        padding: 0.6rem 0.8rem;
        font-size: 0.8rem;
    }

    .popover-footer[b-z17w724kts] {
        padding: 0.75rem 1rem;
        flex-direction: column;
        gap: 0.75rem;
    }

    .footer-left[b-z17w724kts],
    .footer-right[b-z17w724kts] {
        width: 100%;
        justify-content: center;
    }

    .popover-tab-content[b-z17w724kts] {
        min-height: 300px;
    }
}

@media (max-width: 640px) {

    .popover-header[b-z17w724kts] {
        padding: 0 0.75rem;
    }

    .popover-title[b-z17w724kts] {
        font-size: 0.8rem;
    }

    .tab-close-button[b-z17w724kts] {
        width: 32px;
        height: 32px;
    }

    .form-row[b-z17w724kts] {
        gap: 0.75rem;
    }

    .form-group[b-z17w724kts] {
        margin-bottom: 1rem;
    }

    .migratrix-btn.action[b-z17w724kts] {
        padding: 0.625rem 1rem;
        font-size: 0.8rem;
    }
}

/* Small Mobile (max 480px) */
@media (max-width: 480px) {
    /*.popover {*/
    /*    width: 100vw !important;*/
    /*    height: 100vh !important;*/
    /*    max-width: 100vw;*/
    /*    max-height: 100vh;*/
    /*    border-radius: 0;*/
    /*    min-width: 100vw;*/
    /*    min-height: 100vh;*/
    /*}*/

    .popover-header[b-z17w724kts] {
        padding: 0 0.5rem;
    }

    .popover-title[b-z17w724kts] {
        font-size: 0.75rem;
    }

    .tab-close-button[b-z17w724kts] {
        width: 30px;
        height: 30px;
    }

    .popover-main[b-z17w724kts] {
        padding: 0.875rem;
    }

    .popover-tabs[b-z17w724kts] {
        padding: 0.125rem;
        gap: 0.125rem;
        margin-bottom: 1rem;
    }

    .popover-tab[b-z17w724kts] {
        padding: 0.5rem 0.625rem;
        font-size: 0.75rem;
    }

    .popover-footer[b-z17w724kts] {
        padding: 0.625rem 0.875rem;
    }

    .form-control[b-z17w724kts] {
        padding: 0.625rem;
        font-size: 0.8rem;
    }
}

.popover *[b-z17w724kts] {
    box-sizing: border-box;
}

.popover:not(.fullscreen)[b-z17w724kts] {
    transition: none;
}

.popover-header:active[b-z17w724kts] {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.popover-tab:focus-visible[b-z17w724kts],
.tab-close-button:focus-visible[b-z17w724kts] {
    outline: 2px solid var(--migratrix-primary);
    outline-offset: 2px;
}

@keyframes fadeIn-b-z17w724kts {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.popover-tab-content[b-z17w724kts] {
    animation: fadeIn-b-z17w724kts 0.3s ease-in-out;
}

:global(:root)[b-z17w724kts] {
    --popover-open-duration: 420ms;
    --popover-close-duration: 260ms;
    --popover-open-ease: cubic-bezier(0.175, 0.885, 0.32, 1.12);
    --popover-close-ease: cubic-bezier(0.4, 0, 0.2, 0.95);
}

@keyframes appleMailPopoverIn-b-z17w724kts {
    0% {
        opacity: 0;
        transform: scale(0.84) translateY(32px);
        filter: saturate(0.8);
    }
    55% {
        opacity: 1;
        transform: scale(1.02) translateY(-4px);
    }
    75% {
        transform: scale(0.985) translateY(3px);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
        filter: saturate(1);
    }
}

@keyframes appleMailPopoverOut-b-z17w724kts {
    0% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
    25% {
        transform: scale(1.01) translateY(-2px);
    }
    100% {
        opacity: 0;
        transform: scale(0.86) translateY(28px);
    }
}

.popover[data-popover-state="closed"][b-z17w724kts] {
    opacity: 0;
    transform: scale(0.84) translateY(56px);
    pointer-events: none;
    visibility: hidden;
    transition: none;
}

.popover[data-popover-state="opening"][b-z17w724kts] {
    opacity: 0;
    transform: scale(0.75) translateY(120px);
    pointer-events: none;
    visibility: visible;
    transition: none !important;
}

.popover[data-popover-state="open"][b-z17w724kts] {
    opacity: 1;
    /* transform: scale(1) translateY(0); */
    pointer-events: auto;
    visibility: visible;
    transition:
            opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94),
            transform 0.55s cubic-bezier(0.175, 0.885, 0.32, 1.12);
}

.popover[data-popover-state="closing"][b-z17w724kts] {
    opacity: 0;
    transform: scale(0.84) translateY(56px);
    pointer-events: none;
    visibility: visible;
    transition:
            opacity 0.28s cubic-bezier(0.4, 0, 1, 1),
            transform 0.45s cubic-bezier(0.4, 0, 0.6, 1),
            visibility 0s linear 0.45s;
}

.popover.popover-closed[b-z17w724kts],
.popover.popover-closed[data-popover-state][b-z17w724kts] {
    opacity: 0;
    transform: scale(0.84) translateY(56px);
    pointer-events: none;
    visibility: hidden;
    transition: none;
}

.popover.popover-opening[b-z17w724kts],
.popover.popover-opening[data-popover-state][b-z17w724kts] {
    opacity: 0;
    transform: scale(0.75) translateY(120px);
    pointer-events: none;
    visibility: visible;
    transition: none !important;
}

.popover.popover-open[b-z17w724kts],
.popover.popover-open[data-popover-state][b-z17w724kts] {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transition:
            opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94),
            transform 0.55s cubic-bezier(0.175, 0.885, 0.32, 1.12);
}

.popover.popover-closing[b-z17w724kts],
.popover.popover-closing[data-popover-state][b-z17w724kts] {
    opacity: 0;
    transform: scale(0.84) translateY(56px);
    pointer-events: none;
    visibility: visible;
    transition:
            opacity 0.28s cubic-bezier(0.4, 0, 1, 1),
            transform 0.45s cubic-bezier(0.4, 0, 0.6, 1),
            visibility 0s linear 0.45s;
}

.popover.fullscreen[b-z17w724kts] {
    transition: none;
    opacity: 1 !important;
    transform: none !important;
}

.popover.fullscreen:has(.change-script-form) .popover-header.fullscreen[b-z17w724kts] {
    display: none;
}

.popover.fullscreen.popover-closing[b-z17w724kts] {
    opacity: 0 !important;
    transform: scale(0.84) translateY(56px) !important;
    transition:
            opacity 0.28s cubic-bezier(0.4, 0, 1, 1),
            transform 0.45s cubic-bezier(0.4, 0, 0.6, 1) !important;
}

.popover.fullscreen.popover-closed[b-z17w724kts] {
    opacity: 0 !important;
    transform: scale(0.84) translateY(56px) !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: none !important;
}

.popover.fullscreen-transition[b-z17w724kts],
.popover.fullscreen.fullscreen-transition[b-z17w724kts] {
    transition:
            width 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
            height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
            left 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
            top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
            border-radius 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.popover-header[b-z17w724kts] {
    display: flex;
    align-items: center;
    padding: 0 16px;
    background: var(--migratrix-bg-secondary);;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    cursor: move;
    user-select: none;
    -webkit-user-select: none;
}

.popover-title[b-z17w724kts] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
    flex: 1;
}

.popover-title i[b-z17w724kts] {
    font-size: 16px;
    color: #6b7280;
}

.footer-left[b-z17w724kts] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.footer-right[b-z17w724kts] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.tab-close-button[b-z17w724kts] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    border-radius: 6px;
    cursor: pointer;
    color: #6b7280;
    transition: all 0.15s ease;
    padding: 0;
}

.tab-close-button:hover[b-z17w724kts] {
    background: rgba(0, 0, 0, 0.06);
    color: #1f2937;
}

.tab-close-button:active[b-z17w724kts] {
    background: rgba(0, 0, 0, 0.1);
    transform: scale(0.95);
}
.tab-close-button:focus:not(:focus-visible)[b-z17w724kts] {
    box-shadow: none;
}

.tab-close-button i[b-z17w724kts] {
    font-size: 18px;
}

.resize-handle[b-z17w724kts] {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 16px;
    height: 16px;
    cursor: nwse-resize;
    opacity: 0.3;
    transition: opacity 0.2s ease;
}

.resize-handle[b-z17w724kts]::before,
.resize-handle[b-z17w724kts]::after {
    content: '';
    position: absolute;
    background: #9ca3af;
}

.resize-handle[b-z17w724kts]::before {
    width: 2px;
    height: 12px;
    right: 2px;
    bottom: 2px;
}

.resize-handle[b-z17w724kts]::after {
    width: 12px;
    height: 2px;
    right: 2px;
    bottom: 2px;
}

.popover:hover .resize-handle[b-z17w724kts] {
    opacity: 0.6;
}

.popover.fullscreen[b-z17w724kts] {
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    border-radius: 0;
    max-width: 100% !important;
    max-height: 100% !important;
}

.popover.fullscreen .popover-content[b-z17w724kts] {
    min-height: 0;
}

.popover.fullscreen .popover-main[b-z17w724kts] {
    min-height: 0;
}

.popover.fullscreen .popover-tab-content[b-z17w724kts] {
    min-height: 0;
}

.popover.fullscreen .popover-header[b-z17w724kts] {
    cursor: default;
}

.popover.fullscreen .resize-handle[b-z17w724kts] {
    display: none;
}

@media (max-width: 768px) {
    .popover[b-z17w724kts] {
        border-radius: 12px 12px 0 0;
    }

    .popover-header[b-z17w724kts] {
        padding: 0 12px;
    }

    .popover-footer[b-z17w724kts] {
        padding: 10px 12px;
        flex-direction: column;
    }

    .footer-right[b-z17w724kts] {
        width: 100%;
        justify-content: stretch;
    }

    .footer-right button[b-z17w724kts] {
        flex: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .popover[data-popover-state][b-z17w724kts],
    .popover.popover-open[b-z17w724kts],
    .popover.popover-opening[b-z17w724kts],
    .popover.popover-closing[b-z17w724kts],
    .popover.popover-closed[b-z17w724kts] {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }

    .popover.fullscreen-transition[b-z17w724kts],
    .popover.fullscreen.fullscreen-transition[b-z17w724kts] {
        transition: none !important;
    }

    .popover[data-popover-state="open"][b-z17w724kts],
    .popover.popover-open[b-z17w724kts] {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .popover[data-popover-state="closing"][b-z17w724kts],
    .popover[data-popover-state="closed"][b-z17w724kts],
    .popover[data-popover-state="opening"][b-z17w724kts],
    .popover.popover-closing[b-z17w724kts],
    .popover.popover-closed[b-z17w724kts],
    .popover.popover-opening[b-z17w724kts] {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}
/* Rollback popover: roomier default size on wide viewports. Keyed to the actual browser width
   (unlike the JS sizing, which measures the content container). !important beats the inline width
   the interop sets; note this also pins the size, so manual resize won't stick above the breakpoint. */
@media (min-width: 1728px) {
    [id^="rollback-info-popover-"][b-z17w724kts] {
        width: 1000px !important;
        height: 630px !important;
    }
}

/* ── Minimized (docked) ────────────────────────────────────────────────────────────────────────
   A minimized popover stays mounted, positioned and sized - it is only made invisible and inert.
   Nothing here may collapse the box: the content is a Monaco editor, and an editor in a zero-sized
   or display:none container loses its measurements (and, on unmount, its model and undo history).
   The element also leaves the tab order and the accessibility tree, via inert/aria-hidden on the
   markup, so an invisible window can never take focus.

   The transform is a "genie" toward the dock: popover-interop measures the dock and writes the
   three custom properties below. When the dock cannot be measured the fallbacks slide the popover
   down and away, which is a reasonable read on their own.

   These rules sit last in the file deliberately, and carry the [data-popover-state] variant: the
   .popover-open state they have to beat is written that way too, so without it the docked window
   would stay fully painted as a shrunken copy of itself next to the dock. */
.popover.minimized[b-z17w724kts],
.popover.minimized[data-popover-state][b-z17w724kts] {
    opacity: 0;
    pointer-events: none;
    visibility: visible;
    transform-origin: center center;
    transform:
        translate(var(--popover-min-x, 0px), var(--popover-min-y, 140px))
        scale(var(--popover-min-scale, 0.2));
    transition:
        opacity 200ms cubic-bezier(0.4, 0, 1, 1),
        transform 260ms cubic-bezier(0.4, 0, 0.6, 1);
}

/* Minimizing straight out of fullscreen. .popover.fullscreen pins transform and opacity with
   !important so the fullscreen layout cannot be nudged; this selector is more specific (three
   classes), so it wins among the !important declarations and the window can fly to the dock from
   full size instead of visibly snapping back to its old geometry first. The element is handed back
   to its own parent afterwards, while it is already invisible.

   Only ever applies mid-flight: the window leaves fullscreen once the animation is done, so a
   docked window is never both .fullscreen and .previewing. */
.popover.fullscreen.minimized[b-z17w724kts] {
    opacity: 0 !important;
    pointer-events: none !important;
    transform-origin: center center;
    transform:
        translate(var(--popover-min-x, 0px), var(--popover-min-y, 140px))
        scale(var(--popover-min-scale, 0.2)) !important;
    transition:
        opacity 200ms cubic-bezier(0.4, 0, 1, 1),
        transform 260ms cubic-bezier(0.4, 0, 0.6, 1) !important;
}

/* Coming back out of the dock into fullscreen. .popover.fullscreen sets transition:none so the
   fullscreen layout snaps into place instead of sliding around; this lends one back for the single
   journey from the dock to full size, and is removed again once the window has arrived. Paired with
   .popover.fullscreen.minimized above: the element enters fullscreen while still docked, so it
   grows out of the chip already at full size rather than expanding after it appears. */
.popover.fullscreen.restoring[b-z17w724kts] {
    transition:
        opacity 220ms cubic-bezier(0.25, 0.46, 0.45, 0.94),
        transform 280ms cubic-bezier(0.175, 0.885, 0.32, 1.12) !important;
}

/* Peeking at a docked window: the pointer is over its chip, so the window itself is drawn small
   just above that chip. It is the real element, not a copy - which is the whole reason a peek is
   cheap - so it stays inert and click-through, and popover-interop supplies the geometry. */
.popover.minimized.previewing[b-z17w724kts],
.popover.minimized.previewing[data-popover-state][b-z17w724kts] {
    opacity: 1;
    pointer-events: none;
    visibility: visible;
    transform:
        translate(var(--popover-preview-x, 0px), var(--popover-preview-y, -160px))
        scale(var(--popover-preview-scale, 0.3));
}

@media (prefers-reduced-motion: reduce) {
    .popover.minimized:not(.previewing)[b-z17w724kts],
    .popover.minimized:not(.previewing)[data-popover-state][b-z17w724kts],
    .popover.fullscreen.minimized[b-z17w724kts] {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: none;
        transition: none !important;
    }

    .popover.minimized.previewing[b-z17w724kts],
    .popover.minimized.previewing[data-popover-state][b-z17w724kts] {
        transition: none;
    }

    /* Arrives at fullscreen instantly - but it does arrive: this one must never be hidden, it is
       the state the window ends up in. */
    .popover.fullscreen.restoring[b-z17w724kts] {
        transition: none !important;
    }
}
/* /Pages/Popovers/RollbackHistory.razor.rz.scp.css */
/* The card chrome the popover's other panels use. Scoped CSS does not cross a component boundary, so
   moving this markup into its own component meant it stopped inheriting .rb-card / .rb-card-head from
   RollbackPopover - the section lost its border and the head stopped being a row, which is why the
   clock and the title stacked. Same values, so the card sits level with SOURCE above it. */
.rb-card[b-d9u3zk0m2w] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.75rem 0.85rem 0.85rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    box-shadow: var(--migratrix-shadow-sm);
}

.rb-card-head[b-d9u3zk0m2w] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.rb-card-head i[b-d9u3zk0m2w] {
    font-size: 18px;
    color: var(--migratrix-primary);
}

.rb-card-head h4[b-d9u3zk0m2w] {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
}

/* ── rollback history ──────────────────────────────────────────────────────────
   What already happened to this stage. Colours come from the app's variables so
   the block reads as part of the panel rather than a widget bolted onto it. */
.rb-history-empty[b-d9u3zk0m2w] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--migratrix-text-secondary);
}

.rb-history-list[b-d9u3zk0m2w] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.rb-history-item[b-d9u3zk0m2w] {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.5rem 0.6rem;
    border-radius: var(--migratrix-radius-sm);
    border-left: 3px solid var(--migratrix-border);
    background: var(--migratrix-bg-secondary);
}

.rb-history-item.ok[b-d9u3zk0m2w] {
    border-left-color: var(--migratrix-success);
}

.rb-history-item.fail[b-d9u3zk0m2w] {
    border-left-color: var(--migratrix-danger);
}

.rb-history-body[b-d9u3zk0m2w] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.rb-history-head[b-d9u3zk0m2w] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.4rem;
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
}

.rb-history-actor[b-d9u3zk0m2w] {
    color: var(--migratrix-text-secondary);
}

.rb-history-tag[b-d9u3zk0m2w] {
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    border: 1px solid var(--migratrix-border);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--migratrix-text-secondary);
}

.rb-history-when[b-d9u3zk0m2w] {
    font-size: 0.78rem;
    color: var(--migratrix-text-muted);
}

.rb-history-reason[b-d9u3zk0m2w] {
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
    word-break: break-word;
}
/* /Pages/Popovers/RollbackPopover.razor.rz.scp.css */
.rollback-shell[b-fwl5iki7rj] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    font-size: 0.8rem;
    color: var(--migratrix-text-primary);
}

.rb-banner[b-fwl5iki7rj] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    border-radius: var(--migratrix-radius-sm);
    line-height: 1.4;
    flex-shrink: 0;
}

.rb-banner .material-icons[b-fwl5iki7rj] {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

.rb-banner.warn[b-fwl5iki7rj] {
    background: rgba(243, 156, 18, 0.12);
    color: var(--migratrix-warning);
    border: 1px solid rgba(243, 156, 18, 0.28);
}

.rb-banner.danger[b-fwl5iki7rj] {
    background: rgba(231, 76, 60, 0.1);
    color: var(--migratrix-danger);
    border: 1px solid rgba(231, 76, 60, 0.25);
}

.rollback-layout[b-fwl5iki7rj] {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(250px, 0.8fr) minmax(400px, 1.4fr);
    gap: 1rem;
}

.rollback-side[b-fwl5iki7rj] {
    min-width: 0;
    min-height: 0;
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.rb-stats[b-fwl5iki7rj] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 0.65rem;
    padding: 0.75rem 0.85rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
}

.rb-stat[b-fwl5iki7rj] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.rb-kicker[b-fwl5iki7rj] {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--migratrix-text-secondary);
}

.rb-stat-value[b-fwl5iki7rj] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.rb-stat-muted[b-fwl5iki7rj] {
    font-weight: 500;
    color: var(--migratrix-text-secondary);
}

.rb-chip[b-fwl5iki7rj] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    width: fit-content;
    padding: 0.15rem 0.5rem;
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.72rem;
    font-weight: 600;
    border: 1px solid transparent;
}

.rb-chip .material-icons[b-fwl5iki7rj] { font-size: 14px; }

.rb-chip.ok[b-fwl5iki7rj] {
    background: rgba(46, 204, 113, 0.14);
    color: #1e8449;
    border-color: rgba(46, 204, 113, 0.3);
}

.rb-chip.warn[b-fwl5iki7rj] {
    background: rgba(243, 156, 18, 0.16);
    color: #9c6708;
    border-color: rgba(243, 156, 18, 0.34);
}

.rb-chip.danger[b-fwl5iki7rj] {
    background: rgba(231, 76, 60, 0.14);
    color: #a93226;
    border-color: rgba(231, 76, 60, 0.32);
}

.rb-chip.guarantee[b-fwl5iki7rj] {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.66rem;
}

.rb-chip.guarantee.exact[b-fwl5iki7rj] { background: rgba(46, 204, 113, 0.14); color: #1e8449; border-color: rgba(46, 204, 113, 0.3); }
.rb-chip.guarantee.caveat[b-fwl5iki7rj] { background: rgba(243, 156, 18, 0.16); color: #9c6708; border-color: rgba(243, 156, 18, 0.34); }
.rb-chip.guarantee.block[b-fwl5iki7rj] { background: rgba(231, 76, 60, 0.14); color: #a93226; border-color: rgba(231, 76, 60, 0.32); }

.rb-card[b-fwl5iki7rj],
.rollback-script-pane[b-fwl5iki7rj] {
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    box-shadow: var(--migratrix-shadow-sm);
}

.rb-card[b-fwl5iki7rj] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.75rem 0.85rem 0.85rem;
}

.rb-card-head[b-fwl5iki7rj] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.rb-card-head i[b-fwl5iki7rj] {
    font-size: 18px;
    color: var(--migratrix-primary);
}

.rb-card-head h4[b-fwl5iki7rj] {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
}

.rb-entry[b-fwl5iki7rj] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.6rem 0.7rem;
    border: 1px solid var(--migratrix-border);
    border-left: 3px solid var(--migratrix-text-secondary);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
}

.rb-entry.exact[b-fwl5iki7rj] { border-left-color: var(--migratrix-success); }
.rb-entry.caveat[b-fwl5iki7rj] { border-left-color: var(--migratrix-warning); }
.rb-entry.block[b-fwl5iki7rj] { border-left-color: var(--migratrix-danger); }

.rb-entry-top[b-fwl5iki7rj] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.rb-obj[b-fwl5iki7rj] {
    font-family: var(--font-mono);
    font-size: 0.78rem;
    font-weight: 600;
    word-break: break-all;
}

.rb-state[b-fwl5iki7rj] {
    margin-left: auto;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--migratrix-text-secondary);
}

.rb-entry-meta[b-fwl5iki7rj] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    color: var(--migratrix-text-secondary);
    font-size: 0.74rem;
}

.rb-park[b-fwl5iki7rj] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.rb-park-label[b-fwl5iki7rj] {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--migratrix-text-secondary);
}

.rb-park code[b-fwl5iki7rj] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--font-mono);
    font-size: 0.65rem;
    line-height: 1.45;
    background: var(--migratrix-bg-hover);
    color: var(--migratrix-primary);
    padding: 0.4rem 0.5rem;
    border-radius: var(--migratrix-radius-sm);
    overflow-x: auto;
    white-space: nowrap;
}

.rb-quiet[b-fwl5iki7rj] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.7rem;
    color: var(--migratrix-text-secondary);
}

.rb-quiet-bar[b-fwl5iki7rj] {
    height: 5px;
    border-radius: 3px;
    background: var(--migratrix-border);
    overflow: hidden;
}

.rb-quiet-bar > span[b-fwl5iki7rj] {
    display: block;
    height: 100%;
    background: var(--migratrix-primary);
    border-radius: 3px;
}

.rb-quiet.eligible[b-fwl5iki7rj] { color: var(--migratrix-success); }
.rb-quiet.eligible .rb-quiet-bar > span[b-fwl5iki7rj] { background: var(--migratrix-success); }

.rb-note[b-fwl5iki7rj] {
    display: flex;
    align-items: flex-start;
    gap: 0.3rem;
    font-size: 0.73rem;
    line-height: 1.4;
}

.rb-note .material-icons[b-fwl5iki7rj] { font-size: 14px; margin-top: 1px; flex-shrink: 0; }
.rb-note.warn[b-fwl5iki7rj] { color: var(--migratrix-warning); }
.rb-note.info[b-fwl5iki7rj] { color: var(--migratrix-info); }
.rb-note.muted[b-fwl5iki7rj] { color: var(--migratrix-text-secondary); }

.rb-probe[b-fwl5iki7rj] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.6rem;
    flex-wrap: nowrap;
}

.rb-probe-counts[b-fwl5iki7rj] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin-left: auto;
    justify-content: flex-end;
}

.rollback-script-pane[b-fwl5iki7rj] {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.rollback-script-pane .rb-card-head[b-fwl5iki7rj] {
    padding: 0.75rem 0.9rem;
    border-bottom: 1px solid var(--migratrix-border);
    flex-shrink: 0;
}

.rb-script-source[b-fwl5iki7rj] {
    margin-left: auto;
    font-size: 0.68rem;
    font-weight: 500;
    color: var(--migratrix-text-secondary);
}

.rollback-script-editor[b-fwl5iki7rj] {
    flex: 1;
    min-height: 180px;
    overflow: hidden;
}

.rollback-script-editor[b-fwl5iki7rj]  .monaco-container {
    height: 100%;
    width: 100%;
}

.rb-empty[b-fwl5iki7rj] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.35rem;
    color: var(--migratrix-text-secondary);
}

.rb-empty .material-icons[b-fwl5iki7rj] {
    font-size: 36px;
    color: var(--migratrix-primary);
    opacity: 0.55;
}

.rb-empty h4[b-fwl5iki7rj] {
    margin: 0.35rem 0 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
}

.rb-empty p[b-fwl5iki7rj] { margin: 0; }

.rb-outcome[b-fwl5iki7rj] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    line-height: 1.35;
}

.rb-outcome .material-icons[b-fwl5iki7rj] { font-size: 18px; }
.rb-outcome.ok[b-fwl5iki7rj] { color: var(--migratrix-success); }
.rb-outcome.fail[b-fwl5iki7rj] { color: var(--migratrix-danger); }

.rb-confirm[b-fwl5iki7rj] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.rb-confirm b[b-fwl5iki7rj] {
    font-family: var(--font-mono);
    background: var(--migratrix-bg-hover);
    padding: 0.05rem 0.35rem;
    border-radius: 3px;
    color: var(--migratrix-primary);
}

.rb-confirm-input[b-fwl5iki7rj] {
    min-width: 160px;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    font-size: 0.8rem;
}

.rb-confirm-input:focus[b-fwl5iki7rj] {
    outline: none;
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 2px rgba(243, 124, 25, 0.18);
}

.status-spinner[b-fwl5iki7rj] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-left: 2px solid currentColor;
    border-radius: 50%;
    animation: rb-spin-b-fwl5iki7rj 1s linear infinite;
    display: inline-block;
    flex-shrink: 0;
}

@keyframes rb-spin-b-fwl5iki7rj {
    to { transform: rotate(360deg); }
}

@media (prefers-color-scheme: dark) {
    .rb-chip.ok[b-fwl5iki7rj], .rb-chip.guarantee.exact[b-fwl5iki7rj] { color: #6ee7a8; }
    .rb-chip.warn[b-fwl5iki7rj], .rb-chip.guarantee.caveat[b-fwl5iki7rj] { color: #f6c26b; }
    .rb-chip.danger[b-fwl5iki7rj], .rb-chip.guarantee.block[b-fwl5iki7rj] { color: #f19187; }
}

@container (max-width: 720px) {
    .rollback-layout[b-fwl5iki7rj] {
        grid-template-columns: 1fr;
    }

    .rollback-script-editor[b-fwl5iki7rj] {
        min-height: 220px;
    }
}

.rollback-shell[b-fwl5iki7rj] {
    container-type: inline-size;
}
/* /Pages/Popovers/ScriptPopover.razor.rz.scp.css */
.script-popover-editor[b-kcw00h1lna] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 320px;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    overflow: hidden;
    background: var(--migratrix-bg-card);
}

.script-popover-editor[b-kcw00h1lna]  .monaco-container {
    flex: 1;
    min-height: 320px;
    height: 100%;
    width: 100%;
}
/* /Pages/Popovers/ShownNamespacesPopover.razor.rz.scp.css */
/* Layout only. The filter box, the buttons and the checkboxes are the app's global classes, so this
   list follows the theme rather than defining a second palette beside it. */
.shown-ns-form[b-m91514ohob] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    height: 100%;
    min-height: 0;
    padding: 0.25rem;
}

.shown-ns-toolbar[b-m91514ohob] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 0 0 auto;
}

/* The filter takes the room; the two buttons stay at their natural width. */
.shown-ns-toolbar .migratrix-input[b-m91514ohob] {
    flex: 1;
}

/* No border or panel background: with a handful of schemas a framed box is mostly empty rectangle,
   which is exactly how this looked. The rows sit on the popover's own surface and the leftover space
   simply reads as space. */
.shown-ns-list[b-m91514ohob] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-content: flex-start;
}

/* Left padding matches the filter box's, so the checkbox column lines up with the field above it
   instead of sitting a dozen pixels to its right. */
.shown-ns-item[b-m91514ohob] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.3rem 0.25rem;
    border-radius: var(--migratrix-radius-sm);
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--migratrix-text-primary);
    user-select: none;
}

/* The global .checkbox-label sets 18px, which out-weighs a 0.9rem label sitting beside it. */
.shown-ns-item input[type="checkbox"][b-m91514ohob] {
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
    margin: 0;
}

.shown-ns-item:hover[b-m91514ohob] {
    background: var(--migratrix-bg-hover);
}

.shown-ns-empty[b-m91514ohob] {
    margin: 0.75rem 0.5rem;
    font-size: 0.85rem;
}
/* /Pages/Popovers/workspacePopover.razor.rz.scp.css */
.workspace-form-content[b-3yrh7qo86f] {
    padding: 1rem 2rem;
    height: 100%;
    overflow-y: auto;
}

.form-group[b-3yrh7qo86f] {
    margin-bottom: 1.25rem;
}

.form-group label[b-3yrh7qo86f] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.5rem;
}

.form-help[b-3yrh7qo86f] {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

.validation-message[b-3yrh7qo86f] {
    font-size: 0.75rem;
    color: var(--migratrix-danger);
    margin-top: 0.25rem;
}

/* Plan Options */
.plan-options[b-3yrh7qo86f] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 1rem;
    margin-top: 0.5rem;
}

.plan-card[b-3yrh7qo86f] {
    padding: 1rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    cursor: pointer;
    transition: all 0.2s;
    background: var(--migratrix-bg-card);
    text-align: center;
}

.plan-card:hover[b-3yrh7qo86f] {
    border-color: var(--migratrix-primary);
    transform: translateY(-2px);
    box-shadow: var(--migratrix-shadow-sm);
}

.plan-card.selected[b-3yrh7qo86f] {
    background: rgba(243, 124, 25, 0.05);
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 1px var(--migratrix-primary);
}

.plan-name[b-3yrh7qo86f] {
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 0.25rem;
}

.plan-price[b-3yrh7qo86f] {
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
}

/* Payment Summary */
.payment-summary[b-3yrh7qo86f] {
    margin-top: 1.5rem;
    background: var(--migratrix-bg-secondary);
    border-radius: var(--migratrix-radius-sm);
    padding: 1rem;
    border: 1px solid var(--migratrix-border);
}

.payment-summary-header[b-3yrh7qo86f] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--migratrix-border);
}

.payment-summary-header i[b-3yrh7qo86f] {
    color: var(--migratrix-primary);
}

.payment-line[b-3yrh7qo86f] {
    display: flex;
    justify-content: space-between;
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
    margin-bottom: 0.5rem;
}

.payment-line.total[b-3yrh7qo86f] {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px dashed var(--migratrix-border);
    font-weight: 600;
    color: var(--migratrix-text-primary);
    font-size: 1rem;
}

/* Summary Grid */
.summary-grid[b-3yrh7qo86f] {
    display: grid;
    gap: 0.75rem;
    background: var(--migratrix-bg-secondary);
    padding: 1rem;
    border-radius: var(--migratrix-radius-sm);
}

.summary-item[b-3yrh7qo86f] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.summary-label[b-3yrh7qo86f] {
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
}

.summary-value[b-3yrh7qo86f] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--migratrix-text-primary);
}

/* Toggle Switch */
.approval-section[b-3yrh7qo86f] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    
}

.approval-header[b-3yrh7qo86f] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.approval-header .form-label[b-3yrh7qo86f] {
    margin-bottom: 0;
}

.toggle-switch[b-3yrh7qo86f] {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.toggle-slider[b-3yrh7qo86f] {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--migratrix-bg-secondary);
    transition: .4s;
    border-radius: 24px;
    border: 1px solid var(--migratrix-border);
}

.toggle-slider[b-3yrh7qo86f]:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

input:checked+.toggle-slider[b-3yrh7qo86f] {
    background-color: var(--migratrix-primary);
    border-color: var(--migratrix-primary);
}

input:checked+.toggle-slider[b-3yrh7qo86f]:before {
    transform: translateX(20px);
}

/* Loading Overlay */
.loading-overlay[b-3yrh7qo86f] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 10;
    backdrop-filter: blur(2px);
}

.spinner[b-3yrh7qo86f] {
    width: 40px;
    height: 40px;
    border: 3px solid var(--migratrix-bg-secondary);
    border-top: 3px solid var(--migratrix-primary);
    border-radius: 50%;
    animation: spin-b-3yrh7qo86f 1s linear infinite;
    margin-bottom: 1rem;
}

@keyframes spin-b-3yrh7qo86f {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* /Pages/RiskAssessment/ConnectionSelectorPopover.razor.rz.scp.css */
.sia-conn-selector[b-x34pcl7xud] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0.25rem 0;
}

.sia-conn-selector-desc[b-x34pcl7xud] {
    font-size: 0.875rem;
    color: var(--color-text-secondary, #6b7280);
    margin: 0;
    line-height: 1.5;
}

.sia-conn-selector-desc code[b-x34pcl7xud] {
    font-family: var(--font-mono, monospace);
    background: var(--color-code-bg, #f3f4f6);
    padding: 0.1em 0.35em;
    border-radius: 3px;
    font-size: 0.85em;
}

.sia-conn-selector-loading[b-x34pcl7xud],
.sia-conn-selector-empty[b-x34pcl7xud] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    color: var(--color-text-secondary, #6b7280);
    font-size: 0.875rem;
    text-align: center;
}

.sia-conn-selector-loading[b-x34pcl7xud] {
    flex-direction: row;
}

.sia-conn-selector-empty .material-icons[b-x34pcl7xud] {
    font-size: 2rem;
    opacity: 0.4;
}

.sia-conn-list[b-x34pcl7xud] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: 280px;
    overflow-y: auto;
}

.sia-conn-item[b-x34pcl7xud] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}

.sia-conn-item:hover:not(.sia-conn-item--disabled)[b-x34pcl7xud] {
    border-color: var(--color-primary, #6366f1);
    background: var(--color-primary-hover-bg, #f5f3ff);
}

.sia-conn-item--disabled[b-x34pcl7xud] {
    opacity: 0.45;
    cursor: not-allowed;
}

.sia-conn-item input[type="radio"][b-x34pcl7xud] {
    flex-shrink: 0;
}

.sia-conn-item-icon[b-x34pcl7xud] {
    display: flex;
    align-items: center;
    color: var(--color-text-secondary, #6b7280);
}

.sia-conn-item-icon .material-icons[b-x34pcl7xud] {
    font-size: 1.25rem;
}

.sia-conn-item-body[b-x34pcl7xud] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    flex: 1;
    min-width: 0;
}

.sia-conn-item-name[b-x34pcl7xud] {
    font-size: 0.9rem;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sia-conn-item-meta[b-x34pcl7xud] {
    font-size: 0.775rem;
    color: var(--color-text-secondary, #6b7280);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sia-conn-item-unsupported[b-x34pcl7xud] {
    font-size: 0.75rem;
    padding: 0.2rem 0.5rem;
    background: var(--color-warning-bg, #fef3c7);
    color: var(--color-warning-text, #92400e);
    border-radius: 4px;
    white-space: nowrap;
}
/* /Pages/RiskAssessment/ImportReposPopover.razor.rz.scp.css */
.irp-body[b-ulwnyjm9d4] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    padding: 0 1.2rem;
}

/* Provider tabs */
.irp-provider-tabs[b-ulwnyjm9d4] {
    display: flex;
    gap: 0.25rem;
    padding: 0.75rem 1rem 0;
    border-bottom: 1px solid var(--migratrix-border);
}

.irp-provider-tab[b-ulwnyjm9d4] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--migratrix-text-secondary);
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease;
    margin-bottom: -1px;
}

.irp-provider-tab .material-icons[b-ulwnyjm9d4] { font-size: 16px; }
.irp-provider-tab:hover[b-ulwnyjm9d4] { color: var(--migratrix-text-primary); }
.irp-provider-tab.active[b-ulwnyjm9d4] {
    color: var(--migratrix-primary);
    border-bottom-color: var(--migratrix-primary);
}

/* Breadcrumb */
.irp-breadcrumb[b-ulwnyjm9d4] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    border-bottom: 1px solid var(--migratrix-border);
    font-size: 0.875rem;
}

.irp-back-btn[b-ulwnyjm9d4] {
    display: flex;
    align-items: center;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--migratrix-text-secondary);
    padding: 0.2rem;
    border-radius: var(--migratrix-radius-sm);
    transition: background 0.15s;
}
.irp-back-btn:hover[b-ulwnyjm9d4] { background: var(--migratrix-bg-secondary); }
.irp-back-btn .material-icons[b-ulwnyjm9d4] { font-size: 18px; }

.irp-org-avatar-sm[b-ulwnyjm9d4] {
    width: 20px;
    height: 20px;
    border-radius: 4px;
}

.irp-breadcrumb-name[b-ulwnyjm9d4] { font-weight: 600; color: var(--migratrix-text-primary); }
.irp-breadcrumb-sep[b-ulwnyjm9d4] { color: var(--migratrix-text-muted); }
.irp-breadcrumb-label[b-ulwnyjm9d4] { color: var(--migratrix-text-secondary); }

/* Search bar */
.irp-search-bar[b-ulwnyjm9d4] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--migratrix-border);
    flex-shrink: 0;
}

.irp-search-bar .material-icons[b-ulwnyjm9d4] { font-size: 18px; color: var(--migratrix-text-muted); flex-shrink: 0; }

.irp-search-bar input[b-ulwnyjm9d4] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
    background: transparent;
}

.irp-search-bar input:disabled[b-ulwnyjm9d4] {
    opacity: 0.55;
    cursor: default;
}

.irp-select-all[b-ulwnyjm9d4] {
    font-size: 0.75rem;
    color: var(--migratrix-primary);
    background: none;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
}

.irp-select-all:disabled[b-ulwnyjm9d4] {
    opacity: 0.55;
    cursor: default;
}

/* Branch override bar */
.irp-branch-bar[b-ulwnyjm9d4] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--migratrix-border);
    background: var(--migratrix-bg-secondary);
    flex-shrink: 0;
}

.irp-branch-bar > .material-icons[b-ulwnyjm9d4] { font-size: 15px; color: var(--migratrix-primary); flex-shrink: 0; opacity: 0.8; }

/* Loading state */
.irp-branch-loading[b-ulwnyjm9d4] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: var(--migratrix-text-muted);
    font-style: italic;
}

/* Native select wrapper (single repo selected) */
.irp-branch-select-wrap[b-ulwnyjm9d4] {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
}

.irp-branch-select[b-ulwnyjm9d4] {
    flex: 1;
    appearance: none;
    -webkit-appearance: none;
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.8rem;
    font-family: var(--migratrix-font-mono, monospace);
    color: var(--migratrix-text-primary);
    cursor: pointer;
    padding-right: 1.4rem;
    min-width: 0;
}

.irp-branch-select option[b-ulwnyjm9d4] { background: var(--migratrix-bg-card); color: var(--migratrix-text-primary); }

.irp-branch-select-icon[b-ulwnyjm9d4] {
    position: absolute;
    right: 0;
    font-size: 16px !important;
    color: var(--migratrix-text-muted);
    pointer-events: none;
}

/* Free-text input (0 or 2+ repos selected) */
.irp-branch-bar input[b-ulwnyjm9d4] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 0.8rem;
    font-family: var(--migratrix-font-mono, monospace);
    color: var(--migratrix-text-primary);
    background: transparent;
}

.irp-branch-bar input[b-ulwnyjm9d4]::placeholder {
    color: var(--migratrix-text-muted);
    font-style: italic;
}

.irp-branch-bar input:disabled[b-ulwnyjm9d4] {
    opacity: 0.45;
    cursor: default;
}

/* Clear button */
.irp-branch-clear[b-ulwnyjm9d4] {
    display: flex;
    align-items: center;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--migratrix-text-muted);
    padding: 0.1rem;
    border-radius: var(--migratrix-radius-sm);
    transition: color 0.15s;
    flex-shrink: 0;
}
.irp-branch-clear:hover[b-ulwnyjm9d4] { color: var(--migratrix-text-primary); }
.irp-branch-clear .material-icons[b-ulwnyjm9d4] { font-size: 14px; }

/* List */
.irp-list[b-ulwnyjm9d4] {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 0;
}

.irp-repo-results[b-ulwnyjm9d4] {
    position: relative;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.irp-repo-content[b-ulwnyjm9d4] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    transition: filter 0.2s ease, opacity 0.2s ease;
}

.irp-repo-content--loading[b-ulwnyjm9d4] {
    filter: blur(1px);
    opacity: 0.45;
    pointer-events: none;
}

.irp-repo-loading-overlay[b-ulwnyjm9d4] {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: var(--migratrix-text-secondary);
    font-size: 0.875rem;
    background: color-mix(in srgb, var(--migratrix-bg-card) 70%, transparent);
}

/* Org rows */
.irp-org-row[b-ulwnyjm9d4] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.625rem 1rem;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s;
}

.irp-org-row:hover[b-ulwnyjm9d4] { background: var(--migratrix-bg-secondary); }

.irp-org-avatar[b-ulwnyjm9d4] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    flex-shrink: 0;
    object-fit: cover;
}

.irp-org-avatar--placeholder[b-ulwnyjm9d4] {
    background: rgba(74, 137, 220, 0.1);
    border: 1px solid rgba(74, 137, 220, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--migratrix-primary);
}

.irp-org-avatar--placeholder .material-icons[b-ulwnyjm9d4] { font-size: 20px; }

.irp-org-info[b-ulwnyjm9d4] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.irp-org-name[b-ulwnyjm9d4] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.irp-org-login[b-ulwnyjm9d4] {
    font-size: 0.75rem;
    color: var(--migratrix-text-muted);
}

.irp-chevron[b-ulwnyjm9d4] { color: var(--migratrix-text-muted); font-size: 20px !important; flex-shrink: 0; }

/* Repo rows */
.irp-repo-row[b-ulwnyjm9d4] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    width: 100%;
    padding: 0.625rem 1rem;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s;
}

.irp-repo-row:hover:not(:disabled)[b-ulwnyjm9d4] { background: var(--migratrix-bg-secondary); }
.irp-repo-row--selected[b-ulwnyjm9d4] { background: rgba(74, 137, 220, 0.05); }
.irp-repo-row--added[b-ulwnyjm9d4] { opacity: 0.55; cursor: default; }

.irp-repo-check[b-ulwnyjm9d4] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    padding-top: 2px;
}

.irp-checkbox-box[b-ulwnyjm9d4] {
    width: 16px;
    height: 16px;
    border: 1.5px solid var(--migratrix-border);
    border-radius: 3px;
    background: var(--migratrix-bg-card);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
}

.irp-checkbox-box.checked[b-ulwnyjm9d4] {
    background: var(--migratrix-primary);
    border-color: var(--migratrix-primary);
}

.irp-checkbox-box.checked .material-icons[b-ulwnyjm9d4] { font-size: 12px; color: #fff; }
.irp-check-icon--done[b-ulwnyjm9d4] { font-size: 16px !important; color: var(--migratrix-success, #2ecc71); }

.irp-repo-info[b-ulwnyjm9d4] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.irp-repo-name[b-ulwnyjm9d4] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--migratrix-text-primary);
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.irp-private-badge[b-ulwnyjm9d4] {
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.1rem 0.4rem;
    border-radius: 3px;
    background: rgba(243, 124, 25, 0.1);
    color: var(--migratrix-warning, #f37c19);
    border: 1px solid rgba(243, 124, 25, 0.2);
}

.irp-repo-desc[b-ulwnyjm9d4] {
    font-size: 0.75rem;
    color: var(--migratrix-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 420px;
}

.irp-repo-branch[b-ulwnyjm9d4] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.7rem;
    color: var(--migratrix-text-muted);
}

.irp-repo-branch .material-icons[b-ulwnyjm9d4] { font-size: 12px; }

.irp-added-label[b-ulwnyjm9d4] {
    font-size: 0.7rem;
    color: var(--migratrix-text-muted);
    flex-shrink: 0;
    align-self: center;
}

/* Loading / empty */
.irp-loading[b-ulwnyjm9d4] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 2rem;
    color: var(--migratrix-text-secondary);
    font-size: 0.875rem;
}

.irp-empty[b-ulwnyjm9d4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 2rem;
    text-align: center;
    color: var(--migratrix-text-secondary);
    font-size: 0.875rem;
}

.irp-empty .material-icons[b-ulwnyjm9d4] { font-size: 32px; color: var(--migratrix-text-muted); }

/* Footer */
.irp-selection-count[b-ulwnyjm9d4] {
    font-size: 0.8125rem;
    color: var(--migratrix-text-secondary);
    font-weight: 500;
}
/* /Pages/RiskAssessment/RiskAssessment.razor.rz.scp.css */
/* This page uses a full-height shell so the repository list (.repository-card-body)
   scrolls internally instead of the whole page. The canonical .dashboard-dashboard
   in app.css intentionally omits height/overflow, so re-add them scoped to this page. */
.risk-assessment-dashboard[b-v8ycjzvpn9] {
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.profile-avatar-small[b-v8ycjzvpn9] {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 4px;
    background: rgba(243, 124, 25, 0.16);
    color: var(--migratrix-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(243, 124, 25, 0.3);
    flex: 0 0 auto;
    overflow: hidden;
    font-weight: 700;
}

.risk-avatar i[b-v8ycjzvpn9] {
    font-size: 1.15rem;
}

.header-title-text h1[b-v8ycjzvpn9] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-tagline[b-v8ycjzvpn9] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-controls[b-v8ycjzvpn9] {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dashboard-content-grid[b-v8ycjzvpn9] {
    flex: 1 1 auto;
    min-height: 0;
}

.dashboard-row[b-v8ycjzvpn9] {
    flex: 1 1 auto;
    min-height: 0;
}

.repository-card[b-v8ycjzvpn9] {
    min-height: 0;
}

.link-btn[b-v8ycjzvpn9] {
    white-space: nowrap;
}

.repository-card-body[b-v8ycjzvpn9] {
    overflow: auto;
}

.profile-status-item[b-v8ycjzvpn9] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.7rem;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-card);
}

.profile-status-item strong[b-v8ycjzvpn9] {
    display: block;
    color: var(--migratrix-text-primary);
    font-size: 0.9rem;
    overflow-wrap: anywhere;
}

.profile-status-item p[b-v8ycjzvpn9] {
    margin: 0.15rem 0 0;
    color: var(--migratrix-text-secondary);
    font-size: 0.75rem;
}

.status-icon.primary[b-v8ycjzvpn9] {
    color: #1976d2;
    background: rgba(25, 118, 210, 0.12);
    border-color: rgba(25, 118, 210, 0.25);
}

.status-icon.muted[b-v8ycjzvpn9] {
    color: var(--migratrix-text-secondary);
    background: var(--migratrix-bg-secondary);
    border-color: var(--migratrix-border);
}

.status-pill[b-v8ycjzvpn9] {
    align-items: center;
    justify-content: center;
    padding: 0.22rem 0.5rem;
    font-weight: 700;
    white-space: nowrap;
    text-transform: uppercase;
}

.status-pill.ready[b-v8ycjzvpn9] {
    color: var(--migratrix-success);
    background: rgba(46, 204, 113, 0.12);
}

.status-pill.indexing[b-v8ycjzvpn9] {
    color: #1976d2;
    background: rgba(25, 118, 210, 0.12);
}

.status-pill.failed[b-v8ycjzvpn9] {
    color: var(--migratrix-danger, #e74c3c);
    background: rgba(231, 76, 60, 0.1);
}

.status-pill.pending[b-v8ycjzvpn9] {
    color: #b86a00;
    background: rgba(237, 108, 2, 0.12);
}

.status-pill.cancelled[b-v8ycjzvpn9],
.status-pill.not_indexed[b-v8ycjzvpn9] {
    color: var(--migratrix-text-secondary);
    background: var(--migratrix-bg-secondary);
}

.repository-list[b-v8ycjzvpn9] {
    gap: 0.65rem;
}

.repository-item[b-v8ycjzvpn9] {
    display: flex;
    flex-direction: column;
}

.repository-item.active .repository-summary[b-v8ycjzvpn9] {
    border-color: rgba(25, 118, 210, 0.45);
    background: rgba(25, 118, 210, 0.04);
}

.repository-summary[b-v8ycjzvpn9] {
    grid-template-columns: auto auto minmax(0, 1fr) auto auto;
}

.repository-info[b-v8ycjzvpn9] {
    min-width: 0;
}

.repository-info p[b-v8ycjzvpn9] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    overflow-wrap: anywhere;
}

.repository-meta[b-v8ycjzvpn9] {
    display: inline-flex;
    align-items: center;
    gap: 0.18rem;
    color: var(--migratrix-text-secondary);
}

.repository-meta i[b-v8ycjzvpn9] {
    font-size: 0.8rem;
}

.repository-actions[b-v8ycjzvpn9] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
}

.item-icon[b-v8ycjzvpn9] {
    width: 30px;
    height: 30px;
    border-radius: 4px;
    border: 1px solid var(--migratrix-border);
    background: var(--migratrix-bg-secondary);
    color: var(--migratrix-text-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.item-icon i[b-v8ycjzvpn9] {
    font-size: 1rem;
}

.item-icon.primary[b-v8ycjzvpn9] {
    color: var(--migratrix-primary);
}

.item-icon:disabled[b-v8ycjzvpn9] {
    cursor: not-allowed;
    opacity: 0.55;
}

.risk-checkbox[b-v8ycjzvpn9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.risk-checkbox input[b-v8ycjzvpn9] {
    display: none;
}

.risk-checkbox span[b-v8ycjzvpn9] {
    width: 16px;
    height: 16px;
    border: 1.5px solid var(--migratrix-border);
    border-radius: 3px;
    background: var(--migratrix-bg-card);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.risk-checkbox input:checked + span[b-v8ycjzvpn9] {
    border-color: var(--migratrix-primary);
    background: var(--migratrix-primary);
}

.risk-checkbox input:checked + span[b-v8ycjzvpn9]::after {
    content: "";
    width: 4px;
    height: 8px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg) translate(-1px, -1px);
}

.repository-progress[b-v8ycjzvpn9] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 0.5rem;
}

.repository-progress-track[b-v8ycjzvpn9] {
    flex: 1;
    height: 8px;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-secondary);
    overflow: hidden;
}

.repository-progress-fill[b-v8ycjzvpn9] {
    height: 100%;
    border-radius: 4px;
    background: var(--migratrix-primary);
    transition: width 0.3s ease;
}

.repository-progress span[b-v8ycjzvpn9] {
    font-size: 0.72rem;
    color: var(--migratrix-text-secondary);
    white-space: nowrap;
}

.repository-error-detail[b-v8ycjzvpn9] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid rgba(231, 76, 60, 0.18);
    border-top: 0;
    border-radius: 0 0 4px 4px;
    background: rgba(231, 76, 60, 0.05);
    color: var(--migratrix-text-secondary);
    font-size: 0.78rem;
}

.repository-error-detail > span[b-v8ycjzvpn9] {
    flex: 1;
    min-width: 220px;
    overflow-wrap: anywhere;
}

.profile-empty-state[b-v8ycjzvpn9] {
    min-height: 180px;
    gap: 0.55rem;
}

.profile-empty-state i[b-v8ycjzvpn9] {
    color: var(--migratrix-primary);
    font-size: 2rem;
}

.profile-empty-state small[b-v8ycjzvpn9] {
    max-width: 320px;
    font-size: 0.78rem;
}

.add-repository-grid[b-v8ycjzvpn9] {
    grid-template-columns: 1fr;
}

.field-item[b-v8ycjzvpn9] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.field-item span[b-v8ycjzvpn9] {
    margin-bottom: 0;
}

.field-item.full[b-v8ycjzvpn9],
.add-repository-grid .full[b-v8ycjzvpn9] {
    width: 100%;
}

.time-range-dropdown[b-v8ycjzvpn9] {
    padding: 0.4rem 0.65rem;
    width: 100%;
    min-width: 0;
}

.branch-input[b-v8ycjzvpn9] {
    width: 160px;
}

.status-icon[b-v8ycjzvpn9] {
    width: 30px;
    height: 30px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
}

.status-icon i[b-v8ycjzvpn9] {
    font-size: 1rem;
}

.status-icon.success[b-v8ycjzvpn9] {
    color: var(--migratrix-success);
    background: rgba(46, 204, 113, 0.12);
    border-color: rgba(46, 204, 113, 0.25);
}

.status-icon.warning[b-v8ycjzvpn9] {
    color: #ed6c02;
    background: rgba(237, 108, 2, 0.14);
    border-color: rgba(237, 108, 2, 0.28);
}

.status-icon.danger[b-v8ycjzvpn9] {
    color: var(--migratrix-danger, #e74c3c);
    background: rgba(231, 76, 60, 0.1);
    border-color: rgba(231, 76, 60, 0.24);
}

@media (max-width: 1280px) {
    .risk-assessment-dashboard[b-v8ycjzvpn9] {
        height: auto;
        min-height: 100%;
        overflow: visible;
    }

    .dashboard-row[b-v8ycjzvpn9],
    .dashboard-row--55-45[b-v8ycjzvpn9] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1024px) {
    .header-top[b-v8ycjzvpn9] {
        align-items: flex-start;
        flex-direction: column;
    }

    .header-controls[b-v8ycjzvpn9] {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    .repository-summary[b-v8ycjzvpn9] {
        grid-template-columns: auto auto minmax(0, 1fr);
        align-items: flex-start;
    }

    .repository-summary .status-pill[b-v8ycjzvpn9],
    .repository-actions[b-v8ycjzvpn9] {
        grid-column: 3;
        justify-self: flex-start;
    }

    .header-controls .dashboard-primary-btn[b-v8ycjzvpn9] {
        flex: 1 1 150px;
        justify-content: center;
    }
}
/* /Pages/Security/AcceptInvitation.razor.rz.scp.css */
/* ============================================================================
   ACCEPT INVITATION

   Mirrors login.razor.css. This page sits beside Login in the same pre-login
   flow, so it uses the same shell (.agent-content > .config-card > .card-header
   + content) and the same tokens. Scoped CSS can't be shared between
   components, so the common blocks are duplicated deliberately — keep them in
   step with login.razor.css when either changes.
   ============================================================================ */

.migratrix-sidebar[b-kluh53lc8v] {
    display: none;
}

.login-card[b-kluh53lc8v] {
    width: 100%;
    max-width: 600px;
    margin: 0;
    padding: 2.5rem;
    min-height: auto;
}

.login-header[b-kluh53lc8v] {
    flex: 1;
    text-align: center;
    margin-bottom: 0.75rem;
}

.login-title[b-kluh53lc8v] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.25rem 0;
}

.login-subtitle[b-kluh53lc8v] {
    color: var(--migratrix-text-secondary);
    margin: 0;
}

/* ============================================================================
   CONTENT SECTION - COMPACT
   ============================================================================ */

.login-content[b-kluh53lc8v] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.step-container[b-kluh53lc8v] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.step-header[b-kluh53lc8v] {
    text-align: center;
}

.step-title[b-kluh53lc8v] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.25rem 0;
}

.step-description[b-kluh53lc8v] {
    color: var(--migratrix-text-secondary);
    margin: 0;
}

/* ============================================================================
   AUTHENTICATION CARDS - COMPACT
   ============================================================================ */

.auth-card[b-kluh53lc8v] {
    background: var(--migratrix-bg-card);
    border: 2px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 1rem;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.auth-card-title[b-kluh53lc8v] {
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.375rem 0;
}

.auth-card-description[b-kluh53lc8v] {
    color: var(--migratrix-text-secondary);
    font-size: 0.8rem;
    margin: 0;
}

.auth-method-grid[b-kluh53lc8v] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

.auth-method-card.recommended[b-kluh53lc8v] {
    border-color: var(--migratrix-primary);
}

.badge-primary[b-kluh53lc8v] {
    display: inline-block;
    background: var(--migratrix-primary);
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 600;
    border-radius: var(--migratrix-radius-sm);
    padding: 0.125rem 0.5rem;
    margin-bottom: 0.5rem;
}

.social-btn[b-kluh53lc8v] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.social-btn:disabled[b-kluh53lc8v] {
    opacity: 0.6;
    cursor: not-allowed;
}

.social-btn img[b-kluh53lc8v] {
    width: 20px;
    height: 20px;
}

/* ============================================================================
   ACCOUNT PREVIEW + INVITATION DETAILS
   ============================================================================ */

.account-preview[b-kluh53lc8v] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 0.75rem;
    transition: none;
    transform: none;
}

.account-preview:hover[b-kluh53lc8v] {
    background: var(--migratrix-bg-secondary);
    transform: none;
}

.preview-avatar[b-kluh53lc8v] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--migratrix-primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1;
    flex-shrink: 0;
}

.preview-details[b-kluh53lc8v] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
    min-width: 0;
}

.preview-details strong[b-kluh53lc8v] {
    color: var(--migratrix-text-primary);
    font-size: 0.875rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.preview-workspace[b-kluh53lc8v] {
    color: var(--migratrix-text-secondary);
    font-size: 0.8rem;
    line-height: 1.25;
    flex-shrink: 0;
    margin-left: auto;
}

.info-table[b-kluh53lc8v] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background: transparent;
    border: none;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.info-row[b-kluh53lc8v] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    border-bottom: 1px solid var(--migratrix-border);
    transition: none;
    transform: none;
}

.info-row:last-child[b-kluh53lc8v] {
    border-bottom: 1px solid var(--migratrix-border);
}

.info-row:nth-child(even)[b-kluh53lc8v] {
    background: var(--migratrix-bg-secondary);
}

.info-row:hover[b-kluh53lc8v] {
    background: var(--migratrix-bg-secondary);
    transform: none;
}

.info-label[b-kluh53lc8v] {
    color: var(--migratrix-text-secondary);
    font-size: 0.8rem;
    font-weight: 500;
    flex-shrink: 0;
}

.info-value[b-kluh53lc8v] {
    color: var(--migratrix-text-primary);
    font-size: 0.875rem;
    text-align: right;
    overflow-wrap: anywhere;
}

/* ============================================================================
   FORM ACTIONS
   ============================================================================ */

.form-actions[b-kluh53lc8v] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* ============================================================================
   ALERTS - COMPACT
   ============================================================================ */

.alert[b-kluh53lc8v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    border-radius: var(--migratrix-radius-sm);
    margin-bottom: 1rem;
    position: relative;
    font-size: 0.875rem;
}

.alert-content[b-kluh53lc8v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.alert-icon[b-kluh53lc8v] {
    font-size: 1.125rem;
}

.alert-error[b-kluh53lc8v] {
    background: rgba(231, 76, 60, 0.1);
    border: 1px solid var(--migratrix-danger);
    color: var(--migratrix-danger);
}

.alert-success[b-kluh53lc8v] {
    background: rgba(46, 204, 113, 0.1);
    border: 1px solid var(--migratrix-success);
    color: var(--migratrix-success);
}

.alert-close[b-kluh53lc8v] {
    position: absolute;
    top: 0.375rem;
    right: 0.375rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.125rem;
    border-radius: var(--migratrix-radius-sm);
    color: inherit;
    opacity: 0.7;
}

.alert-close:hover[b-kluh53lc8v] {
    opacity: 1;
    background: rgba(0, 0, 0, 0.1);
}

.alert-close i[b-kluh53lc8v] {
    font-size: 1rem;
}

/* ============================================================================
   LOADING STATES - COMPACT
   ============================================================================ */

.loading-state[b-kluh53lc8v] {
    align-items: center;
    text-align: center;
    padding: 1rem 0;
}

.loading-spinner[b-kluh53lc8v] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--migratrix-border);
    border-top: 3px solid var(--migratrix-primary);
    border-radius: 50%;
    animation: spin-b-kluh53lc8v 1s linear infinite;
    margin-bottom: 0.75rem;
}

.btn-spinner[b-kluh53lc8v] {
    width: 14px;
    height: 14px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin-b-kluh53lc8v 1s linear infinite;
}

@keyframes spin-b-kluh53lc8v {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ============================================================================
   RESPONSIVE DESIGN - OPTIMIZED FOR NO SCROLLING
   ============================================================================ */

@media (max-height: 800px) {
    .login-title[b-kluh53lc8v] {
        font-size: 1.25rem;
    }

    .step-title[b-kluh53lc8v] {
        font-size: 1.125rem;
    }

    .step-container[b-kluh53lc8v] {
        gap: 0.75rem;
    }

    .auth-card[b-kluh53lc8v] {
        padding: 0.75rem;
    }
}

@media (max-width: 768px) {
    .agent-content[b-kluh53lc8v] {
        padding: 0.25rem;
    }

    .login-card[b-kluh53lc8v] {
        padding: 1rem;
    }

    .form-group[b-kluh53lc8v] {
        margin-bottom: 0.75rem;
    }

    .form-actions[b-kluh53lc8v] {
        gap: 0.5rem;
    }

    .auth-method-grid[b-kluh53lc8v] {
        grid-template-columns: 1fr;
    }

    .info-row[b-kluh53lc8v] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }

    .info-value[b-kluh53lc8v] {
        text-align: left;
    }
}

@media (max-width: 480px) {
    .agent-content[b-kluh53lc8v] {
        padding: 0.125rem;
    }

    .login-card[b-kluh53lc8v] {
        padding: 0.5rem;
    }

    .login-title[b-kluh53lc8v] {
        font-size: 1.125rem;
    }

    .login-subtitle[b-kluh53lc8v] {
        font-size: 0.8rem;
    }

    .step-title[b-kluh53lc8v] {
        font-size: 1rem;
    }

    .auth-card[b-kluh53lc8v] {
        padding: 0.5rem;
    }

    .auth-card-title[b-kluh53lc8v] {
        font-size: 0.875rem;
    }
}
/* /Pages/Security/AccountProfile.razor.rz.scp.css */
 .spaced[b-hf293cbbji] {
     min-width: 5rem;
 }

.profile-avatar-small[b-hf293cbbji],
.organization-logo[b-hf293cbbji] {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 4px;
    background: rgba(243, 124, 25, 0.16);
    color: var(--migratrix-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(243, 124, 25, 0.3);
    flex: 0 0 auto;
    overflow: hidden;
    font-weight: 700;
}

.profile-avatar-small img[b-hf293cbbji],
.organization-logo img[b-hf293cbbji] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.avatar-loading[b-hf293cbbji] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.45);
}

.avatar-loading .loading-spinner[b-hf293cbbji] {
    width: 22px;
    height: 22px;
}

.header-title-text h1[b-hf293cbbji] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-tagline[b-hf293cbbji] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hidden-file-input[b-hf293cbbji] {
    display: none;
}

[b-hf293cbbji] .hidden-file-input {
    display: none;
}

.profile-upload-button[b-hf293cbbji] {
    cursor: pointer;
    margin: 0;
}

.profile-detail-input[b-hf293cbbji] {
    width: 100%;
    height: 2rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.86rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border, #d8dce0);
    border-radius: 6px;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.profile-detail-input:focus[b-hf293cbbji] {
    border-color: var(--migratrix-primary, #e8833a);
    box-shadow: 0 0 0 2px rgba(232, 131, 58, 0.18);
}

.profile-edit-actions[b-hf293cbbji] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.profile-inline-alert[b-hf293cbbji] {
    margin-bottom: 0.65rem;
}

.profile-status-item[b-hf293cbbji],
.workspace-summary[b-hf293cbbji] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.7rem;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-card);
}

.profile-status-item strong[b-hf293cbbji],
.workspace-summary strong[b-hf293cbbji] {
    display: block;
    color: var(--migratrix-text-primary);
    font-size: 0.9rem;
    overflow-wrap: anywhere;
}

.profile-status-item p[b-hf293cbbji],
.workspace-summary p[b-hf293cbbji] {
    margin: 0.15rem 0 0;
    color: var(--migratrix-text-secondary);
    font-size: 0.75rem;
}

.status-pill.success[b-hf293cbbji] {
    color: var(--migratrix-success);
    background: rgba(46, 204, 113, 0.12);
}

.workspace-dashboard-control[b-hf293cbbji] {
    display: block;
}

.workspace-actions[b-hf293cbbji] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.55rem;
    min-width: 0;
}

.time-range-dropdown[b-hf293cbbji] {
    padding: 0.4rem 2rem 0.4rem 0.65rem;
}

.workspace-select[b-hf293cbbji] {
    width: 260px;
    min-width: 0;
    flex: 0 1 260px;
}

[b-hf293cbbji] .workspace-select {
    min-height: 34px;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    padding: 0.55rem 2rem 0.55rem 1.5rem;;
    font-size: 0.82rem;
    min-width: 180px;
    width: 100%;
}

[b-hf293cbbji] .workspace-select:focus {
    outline: none;
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 2px rgba(243, 124, 25, 0.12);
}

.organization-dashboard-card[b-hf293cbbji] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
}

.organization-logo[b-hf293cbbji] {
    width: 36px;
    height: 36px;
    font-size: 1.1rem;
}

.organization-actions[b-hf293cbbji] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.organization-actions .profile-upload-button[b-hf293cbbji],
.organization-actions .migratrix-btn[b-hf293cbbji] {
    min-width: 142px;
    justify-content: center;
}

.profile-alert[b-hf293cbbji] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 0.65rem;
    padding: 0.6rem 0.7rem;
    border: 1px solid;
    border-radius: 4px;
    font-size: 0.8rem;
}

.profile-alert.error[b-hf293cbbji] {
    color: var(--migratrix-danger);
    background: rgba(231, 76, 60, 0.1);
    border-color: rgba(231, 76, 60, 0.28);
}

.profile-alert.success[b-hf293cbbji] {
    color: var(--migratrix-success);
    background: rgba(46, 204, 113, 0.1);
    border-color: rgba(46, 204, 113, 0.28);
}

.profile-empty-state[b-hf293cbbji],
.profile-auth-card[b-hf293cbbji] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 160px;
    color: var(--migratrix-text-secondary);
    text-align: center;
}

.profile-empty-state i[b-hf293cbbji],
.profile-auth-card i[b-hf293cbbji] {
    font-size: 32px;
    opacity: 0.65;
}

.profile-auth-card[b-hf293cbbji] {
    min-height: 280px;
}

.profile-auth-card h3[b-hf293cbbji],
.profile-auth-card p[b-hf293cbbji] {
    margin: 0;
}

.status-icon[b-hf293cbbji] {
    width: 30px;
    height: 30px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
}

.status-icon i[b-hf293cbbji] {
    font-size: 1rem;
}

.status-icon.success[b-hf293cbbji] {
    color: var(--migratrix-success);
    background: rgba(46, 204, 113, 0.12);
    border-color: rgba(46, 204, 113, 0.25);
}

.status-icon.warning[b-hf293cbbji] {
    color: #ed6c02;
    background: rgba(237, 108, 2, 0.14);
    border-color: rgba(237, 108, 2, 0.28);
}

@media (max-width: 1280px) {
    .dashboard-row[b-hf293cbbji],
    .dashboard-row--55-45[b-hf293cbbji],
    .workspace-dashboard-control[b-hf293cbbji] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .header-top[b-hf293cbbji] {
        flex-direction: column;
        align-items: stretch;
    }

    .header-controls[b-hf293cbbji] {
        flex-direction: column;
        align-items: stretch;
    }

    .profile-upload-button[b-hf293cbbji],
    .dashboard-primary-btn[b-hf293cbbji] {
        justify-content: center;
    }

    .profile-detail-grid[b-hf293cbbji] {
        grid-template-columns: 1fr;
    }

    .workspace-actions[b-hf293cbbji],
    .organization-actions[b-hf293cbbji] {
        flex-direction: column;
        align-items: stretch;
    }

    .workspace-summary[b-hf293cbbji] {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .workspace-summary .workspace-actions[b-hf293cbbji] {
        grid-column: 1 / -1;
    }

    .time-range-dropdown[b-hf293cbbji],
    .workspace-actions .migratrix-btn[b-hf293cbbji],
    .organization-actions .migratrix-btn[b-hf293cbbji],
    .organization-actions .profile-upload-button[b-hf293cbbji] {
        width: 100%;
    }

    .profile-status-item[b-hf293cbbji] {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .profile-status-item .migratrix-btn[b-hf293cbbji] {
        grid-column: 1 / -1;
    }
}

/* Status pill used for the "MFA required by your organization" state. */

.profile-kpi-grid[b-hf293cbbji] {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

/* Organization workspace count + Manage action */
.organization-meta[b-hf293cbbji] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.organization-kpi-card[b-hf293cbbji] {
    min-width: 160px;
}

/* Organization name */
.organization-info[b-hf293cbbji] {
    flex: 1 1 auto;
    min-width: 0;
}

.organization-info strong[b-hf293cbbji] {
    display: block;
    font-weight: 700;
    color: var(--migratrix-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.organization-info p[b-hf293cbbji] {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}

/* ===== Organization name inline editing ===== */
.organization-name-display[b-hf293cbbji] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
}

.organization-name-display strong[b-hf293cbbji] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.organization-name-edit-btn[b-hf293cbbji] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.4rem;
    height: 1.4rem;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--migratrix-text-secondary);
    cursor: pointer;
    border-radius: 4px;
    opacity: 0.7;
    transition: color 0.15s ease, background 0.15s ease, opacity 0.15s ease;
}


.organization-name-edit-btn:hover[b-hf293cbbji] {
    color: var(--migratrix-text-primary);
    background: var(--migratrix-surface-hover, rgba(0, 0, 0, 0.06));
    opacity: 1;
}

.organization-name-edit-btn .material-icons[b-hf293cbbji] {
    font-size: 0.95rem;
}

/* Edit mode: input + actions on one compact row */
.organization-name-edit[b-hf293cbbji] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.organization-name-input[b-hf293cbbji] {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 300px;
    height: 2.8rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    background: var(--migratrix-surface, #fff);
    border: 1px solid var(--migratrix-border, #d8dce0);
    border-radius: var(--migratrix-radius-sm);
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.organization-name-input:focus[b-hf293cbbji] {
    border-color: var(--migratrix-primary, #e8833a);
    box-shadow: 0 0 0 2px rgba(232, 131, 58, 0.18);
}

.organization-name-edit-actions[b-hf293cbbji] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    flex: 0 0 auto;
}

.organization-name-action-btn[b-hf293cbbji] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    height: 2rem;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}

.organization-name-action-btn .material-icons[b-hf293cbbji] {
    font-size: 1rem;
}

.organization-name-action-btn.save[b-hf293cbbji] {
    color: #fff;
    background: var(--migratrix-primary, #e8833a);
}

.organization-name-action-btn.save:hover:not(:disabled)[b-hf293cbbji] {
    background: var(--migratrix-primary-dark, #d4742e);
}

.organization-name-action-btn.cancel[b-hf293cbbji] {
    width: 2rem;
    padding: 0;
    color: var(--migratrix-text-secondary);
    background: transparent;
    border-color: var(--migratrix-border, #d8dce0);
}

.organization-name-action-btn.cancel:hover:not(:disabled)[b-hf293cbbji] {
    color: var(--migratrix-text-primary);
    background: var(--migratrix-surface-hover, rgba(0, 0, 0, 0.06));
}

.organization-name-action-btn:disabled[b-hf293cbbji] {
    opacity: 0.6;
    cursor: default;
}

.organization-name-error[b-hf293cbbji] {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.72rem;
    color: var(--migratrix-error, #d9534f);
}

/* Environment access + repositories lists */
.repo-list[b-hf293cbbji] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* Roles laid out horizontally as wrapping tiles. */
.access-list[b-hf293cbbji] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.5rem;
}

.access-item[b-hf293cbbji] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-card);
}

.access-name[b-hf293cbbji] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    font-weight: 600;
    font-size: 0.86rem;
}

.access-name i[b-hf293cbbji] {
    font-size: 1rem;
    color: var(--migratrix-primary);
}

.access-name span[b-hf293cbbji] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.access-badges[b-hf293cbbji] {
    display: inline-flex;
    gap: 0.35rem;
    flex: 0 0 auto;
}

.access-badge[b-hf293cbbji] {
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
}

.access-badge.on[b-hf293cbbji] {
    color: var(--migratrix-success);
    background: rgba(46, 204, 113, 0.14);
}

.access-badge.off[b-hf293cbbji] {
    color: var(--migratrix-text-secondary);
    background: rgba(0, 0, 0, 0.05);
    opacity: 0.65;
    text-decoration: line-through;
}

.repo-item[b-hf293cbbji] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--migratrix-border);
    border-radius: 4px;
    background: var(--migratrix-bg-card);
}

.repo-info[b-hf293cbbji] {
    min-width: 0;
}

.repo-info strong[b-hf293cbbji] {
    display: block;
    font-size: 0.86rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.repo-info p[b-hf293cbbji] {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: var(--migratrix-text-secondary);
}
/* /Pages/Security/envAccessManagement.razor.rz.scp.css */
.environment-access-container[b-24zif9f6v3] {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 13px;
    color: #333;
    padding: 2rem;
  
}

.environment-access-card[b-24zif9f6v3] {
    max-width: 1200px;
    margin: 0 auto;
    background: white;
    border-radius: 4px;
    border: 1px solid #dee2e6;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.environment-access-header[b-24zif9f6v3] {
    background: linear-gradient(to bottom, #f9f9f9, #e5e5e5);
    color: #333;
    padding: 1.5rem 2rem;
    border-bottom: 1px solid #dee2e6;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.header-content h1[b-24zif9f6v3] {
    font-size: 1.75rem;
    font-weight: 500;
    margin: 0 0 0.5rem 0;
}

.changes-summary[b-24zif9f6v3] {
    background: rgba(255, 255, 255, 0.8);
    padding: 0.75rem 1rem;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    text-align: center;
}

.summary-item[b-24zif9f6v3] {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.summary-number[b-24zif9f6v3] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #f39c12;
}

.summary-label[b-24zif9f6v3] {
    font-size: 11px;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.environment-access-content[b-24zif9f6v3] {
    padding: 2rem;
}

/* Section Cards */
.section-card[b-24zif9f6v3] {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 4px;
    margin-bottom: 2rem;
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.section-card:hover[b-24zif9f6v3] {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.section-header[b-24zif9f6v3] {
    background: #f8f9fa;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #e9ecef;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.section-info[b-24zif9f6v3] {
    flex: 1;
}

.section-title[b-24zif9f6v3] {
    font-size: 1.125rem;
    font-weight: 500;
    margin: 0 0 0.25rem 0;
    color: #333;
}

.section-description[b-24zif9f6v3] {
    font-size: 13px;
    color: #6c757d;
    margin: 0;
}

.section-actions[b-24zif9f6v3] {
    flex-shrink: 0;
}

.bulk-actions[b-24zif9f6v3] {
    display: flex;
    gap: 0.5rem;
}

.section-card .form-group[b-24zif9f6v3] {
    padding: 1.5rem;
    margin: 0;
}

/* Loading States */
.loading-state[b-24zif9f6v3] {
    text-align: center;
    padding: 4rem 2rem;
}

.loading-state-small[b-24zif9f6v3] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2rem;
    color: #6c757d;
}

.spinner[b-24zif9f6v3] {
    width: 32px;
    height: 32px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #4A89DC;
    border-radius: 50%;
    animation: spin-b-24zif9f6v3 1s linear infinite;
    margin: 0 auto 1rem;
}

.spinner-sm[b-24zif9f6v3] {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin-b-24zif9f6v3 1s linear infinite;
}

.form-label[b-24zif9f6v3] {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 13px;
    color: #333;
}

.form-control[b-24zif9f6v3] {
    width: 100%;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 13px;
    border: 1px solid #ced4da;
    background: white;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-control:focus[b-24zif9f6v3] {
    outline: none;
    border-color: #4A89DC;
    box-shadow: 0 0 0 2px rgba(74, 137, 220, 0.15);
}

.user-dropdown[b-24zif9f6v3] {
    font-size: 14px;
    padding: 10px 12px;
}

.form-text[b-24zif9f6v3] {
    margin-top: 0.5rem;
    font-size: 12px;
    color: #6c757d;
}

/* Environments Grid */
.environments-grid[b-24zif9f6v3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 1rem;
    padding: 1.5rem;
}

.environment-card[b-24zif9f6v3] {
    border: 2px solid #e9ecef;
    border-radius: 4px;
    background: white;
    transition: all 0.2s ease;
    overflow: hidden;
}

.environment-card:hover[b-24zif9f6v3] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.environment-card.modified[b-24zif9f6v3] {
    border-color: #f39c12;
    background-color: rgba(243, 156, 18, 0.02);
    box-shadow: 0 2px 8px rgba(243, 156, 18, 0.15);
}

.environment-header[b-24zif9f6v3] {
    padding: 1rem 1rem 0.5rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.environment-info[b-24zif9f6v3] {
    flex: 1;
}

.environment-name[b-24zif9f6v3] {
    font-size: 1rem;
    font-weight: 500;
    margin: 0 0 0.25rem 0;
    color: #333;
}

.modified-indicator[b-24zif9f6v3] {
    font-size: 11px;
    color: #f39c12;
    font-weight: 500;
}

.environment-summary[b-24zif9f6v3] {
    flex-shrink: 0;
}

.permission-count[b-24zif9f6v3] {
    font-size: 12px;
    color: #6c757d;
    background: #e9ecef;
    padding: 2px 6px;
    border-radius: 10px;
}

.permissions-grid[b-24zif9f6v3] {
    padding: 0.5rem 1rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.permission-item[b-24zif9f6v3] {
    border: 1px solid #e9ecef;
    border-radius: 3px;
    transition: all 0.2s ease;
}

.permission-item:hover[b-24zif9f6v3] {
    border-color: #4A89DC;
    background: rgba(74, 137, 220, 0.02);
}

.permission-content[b-24zif9f6v3] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    cursor: pointer;
}

.permission-checkbox[b-24zif9f6v3] {
    margin-top: 2px;
    flex-shrink: 0;
}

.permission-checkbox input[type="checkbox"][b-24zif9f6v3] {
    width: 16px;
    height: 16px;
    accent-color: #27AE60;
}

.permission-info[b-24zif9f6v3] {
    flex: 1;
    min-width: 0;
}

.permission-name[b-24zif9f6v3] {
    font-weight: 500;
    color: #333;
    margin-bottom: 0.25rem;
    font-size: 13px;
}

.permission-description[b-24zif9f6v3] {
    font-size: 11px;
    color: #6c757d;
    line-height: 1.3;
}

/* Section Footer */
.section-footer[b-24zif9f6v3] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: #f8f9fa;
    border-top: 1px solid #e9ecef;
}

.footer-actions[b-24zif9f6v3] {
    display: flex;
    gap: 0.75rem;
    flex-shrink: 0;
}

/* Buttons */
.btn[b-24zif9f6v3] {
    border-radius: 4px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.btn-primary[b-24zif9f6v3] {
    background-color: #4A89DC;
    border-color: #3A79CC;
    color: white;
    min-width: 140px;
}

.btn-primary:hover:not(:disabled)[b-24zif9f6v3] {
    background-color: #3A79CC;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(74, 137, 220, 0.3);
}

.btn-outline[b-24zif9f6v3] {
    background-color: white;
    color: #6c757d;
    border-color: #ced4da;
}

.btn-outline:hover:not(:disabled)[b-24zif9f6v3] {
    background-color: #f8f9fa;
    border-color: #adb5bd;
    color: #495057;
}

.btn-sm[b-24zif9f6v3] {
    padding: 4px 8px;
    font-size: 12px;
}

.btn:disabled[b-24zif9f6v3] {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
}

/* Empty State */
.empty-state[b-24zif9f6v3] {
    text-align: center;
    padding: 4rem 2rem;
    color: #6c757d;
}

.empty-state-icon[b-24zif9f6v3] {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.empty-state h3[b-24zif9f6v3] {
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
    color: #495057;
}

.empty-state p[b-24zif9f6v3] {
    font-size: 14px;
    margin: 0;
}

/* Alerts */
.alert[b-24zif9f6v3] {
    padding: 0.75rem 1rem;
    border-radius: 4px;
    margin-bottom: 1.5rem;
    font-size: 13px;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    animation: slideDown-b-24zif9f6v3 0.3s ease-out;
}

.alert-success[b-24zif9f6v3] {
    background-color: rgba(39, 174, 96, 0.1);
    border: 1px solid rgba(39, 174, 96, 0.2);
    color: #27ae60;
}

.alert-danger[b-24zif9f6v3] {
    background-color: rgba(231, 76, 60, 0.1);
    border: 1px solid rgba(231, 76, 60, 0.2);
    color: #e74c3c;
}

.alert-icon[b-24zif9f6v3] {
    flex-shrink: 0;
    font-size: 16px;
}

.alert-close[b-24zif9f6v3] {
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: inherit;
    opacity: 0.7;
    transition: opacity 0.2s ease;
    line-height: 1;
}

.alert-close:hover[b-24zif9f6v3] {
    opacity: 1;
}

/* Animations */
@keyframes spin-b-24zif9f6v3 {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes slideDown-b-24zif9f6v3 {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Responsive Design */
@media (max-width: 768px) {
    .environment-access-container[b-24zif9f6v3] {
        padding: 1rem;
    }

    .environment-access-content[b-24zif9f6v3] {
        padding: 1rem;
    }

    .environment-access-header[b-24zif9f6v3] {
        padding: 1rem;
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .section-header[b-24zif9f6v3] {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }

    .bulk-actions[b-24zif9f6v3] {
        justify-content: center;
    }

    .environments-grid[b-24zif9f6v3] {
        grid-template-columns: 1fr;
        padding: 1rem;
    }

    .section-card .form-group[b-24zif9f6v3] {
        padding: 1rem;
    }

    .section-footer[b-24zif9f6v3] {
        flex-direction: column-reverse;
        gap: 1rem;
        text-align: center;
    }

    .footer-actions[b-24zif9f6v3] {
        flex-direction: column-reverse;
        width: 100%;
    }

    .btn[b-24zif9f6v3] {
        width: 100%;
    }

    .environment-header[b-24zif9f6v3] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }

    .environment-summary[b-24zif9f6v3] {
        text-align: right;
    }
}

@media (max-width: 480px) {
    .environment-access-header h1[b-24zif9f6v3] {
        font-size: 1.5rem;
    }

    .section-title[b-24zif9f6v3] {
        font-size: 1rem;
    }
}
/* /Pages/Security/InviteUserPopover.razor.rz.scp.css */
.invite-split[b-bvh1av9k12] {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: 1.4rem;
    align-items: start;
    padding: 1rem;
}

.invite-col[b-bvh1av9k12] {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    min-width: 0;
}

.invite-col-access[b-bvh1av9k12] {
    padding-left: 1.4rem;
    border-left: 1px solid var(--migratrix-border);
}

.invite-col-title[b-bvh1av9k12] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.1rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--migratrix-text-secondary);
}

.invite-field[b-bvh1av9k12] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.invite-field label[b-bvh1av9k12] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    margin-bottom: 0.3rem;
    font-size: 0.79rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.invite-field .required[b-bvh1av9k12] {
    color: var(--migratrix-danger);
}

/* "optional" as a quiet word beside the label rather than "(Optional)" inside it. Three of the five
   labels used to end in that bracket, which made the required ones harder to pick out, not easier. */
.invite-field .optional[b-bvh1av9k12] {
    font-size: 0.67rem;
    font-weight: 500;
    text-transform: lowercase;
    letter-spacing: 0.02em;
    color: var(--migratrix-text-secondary);
}

.invite-hint[b-bvh1av9k12] {
    font-size: 0.71rem;
    font-weight: 400;
    color: var(--migratrix-text-secondary);
}

.invite-name-row[b-bvh1av9k12] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}

/* Takes the leftover height so the two columns finish level whatever the role count is. */
.invite-message-field[b-bvh1av9k12] {
    flex: 1;
    min-height: 96px;
}

.invite-message[b-bvh1av9k12] {
    flex: 1;
    min-height: 84px;
    resize: vertical;
}

/* ── Role ──────────────────────────────────────────────────────────────────────────────────── */
.invite-role-field[b-bvh1av9k12] {
    flex: 1;
}

.invite-roles[b-bvh1av9k12] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.invite-role[b-bvh1av9k12] {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.5rem 0.6rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-main);
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.invite-role:hover:not(.disabled)[b-bvh1av9k12] {
    border-color: var(--migratrix-primary);
    background: var(--migratrix-bg-hover);
}

.invite-role.selected[b-bvh1av9k12] {
    border-color: var(--migratrix-primary);
    background: var(--migratrix-bg-hover);
    box-shadow: inset 0 0 0 1px var(--migratrix-primary);
}

.invite-role.disabled[b-bvh1av9k12] {
    opacity: 0.55;
    cursor: not-allowed;
}

/* The whole card is the label, so the radio is the real control and keeps its focus ring - the old
   markup put a click handler on a div and left the radio decorative, which meant the list could not
   be reached or answered from the keyboard. */
.invite-role-radio[b-bvh1av9k12] {
    margin: 0.15rem 0 0;
    accent-color: var(--migratrix-primary);
    flex-shrink: 0;
}

.invite-role-body[b-bvh1av9k12] {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
    flex: 1;
}

/* Name and badge on one line, so a role with no description is still a single tidy row. */
.invite-role-head[b-bvh1av9k12] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-width: 0;
}

/* The role's actual name, which the old card never showed - it displayed only the badge, which is
   the same string lower-cased and then upper-cased again. */
.invite-role-name[b-bvh1av9k12] {
    font-size: 0.81rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.invite-role-description[b-bvh1av9k12] {
    font-size: 0.72rem;
    line-height: 1.3;
    color: var(--migratrix-text-secondary);
}

.invite-roles-state[b-bvh1av9k12] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem;
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
}

.invite-roles-empty[b-bvh1av9k12] {
    justify-content: center;
    border: 1px dashed var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
}

.role-badge[b-bvh1av9k12] {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 0.11rem 0.35rem;
    border-radius: 4px;
    font-size: 0.63rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.role-badge.role-admin[b-bvh1av9k12] {
    background: rgba(107, 70, 193, 0.12);
    color: #6b46c1;
}

.role-badge.role-approver[b-bvh1av9k12] {
    background: rgba(47, 133, 90, 0.12);
    color: #2f855a;
}

.role-badge.role-developer[b-bvh1av9k12] {
    background: rgba(49, 130, 206, 0.12);
    color: #3182ce;
}

.role-badge.role-viewer[b-bvh1av9k12] {
    background: rgba(113, 128, 150, 0.12);
    color: #718096;
}

.spinner-sm[b-bvh1av9k12] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.32);
    border-left-color: currentColor;
    border-radius: 50%;
    display: inline-block;
    animation: spin-b-bvh1av9k12 1s linear infinite;
}

@keyframes spin-b-bvh1av9k12 {
    to {
        transform: rotate(360deg);
    }
}

/* Narrow: the split becomes a stack, and the divider moves to the top of the second half so it
   still separates the two rather than hanging off the side of nothing. */
@media (max-width: 768px) {
    .invite-split[b-bvh1av9k12] {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .invite-col-access[b-bvh1av9k12] {
        padding-left: 0;
        padding-top: 1rem;
        border-left: 0;
        border-top: 1px solid var(--migratrix-border);
    }

    .invite-message-field[b-bvh1av9k12],
    .invite-message[b-bvh1av9k12] {
        min-height: 72px;
    }
}
/* /Pages/Security/License.razor.rz.scp.css */
/* Customer-facing licence screen. Tokens only, so it follows the viewer's theme like the rest
   of the app. Structure mirrors the other dashboard pages: header card, then cards. */

.license-page[b-8ye4i5k54n] {
    padding: 1.5rem;
    background: var(--migratrix-bg-main);
    min-height: 100%;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    box-sizing: border-box;
}

.license-empty[b-8ye4i5k54n] {
    padding: 2.5rem;
    text-align: center;
    color: var(--migratrix-text-secondary);
}

.license-empty .material-icons[b-8ye4i5k54n] { font-size: 2rem; opacity: 0.5; display: block; margin-bottom: 0.5rem; }

.license-summary[b-8ye4i5k54n] { padding: 1.5rem; display: flex; flex-direction: column; gap: 1rem; }

.license-headline[b-8ye4i5k54n] { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }

.license-product[b-8ye4i5k54n] {
    font-size: 1.6rem;
    font-weight: 700;
    text-transform: capitalize;
    color: var(--migratrix-text-primary);
}

.license-state[b-8ye4i5k54n] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.2rem 0.6rem;
    border-radius: 3px;
    border: 1px solid transparent;
}

.license-state.lic-active[b-8ye4i5k54n]  { background: rgba(46, 204, 113, 0.12); color: #16a34a; border-color: rgba(46, 204, 113, 0.3); }
.license-state.lic-grace[b-8ye4i5k54n]   { background: rgba(243, 156, 18, 0.12); color: #b45309; border-color: rgba(243, 156, 18, 0.3); }
.license-state.lic-future[b-8ye4i5k54n]  { background: rgba(70, 120, 200, 0.12); color: #35619e; border-color: rgba(70, 120, 200, 0.3); }
.license-state.lic-expired[b-8ye4i5k54n] { background: rgba(185, 28, 28, 0.08); color: #b42318; border-color: rgba(180, 35, 24, 0.25); }

[data-theme="dark"] .license-state.lic-active[b-8ye4i5k54n]  { color: #4ade80; }
[data-theme="dark"] .license-state.lic-grace[b-8ye4i5k54n]   { color: #fbbf24; }
[data-theme="dark"] .license-state.lic-future[b-8ye4i5k54n]  { color: #7aa7e8; }
[data-theme="dark"] .license-state.lic-expired[b-8ye4i5k54n] { color: #f97066; }

.license-explanation[b-8ye4i5k54n] {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--migratrix-text-secondary);
    max-width: 68ch;
}

.license-dates[b-8ye4i5k54n] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 1rem;
}

.license-dates > div[b-8ye4i5k54n] { display: flex; flex-direction: column; gap: 0.15rem; }

.license-dates span[b-8ye4i5k54n] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--migratrix-text-secondary);
}

.license-dates strong[b-8ye4i5k54n] { font-size: 0.95rem; color: var(--migratrix-text-primary); }
.license-dates .urgent strong[b-8ye4i5k54n] { color: #b45309; }
[data-theme="dark"] .license-dates .urgent strong[b-8ye4i5k54n] { color: #fbbf24; }

.license-callout[b-8ye4i5k54n] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.7rem 0.9rem;
    border-radius: var(--migratrix-radius-sm);
    border: 1px solid var(--migratrix-border);
    border-left: 3px solid var(--migratrix-warning);
    background: var(--migratrix-bg-secondary);
    font-size: 0.85rem;
}

.license-callout .material-icons[b-8ye4i5k54n] { font-size: 1.05rem; color: var(--migratrix-warning); flex-shrink: 0; }

.license-grid[b-8ye4i5k54n] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
    gap: 1.25rem;
}

.license-grid > .config-card[b-8ye4i5k54n] { padding: 1.25rem; }

.license-section-head[b-8ye4i5k54n] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.license-section-head h4[b-8ye4i5k54n] { margin: 0; font-size: 0.95rem; color: var(--migratrix-text-primary); }
.license-section-head .material-icons[b-8ye4i5k54n] { font-size: 1.15rem; color: var(--migratrix-text-secondary); }

.license-note[b-8ye4i5k54n] { margin: 0; font-size: 0.85rem; color: var(--migratrix-text-secondary); }

.license-meter-value[b-8ye4i5k54n] { display: flex; align-items: baseline; gap: 0.4rem; margin-bottom: 0.6rem; }
.license-meter-value strong[b-8ye4i5k54n] { font-size: 1.8rem; color: var(--migratrix-text-primary); }
.license-meter-value span[b-8ye4i5k54n] { font-size: 0.85rem; color: var(--migratrix-text-secondary); }

.license-bar[b-8ye4i5k54n] {
    height: 6px;
    border-radius: 3px;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    overflow: hidden;
}

.license-bar-fill[b-8ye4i5k54n] {
    height: 100%;
    background: var(--migratrix-primary);
    transition: width 0.3s ease;
}

/* Colour only carries meaning at the point where it matters - a bar that reddens gradually
   trains people to ignore it. */
.license-bar-fill.full[b-8ye4i5k54n] { background: var(--migratrix-warning); }

.license-limits[b-8ye4i5k54n] { display: flex; flex-direction: column; gap: 1rem; }

.license-limit-head[b-8ye4i5k54n] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.license-limit-head span[b-8ye4i5k54n] { font-size: 0.85rem; color: var(--migratrix-text-primary); }
.license-limit-head strong[b-8ye4i5k54n] { font-size: 0.8rem; color: var(--migratrix-text-secondary); font-weight: 500; }

.license-limit-note[b-8ye4i5k54n] {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.7rem;
    color: var(--migratrix-text-secondary);
}

.license-features[b-8ye4i5k54n] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 1.25rem;
}

.license-feature-group h5[b-8ye4i5k54n] {
    margin: 0 0 0.5rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--migratrix-text-secondary);
}

.license-feature-group ul[b-8ye4i5k54n] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.35rem; }

.license-feature-group li[b-8ye4i5k54n] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
}

.license-feature-group li .material-icons[b-8ye4i5k54n] { font-size: 1rem; color: var(--migratrix-success); flex-shrink: 0; }

@media (prefers-reduced-motion: reduce) {
    .license-bar-fill[b-8ye4i5k54n] { transition: none; }
}
/* /Pages/Security/login.razor.rz.scp.css */
.migratrix-sidebar[b-3bjwr0wl95] {
    display: none;
}

.login-card[b-3bjwr0wl95] {
    width: 100%;
    max-width: 600px;
    margin: 0;
    padding: 2.5rem;
    min-height: auto;
}

.login-header[b-3bjwr0wl95] {
    flex: 1;
    text-align: center;
    margin-bottom: 0.75rem;
}

.login-title[b-3bjwr0wl95] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.25rem 0;
}

.login-subtitle[b-3bjwr0wl95] {
    color: var(--migratrix-text-secondary);
    margin: 0;
}

/* ============================================================================
   CONTENT SECTION - COMPACT
   ============================================================================ */

.login-content[b-3bjwr0wl95] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.step-container[b-3bjwr0wl95] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.step-header[b-3bjwr0wl95] {
    text-align: center;
}

.step-title[b-3bjwr0wl95] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.25rem 0;
}

.step-description[b-3bjwr0wl95] {
    color: var(--migratrix-text-secondary);
    margin: 0;
}

/* ============================================================================
   AUTHENTICATION CARDS - COMPACT
   ============================================================================ */

.auth-card[b-3bjwr0wl95] {
    background: var(--migratrix-bg-card);
    border: 2px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 1rem;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.auth-card-title[b-3bjwr0wl95] {
    font-weight: 600;
    color: var(--migratrix-text-primary);
    margin: 0 0 0.375rem 0;
}

.auth-status[b-3bjwr0wl95] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    justify-content: center;
    padding: 0.75rem;
    background: var(--migratrix-bg-secondary);
    border-radius: var(--migratrix-radius-sm);
    color: var(--migratrix-text-secondary);
  
}

.social-btn[b-3bjwr0wl95] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    cursor: pointer;
    font-weight: 500;
  
    transition: all 0.2s ease;
    width: 100%;
    justify-content: center;
}

.social-btn.gitlab[b-3bjwr0wl95] {
    border-color: #fc6d26;
    color: #c24e16;
    margin-top: 0.75rem;
}

.social-btn.gitlab:hover:not(:disabled)[b-3bjwr0wl95] {
    background: rgba(252, 109, 38, 0.1);
    border-color: #fc6d26;
}

.social-btn.microsoft[b-3bjwr0wl95] {
    border-color: #0078d4;
    color: #0078d4;
}

.social-btn.microsoft:hover:not(:disabled)[b-3bjwr0wl95] {
    background: rgba(0, 120, 212, 0.1);
    border-color: #0078d4;
}

.auth-preview[b-3bjwr0wl95] {
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    padding: 0.75rem;
    margin-bottom: 1rem;
}

.checkbox-container[b-3bjwr0wl95] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.checkbox-input[b-3bjwr0wl95] {
    width: 16px;
    height: 16px;
    margin: 0;
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.checkbox-label[b-3bjwr0wl95] {
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--migratrix-text-primary);
}

.form-actions[b-3bjwr0wl95] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.text-link[b-3bjwr0wl95] {
    color: var(--migratrix-primary);
    text-decoration: none;
    font-weight: 500;
}

.text-link:hover[b-3bjwr0wl95] {
    text-decoration: underline;
}

/* ============================================================================
   ALERTS - COMPACT
   ============================================================================ */

.alert[b-3bjwr0wl95] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    border-radius: var(--migratrix-radius-sm);
    margin-bottom: 1rem;
    position: relative;
    font-size: 0.875rem;
}

.alert-error[b-3bjwr0wl95] {
    background: rgba(231, 76, 60, 0.1);
    border: 1px solid var(--migratrix-danger);
    color: var(--migratrix-danger);
}

.alert-success[b-3bjwr0wl95] {
    background: rgba(46, 204, 113, 0.1);
    border: 1px solid var(--migratrix-success);
    color: var(--migratrix-success);
}

.alert-info[b-3bjwr0wl95] {
    background: rgba(52, 152, 219, 0.1);
    border: 1px solid var(--migratrix-info);
    color: var(--migratrix-info);
}

.alert-close[b-3bjwr0wl95] {
    position: absolute;
    top: 0.375rem;
    right: 0.375rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.125rem;
    border-radius: var(--migratrix-radius-sm);
    color: inherit;
    opacity: 0.7;
}

.alert-close:hover[b-3bjwr0wl95] {
    opacity: 1;
    background: rgba(0, 0, 0, 0.1);
}

.alert-close i[b-3bjwr0wl95] {
    font-size: 1rem;
}

.alert-title[b-3bjwr0wl95] {
    font-weight: 600;
    margin-bottom: 0.125rem;
}

.alert-subtitle[b-3bjwr0wl95] {
    font-size: 0.8rem;
    opacity: 0.9;
}

/* ============================================================================
   STEP ACTIONS - COMPACT
   ============================================================================ */

.step-actions[b-3bjwr0wl95] {
    display: flex;
    justify-content: flex-start;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--migratrix-border);
}

/* ============================================================================
   LOGIN FOOTER - COMPACT
   ============================================================================ */

.login-footer[b-3bjwr0wl95] {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--migratrix-border);
    text-align: center;
}

.footer-links p[b-3bjwr0wl95] {
    font-size: 0.8rem;
    color: var(--migratrix-text-secondary);
    margin: 0.125rem 0;
}

/* ============================================================================
   SIGNUP PROMPT - COMPACT
   ============================================================================ */

.signup-prompt[b-3bjwr0wl95] {
    margin-top: 1rem;
}

.signup-prompt .alert[b-3bjwr0wl95] {
    margin-bottom: 0;
}

/* ============================================================================
   BUTTONS - COMPACT
   ============================================================================ */

/* ============================================================================
   LOADING STATES - COMPACT
   ============================================================================ */

.loading-spinner[b-3bjwr0wl95] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--migratrix-border);
    border-top: 3px solid var(--migratrix-primary);
    border-radius: 50%;
    animation: spin-b-3bjwr0wl95 1s linear infinite;
    margin-bottom: 0.75rem;
}

.btn-spinner[b-3bjwr0wl95] {
    width: 14px;
    height: 14px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin-b-3bjwr0wl95 1s linear infinite;
}

@keyframes spin-b-3bjwr0wl95 {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ============================================================================
   UTILITY CLASSES
   ============================================================================ */

.d-flex[b-3bjwr0wl95] {
    display: flex;
}

.align-items-center[b-3bjwr0wl95] {
    align-items: center;
}

.gap-3[b-3bjwr0wl95] {
    gap: 1rem;
}

.text-success[b-3bjwr0wl95] {
    color: var(--migratrix-success);
}

.text-primary[b-3bjwr0wl95] {
    color: var(--migratrix-primary);
}

.text-info[b-3bjwr0wl95] {
    color: var(--migratrix-info);
}

/* ============================================================================
   RESPONSIVE DESIGN - OPTIMIZED FOR NO SCROLLING
   ============================================================================ */

@media (max-height: 800px) {
    .login-title[b-3bjwr0wl95] {
        font-size: 1.25rem;
    }

    .step-title[b-3bjwr0wl95] {
        font-size: 1.125rem;
    }

    .step-container[b-3bjwr0wl95] {
        gap: 0.75rem;
    }

    .auth-card[b-3bjwr0wl95] {
        padding: 0.75rem;
    }
}

@media (max-width: 768px) {
    .agent-content[b-3bjwr0wl95] {
        padding: 0.25rem;
    }

    .login-card[b-3bjwr0wl95] {
        padding: 1rem;
    }

    .form-group[b-3bjwr0wl95] {
        margin-bottom: 0.75rem;
    }

    .form-actions[b-3bjwr0wl95] {
        gap: 0.5rem;
    }

    .step-actions[b-3bjwr0wl95] {
        margin-top: 0.75rem;
        padding-top: 0.75rem;
    }
}

@media (max-width: 480px) {
    .agent-content[b-3bjwr0wl95] {
        padding: 0.125rem;
    }

    .login-card[b-3bjwr0wl95] {
        padding: 0.5rem;
    }

    .login-title[b-3bjwr0wl95] {
        font-size: 1.125rem;
    }

    .login-subtitle[b-3bjwr0wl95] {
        font-size: 0.8rem;
    }

    .step-title[b-3bjwr0wl95] {
        font-size: 1rem;
    }

    .auth-card[b-3bjwr0wl95] {
        padding: 0.5rem;
    }

    .auth-card-icon[b-3bjwr0wl95] {
        width: 32px;
        height: 32px;
        margin-bottom: 0.5rem;
    }

    .auth-card-title[b-3bjwr0wl95] {
        font-size: 0.875rem;
    }

    .form-group[b-3bjwr0wl95] {
        margin-bottom: 0.5rem;
    }

    .checkbox-container[b-3bjwr0wl95] {
        margin-bottom: 0.5rem;
    }
}

@media (max-height: 600px) {
    .login-header[b-3bjwr0wl95] {
        margin-bottom: 0.5rem;
    }

    .login-title[b-3bjwr0wl95] {
        font-size: 1rem;
        margin-bottom: 0.125rem;
    }

    .login-subtitle[b-3bjwr0wl95] {
        font-size: 0.75rem;
    }

    .step-container[b-3bjwr0wl95] {
        gap: 0.5rem;
    }

    .step-header[b-3bjwr0wl95] {
        margin-bottom: 0.5rem;
    }

    .step-title[b-3bjwr0wl95] {
        font-size: 1rem;
        margin-bottom: 0.125rem;
    }

    .step-description[b-3bjwr0wl95] {
        font-size: 0.8rem;
    }

    .auth-card[b-3bjwr0wl95] {
        padding: 0.5rem;
    }

    .form-group[b-3bjwr0wl95] {
        margin-bottom: 0.5rem;
    }

    .step-actions[b-3bjwr0wl95] {
        margin-top: 0.75rem;
        padding-top: 0.75rem;
    }

    .login-footer[b-3bjwr0wl95] {
        margin-top: 0.75rem;
        padding-top: 0.75rem;
    }
}

.auth-preview .d-flex[b-3bjwr0wl95] {
    display: flex;
}

.auth-preview .align-items-center[b-3bjwr0wl95] {
    align-items: center;
}

.auth-preview .gap-3[b-3bjwr0wl95] {
    gap: 12px;
}

.auth-preview i[b-3bjwr0wl95] {
    color: var(--migratrix-primary, #3b82f6);
}

/* Enhanced form actions for multiple buttons */

/* Step container enhancements */
.step-container[b-3bjwr0wl95] {
    padding: 0;
}

.step-header[b-3bjwr0wl95] {
    text-align: center;
    margin-bottom: 32px;
}

.step-title[b-3bjwr0wl95] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-dark, #111827);
    margin-bottom: 8px;
}

.step-description[b-3bjwr0wl95] {
    font-size: 1rem;
    color: var(--text-muted, #6b7280);
    line-height: 1.5;
}

/* Step actions (back buttons, etc.) */
.step-actions[b-3bjwr0wl95] {
    margin-top: 32px;
    display: flex;
    justify-content: center;
}

/* Alert enhancements */
.alert[b-3bjwr0wl95] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    border-radius: 12px;
    margin-bottom: 20px;
    position: relative;
}

.alert-error[b-3bjwr0wl95] {
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
}

.alert-success[b-3bjwr0wl95] {
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #16a34a;
}

.alert-info[b-3bjwr0wl95] {
    background-color: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #2563eb;
}

.alert .material-icons[b-3bjwr0wl95] {
    font-size: 20px;
    flex-shrink: 0;
    margin-top: 1px;
}

.alert-close[b-3bjwr0wl95] {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.alert-close:hover[b-3bjwr0wl95] {
    opacity: 1;
}

.alert-close .material-icons[b-3bjwr0wl95] {
    font-size: 18px;
}

.alert-title[b-3bjwr0wl95] {
    font-weight: 600;
    margin-bottom: 4px;
}

.alert-subtitle[b-3bjwr0wl95] {
    font-size: 14px;
    opacity: 0.9;
}

/* Text link styling */
.text-link[b-3bjwr0wl95] {
    color: var(--primary-color, #3b82f6);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.text-link:hover[b-3bjwr0wl95] {
    color: var(--primary-dark, #1d4ed8);
    text-decoration: underline;
}

/* Responsive improvements */
@media (max-width: 640px) {
    .step-title[b-3bjwr0wl95] {
        font-size: 20px;
    }

    .step-description[b-3bjwr0wl95] {
        font-size: 14px;
    }

    .auth-preview[b-3bjwr0wl95] {
        padding: 12px;
    }

    .forgot-password-section[b-3bjwr0wl95] {
        margin-top: 20px;
        padding-top: 16px;
    }
    
    
}

/* MFA verification / enrollment */
.mfa-qr-wrapper[b-3bjwr0wl95] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin: 8px 0 16px;
}

.mfa-qr[b-3bjwr0wl95] {
    width: 200px;
    height: 200px;
    border-radius: 8px;
    background: #fff;
    padding: 8px;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.mfa-secret code[b-3bjwr0wl95] {
    font-family: "SF Mono", Monaco, monospace;
    letter-spacing: 2px;
    color: #212529;
    background: rgba(0, 0, 0, 0.04);
    padding: 4px 8px;
    border-radius: 6px;
    word-break: break-all;
}

.mfa-recovery-codes[b-3bjwr0wl95] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin: 12px 0 16px;
}

.mfa-recovery-codes code[b-3bjwr0wl95] {
    font-family: "SF Mono", Monaco, monospace;
    text-align: center;
    letter-spacing: 1px;
    background: rgba(0, 0, 0, 0.04);
    padding: 8px;
    border-radius: 6px;
}

.mfa-method-switch[b-3bjwr0wl95] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 12px;
}
/* /Pages/Security/PlatformInviteSignup.razor.rz.scp.css */
.platform-invite-page[b-316p4sbfuz] {
    min-height: calc(100vh - 105px);
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.platform-invite-card[b-316p4sbfuz] {
    width: 100%;
    max-width: 1100px;
    margin: 0;
    padding: 2rem 5rem;
    min-height: auto;
}

.platform-invite-card[b-316p4sbfuz]  .card-header {
    padding: 0;
}

.platform-invite-card[b-316p4sbfuz]  .signup-header {
    text-align: center;
    margin-bottom: 0.75rem;
}

.platform-invite-card[b-316p4sbfuz]  .signup-title {
    margin: 0 0 0.25rem 0;
    color: var(--migratrix-text-primary);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
}

.platform-invite-card[b-316p4sbfuz]  .signup-subtitle {
    font-size: 0.875rem;
    margin: 0;
}

.platform-invite-card[b-316p4sbfuz]  .signup-subtitle,
.platform-invite-card[b-316p4sbfuz]  .step-description,
.platform-invite-card[b-316p4sbfuz]  .auth-card-description,
.platform-invite-card[b-316p4sbfuz]  .form-help {
    color: var(--migratrix-text-secondary);
}

.platform-invite-card[b-316p4sbfuz]  .signup-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0;
}

.platform-invite-card[b-316p4sbfuz]  .progress-container {
    margin: 1rem 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.platform-invite-card[b-316p4sbfuz]  .progress-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    max-width: 40rem;
    margin: 0 auto;
    position: relative;
}

.platform-invite-card[b-316p4sbfuz]  .progress-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    min-width: 0;
    text-align: center;
}

.platform-invite-card[b-316p4sbfuz]  .step-circle {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-secondary);
    border: 2px solid var(--migratrix-border);
    z-index: 1;
    font-size: 0.8rem;
    font-weight: 700;
}

.platform-invite-card[b-316p4sbfuz]  .progress-step.active .step-circle {
    background: var(--migratrix-primary);
    color: #fff;
    border-color: var(--migratrix-primary);
}

.platform-invite-card[b-316p4sbfuz]  .progress-step.completed .step-circle {
    background: var(--migratrix-success);
    color: #fff;
    border-color: var(--migratrix-success);
}

.platform-invite-card[b-316p4sbfuz]  .step-label {
    color: var(--migratrix-text-secondary);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0;
    z-index: 1;
    max-width: 8rem;
    line-height: 1.25;
}

.platform-invite-card[b-316p4sbfuz]  .progress-step.active .step-label {
    color: var(--migratrix-primary);
}

.platform-invite-card[b-316p4sbfuz]  .progress-step.completed .step-label {
    color: var(--migratrix-success);
}

.platform-invite-banner[b-316p4sbfuz] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-secondary);
}

.platform-invite-banner i[b-316p4sbfuz] {
    color: var(--migratrix-primary);
    font-size: 1.35rem;
}

.platform-invite-banner__copy[b-316p4sbfuz] {
    color: var(--migratrix-text-primary);
    line-height: 1.4;
}

.platform-invite-banner__copy strong[b-316p4sbfuz],
.platform-invite-signin a[b-316p4sbfuz],
.platform-invite-terms a[b-316p4sbfuz] {
    color: var(--migratrix-primary);
    text-decoration: none;
}

.platform-invite-signin[b-316p4sbfuz] {
    margin-top: 1rem;
    text-align: left;
    color: var(--migratrix-text-secondary);
    font-size: 0.8rem;
}

.platform-invite-card[b-316p4sbfuz]  .step-container {
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.platform-invite-card[b-316p4sbfuz]  .step-header {
    margin-bottom: 0;
    text-align: center;
}

.platform-invite-card[b-316p4sbfuz]  .step-title {
    justify-content: center;
    margin: 0 0 0.5rem 0;
    color: var(--migratrix-text-primary);
    font-size: 1.25rem;
    font-weight: 600;
}

.platform-invite-card[b-316p4sbfuz]  .step-description {
    margin: 0;
}

.platform-invite-card[b-316p4sbfuz]  .auth-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.platform-invite-card[b-316p4sbfuz]  .auth-card {
    position: relative;
    display: flex;
    gap: 1rem;
    min-height: auto;
    padding: 1rem;
    border: 2px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    cursor: pointer;
    transition: all 0.2s ease;
}

.platform-invite-card[b-316p4sbfuz]  .auth-card:hover {
    transform: translateY(-1px);
    border-color: var(--migratrix-primary-light);
    box-shadow: var(--migratrix-shadow-sm);
}

.platform-invite-card[b-316p4sbfuz]  .auth-card.selected {
    border-color: var(--migratrix-primary);
    background: var(--migratrix-bg-card);
    box-shadow: 0 0 0 2px rgba(74, 137, 220, 0.1);
}

.platform-invite-card[b-316p4sbfuz]  .auth-card.recommended {
    border-color: var(--migratrix-border);
}

.platform-invite-card[b-316p4sbfuz]  .auth-card-icon {
    width: 36px;
    height: 36px;
    background: rgba(74, 137, 220, 0.1);
    color: var(--migratrix-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
    flex: 0 0 auto;
}

.platform-invite-card[b-316p4sbfuz]  .auth-card-icon img {
    width: 32px !important;
    height: 32px !important;
    object-fit: contain;
}

.platform-invite-card[b-316p4sbfuz]  .auth-card-title {
    margin: 0 0 0.375rem 0;
    color: var(--migratrix-text-primary);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
}

.platform-invite-card[b-316p4sbfuz]  .auth-card-description {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.4;
}

.platform-invite-card[b-316p4sbfuz]  .auth-card-badge {
    position: absolute;
    top: -6px;
    right: 0.75rem;
    padding: 0.125rem 0.5rem;
    border-radius: 8px;
    background: var(--migratrix-primary);
    color: white;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.platform-invite-card[b-316p4sbfuz]  .auth-card.recommended .social-auth-section {
    grid-column: 1 / -1;
    margin-top: 0.4rem;
    padding-top: 1rem;
    border-top: 1px solid var(--migratrix-border);
}

.platform-invite-card[b-316p4sbfuz]  .tenant-bootstrap,
.platform-invite-card[b-316p4sbfuz]  .auth-preview {
    padding: 0.75rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-secondary);
}

.platform-invite-card[b-316p4sbfuz]  .tenant-bootstrap h4 {
    margin: 0 0 0.75rem;
    color: var(--migratrix-text-primary);
    font-size: 1rem;
    font-weight: 600;
}

.platform-invite-card[b-316p4sbfuz]  .form-grid,
.platform-invite-name-grid[b-316p4sbfuz] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4rem;
}

.platform-invite-card[b-316p4sbfuz]  .form-group-full {
    grid-column: 1 / -1;
}

.platform-invite-field[b-316p4sbfuz] {
    margin-bottom: 1rem;
}

.platform-invite-field--large[b-316p4sbfuz] {
    margin-bottom: 1.5rem;
}

.platform-invite-card[b-316p4sbfuz]  .form-label {
    color: var(--migratrix-text-primary);
    font-weight: 650;
}

.platform-invite-card[b-316p4sbfuz]  .form-control,
.platform-invite-card[b-316p4sbfuz]  .form-input {
    width: 100%;
    min-height: auto;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    background: var(--migratrix-bg-card);
    color: var(--migratrix-text-primary);
    font-size: 0.875rem;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.platform-invite-card[b-316p4sbfuz]  .form-control:focus,
.platform-invite-card[b-316p4sbfuz]  .form-input:focus {
    outline: none;
    border-color: var(--migratrix-primary);
    box-shadow: 0 0 0 3px rgba(243, 124, 25, 0.14);
}

.platform-invite-card[b-316p4sbfuz]  .form-input:disabled {
    background: var(--migratrix-bg-secondary);
    color: var(--migratrix-text-secondary);
}

.platform-invite-terms[b-316p4sbfuz] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    cursor: pointer;
    color: var(--migratrix-text-secondary);
}

.platform-invite-terms input[b-316p4sbfuz] {
    margin-top: 0.25rem;
    accent-color: var(--migratrix-primary);
}

.platform-invite-card[b-316p4sbfuz]  .step-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--migratrix-border);
}

.platform-invite-card[b-316p4sbfuz]  .no-agents-container {
    padding: 2.75rem 1rem;
}

.platform-invite-card[b-316p4sbfuz]  .no-agents-message {
    max-width: 30rem;
    margin: 0 auto;
    text-align: center;
    color: var(--migratrix-text-secondary);
}

.platform-invite-card[b-316p4sbfuz]  .no-agents-message h3 {
    color: var(--migratrix-text-primary);
    margin-top: 1rem;
}

.platform-invite-error-icon[b-316p4sbfuz] {
    display: block;
    margin: 0 auto 1rem;
    color: var(--migratrix-danger, #dc3545);
    font-size: 3rem;
}

.platform-invite-invalid-actions[b-316p4sbfuz] {
    margin-top: 1.5rem;
}

.platform-invite-auth-preview[b-316p4sbfuz] {
    margin-bottom: 0.5rem;
}

@media (max-width: 1727px) {
    .platform-invite-card[b-316p4sbfuz] {
        max-width: 800px;
    }

    .platform-invite-card[b-316p4sbfuz]  .progress-steps {
        max-width: 32rem;
    }

    .platform-invite-card[b-316p4sbfuz]  .auth-options,
    .platform-invite-card[b-316p4sbfuz]  .form-grid,
    .platform-invite-name-grid[b-316p4sbfuz] {
        gap: 1.125rem;
    }

    .platform-invite-card[b-316p4sbfuz]  .auth-card {
        min-height: 5.25rem;
    }
}

@media (min-width: 1921px) {
    .platform-invite-card[b-316p4sbfuz] {
        max-width: 900px;
        padding: 1.5rem;
    }

    .platform-invite-card[b-316p4sbfuz]  .progress-steps {
        max-width: 36rem;
    }
}

@media (max-width: 768px) {
    .platform-invite-page[b-316p4sbfuz] {
        padding: 0.25rem;
    }

    .platform-invite-card[b-316p4sbfuz] {
        padding: 0.75rem;
        margin: 0;
    }

    .platform-invite-card[b-316p4sbfuz]  .card-header,
    .platform-invite-card[b-316p4sbfuz]  .signup-content,
    .platform-invite-card[b-316p4sbfuz]  .progress-container {
        padding-left: 0;
        padding-right: 0;
    }

    .platform-invite-card[b-316p4sbfuz]  .form-grid,
    .platform-invite-name-grid[b-316p4sbfuz] {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .platform-invite-card[b-316p4sbfuz]  .auth-options {
        grid-template-columns: 1fr;
    }

    .platform-invite-card[b-316p4sbfuz]  .auth-card {
        gap: 1rem;
    }

    .platform-invite-field[b-316p4sbfuz] {
        margin-bottom: 0.75rem;
    }

    .platform-invite-card[b-316p4sbfuz]  .step-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .platform-invite-card[b-316p4sbfuz]  .step-actions .migratrix-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .platform-invite-page[b-316p4sbfuz] {
        padding: 0.125rem;
    }

    .platform-invite-card[b-316p4sbfuz] {
        padding: 0.5rem;
    }

    .platform-invite-card[b-316p4sbfuz]  .signup-title {
        font-size: 1.125rem;
    }

    .platform-invite-card[b-316p4sbfuz]  .signup-subtitle,
    .platform-invite-card[b-316p4sbfuz]  .step-description {
        font-size: 0.8rem;
    }

    .platform-invite-card[b-316p4sbfuz]  .step-title {
        font-size: 1rem;
    }

    .platform-invite-card[b-316p4sbfuz]  .auth-card {
        padding: 0.5rem;
    }

    .platform-invite-card[b-316p4sbfuz]  .auth-card-icon {
        width: 32px;
        height: 32px;
        margin-bottom: 0.5rem;
    }

    .platform-invite-card[b-316p4sbfuz]  .auth-card-title {
        font-size: 0.875rem;
    }

    .platform-invite-card[b-316p4sbfuz]  .step-circle {
        width: 26px;
        height: 26px;
    }

    .platform-invite-card[b-316p4sbfuz]  .step-label {
        font-size: 0.65rem;
    }

    .platform-invite-field[b-316p4sbfuz] {
        margin-bottom: 0.5rem;
    }
}
/* /Pages/Security/roleDialog.razor.rz.scp.css */
.role-dialog-container[b-23gk1mir0l] {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 13px;
    color: #333;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 400px;
}

.role-dialog-header[b-23gk1mir0l] {
    background: linear-gradient(to bottom, #f9f9f9, #e5e5e5);
    padding: 1.5rem;
    border-bottom: 1px solid #dee2e6;
    flex-shrink: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.header-content h1[b-23gk1mir0l] {
    font-size: 1.5rem;
    font-weight: 500;
    margin: 0 0 0.25rem 0;
}

.system-role-badge[b-23gk1mir0l] {
    flex-shrink: 0;
}

.role-dialog-content[b-23gk1mir0l] {
    flex: 1;
    padding: 2rem;
    overflow-y: auto;
}

/* Form Section */
.form-section[b-23gk1mir0l] {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 4px;
    overflow: hidden;
}

.section-title[b-23gk1mir0l] {
    font-size: 1.125rem;
    font-weight: 500;
    margin: 0 0 0.25rem 0;
    color: #333;
    padding: 1rem 1.5rem 0 1.5rem;
}

.section-description[b-23gk1mir0l] {
    font-size: 13px;
    color: #6c757d;
    margin: 0 0 1.5rem 0;
    padding: 0 1.5rem;
}

/* Form Elements */
.form-group[b-23gk1mir0l] {
    padding: 0 1.5rem;
}

.form-group:last-child[b-23gk1mir0l] {
    margin-bottom: 1.5rem;
}

.form-label[b-23gk1mir0l] {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 13px;
    color: #333;
}

.form-control[b-23gk1mir0l] {
    width: 100%;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 14px;
    border: 1px solid #ced4da;
    background: white;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    font-family: inherit;
}

.form-control:focus[b-23gk1mir0l] {
    outline: none;
    border-color: #4A89DC;
    box-shadow: 0 0 0 2px rgba(74, 137, 220, 0.15);
}

.form-control:disabled[b-23gk1mir0l] {
    background-color: #f8f9fa;
    border-color: #dee2e6;
    color: #6c757d;
    cursor: not-allowed;
}

.form-control.error[b-23gk1mir0l] {
    border-color: #dc3545;
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.15);
}

.form-text[b-23gk1mir0l] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.5rem;
    font-size: 12px;
    color: #6c757d;
}

.char-counter[b-23gk1mir0l] {
    color: #495057;
    font-weight: 500;
}

.validation-message[b-23gk1mir0l] {
    font-size: 12px;
    color: #dc3545;
    margin-top: 0.25rem;
    font-weight: 500;
}

/* Role Info Section */
.role-info-section[b-23gk1mir0l] {
    background: #f8f9fa;
    border-top: 1px solid #e9ecef;
    padding: 1.5rem;
    margin-top: 1rem;
}

.info-grid[b-23gk1mir0l] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.info-item[b-23gk1mir0l] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
}

.info-label[b-23gk1mir0l] {
    font-weight: 500;
    color: #495057;
    font-size: 13px;
}

.info-value[b-23gk1mir0l] {
    color: #333;
    font-size: 13px;
}

/* Badges */
.badge[b-23gk1mir0l] {
    padding: 0.25rem 0.5rem;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge-system[b-23gk1mir0l] {
    background-color: rgba(74, 137, 220, 0.1);
    color: #4A89DC;
    border: 1px solid rgba(74, 137, 220, 0.2);
}

.badge-custom[b-23gk1mir0l] {
    background-color: rgba(39, 174, 96, 0.1);
    color: #27AE60;
    border: 1px solid rgba(39, 174, 96, 0.2);
}

/* Footer */
.role-dialog-footer[b-23gk1mir0l] {
    background: #f8f9fa;
    padding: 1rem 1.5rem;
    border-top: 1px solid #dee2e6;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
}

.footer-actions[b-23gk1mir0l] {
    display: flex;
    gap: 0.75rem;
    flex-shrink: 0;
}

/* Buttons */
.btn[b-23gk1mir0l] {
    border-radius: 4px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    white-space: nowrap;
    min-width: 120px;
}

.btn-primary[b-23gk1mir0l] {
    background-color: #4A89DC;
    border-color: #3A79CC;
    color: white;
}

.btn-primary:hover:not(:disabled)[b-23gk1mir0l] {
    background-color: #3A79CC;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(74, 137, 220, 0.3);
}

.btn-outline[b-23gk1mir0l] {
    background-color: white;
    color: #6c757d;
    border-color: #ced4da;
}

.btn-outline:hover:not(:disabled)[b-23gk1mir0l] {
    background-color: #f8f9fa;
    border-color: #adb5bd;
    color: #495057;
}

.btn:disabled[b-23gk1mir0l] {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
}

.spinner-sm[b-23gk1mir0l] {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin-b-23gk1mir0l 1s linear infinite;
}

/* Alerts */
.alert[b-23gk1mir0l] {
    padding: 0.75rem 1rem;
    border-radius: 4px;
    margin-bottom: 1.5rem;
    font-size: 13px;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    animation: slideDown-b-23gk1mir0l 0.3s ease-out;
}

.alert-success[b-23gk1mir0l] {
    background-color: rgba(39, 174, 96, 0.1);
    border: 1px solid rgba(39, 174, 96, 0.2);
    color: #27ae60;
}

.alert-danger[b-23gk1mir0l] {
    background-color: rgba(231, 76, 60, 0.1);
    border: 1px solid rgba(231, 76, 60, 0.2);
    color: #e74c3c;
}

.alert-icon[b-23gk1mir0l] {
    flex-shrink: 0;
    font-size: 16px;
}

.alert-close[b-23gk1mir0l] {
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: inherit;
    opacity: 0.7;
    transition: opacity 0.2s ease;
    line-height: 1;
}

.alert-close:hover[b-23gk1mir0l] {
    opacity: 1;
}

/* Animations */
@keyframes spin-b-23gk1mir0l {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes slideDown-b-23gk1mir0l {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Responsive Design */
@media (max-width: 768px) {
    .role-dialog-header[b-23gk1mir0l] {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .role-dialog-content[b-23gk1mir0l] {
        padding: 1rem;
    }

    .form-group[b-23gk1mir0l] {
        padding: 0 1rem;
    }

    .section-title[b-23gk1mir0l],
    .section-description[b-23gk1mir0l] {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .role-info-section[b-23gk1mir0l] {
        padding: 1rem;
    }

    .info-grid[b-23gk1mir0l] {
        grid-template-columns: 1fr;
    }

    .footer-actions[b-23gk1mir0l] {
        flex-direction: column-reverse;
        width: 100%;
    }

    .btn[b-23gk1mir0l] {
        width: 100%;
    }

    .form-text[b-23gk1mir0l] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }
}

@media (max-width: 480px) {
    .role-dialog-header h1[b-23gk1mir0l] {
        font-size: 1.25rem;
    }

    .section-title[b-23gk1mir0l] {
        font-size: 1rem;
    }
}
/* /Pages/Security/switchAccountType.razor.rz.scp.css */
.payment-summary[b-8we2jwdcvd] {
    background: var(--migratrix-bg-card);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.payment-summary-header[b-8we2jwdcvd] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--migratrix-bg-secondary);
    border-bottom: 1px solid var(--migratrix-border);
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--migratrix-text-primary);
}

.payment-summary-header i[b-8we2jwdcvd] {
    font-size: 1.125rem;
    color: var(--migratrix-primary);
}

.payment-summary-body[b-8we2jwdcvd] {
    padding: 1rem;
}

.payment-line[b-8we2jwdcvd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    font-size: 0.875rem;
    color: var(--migratrix-text-secondary);
}

.payment-line.total[b-8we2jwdcvd] {
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--migratrix-border);
    font-weight: 600;
    font-size: 1rem;
    color: var(--migratrix-text-primary);
}

.payment-amount[b-8we2jwdcvd] {
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

.payment-line.total .payment-amount[b-8we2jwdcvd] {
    font-size: 1.25rem;
    color: var(--migratrix-primary);
}

/* ============================================================================
   POLICY LIST
   ============================================================================ */
.dash-select[b-8we2jwdcvd] {
    padding: .5rem .7rem;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid #e5e5e5;
}

.policy-list[b-8we2jwdcvd] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.notifier[b-8we2jwdcvd]{
    padding: 1rem 0;
}
.policy-item[b-8we2jwdcvd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.75rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
    font-size: 0.8rem;
}

.policy-env[b-8we2jwdcvd] {
    font-weight: 600;
    color: var(--migratrix-primary);
    min-width: 50px;
}

.policy-details[b-8we2jwdcvd] {
    color: var(--migratrix-text-secondary);
    font-size: 0.75rem;
}

/* ============================================================================
   SUMMARY GRID
   ============================================================================ */

.summary-grid[b-8we2jwdcvd] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.summary-item[b-8we2jwdcvd] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.75rem;
    background: var(--migratrix-bg-secondary);
    border: 1px solid var(--migratrix-border);
    border-radius: var(--migratrix-radius-sm);
}

.summary-label[b-8we2jwdcvd] {
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--migratrix-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.summary-value[b-8we2jwdcvd] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--migratrix-text-primary);
}

/* ============================================================================
   RESPONSIVE ADJUSTMENTS
   ============================================================================ */

@media (max-width: 768px) {
    .plan-options[b-8we2jwdcvd] {
        grid-template-columns: 1fr;
    }

    .summary-grid[b-8we2jwdcvd] {
        grid-template-columns: 1fr;
    }

    .policy-item[b-8we2jwdcvd] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }

    .policy-env[b-8we2jwdcvd] {
        min-width: auto;
    }
}

@media (max-height: 700px) {
    .plan-card[b-8we2jwdcvd] {
        padding: 0.75rem;
    }

    .policy-item[b-8we2jwdcvd] {
        padding: 0.375rem 0.5rem;
    }

    .summary-item[b-8we2jwdcvd] {
        padding: 0.5rem;
    }

    .payment-summary[b-8we2jwdcvd] {
        margin-bottom: 1rem;
    }

    .payment-summary-header[b-8we2jwdcvd] {
        padding: 0.5rem 0.75rem;
    }

    .payment-summary-body[b-8we2jwdcvd] {
        padding: 0.75rem;
    }
}
/* /Pages/ShemaComparison/SchemaComparison.razor.rz.scp.css */
/* Compare-time entity-awareness badge: a live change-script already targets this object. */
.migratrix-entity-warning[b-7jybucwhen] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-left: 8px;
    padding: 1px 7px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
    line-height: 16px;
    cursor: help;
    white-space: nowrap;
}

.migratrix-entity-warning .material-icons[b-7jybucwhen] {
    font-size: 13px;
}

/* Drafted (Queued/Pending) — amber. */
.migratrix-entity-warning.declared[b-7jybucwhen] {
    background: #fff4e0;
    color: #a15c00;
    border: 1px solid #f0c27a;
}

/* Applying now (InProgress/RollingBack) — red. */
.migratrix-entity-warning.active[b-7jybucwhen] {
    background: #fde8e8;
    color: #b02020;
    border: 1px solid #f0a0a0;
}

.migratrix-whole-db-warning[b-7jybucwhen] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.4;
}

.migratrix-whole-db-warning .material-icons[b-7jybucwhen] {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

.migratrix-whole-db-warning.declared[b-7jybucwhen] {
    background: #fff4e0;
    color: #a15c00;
    border: 1px solid #f0c27a;
}

.migratrix-whole-db-warning.active[b-7jybucwhen] {
    background: #fde8e8;
    color: #b02020;
    border: 1px solid #f0a0a0;
}
