/* /Components/Layout/AdminLayout.razor.rz.scp.css */
/* /Components/Layout/BottomNavigation.razor.rz.scp.css */
.bottom-nav[b-r4izlzvbc1] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    /* Glassmorphism effect */
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(226, 232, 240, 0.6);
    z-index: 1100;
    padding-bottom: env(safe-area-inset-bottom, 0);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08),
                0 -1px 4px rgba(0, 0, 0, 0.04);
}

.bottom-nav-content[b-r4izlzvbc1] {
    display: flex;
    align-items: flex-end;
    max-width: 430px;
    margin: 0 auto;
    padding: 8px 0 12px;
    position: relative;
}

.nav-item[b-r4izlzvbc1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 2;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px 0;
    color: #64748B;
    transition: color var(--duration-fast) var(--spring-smooth),
                transform var(--duration-micro) var(--spring-bounce);
    min-width: 64px;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    border-radius: 12px;
}

.nav-item:focus[b-r4izlzvbc1],
.nav-item:focus-visible[b-r4izlzvbc1] {
    outline: none;
}

.nav-item:active[b-r4izlzvbc1] {
    transform: scale(var(--scale-pressed));
}

/* FAB container should not have any nav-item effects */
.nav-item.fab-container[b-r4izlzvbc1]::after {
    display: none;
}

/* Active nav item state */
.nav-item.active:not(.fab-container)[b-r4izlzvbc1] {
    color: #06b6d4;
}

.nav-item.active:not(.fab-container)[b-r4izlzvbc1]::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 3px;
    background: var(--gradient-primary);
    border-radius: 2px;
    pointer-events: none;
}

.nav-label[b-r4izlzvbc1] {
    font-size: 12px;
    margin-top: 4px;
    font-weight: 500;
    transition: font-weight var(--duration-fast) ease;
}

.nav-item.active .nav-label[b-r4izlzvbc1] {
    font-weight: 600;
}

/* FAB Container - extends above the nav bar */
.fab-container[b-r4izlzvbc1] {
    position: relative;
    padding: 0;
    flex: 1;
    height: 100px;
    display: flex;
    align-items: flex-end;
    align-self: flex-end;
    justify-content: center;
    margin-top: -56px;
}

/* FAB Button - the floating action button with breathing glow */
.fab-button[b-r4izlzvbc1] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    background: var(--gradient-primary);
    border-radius: 50%;
    box-shadow: 0 10px 30px rgba(6, 182, 212, 0.4),
                0 6px 12px rgba(0, 0, 0, 0.15);
    transition: transform var(--duration-fast) var(--spring-bounce),
                box-shadow var(--duration-normal) var(--spring-smooth);
    position: relative;
    z-index: 10;
    border: none;
    animation: breathe-glow 3s ease-in-out infinite;
    /* Performance optimization for continuous animation */
    will-change: transform, box-shadow;
}

/* Outer glow ring */
.fab-button[b-r4izlzvbc1]::before {
    content: '';
    position: absolute;
    inset: -4px;
    background: transparent;
    border: 2px solid rgba(6, 182, 212, 0.2);
    border-radius: 50%;
    transition: all var(--duration-normal) ease;
    pointer-events: none; /* Allow clicks to pass through */
}

/* Inner radial glow */
.fab-button[b-r4izlzvbc1]::after {
    content: '';
    position: absolute;
    inset: -12px;
    background: radial-gradient(circle, rgba(6, 182, 212, 0.2) 0%, transparent 70%);
    border-radius: 50%;
    z-index: -1;
    transition: opacity var(--duration-normal) ease;
    pointer-events: none; /* Allow clicks to pass through */
}

.fab-container:hover .fab-button[b-r4izlzvbc1] {
    transform: scale(1.05);
    box-shadow: 0 12px 36px rgba(6, 182, 212, 0.5),
                0 8px 16px rgba(0, 0, 0, 0.18);
}

.fab-container:hover .fab-button[b-r4izlzvbc1]::before {
    inset: -8px;
    border-color: rgba(6, 182, 212, 0.3);
}

.fab-container:active .fab-button[b-r4izlzvbc1] {
    transform: scale(0.92);
    box-shadow: 0 4px 16px rgba(6, 182, 212, 0.35),
                0 2px 4px rgba(0, 0, 0, 0.1);
    animation: none;
}

.fab-container:active .fab-button[b-r4izlzvbc1]::before {
    inset: -2px;
}

/* Force the plus icon to be white */
.fab-button[b-r4izlzvbc1]  .mud-icon-root,
.fab-button[b-r4izlzvbc1]  svg {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}

/* ==========================================
   DARK MODE SUPPORT
   ========================================== */

:global(.mud-theme-dark) .bottom-nav[b-r4izlzvbc1] {
    background: rgba(15, 23, 42, 0.9);
    border-top-color: rgba(51, 65, 85, 0.5);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3),
                0 -1px 4px rgba(0, 0, 0, 0.2);
}

:global(.mud-theme-dark) .nav-item[b-r4izlzvbc1] {
    color: #94a3b8;
}

:global(.mud-theme-dark) .nav-item.active:not(.fab-container)[b-r4izlzvbc1] {
    color: #22d3ee;
}

:global(.mud-theme-dark) .fab-button[b-r4izlzvbc1] {
    background: linear-gradient(145deg, #22d3ee 0%, #2dd4bf 100%);
    box-shadow: 0 10px 30px rgba(34, 211, 238, 0.35),
                0 6px 12px rgba(0, 0, 0, 0.25);
}

:global(.mud-theme-dark) .fab-button[b-r4izlzvbc1]::before {
    border-color: rgba(34, 211, 238, 0.3);
}

:global(.mud-theme-dark) .fab-button[b-r4izlzvbc1]::after {
    background: radial-gradient(circle, rgba(34, 211, 238, 0.25) 0%, transparent 70%);
}

:global(.mud-theme-dark) .fab-container:hover .fab-button[b-r4izlzvbc1] {
    box-shadow: 0 12px 36px rgba(34, 211, 238, 0.4),
                0 8px 16px rgba(0, 0, 0, 0.3);
}

:global(.mud-theme-dark) .fab-container:hover .fab-button[b-r4izlzvbc1]::before {
    border-color: rgba(34, 211, 238, 0.4);
}

:global(.mud-theme-dark) .fab-container:active .fab-button[b-r4izlzvbc1] {
    box-shadow: 0 4px 16px rgba(34, 211, 238, 0.3),
                0 2px 4px rgba(0, 0, 0, 0.2);
}

/* ==========================================
   REDUCED MOTION
   ========================================== */

/* ==========================================
   LANDSCAPE PHONE — left side rail
   ========================================== */

@media (max-height: 500px) and (orientation: landscape) {
    .bottom-nav[b-r4izlzvbc1] {
        bottom: auto;
        right: auto;
        top: 0;
        left: 0;
        width: 70px;
        height: 100%;
        border-top: none;
        border-right: 1px solid rgba(226, 232, 240, 0.6);
        padding-bottom: 0;
        padding-left: env(safe-area-inset-left, 0);
        box-shadow: 4px 0 20px rgba(0, 0, 0, 0.08),
                    1px 0 4px rgba(0, 0, 0, 0.04);
    }

    .bottom-nav-content[b-r4izlzvbc1] {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100%;
        max-width: none;
        padding: 8px 0;
        gap: 4px;
    }

    .nav-item[b-r4izlzvbc1] {
        flex: 0 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 12px 0;
        min-width: 0;
        width: 100%;
    }

    .nav-label[b-r4izlzvbc1] {
        font-size: 9px;
        margin-top: 2px;
    }

    .nav-item.active:not(.fab-container)[b-r4izlzvbc1]::after {
        bottom: auto;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 3px;
        height: 24px;
    }

    .fab-container[b-r4izlzvbc1] {
        height: auto;
        margin-top: 0;
        padding: 0;
    }

    .fab-button[b-r4izlzvbc1] {
        width: 48px;
        height: 48px;
        box-shadow: 0 4px 12px rgba(6, 182, 212, 0.3),
                    0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .fab-button[b-r4izlzvbc1]::before {
        inset: -3px;
    }

    .fab-button[b-r4izlzvbc1]::after {
        inset: -8px;
    }

    .fab-button[b-r4izlzvbc1]  .mud-icon-root {
        font-size: 1.4rem !important;
    }
}

:global(.mud-theme-dark) .bottom-nav[b-r4izlzvbc1] {
    /* re-declare so landscape dark mode picks it up too */
}

@media (max-height: 500px) and (orientation: landscape) {
    :global(.mud-theme-dark) .bottom-nav[b-r4izlzvbc1] {
        border-right-color: rgba(51, 65, 85, 0.5);
        border-top: none;
        box-shadow: 4px 0 20px rgba(0, 0, 0, 0.3),
                    1px 0 4px rgba(0, 0, 0, 0.2);
    }
}

@media (prefers-reduced-motion: reduce) {
    .fab-button[b-r4izlzvbc1] {
        animation: none;
    }

    .nav-item[b-r4izlzvbc1],
    .fab-button[b-r4izlzvbc1] {
        transition: none;
    }
}
/* /Components/Layout/LegalEntities.razor.rz.scp.css */
.entity-list[b-jvbjovrfev] {
    display: flex;
    flex-direction: column;
    padding: 0 8px;
}

.entity-item[b-jvbjovrfev] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 8px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s ease;
    border-bottom: 1px solid #f1f5f9;
}

.entity-item:last-child[b-jvbjovrfev] {
    border-bottom: none;
}

.entity-item:hover[b-jvbjovrfev] {
    background: rgba(0, 0, 0, 0.03);
}

.entity-item.selected[b-jvbjovrfev] {
    background: rgba(6, 182, 212, 0.06);
}

.entity-icon[b-jvbjovrfev] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: #94a3b8;
}

[b-jvbjovrfev] .entity-icon-active {
    color: #06b6d4;
}

.entity-info[b-jvbjovrfev] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.entity-name[b-jvbjovrfev] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #1e293b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.entity-role[b-jvbjovrfev] {
    font-size: 0.7rem;
    color: #94a3b8;
}

.entity-edit[b-jvbjovrfev] {
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.15s ease;
}

.entity-item:hover .entity-edit[b-jvbjovrfev] {
    opacity: 1;
}

/* Dark mode */
:global(.mud-theme-dark) .entity-item[b-jvbjovrfev] {
    border-bottom-color: #1e293b;
}

:global(.mud-theme-dark) .entity-item:hover[b-jvbjovrfev] {
    background: rgba(255, 255, 255, 0.03);
}

:global(.mud-theme-dark) .entity-icon[b-jvbjovrfev] {
    color: #64748b;
}

:global(.mud-theme-dark) .entity-name[b-jvbjovrfev] {
    color: #f1f5f9;
}

:global(.mud-theme-dark) .entity-role[b-jvbjovrfev] {
    color: #64748b;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ==========================================
   PAGE LAYOUT - Noteless-inspired clean design
   ========================================== */

.page[b-hmj3l0vq94] {
    position: relative;
    display: flex;
    height: 100vh;
    height: 100dvh;
    background: linear-gradient(135deg,
        #EFF6FF 0%,
        #F5F3FF 35%,
        #FDF2F8 70%,
        #ECFEFF 100%);
    background-color: #F8FAFC;
    overflow: hidden;
}

/* Desktop: horizontal layout with nav rail on left */
.desktop-layout[b-hmj3l0vq94] {
    flex-direction: row;
}

/* Mobile: vertical layout with header on top */
.mobile-layout[b-hmj3l0vq94] {
    flex-direction: column;
    /* Reserve space for the fixed bottom nav so the scroll container ends above it */
    padding-bottom: var(--bottom-page-clearance, 82px);
}

/* ==========================================
   MAIN CONTENT
   ========================================== */

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

.content[b-hmj3l0vq94] {
    flex: 1;
    overflow-y: auto;
    padding: 32px;
    padding-left: 80px;
    padding-right: 80px;
    min-width: 0;
    box-sizing: border-box;
    /* -webkit-overflow-scrolling: touch removed — it creates an isolated GPU compositor layer
       on iOS Safari that traps position:fixed children, preventing them from layering above
       elements outside the scroll container (e.g. BottomNavigation). Momentum scrolling is
       the default on iOS 13+ so this property is no longer needed. */
}

/* Mobile content padding */
.mobile-content[b-hmj3l0vq94] {
    padding: 16px !important;
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* ==========================================
   RESPONSIVE PADDING
   ========================================== */

@media (max-width: 599px) {
    .content[b-hmj3l0vq94] {
        padding: 16px !important;
    }

    .page[b-hmj3l0vq94] {
        background: linear-gradient(135deg,
            #F5F9FF 0%,
            #FAF8FF 35%,
            #FEF7FB 70%,
            #F3FDFF 100%);
        background-color: #FBFCFE;
    }
}

@media (min-width: 600px) and (max-width: 959px) {
    .content[b-hmj3l0vq94] {
        padding: 24px;
        padding-left: 40px;
        padding-right: 40px;
    }
}

@media (min-width: 960px) {
    .content[b-hmj3l0vq94] {
        padding: 32px;
        padding-left: 80px;
        padding-right: 80px;
    }
}

@media (min-width: 1600px) {
    .content[b-hmj3l0vq94] {
        padding: 40px;
        padding-left: 100px;
        padding-right: 100px;
    }
}

/* ==========================================
   BLAZOR ERROR UI
   ========================================== */

#blazor-error-ui[b-hmj3l0vq94] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-hmj3l0vq94] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

/* ==========================================
   MUDBLAZOR OVERRIDES
   ========================================== */

.mud-main-content[b-hmj3l0vq94] {
    padding-top: 0px;
}

/* Landscape phone — nav rail on left instead of bottom */
@media (max-height: 500px) and (orientation: landscape) {
    .mobile-layout[b-hmj3l0vq94] {
        padding-bottom: 0;
        padding-left: 70px;
    }

    .mobile-content[b-hmj3l0vq94] {
        margin-top: 0 !important;
        padding-top: 8px !important;
    }
}

/* Hide old drawer on mobile (Xs + Sm breakpoints) */
@media (max-width: 959.95px) {
    [b-hmj3l0vq94] .mud-drawer-container,
    [b-hmj3l0vq94] .mud-drawer {
        display: none !important;
        visibility: hidden !important;
    }
}

/* ==========================================
   DARK MODE
   ========================================== */

:global(.mud-theme-dark) .page[b-hmj3l0vq94] {
    background: #0F172A;
}
/* /Components/Layout/MenuContent.razor.rz.scp.css */
/* Fix persistent drawer to push content instead of overlay */
[b-hdh5sfwkfg] .mud-drawer-open-persistent-left > main {
    margin-left: 260px !important;
    transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* When drawer is closed, no margin */
[b-hdh5sfwkfg] .mud-drawer-close-persistent-left > main {
    margin-left: 0 !important;
    transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Ensure smooth transitions */
[b-hdh5sfwkfg] .mud-drawer {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Make sure main element can shrink */
[b-hdh5sfwkfg] .mud-drawer-open-persistent-left > main,
[b-hdh5sfwkfg] .mud-drawer-close-persistent-left > main {
    min-width: 0;
    width: auto;
    max-width: 100%;
}

/* Flexbox layout for drawer - make it a flex container */
[b-hdh5sfwkfg] .mud-drawer {
    display: flex !important;
    flex-direction: column !important;
    height: 100vh !important;
    max-height: calc(100vh - 64px) !important;
}

/* Drawer header should not shrink */
[b-hdh5sfwkfg] .mud-drawer .mud-drawer-header {
    flex-shrink: 0 !important;
}

/* Drawer content should fill remaining space and be a flex container */
[b-hdh5sfwkfg] .mud-drawer .mud-drawer-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    min-height: 0 !important;
    overflow: visible !important;
}

/* Session item with delete button */
.session-item-wrapper[b-hdh5sfwkfg] {
    position: relative;
    display: flex;
    align-items: center;
    border-radius: 12px; /* Updated for landing page style */
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

.session-item-wrapper:hover[b-hdh5sfwkfg] {
    background-color: rgba(6, 182, 212, 0.06); /* Primary color at 6% */
}

.session-item-wrapper.selected[b-hdh5sfwkfg] {
    background-color: rgba(6, 182, 212, 0.10); /* Primary color at 10% */
    box-shadow: inset 3px 0 0 0 #06b6d4; /* Left border indicator */
}

.session-item-wrapper.selected:hover[b-hdh5sfwkfg] {
    background-color: rgba(6, 182, 212, 0.14); /* Primary color at 14% */
}

/* Disable hover effect on the button itself since we're styling the wrapper */
.session-item-wrapper[b-hdh5sfwkfg]  .mud-button:hover {
    background-color: transparent !important;
}

.session-delete-btn-wrapper[b-hdh5sfwkfg] {
    display: none;
    position: absolute;
    right: 0;
    z-index: 1;
    padding-right: 4px;
    pointer-events: none;
}

.session-delete-btn-wrapper[b-hdh5sfwkfg]  button {
    pointer-events: auto;
}

.session-item-wrapper:hover .session-delete-btn-wrapper[b-hdh5sfwkfg] {
    display: flex;
}

.sessions[b-hdh5sfwkfg] {
    margin-left: 16px;
    margin-right: 16px;
}

/* Hide drawer on mobile - prevents flash during load */
@media (max-width: 599.95px) {
    [b-hdh5sfwkfg] .mud-drawer-container,
    [b-hdh5sfwkfg] .mud-drawer {
        display: none !important;
        visibility: hidden !important;
    }
}
/* /Components/Layout/MobileHeader.razor.rz.scp.css */
.mobile-header[b-4d09bhxfzl] {
    background: transparent;
    border-bottom: none;
    flex-shrink: 0;
}

.mobile-header-content[b-4d09bhxfzl] {
    display: flex;
    align-items: center;
    padding: 12px 16px;
}

.mobile-header-logo-link[b-4d09bhxfzl] {
    display: flex;
    align-items: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
}

:global(.mud-theme-dark) .mobile-header[b-4d09bhxfzl] {
    background: transparent;
}

/* Landscape phone — hide header to maximize vertical space */
@media (max-height: 500px) and (orientation: landscape) {
    .mobile-header[b-4d09bhxfzl] {
        display: none;
    }
}
/* /Components/Layout/MobilePickerOverlay.razor.rz.scp.css */
/* ==========================================
   MOBILE PICKER OVERLAY — tinted dividers
   Rendered at layout level (sibling of BottomNavigation) so position:fixed
   escapes all overflow:hidden ancestors in the content hierarchy.

   NOTE: Do NOT use :root { } or CSS custom properties here — Blazor scoped
   CSS scopes :root to :root[b-xxxxx] which never matches, so variables would
   be undefined. All values are hardcoded using Carely design tokens directly.
   ========================================== */

/* ── Backdrop ────────────────────────────────────────────── */

.picker-overlay[b-ckld9lwv7w] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1200;
    display: flex;
    align-items: flex-end;
    animation: picker-fade-in-b-ckld9lwv7w 0.35s ease;
}

/* ── Sheet shell ─────────────────────────────────────────── */

.picker-sheet[b-ckld9lwv7w] {
    width: 100%;
    background: #FFFFFF;
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -8px 40px rgba(20, 30, 40, 0.08);
    max-height: 78vh;
    display: flex;
    flex-direction: column;
    animation: picker-slide-up-b-ckld9lwv7w 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    -webkit-font-smoothing: antialiased;
}

/* ── Grabber pill ────────────────────────────────────────── */

.sheet-grabber[b-ckld9lwv7w] {
    width: 36px;
    height: 4px;
    border-radius: 99px;
    background: #CBD5E1;
    margin: 8px auto 0;
    flex-shrink: 0;
}

/* ── Header ──────────────────────────────────────────────── */

.picker-sheet-header[b-ckld9lwv7w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px 14px;
    flex-shrink: 0;
}

.picker-sheet-title[b-ckld9lwv7w] {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #1e293b;
}

.picker-close-btn[b-ckld9lwv7w] {
    width: 32px;
    height: 32px;
    border-radius: 99px;
    border: none;
    background: transparent;
    cursor: pointer;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.12s, color 0.12s;
    -webkit-tap-highlight-color: transparent;
}

.picker-close-btn:hover[b-ckld9lwv7w] {
    background: #F1F5F9;
    color: #1e293b;
}

/* ── Scrollable body ─────────────────────────────────────── */

.picker-sheet-list[b-ckld9lwv7w] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
}

/* ── Groups ──────────────────────────────────────────────── */

.picker-group[b-ckld9lwv7w] {
    padding-bottom: 8px;
}

.picker-group-first[b-ckld9lwv7w] {
    padding-top: 6px;
}

/* ── Section labels (NOT tappable) ──────────────────────── */

.picker-group-header[b-ckld9lwv7w] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px 8px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0891b2; /* Primary Darken — teal-ink */
    pointer-events: none;
    user-select: none;
}

/* Hairline that extends to the right edge */
.picker-group-header[b-ckld9lwv7w]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #E2E8F0; /* Border light — hair */
}

/* ── Item rows ───────────────────────────────────────────── */

.picker-option[b-ckld9lwv7w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 13px 22px;
    background: transparent;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 17px;
    font-weight: 500;
    color: #1e293b;
    letter-spacing: -0.005em;
    text-align: left;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.12s;
}

.picker-option:hover[b-ckld9lwv7w],
.picker-option:focus-visible[b-ckld9lwv7w] {
    background: rgba(6, 182, 212, 0.10); /* teal-soft */
    outline: none;
}

.picker-option:active[b-ckld9lwv7w] {
    background: rgba(6, 182, 212, 0.16);
}

/* ── Chevron (idle items) ────────────────────────────────── */

.picker-chev[b-ckld9lwv7w] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: #94A3B8; /* muted — chev idle */
    transition: color 0.12s, transform 0.12s;
}

.picker-option:hover .picker-chev[b-ckld9lwv7w],
.picker-option:focus-visible .picker-chev[b-ckld9lwv7w] {
    color: #06b6d4; /* Primary — teal */
    transform: translateX(2px);
}

/* ── Check icon (selected item) ─────────────────────────── */

.picker-check[b-ckld9lwv7w] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: #06b6d4; /* Primary — teal */
}

/* ── Selected state ──────────────────────────────────────── */

.picker-option-selected[b-ckld9lwv7w] {
    background: rgba(6, 182, 212, 0.10); /* teal-soft */
    color: #0891b2; /* Primary Darken — teal-ink */
    font-weight: 600;
}

/* ── Dark mode ───────────────────────────────────────────── */

:global(.mud-theme-dark) .picker-sheet[b-ckld9lwv7w] {
    background: #1E293B;
}

:global(.mud-theme-dark) .picker-sheet-title[b-ckld9lwv7w] {
    color: #F8FAFC;
}

:global(.mud-theme-dark) .picker-option[b-ckld9lwv7w] {
    color: #F8FAFC;
}

:global(.mud-theme-dark) .picker-option-selected[b-ckld9lwv7w] {
    color: #22d3ee; /* Primary Lighten for dark mode */
}

:global(.mud-theme-dark) .picker-group-header[b-ckld9lwv7w] {
    color: #22d3ee;
}

:global(.mud-theme-dark) .picker-group-header[b-ckld9lwv7w]::after {
    background: rgba(255, 255, 255, 0.08);
}

:global(.mud-theme-dark) .picker-close-btn:hover[b-ckld9lwv7w] {
    background: rgba(255, 255, 255, 0.08);
}

:global(.mud-theme-dark) .picker-option:active[b-ckld9lwv7w] {
    background: rgba(6, 182, 212, 0.20);
}

/* ── Close-state overrides (added before DOM removal) ────── */

/* Override the open animation with the reverse so the browser
   starts the exit animation on the existing element rather than
   re-running the enter animation. animation-fill-mode:forwards
   holds the final frame until the element is removed from DOM. */
.picker-closing[b-ckld9lwv7w] {
    animation: picker-fade-out-b-ckld9lwv7w 0.18s ease forwards;
}

.picker-sheet-closing[b-ckld9lwv7w] {
    animation: picker-slide-down-b-ckld9lwv7w 0.2s ease-in forwards;
}

/* ── Animations ──────────────────────────────────────────── */

@keyframes picker-slide-up-b-ckld9lwv7w {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
}

@keyframes picker-slide-down-b-ckld9lwv7w {
    from { transform: translateY(0); }
    to   { transform: translateY(100%); }
}

@keyframes picker-fade-in-b-ckld9lwv7w {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes picker-fade-out-b-ckld9lwv7w {
    from { opacity: 1; }
    to   { opacity: 0; }
}
/* /Components/Layout/NavRail.razor.rz.scp.css */
/* ==========================================
   NAV RAIL - Noteless-style left navigation
   ========================================== */

.nav-rail[b-1099fj46ab] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 88px;
    min-width: 88px;
    height: 100%;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-right: 1px solid rgba(226, 232, 240, 0.6);
    padding: 16px 0;
    z-index: 100;
    flex-shrink: 0;
}

.nav-rail-header[b-1099fj46ab] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px 0 20px;
    background: none;
    border: none;
    cursor: pointer;
}

.nav-rail-logo[b-1099fj46ab] {
    height: 40px;
    width: auto;
}

/* ==========================================
   NAV ITEMS
   ========================================== */

.nav-rail-items[b-1099fj46ab] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: 1;
}

.nav-rail-group[b-1099fj46ab] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.nav-rail-label[b-1099fj46ab] {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    color: #64748B;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 76px;
    user-select: none;
}

.nav-rail-group-new[b-1099fj46ab] {
    margin: 6px 0;
    gap: 11px;
}

.nav-rail-label-new[b-1099fj46ab] {
    color: #0d9488;
    font-weight: 600;
}

[b-1099fj46ab] .nav-rail-new-session {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    background: linear-gradient(145deg, #06b6d4 0%, #14b8a6 100%);
    color: #FFFFFF !important;
    transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}

[b-1099fj46ab] .nav-rail-new-session:hover {
    background: linear-gradient(145deg, #0891b2 0%, #0d9488 100%);
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(6, 182, 212, 0.4);
}

[b-1099fj46ab] .nav-rail-item {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    color: #64748B;
    transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}

[b-1099fj46ab] .nav-rail-item:hover {
    background-color: rgba(6, 182, 212, 0.08);
    color: #0891b2;
}

[b-1099fj46ab] .nav-rail-item.active {
    background-color: rgba(6, 182, 212, 0.12);
    color: #06b6d4;
}


/* ==========================================
   NAV FOOTER
   ========================================== */

.nav-rail-footer[b-1099fj46ab] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(226, 232, 240, 0.6);
    width: 100%;
}

.nav-rail-avatar-button[b-1099fj46ab] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: none;
    border: 0;
    padding: 0;
    border-radius: 50%;
}

[b-1099fj46ab] .nav-rail-avatar {
    cursor: pointer;
    background: linear-gradient(145deg, #06b6d4 0%, #14b8a6 100%);
    color: #FFFFFF;
    font-weight: 600;
    font-size: 0.85rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

[b-1099fj46ab] .nav-rail-avatar:hover {
    transform: scale(1.08);
    box-shadow: 0 2px 8px rgba(6, 182, 212, 0.3);
}

/* ==========================================
   SESSIONS PANEL - Expandable side panel
   ========================================== */

.sessions-panel[b-1099fj46ab] {
    display: flex;
    flex-direction: column;
    width: 260px;
    min-width: 260px;
    height: 100%;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-right: 1px solid rgba(226, 232, 240, 0.6);
    animation: slideIn-b-1099fj46ab 0.25s cubic-bezier(0.22, 1, 0.36, 1);
    overflow: hidden;
}

@keyframes slideIn-b-1099fj46ab {
    from {
        width: 0;
        min-width: 0;
        opacity: 0;
    }
    to {
        width: 260px;
        min-width: 260px;
        opacity: 1;
    }
}

.sessions-panel-closing[b-1099fj46ab] {
    animation: slideOut-b-1099fj46ab 0.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes slideOut-b-1099fj46ab {
    from {
        width: 260px;
        min-width: 260px;
        opacity: 1;
    }
    to {
        width: 0;
        min-width: 0;
        opacity: 0;
    }
}

.sessions-panel-header[b-1099fj46ab] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 16px 12px;
    flex-shrink: 0;
}

.sessions-panel-content[b-1099fj46ab] {
    flex: 1;
    overflow-y: auto;
    padding: 0 12px 16px;
    min-height: 0;
}

/* ==========================================
   DARK MODE
   ========================================== */

:global(.mud-theme-dark) .nav-rail[b-1099fj46ab] {
    background: rgba(15, 23, 42, 0.9);
    border-right-color: rgba(51, 65, 85, 0.6);
}

:global(.mud-theme-dark)[b-1099fj46ab]  .nav-rail-item {
    color: #94A3B8;
}

:global(.mud-theme-dark)[b-1099fj46ab]  .nav-rail-item:hover {
    background-color: rgba(34, 211, 238, 0.1);
    color: #22d3ee;
}

:global(.mud-theme-dark)[b-1099fj46ab]  .nav-rail-item.active {
    background-color: rgba(34, 211, 238, 0.15);
    color: #22d3ee;
}

:global(.mud-theme-dark) .nav-rail-label[b-1099fj46ab] {
    color: #94A3B8;
}

:global(.mud-theme-dark) .nav-rail-footer[b-1099fj46ab] {
    border-top-color: rgba(51, 65, 85, 0.6);
}

:global(.mud-theme-dark) .sessions-panel[b-1099fj46ab] {
    background: rgba(15, 23, 42, 0.95);
    border-right-color: rgba(51, 65, 85, 0.6);
}
/* /Components/Layout/TopBar.razor.rz.scp.css */
/* /Components/Pages/Account/FitSelect.razor.rz.scp.css */
/* Pill-select matching design/profil.jsx LangSelect (teal accent, comfy density). */
.fit-select[b-8lzr1g5578] {
    position: relative;
    flex-shrink: 0;
    font-family: 'Plus Jakarta Sans', -apple-system, system-ui, "Segoe UI", sans-serif;
}

.fit-select-btn[b-8lzr1g5578] {
    appearance: none;
    cursor: pointer;
    font-family: inherit;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #F6F8F8;
    border: 1.5px solid rgba(15, 42, 46, 0.08);
    border-radius: 11px;
    padding: 9px 13px;
    font-size: 14px;
    font-weight: 600;
    color: #0F2A2E;
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}

.fit-select-btn:disabled[b-8lzr1g5578] {
    opacity: 0.5;
    cursor: not-allowed;
}

.fit-select-btn.open[b-8lzr1g5578] {
    background: #E7F4F1;
    border-color: #14B8C2;
    box-shadow: 0 0 0 4px rgba(20, 184, 194, 0.12);
}

.fit-select-chev[b-8lzr1g5578] {
    transition: transform 0.15s ease;
}

.fit-select-chev.up[b-8lzr1g5578] {
    transform: rotate(180deg);
}

.fit-select-backdrop[b-8lzr1g5578] {
    position: fixed;
    inset: 0;
    z-index: 30;
}

.fit-select-menu[b-8lzr1g5578] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 40;
    min-width: 168px;
    background: #fff;
    border-radius: 13px;
    padding: 5px;
    border: 1px solid rgba(15, 42, 46, 0.08);
    box-shadow: 0 16px 36px rgba(15, 42, 46, 0.16);
    animation: fit-sheet-in-b-8lzr1g5578 0.16s ease-out;
}

.fit-select-item[b-8lzr1g5578] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 11px;
    border-radius: 9px;
    cursor: pointer;
    font-size: 14.5px;
    font-weight: 500;
    color: #374151;
}

.fit-select-item.selected[b-8lzr1g5578] {
    font-weight: 700;
    color: #0F7A82;
    background: #E7F4F1;
}

@keyframes fit-sheet-in-b-8lzr1g5578 {
    from { opacity: 0; transform: translateY(6px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
/* /Components/Pages/Account/Profile.razor.rz.scp.css */
/* ==========================================
   PROFILE PAGE LAYOUT
   ========================================== */

.profile-page[b-j4weu8q8j7] {
    max-width: 600px;
    margin: 0 auto;
    padding: 12px 16px;
    animation: fade-up-b-j4weu8q8j7 var(--duration-slow) var(--ease-out-expo);
}

.profile-page.mobile[b-j4weu8q8j7] {
    padding-bottom: 0;
}

/* Profile Header */
.profile-header[b-j4weu8q8j7] {
    margin-bottom: 24px;
    animation: fade-up-b-j4weu8q8j7 var(--duration-slow) var(--ease-out-expo);
}

.profile-title[b-j4weu8q8j7] {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--color-text-primary, #1e293b);
    margin: 0 0 4px 0;
    letter-spacing: -0.02em;
}

.profile-subtitle[b-j4weu8q8j7] {
    font-size: 0.875rem;
    color: var(--color-text-tertiary, #64748b);
    margin: 0;
}

:global(.mud-theme-dark) .profile-title[b-j4weu8q8j7] {
    color: #f1f5f9;
}

:global(.mud-theme-dark) .profile-subtitle[b-j4weu8q8j7] {
    color: #94a3b8;
}

/* ==========================================
   PROFILE CARD (Avatar + Name)
   ========================================== */

.profile-card[b-j4weu8q8j7] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    margin-bottom: 24px;
    background: var(--color-surface, #ffffff);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 1rem;
    animation: fade-up-b-j4weu8q8j7 var(--duration-slow) var(--ease-out-expo);
}

.profile-card--clickable[b-j4weu8q8j7] {
    cursor: pointer;
    transition: background-color var(--duration-fast) ease,
                box-shadow var(--duration-fast) ease;
}

.profile-card--clickable:hover[b-j4weu8q8j7] {
    background-color: rgba(6, 182, 212, 0.04);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.profile-card--clickable:active[b-j4weu8q8j7] {
    background-color: rgba(6, 182, 212, 0.08);
}

.profile-card-chevron[b-j4weu8q8j7] {
    margin-left: auto;
    color: var(--color-text-tertiary, #94a3b8);
    flex-shrink: 0;
}

:global(.mud-theme-dark) .profile-card[b-j4weu8q8j7] {
    background: rgba(30, 41, 59, 0.5);
    border-color: rgba(51, 65, 85, 0.5);
}

:global(.mud-theme-dark) .profile-card--clickable:hover[b-j4weu8q8j7] {
    background-color: rgba(6, 182, 212, 0.08);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

:global(.mud-theme-dark) .profile-card-chevron[b-j4weu8q8j7] {
    color: #64748b;
}

.profile-avatar[b-j4weu8q8j7] {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(145deg, #06b6d4 0%, #14b8a6 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(6, 182, 212, 0.3);
}

.avatar-initials[b-j4weu8q8j7] {
    font-size: 1.5rem;
    font-weight: 600;
    color: white;
    text-transform: uppercase;
}

.profile-info[b-j4weu8q8j7] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.profile-name[b-j4weu8q8j7] {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--color-text-primary, #1e293b);
    margin: 0;
}

.profile-email[b-j4weu8q8j7] {
    font-size: 0.875rem;
    color: var(--color-text-tertiary, #64748b);
    margin: 0;
}

:global(.mud-theme-dark) .profile-name[b-j4weu8q8j7] {
    color: #f1f5f9;
}

:global(.mud-theme-dark) .profile-email[b-j4weu8q8j7] {
    color: #94a3b8;
}

/* Loading Container */
.loading-container[b-j4weu8q8j7] {
    display: flex;
    justify-content: center;
    padding: 48px;
}

/* ==========================================
   SETTINGS GROUPS
   ========================================== */

.settings-group[b-j4weu8q8j7] {
    background: var(--color-surface, #ffffff);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 16px;
    animation: fade-up-b-j4weu8q8j7 var(--duration-slow) var(--ease-out-expo);
    animation-fill-mode: both;
}

.settings-group:nth-child(2)[b-j4weu8q8j7] { animation-delay: 50ms; }
.settings-group:nth-child(3)[b-j4weu8q8j7] { animation-delay: 100ms; }
.settings-group:nth-child(4)[b-j4weu8q8j7] { animation-delay: 150ms; }
.settings-group:nth-child(5)[b-j4weu8q8j7] { animation-delay: 200ms; }

:global(.mud-theme-dark) .settings-group[b-j4weu8q8j7] {
    background: rgba(30, 41, 59, 0.5);
    border-color: rgba(51, 65, 85, 0.5);
}

/* Settings Group Header */
.settings-group-header[b-j4weu8q8j7] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-text-secondary, #475569);
    border-bottom: 1px solid var(--color-border, #e5e7eb);
}

:global(.mud-theme-dark) .settings-group-header[b-j4weu8q8j7] {
    color: #cbd5e1;
    border-bottom-color: rgba(51, 65, 85, 0.5);
}

/* ==========================================
   SETTINGS ICONS
   ========================================== */

.settings-icon[b-j4weu8q8j7] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    flex-shrink: 0;
}

.settings-icon--rose[b-j4weu8q8j7] {
    background: rgba(251, 207, 232, 0.6);
    color: #f43f5e;
}

.settings-icon--violet[b-j4weu8q8j7] {
    background: rgba(221, 214, 254, 0.6);
    color: #8b5cf6;
}

.settings-icon--cyan[b-j4weu8q8j7] {
    background: rgba(165, 243, 252, 0.6);
    color: #06b6d4;
}

.settings-icon--teal[b-j4weu8q8j7] {
    background: rgba(153, 246, 228, 0.6);
    color: #14b8a6;
}

/* Dark mode icon styles */
:global(.mud-theme-dark) .settings-icon--rose[b-j4weu8q8j7] {
    background: rgba(244, 63, 94, 0.2);
    color: #fb7185;
}

:global(.mud-theme-dark) .settings-icon--violet[b-j4weu8q8j7] {
    background: rgba(139, 92, 246, 0.2);
    color: #a78bfa;
}

:global(.mud-theme-dark) .settings-icon--cyan[b-j4weu8q8j7] {
    background: rgba(6, 182, 212, 0.2);
    color: #22d3ee;
}

:global(.mud-theme-dark) .settings-icon--teal[b-j4weu8q8j7] {
    background: rgba(20, 184, 166, 0.2);
    color: #2dd4bf;
}

/* ==========================================
   SETTINGS ITEMS
   ========================================== */

.settings-item[b-j4weu8q8j7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    transition: background-color var(--duration-fast) ease;
}

.settings-item:hover[b-j4weu8q8j7] {
    background-color: rgba(6, 182, 212, 0.04);
}

:global(.mud-theme-dark) .settings-item:hover[b-j4weu8q8j7] {
    background-color: rgba(6, 182, 212, 0.08);
}

.settings-item + .settings-item[b-j4weu8q8j7] {
    border-top: 1px solid var(--color-border, #e5e7eb);
}

:global(.mud-theme-dark) .settings-item + .settings-item[b-j4weu8q8j7] {
    border-top-color: rgba(51, 65, 85, 0.5);
}

.settings-item-left[b-j4weu8q8j7] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.settings-item-content[b-j4weu8q8j7] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.settings-item-label[b-j4weu8q8j7] {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--color-text-primary, #1e293b);
}

.settings-item-value[b-j4weu8q8j7] {
    font-size: 0.8125rem;
    color: var(--color-text-tertiary, #64748b);
}

:global(.mud-theme-dark) .settings-item-label[b-j4weu8q8j7] {
    color: #f1f5f9;
}

:global(.mud-theme-dark) .settings-item-value[b-j4weu8q8j7] {
    color: #94a3b8;
}

.settings-item-right[b-j4weu8q8j7] {
    display: flex;
    align-items: center;
}

/* Theme toggle switch styling */
.theme-toggle[b-j4weu8q8j7]  .mud-switch {
    margin: 0;
}

/* ==========================================
   SETTINGS FORMS
   ========================================== */

.settings-form[b-j4weu8q8j7] {
    padding: 16px;
}

/* Input fields styling */
.settings-form[b-j4weu8q8j7]  .mud-input-outlined {
    transition: all var(--duration-fast) ease;
}

.settings-form[b-j4weu8q8j7]  .mud-input-outlined:hover .mud-input-control-input-container {
    border-color: rgba(6, 182, 212, 0.3);
}

.settings-form[b-j4weu8q8j7]  .mud-input-outlined.mud-input-focused .mud-input-control-input-container {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 2px rgba(6, 182, 212, 0.12);
}

/* Primary buttons */
.settings-form[b-j4weu8q8j7]  .mud-button-filled.mud-button-primary {
    background: var(--gradient-primary) !important;
    box-shadow: var(--shadow-primary) !important;
    border-radius: var(--radius-full) !important;
    font-weight: 600;
    padding: 10px 24px !important;
    min-height: 48px;
    transition: transform var(--duration-fast) var(--spring-bounce),
                box-shadow var(--duration-normal) var(--spring-smooth) !important;
}

.settings-form[b-j4weu8q8j7]  .mud-button-filled.mud-button-primary:hover:not(:disabled) {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 12px 32px rgba(6, 182, 212, 0.45), 0 6px 12px rgba(0, 0, 0, 0.15) !important;
}

.settings-form[b-j4weu8q8j7]  .mud-button-filled.mud-button-primary:active:not(:disabled) {
    transform: scale(0.95);
    box-shadow: 0 4px 12px rgba(6, 182, 212, 0.25), 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* ==========================================
   LOGOUT BUTTON
   ========================================== */

.logout-container[b-j4weu8q8j7] {
    padding: 16px 0;
    margin-top: 8px;
}

.logout-button[b-j4weu8q8j7] {
    border-color: #dc2626 !important;
    color: #dc2626 !important;
    border-radius: var(--radius-full) !important;
    font-weight: 600;
    transition: all var(--duration-fast) var(--spring-bounce) !important;
}

.logout-button:hover[b-j4weu8q8j7] {
    background: rgba(220, 38, 38, 0.08) !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15) !important;
}

/* ==========================================
   ALERTS
   ========================================== */

[b-j4weu8q8j7] .mud-alert {
    border-radius: 8px;
    animation: fade-up-b-j4weu8q8j7 var(--duration-normal) var(--ease-out-expo);
}

/* ==========================================
   ANIMATIONS
   ========================================== */

/* ==========================================
   SETTINGS SELECT CONTROLS
   ========================================== */

.settings-item-right--select[b-j4weu8q8j7] {
    min-width: 140px;
}

.settings-select[b-j4weu8q8j7]  .mud-input-outlined {
    font-size: 0.875rem;
}

.settings-select[b-j4weu8q8j7]  .mud-select .mud-input-slot {
    padding-top: 6px;
    padding-bottom: 6px;
}

@keyframes fade-up-b-j4weu8q8j7 {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================
   MOBILE "FIT" REDESIGN
   Compact, single-screen (no vertical scroll) profile in Carely's
   design language: pastel gradient + dotted texture + soft blobs,
   rounded white cards with gradient icon-tile headers, a slim voice
   status block and an inline "Log ud · version" footer.
   Mirrors design/Profil.html (layout: fit). Mobile only — desktop
   keeps the existing white-card look above.
   ========================================== */

.profile-page.mobile[b-j4weu8q8j7] {
    padding: 8px 18px 12px;
    font-family: 'Plus Jakarta Sans', -apple-system, system-ui, "Segoe UI", sans-serif;
}

/* Compact header */
.profile-page.mobile .profile-header[b-j4weu8q8j7] {
    margin-bottom: 8px;
}

.profile-page.mobile .profile-title[b-j4weu8q8j7] {
    font-size: 1.45rem;
    font-weight: 800;
    color: #0F2A2E;
    letter-spacing: -0.5px;
}

.profile-page.mobile .profile-subtitle[b-j4weu8q8j7] {
    font-size: 0.8125rem;
    color: #6B7280;
}

/* Compact profile card */
.profile-page.mobile .profile-card[b-j4weu8q8j7] {
    gap: 13px;
    padding: 11px 14px;
    margin-bottom: 10px;
    border-radius: 16px;
    border: 1px solid rgba(15, 42, 46, 0.06);
    box-shadow: 0 2px 8px rgba(15, 42, 46, 0.05);
    background: #fff;
}

.profile-page.mobile .profile-avatar[b-j4weu8q8j7] {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, #14B8C2, #0F7A82);
    box-shadow: 0 5px 13px rgba(20, 184, 194, 0.30);
}

.profile-page.mobile .avatar-initials[b-j4weu8q8j7] {
    font-size: 1rem;
}

.profile-page.mobile .profile-name[b-j4weu8q8j7] {
    font-size: 1rem;
    font-weight: 800;
    color: #0F2A2E;
}

.profile-page.mobile .profile-email[b-j4weu8q8j7] {
    font-size: 0.8125rem;
}

.profile-page.mobile .profile-card-chevron[b-j4weu8q8j7] {
    color: #C2C9CB;
}

/* Compact cards (FitCard) */
.profile-page.mobile .settings-group[b-j4weu8q8j7] {
    margin-bottom: 10px;
    border-radius: 16px;
    border: 1px solid rgba(15, 42, 46, 0.06);
    box-shadow: 0 2px 8px rgba(15, 42, 46, 0.04);
    background: #fff;
    /* allow the FitSelect dropdown to float outside the card */
    overflow: visible;
    /* No entrance transform: a lingering transform would scope the FitSelect's
       fixed click-outside backdrop to the card instead of the viewport. */
    animation: none;
}

.profile-page.mobile .settings-group-header[b-j4weu8q8j7] {
    gap: 10px;
    padding: 9px 15px;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #0F2A2E;
    border-bottom-color: rgba(15, 42, 46, 0.06);
}

/* Gradient icon-tile in section headers (white icon on teal gradient). */
.profile-page.mobile .settings-group-header .settings-icon[b-j4weu8q8j7] {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: linear-gradient(135deg, #14B8C2, #0F7A82);
    color: #fff;
    box-shadow: 0 4px 10px rgba(20, 184, 194, 0.24);
}

.profile-page.mobile .settings-item[b-j4weu8q8j7] {
    padding: 9px 15px;
}

.profile-page.mobile .settings-item-label[b-j4weu8q8j7] {
    font-size: 0.9rem;
}

/* ── Voice (Talergenkendelse) status block ───────────────────────── */
.profile-page.mobile .voice-status[b-j4weu8q8j7] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 15px;
    border-bottom: 1px solid rgba(15, 42, 46, 0.07);
}

.profile-page.mobile .voice-status-icon[b-j4weu8q8j7] {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 42, 46, 0.05);
    color: #6B7280;
}

.profile-page.mobile .voice-status-icon.active[b-j4weu8q8j7] {
    background: rgba(72, 187, 120, 0.14);
    color: #1F6B49;
}

.profile-page.mobile .voice-status-text[b-j4weu8q8j7] {
    flex: 1;
    min-width: 0;
}

.profile-page.mobile .voice-status-label[b-j4weu8q8j7] {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: #0F2A2E;
}

.profile-page.mobile .voice-status-sub[b-j4weu8q8j7] {
    display: block;
    font-size: 0.75rem;
    color: #7A8689;
    margin-top: 1px;
    line-height: 1.35;
}

.profile-page.mobile .voice-pill[b-j4weu8q8j7] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(72, 187, 120, 0.14);
    color: #1F6B49;
    font-size: 0.719rem;
    font-weight: 700;
}

.profile-page.mobile .voice-pill-dot[b-j4weu8q8j7] {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #34A853;
}

.profile-page.mobile .voice-action[b-j4weu8q8j7] {
    appearance: none;
    cursor: pointer;
    font-family: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    box-sizing: border-box;
    width: calc(100% - 30px);
    margin: 9px 15px 8px;
    padding: 13px 16px;
    border-radius: 13px;
    border: 1.5px solid #14B8C2;
    color: #0F7A82;
    font-size: 0.906rem;
    font-weight: 700;
    background: #E7F4F1;
    transition: background var(--duration-fast) ease;
}

.profile-page.mobile .voice-action:hover[b-j4weu8q8j7] {
    background: #dcefe9;
}

/* ── Slim inline "Log ud · version" footer ───────────────────────── */
.profile-page.mobile .profile-footer[b-j4weu8q8j7] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding-top: 6px;
}

.profile-page.mobile .footer-logout[b-j4weu8q8j7] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #B73B3B;
    background: transparent;
    border: none;
    cursor: pointer;
    font-family: inherit;
}

.profile-page.mobile .footer-dot[b-j4weu8q8j7] {
    width: 3px;
    height: 3px;
    border-radius: 999px;
    background: #C4CDCF;
    flex-shrink: 0;
}

.profile-page.mobile .footer-version[b-j4weu8q8j7] {
    font-size: 0.75rem;
    color: #A4AEB0;
}

/* ── Language selects styled toward the design's pill control ─────
   (kept as MudSelect per the MudBlazor mandate; ::deep reaches the
   component internals that scoped CSS can't.) */
.profile-page.mobile .settings-item-right--select[b-j4weu8q8j7] {
    min-width: 132px;
}

.profile-page.mobile .settings-select[b-j4weu8q8j7]  .mud-input-slot {
    background: #F6F8F8;
    border-radius: 11px;
    font-size: 14px;
    font-weight: 600;
    color: #0F2A2E;
    min-height: 0;
    padding-top: 4px;
    padding-bottom: 4px;
}

.profile-page.mobile .settings-select[b-j4weu8q8j7]  .mud-input-outlined-border {
    border-width: 1.5px;
    border-color: rgba(15, 42, 46, 0.08);
    border-radius: 11px;
}

.profile-page.mobile .settings-select[b-j4weu8q8j7]  .mud-select-input {
    font-size: 14px;
    font-weight: 600;
    color: #0F2A2E;
}

/* ── iOS-style toggle (MudBlazor-free) mirroring design Toggle ──── */
.profile-page.mobile .fit-toggle[b-j4weu8q8j7] {
    appearance: none;
    border: none;
    cursor: pointer;
    flex-shrink: 0;
    padding: 0;
    width: 46px;
    height: 28px;
    border-radius: 999px;
    position: relative;
    background: rgba(15, 42, 46, 0.16);
    box-shadow: inset 0 0 0 1px rgba(15, 42, 46, 0.04);
    transition: background 0.22s ease;
}

.profile-page.mobile .fit-toggle.on[b-j4weu8q8j7] {
    background: #14B8C2;
    box-shadow: inset 0 0 0 1px #14B8C2;
}

.profile-page.mobile .fit-toggle-knob[b-j4weu8q8j7] {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
    transform: translateX(0);
    transition: transform 0.22s cubic-bezier(0.3, 0.7, 0.4, 1);
}

.profile-page.mobile .fit-toggle.on .fit-toggle-knob[b-j4weu8q8j7] {
    transform: translateX(18px);
}
/* /Components/Pages/Account/ProfilePersonal.razor.rz.scp.css */
.profile-personal-page[b-ntl21cr3hn] {
    max-width: 600px;
    margin: 0 auto;
    padding: 24px 16px;
    animation: fade-up-b-ntl21cr3hn var(--duration-slow) var(--ease-out-expo);
}

.profile-personal-page.mobile[b-ntl21cr3hn] {
    padding-bottom: calc(var(--bottom-page-clearance) + 16px);
}

.profile-personal-header[b-ntl21cr3hn] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    animation: fade-up-b-ntl21cr3hn var(--duration-slow) var(--ease-out-expo);
}

.profile-personal-title[b-ntl21cr3hn] {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--color-text-primary, #1e293b);
    margin: 0 0 4px 0;
    letter-spacing: -0.02em;
}

.profile-personal-subtitle[b-ntl21cr3hn] {
    font-size: 0.875rem;
    color: var(--color-text-tertiary, #64748b);
    margin: 0;
}

:global(.mud-theme-dark) .profile-personal-title[b-ntl21cr3hn] {
    color: #f1f5f9;
}

:global(.mud-theme-dark) .profile-personal-subtitle[b-ntl21cr3hn] {
    color: #94a3b8;
}

.back-button[b-ntl21cr3hn] {
    color: var(--color-text-secondary, #475569) !important;
    flex-shrink: 0;
}

:global(.mud-theme-dark) .back-button[b-ntl21cr3hn] {
    color: #cbd5e1 !important;
}

.loading-container[b-ntl21cr3hn] {
    display: flex;
    justify-content: center;
    padding: 48px;
}

.settings-group[b-ntl21cr3hn] {
    background: var(--color-surface, #ffffff);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 16px;
    animation: fade-up-b-ntl21cr3hn var(--duration-slow) var(--ease-out-expo);
    animation-fill-mode: both;
}

.settings-group:nth-child(2)[b-ntl21cr3hn] { animation-delay: 50ms; }
.settings-group:nth-child(3)[b-ntl21cr3hn] { animation-delay: 100ms; }

:global(.mud-theme-dark) .settings-group[b-ntl21cr3hn] {
    background: rgba(30, 41, 59, 0.5);
    border-color: rgba(51, 65, 85, 0.5);
}

.settings-group-header[b-ntl21cr3hn] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-text-secondary, #475569);
    border-bottom: 1px solid var(--color-border, #e5e7eb);
}

:global(.mud-theme-dark) .settings-group-header[b-ntl21cr3hn] {
    color: #cbd5e1;
    border-bottom-color: rgba(51, 65, 85, 0.5);
}

.settings-icon[b-ntl21cr3hn] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    flex-shrink: 0;
}

.settings-icon--cyan[b-ntl21cr3hn] {
    background: rgba(165, 243, 252, 0.6);
    color: #06b6d4;
}

.settings-icon--rose[b-ntl21cr3hn] {
    background: rgba(251, 207, 232, 0.6);
    color: #f43f5e;
}

:global(.mud-theme-dark) .settings-icon--cyan[b-ntl21cr3hn] {
    background: rgba(6, 182, 212, 0.2);
    color: #22d3ee;
}

:global(.mud-theme-dark) .settings-icon--rose[b-ntl21cr3hn] {
    background: rgba(244, 63, 94, 0.2);
    color: #fb7185;
}

.settings-form[b-ntl21cr3hn] {
    padding: 16px;
}

.settings-form[b-ntl21cr3hn]  .mud-input-outlined {
    transition: all var(--duration-fast) ease;
}

.settings-form[b-ntl21cr3hn]  .mud-input-outlined:hover .mud-input-control-input-container {
    border-color: rgba(6, 182, 212, 0.3);
}

.settings-form[b-ntl21cr3hn]  .mud-input-outlined.mud-input-focused .mud-input-control-input-container {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 2px rgba(6, 182, 212, 0.12);
}

.settings-form[b-ntl21cr3hn]  .mud-button-filled.mud-button-primary {
    background: var(--gradient-primary) !important;
    box-shadow: var(--shadow-primary) !important;
    border-radius: var(--radius-full) !important;
    font-weight: 600;
    padding: 10px 24px !important;
    min-height: 48px;
    transition: transform var(--duration-fast) var(--spring-bounce),
                box-shadow var(--duration-normal) var(--spring-smooth) !important;
}

.settings-form[b-ntl21cr3hn]  .mud-button-filled.mud-button-primary:hover:not(:disabled) {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 12px 32px rgba(6, 182, 212, 0.45), 0 6px 12px rgba(0, 0, 0, 0.15) !important;
}

.settings-form[b-ntl21cr3hn]  .mud-button-filled.mud-button-primary:active:not(:disabled) {
    transform: scale(0.95);
    box-shadow: 0 4px 12px rgba(6, 182, 212, 0.25), 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

[b-ntl21cr3hn] .mud-alert {
    border-radius: 8px;
    animation: fade-up-b-ntl21cr3hn var(--duration-normal) var(--ease-out-expo);
}

@keyframes fade-up-b-ntl21cr3hn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* /Components/Pages/Admin/AiCosts.razor.rz.scp.css */
/* Ensure MudTable uses flexbox to push pager to bottom */
[b-l1um8usi26] .mud-table {
    display: flex;
    flex-direction: column;
}

[b-l1um8usi26] .mud-table .mud-table-container {
    flex-grow: 1;
}

[b-l1um8usi26] .mud-table .mud-table-pagination {
    margin-top: auto;
}

.kpi-cards-row[b-l1um8usi26] {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.provider-split-bar[b-l1um8usi26] {
    display: flex;
    width: 100%;
    height: 38px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--mud-palette-background-grey);
}

.provider-split-segment[b-l1um8usi26] {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
}

.provider-split-segment.speechmatics[b-l1um8usi26] {
    background: #2196F3;
}

.provider-split-segment.azure-openai[b-l1um8usi26] {
    background: #4CAF50;
}

@media (max-width: 1600px) {
    .kpi-cards-row[b-l1um8usi26] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 960px) {
    .kpi-cards-row[b-l1um8usi26] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .kpi-cards-row[b-l1um8usi26] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Admin/BuildingBlocks/BuildingBlockDialog.razor.rz.scp.css */
.building-block-grid[b-jnoc049ewn] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 4fr);
    gap: 24px;
    align-items: stretch;
    min-height: 80vh;
}

.building-block-sidebar[b-jnoc049ewn] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow-y: auto;
    max-height: 85vh;
    padding-right: 4px;
}

.building-block-editor[b-jnoc049ewn] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
}

.building-block-editor-header[b-jnoc049ewn] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 8px;
}

@media (max-width: 959.95px) {
    .building-block-grid[b-jnoc049ewn] {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .building-block-sidebar[b-jnoc049ewn] {
        overflow-y: visible;
        max-height: none;
    }
}
/* /Components/Pages/Admin/LegalEntities/LegalEntityDialog.razor.rz.scp.css */
.legal-entity-dialog[b-8mrsbdx4rl]  .mud-dialog-content {
    padding: 0;
    background-color: var(--mud-palette-background-grey);
}

.le-page[b-8mrsbdx4rl] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    padding: 24px;
    max-height: 75vh;
    overflow-y: auto;
}

@media (max-width: 960px) {
    .le-page[b-8mrsbdx4rl] {
        grid-template-columns: 1fr;
    }
}

.le-card.le-card-wide[b-8mrsbdx4rl] {
    grid-column: 1 / -1;
}

.le-card[b-8mrsbdx4rl] {
    background-color: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-divider);
    border-radius: 12px;
    padding: 24px 28px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.le-card-header[b-8mrsbdx4rl] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 20px;
}

.le-card-icon[b-8mrsbdx4rl] {
    color: var(--mud-palette-primary);
    margin-top: 2px;
    flex-shrink: 0;
}

.le-card-title[b-8mrsbdx4rl] {
    font-weight: 600;
    line-height: 1.3;
}

.le-card-caption[b-8mrsbdx4rl] {
    color: var(--mud-palette-text-secondary);
    max-width: 720px;
    margin-top: 2px;
}
/* /Components/Pages/Admin/ModelComparison/Index.razor.rz.scp.css */
.result-paper[b-qg7qwrdrpn] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.result-content[b-qg7qwrdrpn] {
    max-height: 600px;
    overflow-y: auto;
    padding: 12px 16px;
    background-color: var(--mud-palette-background-gray);
    border-radius: 4px;
}

[b-qg7qwrdrpn] .markdown-body h1,
[b-qg7qwrdrpn] .markdown-body h2,
[b-qg7qwrdrpn] .markdown-body h3,
[b-qg7qwrdrpn] .markdown-body h4 {
    margin-top: 0.8em;
    margin-bottom: 0.4em;
}

[b-qg7qwrdrpn] .markdown-body h1 { font-size: 1.4em; font-weight: 700; }
[b-qg7qwrdrpn] .markdown-body h2 { font-size: 1.2em; font-weight: 600; }
[b-qg7qwrdrpn] .markdown-body h3 { font-size: 1.1em; font-weight: 600; }

[b-qg7qwrdrpn] .markdown-body p {
    margin-bottom: 0.5em;
    line-height: 1.6;
}

[b-qg7qwrdrpn] .markdown-body ul,
[b-qg7qwrdrpn] .markdown-body ol {
    padding-left: 1.5em;
    margin-bottom: 0.5em;
}

[b-qg7qwrdrpn] .markdown-body li {
    margin-bottom: 0.2em;
}

[b-qg7qwrdrpn] .markdown-body strong {
    font-weight: 700;
}

[b-qg7qwrdrpn] .markdown-body em {
    font-style: italic;
}

[b-qg7qwrdrpn] .markdown-body hr {
    margin: 0.8em 0;
    border: none;
    border-top: 1px solid var(--mud-palette-lines-default);
}
/* /Components/Pages/Admin/Prompts/PromptDialog.razor.rz.scp.css */
.blame-grid[b-kdtsswzqzk] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr) auto;
}

.blame-row[b-kdtsswzqzk] {
    display: contents;
}

.blame-gutter[b-kdtsswzqzk] {
    padding: 8px 10px;
    border-right: 1px solid var(--mud-palette-table-lines);
    border-bottom: 1px solid var(--mud-palette-table-lines);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.blame-row:last-child > .blame-gutter[b-kdtsswzqzk],
.blame-row:last-child > .blame-content[b-kdtsswzqzk],
.blame-row:last-child > .blame-actions[b-kdtsswzqzk] {
    border-bottom: none;
}

.blame-label[b-kdtsswzqzk] {
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

.blame-content[b-kdtsswzqzk] {
    padding: 10px 14px;
    border-bottom: 1px solid var(--mud-palette-table-lines);
    white-space: pre-wrap;
    font-family: monospace;
    font-size: 0.8rem;
    line-height: 1.5;
    min-height: 2em;
    position: relative;
    overflow: hidden;
    transition: max-height 0.2s ease;
}

.blame-row.is-collapsed > .blame-content[b-kdtsswzqzk] {
    max-height: calc(4 * 1.5em + 44px);
}

.blame-row.is-collapsed > .blame-content[b-kdtsswzqzk]::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 24px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.85) 100%);
    pointer-events: none;
}

.blame-clickable[b-kdtsswzqzk] {
    cursor: pointer;
    user-select: none;
}

.blame-chevron[b-kdtsswzqzk] {
    margin-right: 4px;
    vertical-align: middle;
    opacity: 0.7;
}

.blame-gutter.blame-clickable[b-kdtsswzqzk] {
    flex-direction: row;
    align-items: center;
}

.blame-label-stack[b-kdtsswzqzk] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
}

[b-kdtsswzqzk] .blame-type-badge {
    height: 20px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 0;
}

.blame-actions[b-kdtsswzqzk] {
    padding: 4px 2px;
    border-left: 1px solid var(--mud-palette-table-lines);
    border-bottom: 1px solid var(--mud-palette-table-lines);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
}

.blame-placeholder[b-kdtsswzqzk] {
    font-style: italic;
    opacity: 0.7;
    font-family: inherit;
}

.blame-content-placeholder[b-kdtsswzqzk] {
    font-family: inherit;
    display: flex;
    align-items: center;
}
/* /Components/Pages/History.razor.rz.scp.css */
/* ==========================================
   HISTORY PAGE LAYOUT
   ========================================== */

.history-page[b-sh1xfj0miw] {
    display: flex;
    flex-direction: column;
    max-width: 600px;
    margin: 0 auto;
    padding: 4px 0;
    min-height: 100%;
}

.history-page.mobile[b-sh1xfj0miw] {
    padding-bottom: 0;
}

/* ==========================================
   LOADING & EMPTY STATES
   ========================================== */

.loading-container[b-sh1xfj0miw] {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 48px;
}

.empty-state[b-sh1xfj0miw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 64px 24px;
    text-align: center;
}

.empty-icon[b-sh1xfj0miw] {
    color: #94a3b8;
    margin-bottom: 12px;
}

.empty-text[b-sh1xfj0miw] {
    font-size: 0.9375rem;
    color: #64748b;
    margin: 0;
}

/* ==========================================
   SESSIONS LIST
   ========================================== */

.sessions-list[b-sh1xfj0miw] {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.session-group[b-sh1xfj0miw] {
    margin-bottom: 4px;
}

.session-group-header[b-sh1xfj0miw] {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #475569;
    padding: 6px 4px 6px;
    margin: 0;
}

/* ==========================================
   SESSION ITEM - Single line with icons
   ========================================== */

.session-item[b-sh1xfj0miw] {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 4px;
    background: transparent;
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.15s ease;
}

.session-item:last-child[b-sh1xfj0miw] {
    border-bottom: none;
}

.session-item:hover[b-sh1xfj0miw] {
    background: rgba(0, 0, 0, 0.02);
}

.session-item.selected[b-sh1xfj0miw] {
    background: rgba(6, 182, 212, 0.06);
}

.session-item-button[b-sh1xfj0miw] {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    padding: 18px 0;
    gap: 12px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
}

.session-item-button:active[b-sh1xfj0miw] {
    background: rgba(0, 0, 0, 0.04);
}

/* Three-dot menu */
.session-menu[b-sh1xfj0miw] {
    flex-shrink: 0;
}

.session-menu[b-sh1xfj0miw]  .mud-icon-button {
    color: #94a3b8;
    padding: 4px;
}

.session-menu[b-sh1xfj0miw]  .mud-icon-button:hover {
    color: #64748b;
}

[b-sh1xfj0miw] .delete-item {
    color: #ef4444;
}

[b-sh1xfj0miw] .delete-item .mud-icon-root {
    color: #ef4444;
}

/* Left icon */
.session-icon[b-sh1xfj0miw] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #94a3b8;
}

/* Title - single line, takes remaining space */
.session-title[b-sh1xfj0miw] {
    flex: 1;
    min-width: 0;
    font-size: 1.0625rem;
    font-weight: 500;
    color: #1e293b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.session-time[b-sh1xfj0miw] {
    font-weight: 400;
    color: #64748b;
}

.session-name[b-sh1xfj0miw] {
    font-weight: 500;
    color: #1e293b;
}

.session-interaction-type[b-sh1xfj0miw] {
    font-weight: 400;
    color: #64748b;
}

/* Right status icon */
.session-status[b-sh1xfj0miw] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.session-status[b-sh1xfj0miw]  .status-done {
    color: #06b6d4;
}

.session-status[b-sh1xfj0miw]  .status-draft {
    color: #f59e0b;
}

.session-status[b-sh1xfj0miw]  .status-empty {
    color: #e2e8f0;
}

/* ==========================================
   DARK MODE
   ========================================== */

:global(.mud-theme-dark) .session-group-header[b-sh1xfj0miw] {
    color: #64748b;
}

:global(.mud-theme-dark) .session-item[b-sh1xfj0miw] {
    border-bottom-color: #1e293b;
}

:global(.mud-theme-dark) .session-item:hover[b-sh1xfj0miw] {
    background: rgba(255, 255, 255, 0.03);
}

:global(.mud-theme-dark) .session-menu[b-sh1xfj0miw]  .mud-icon-button {
    color: #64748b;
}

:global(.mud-theme-dark) .session-menu[b-sh1xfj0miw]  .mud-icon-button:hover {
    color: #94a3b8;
}

:global(.mud-theme-dark) .session-icon[b-sh1xfj0miw] {
    color: #64748b;
}

:global(.mud-theme-dark) .session-title[b-sh1xfj0miw] {
    color: #f1f5f9;
}

:global(.mud-theme-dark) .session-time[b-sh1xfj0miw] {
    color: #94a3b8;
}

:global(.mud-theme-dark) .session-name[b-sh1xfj0miw] {
    color: #f1f5f9;
}

:global(.mud-theme-dark) .session-interaction-type[b-sh1xfj0miw] {
    color: #94a3b8;
}

:global(.mud-theme-dark) .session-status[b-sh1xfj0miw]  .status-empty {
    color: #334155;
}

:global(.mud-theme-dark) .session-status[b-sh1xfj0miw]  .status-done {
    color: #22d3ee;
}

/* /Components/Pages/Home.razor.rz.scp.css */
/* ==========================================
   HOME PAGE - Modern landing design
   ========================================== */

/* ==========================================
   DESKTOP LANDING
   ========================================== */

.desktop-landing[b-3whldj83la] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: calc(100vh - 64px);
    padding: 0 32px;
}

/* Hero section */
.desktop-hero[b-3whldj83la] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding-top: 12vh;
    padding-bottom: 48px;
    animation: heroEnter-b-3whldj83la 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-greeting[b-3whldj83la] {
    font-size: 2.75rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.15;
    text-align: center;
    margin: 0;
}

.hero-subtitle[b-3whldj83la] {
    font-size: 1.1rem;
    font-weight: 400;
    color: #64748b;
    margin: 0;
    text-align: center;
    max-width: 640px;
    line-height: 1.6;
}

.hero-no-entity[b-3whldj83la] {
    max-width: 400px;
}

/* CTA button styling */
.desktop-hero[b-3whldj83la]  .mud-button-filled {
    position: relative;
    text-transform: none !important;
}

.desktop-hero[b-3whldj83la]  .mud-button-filled:hover {
    box-shadow: 0 8px 32px rgba(6, 182, 212, 0.5) !important;
    transform: translateY(-2px) !important;
}

.desktop-hero[b-3whldj83la]  .mud-button-filled:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 12px rgba(6, 182, 212, 0.3) !important;
}

/* Sessions section */
.desktop-sessions[b-3whldj83la] {
    position: relative;
    width: 100%;
    max-width: 600px;
    animation: sessionsEnter-b-3whldj83la 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    animation-delay: 0.15s;
    animation-fill-mode: both;
}


/* ==========================================
   MOBILE LANDING PAGE
   ========================================== */

.mobile-landing[b-3whldj83la] {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 0;
    overflow-y: auto;
}

.mobile-hero[b-3whldj83la] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 32px 24px 24px;
    flex: 1;
    min-height: 0;
    animation: heroEnter-b-3whldj83la 0.4s ease-out;
}

.mobile-greeting[b-3whldj83la] {
    font-size: 1.75rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    margin: 0 0 8px;
}

.mobile-subtitle[b-3whldj83la] {
    font-size: 0.95rem;
    font-weight: 400;
    color: #64748b;
    margin: 0;
    max-width: 320px;
    line-height: 1.5;
}

.mobile-fab-hint[b-3whldj83la] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin-top: 32px;
    animation: hintFadeIn-b-3whldj83la 0.6s ease-out 0.4s both;
}

.fab-hint-row[b-3whldj83la] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.fab-hint-text[b-3whldj83la] {
    font-size: 0.9rem;
    font-weight: 500;
    color: #94a3b8;
}

.fab-hint-button[b-3whldj83la] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(145deg, #06b6d4 0%, #14b8a6 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(6, 182, 212, 0.3);
}

[b-3whldj83la] .fab-hint-icon {
    color: #fff !important;
    font-size: 1.1rem !important;
}

[b-3whldj83la] .fab-hint-arrow {
    color: #06b6d4;
    animation: bounceDown-b-3whldj83la 2s ease-in-out infinite;
}

@keyframes bounceDown-b-3whldj83la {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(8px); }
}

@keyframes hintFadeIn-b-3whldj83la {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Dark mode */
:global(.mud-theme-dark) .fab-hint-text[b-3whldj83la] {
    color: #64748b;
}

:global(.mud-theme-dark)[b-3whldj83la]  .fab-hint-arrow {
    color: #22d3ee;
}

:global(.mud-theme-dark) .mobile-greeting[b-3whldj83la] {
    color: #f8fafc;
}

:global(.mud-theme-dark) .mobile-subtitle[b-3whldj83la] {
    color: #94a3b8;
}

/* ==========================================
   ANIMATIONS
   ========================================== */

@keyframes heroEnter-b-3whldj83la {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes sessionsEnter-b-3whldj83la {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================
   DARK MODE
   ========================================== */

:global(.mud-theme-dark) .hero-greeting[b-3whldj83la] {
    color: #f8fafc;
}

:global(.mud-theme-dark) .hero-subtitle[b-3whldj83la] {
    color: #94a3b8;
}

:global(.mud-theme-dark) .greeting-text[b-3whldj83la] {
    color: #F8FAFC;
}

:global(.mud-theme-dark) .greeting-subtitle[b-3whldj83la] {
    color: #94A3B8;
}


/* ==========================================
   REDUCED MOTION
   ========================================== */

@media (prefers-reduced-motion: reduce) {
    .desktop-hero[b-3whldj83la],
    .desktop-sessions[b-3whldj83la],
    .mobile-landing-content[b-3whldj83la] {
        animation: none;
    }
}
/* /Components/Pages/InteractionTypeSelection.razor.rz.scp.css */
/* Selection page container */
.selection-page-container[b-v5djd7pr5u] {
    padding-top: 16px;
    padding-bottom: var(--bottom-page-clearance); /* Centralized safe area for bottom nav */
    animation: fade-up var(--duration-slow) var(--ease-out-expo);
}

/* Desktop: more top margin */
@media (min-width: 600px) {
    .selection-page-container[b-v5djd7pr5u] {
        padding-top: 64px;
    }
}

/* Loading state */
.loading-container[b-v5djd7pr5u] {
    min-height: 50vh;
}

/* Main content wrapper */
.selection-content[b-v5djd7pr5u] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Header section */
.selection-header[b-v5djd7pr5u] {
    text-align: center;
    padding: 8px 0 16px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: fade-up var(--duration-slow) var(--ease-out-expo);
    animation-delay: 50ms;
    animation-fill-mode: both;
}

.selection-title[b-v5djd7pr5u] {
    font-weight: 600;
    margin-bottom: 4px;
}

/* Cards container */
.selection-cards[b-v5djd7pr5u] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Selection card styling with premium surface gradient */
[b-v5djd7pr5u] .selection-card {
    cursor: pointer;
    border-radius: 12px;
    background: var(--gradient-surface);
    border: 1px solid rgba(226, 232, 240, 0.8);
    box-shadow: var(--shadow-premium-sm);
    transition: all var(--duration-normal) var(--spring-smooth);
    position: relative;
    overflow: hidden;
}

/* Staggered animation for cards */
[b-v5djd7pr5u] .selection-card:nth-child(1) { animation: fade-up var(--duration-slow) var(--ease-out-expo); animation-delay: 100ms; animation-fill-mode: both; }
[b-v5djd7pr5u] .selection-card:nth-child(2) { animation: fade-up var(--duration-slow) var(--ease-out-expo); animation-delay: 150ms; animation-fill-mode: both; }
[b-v5djd7pr5u] .selection-card:nth-child(3) { animation: fade-up var(--duration-slow) var(--ease-out-expo); animation-delay: 200ms; animation-fill-mode: both; }
[b-v5djd7pr5u] .selection-card:nth-child(4) { animation: fade-up var(--duration-slow) var(--ease-out-expo); animation-delay: 250ms; animation-fill-mode: both; }
[b-v5djd7pr5u] .selection-card:nth-child(5) { animation: fade-up var(--duration-slow) var(--ease-out-expo); animation-delay: 300ms; animation-fill-mode: both; }
[b-v5djd7pr5u] .selection-card:nth-child(6) { animation: fade-up var(--duration-slow) var(--ease-out-expo); animation-delay: 350ms; animation-fill-mode: both; }

/* Hover state - elevated shadow and border tint */
[b-v5djd7pr5u] .selection-card:hover {
    box-shadow: var(--shadow-premium-md);
    border-color: rgba(6, 182, 212, 0.2);
    transform: translateY(-2px);
}

/* Active/pressed state with spring bounce */
[b-v5djd7pr5u] .selection-card:active {
    transform: scale(0.98);
    box-shadow: var(--shadow-premium-sm);
}

/* Selected card with primary border glow and bounce animation */
[b-v5djd7pr5u] .selection-card.selected {
    border: 2px solid var(--color-primary);
    box-shadow: 0 0 0 4px rgba(6, 182, 212, 0.15), var(--shadow-premium-md);
    background: linear-gradient(180deg, #ffffff 0%, #f0f7ff 100%);
    animation: pop-in var(--duration-normal) var(--spring-bounce);
}

/* Selected card checkmark indicator */
[b-v5djd7pr5u] .selection-card.selected::before {
    content: '';
    position: absolute;
    top: 12px;
    right: 12px;
    width: 24px;
    height: 24px;
    background: var(--gradient-primary);
    border-radius: 50%;
    box-shadow: var(--shadow-primary);
    animation: pop-in var(--duration-normal) var(--spring-bounce);
}

[b-v5djd7pr5u] .selection-card.selected::after {
    content: '✓';
    position: absolute;
    top: 14px;
    right: 18px;
    color: white;
    font-size: 14px;
    font-weight: bold;
    animation: pop-in var(--duration-normal) var(--spring-bounce);
    animation-delay: 50ms;
}

[b-v5djd7pr5u] .selection-card-content {
    padding: 16px !important;
}

/* Ensure minimum touch target height */
[b-v5djd7pr5u] .selection-card {
    min-height: 64px;
}

/* Text truncation for descriptions */
.text-truncate-2[b-v5djd7pr5u] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Footer with back button */
.selection-footer[b-v5djd7pr5u] {
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--mud-palette-divider);
    animation: fade-up var(--duration-slow) var(--ease-out-expo);
    animation-delay: 400ms;
    animation-fill-mode: both;
}

/* Desktop: Grid layout for cards */
@media (min-width: 600px) {
    .selection-cards[b-v5djd7pr5u] {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .selection-header[b-v5djd7pr5u] {
        padding: 16px 0 24px 0;
    }

    [b-v5djd7pr5u] .selection-card-content {
        padding: 20px !important;
    }
}

@media (min-width: 960px) {
    .selection-cards[b-v5djd7pr5u] {
        grid-template-columns: repeat(3, 1fr);
    }
}
/* /Components/Pages/ProfessionSelection.razor.rz.scp.css */
/* Selection page container */
.selection-page-container[b-9uafwej5zr] {
    padding-top: 16px;
    padding-bottom: var(--bottom-page-clearance); /* Centralized safe area for bottom nav */
    animation: fade-up var(--duration-slow) var(--ease-out-expo);
}

/* Desktop: more top margin */
@media (min-width: 600px) {
    .selection-page-container[b-9uafwej5zr] {
        padding-top: 64px;
    }
}

/* Loading state */
.loading-container[b-9uafwej5zr] {
    min-height: 50vh;
}

/* Main content wrapper */
.selection-content[b-9uafwej5zr] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Header section */
.selection-header[b-9uafwej5zr] {
    text-align: center;
    padding: 8px 0 16px 0;
    animation: fade-up var(--duration-slow) var(--ease-out-expo);
    animation-delay: 50ms;
    animation-fill-mode: both;
}

.selection-title[b-9uafwej5zr] {
    font-weight: 600;
    margin-bottom: 4px;
}

/* Cards container */
.selection-cards[b-9uafwej5zr] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Selection card styling with premium surface gradient */
[b-9uafwej5zr] .selection-card {
    cursor: pointer;
    border-radius: 12px;
    background: var(--gradient-surface);
    border: 1px solid rgba(226, 232, 240, 0.8);
    box-shadow: var(--shadow-premium-sm);
    transition: all var(--duration-normal) var(--spring-smooth);
    position: relative;
    overflow: hidden;
}

/* Staggered animation for cards */
[b-9uafwej5zr] .selection-card:nth-child(1) { animation: fade-up var(--duration-slow) var(--ease-out-expo); animation-delay: 100ms; animation-fill-mode: both; }
[b-9uafwej5zr] .selection-card:nth-child(2) { animation: fade-up var(--duration-slow) var(--ease-out-expo); animation-delay: 150ms; animation-fill-mode: both; }
[b-9uafwej5zr] .selection-card:nth-child(3) { animation: fade-up var(--duration-slow) var(--ease-out-expo); animation-delay: 200ms; animation-fill-mode: both; }
[b-9uafwej5zr] .selection-card:nth-child(4) { animation: fade-up var(--duration-slow) var(--ease-out-expo); animation-delay: 250ms; animation-fill-mode: both; }
[b-9uafwej5zr] .selection-card:nth-child(5) { animation: fade-up var(--duration-slow) var(--ease-out-expo); animation-delay: 300ms; animation-fill-mode: both; }
[b-9uafwej5zr] .selection-card:nth-child(6) { animation: fade-up var(--duration-slow) var(--ease-out-expo); animation-delay: 350ms; animation-fill-mode: both; }

/* Hover state - elevated shadow and border tint */
[b-9uafwej5zr] .selection-card:hover {
    box-shadow: var(--shadow-premium-md);
    border-color: rgba(6, 182, 212, 0.2);
    transform: translateY(-2px);
}

/* Active/pressed state with spring bounce */
[b-9uafwej5zr] .selection-card:active {
    transform: scale(0.98);
    box-shadow: var(--shadow-premium-sm);
}

/* Selected card with primary border glow and bounce animation */
[b-9uafwej5zr] .selection-card.selected {
    border: 2px solid var(--color-primary);
    box-shadow: 0 0 0 4px rgba(6, 182, 212, 0.15), var(--shadow-premium-md);
    background: linear-gradient(180deg, #ffffff 0%, #f0f7ff 100%);
    animation: pop-in var(--duration-normal) var(--spring-bounce);
}

/* Selected card checkmark indicator */
[b-9uafwej5zr] .selection-card.selected::before {
    content: '';
    position: absolute;
    top: 12px;
    right: 12px;
    width: 24px;
    height: 24px;
    background: var(--gradient-primary);
    border-radius: 50%;
    box-shadow: var(--shadow-primary);
    animation: pop-in var(--duration-normal) var(--spring-bounce);
}

[b-9uafwej5zr] .selection-card.selected::after {
    content: '✓';
    position: absolute;
    top: 14px;
    right: 18px;
    color: white;
    font-size: 14px;
    font-weight: bold;
    animation: pop-in var(--duration-normal) var(--spring-bounce);
    animation-delay: 50ms;
}

[b-9uafwej5zr] .selection-card-content {
    padding: 16px !important;
}

/* Ensure minimum touch target height */
[b-9uafwej5zr] .selection-card {
    min-height: 64px;
}

/* Footer with back button */
.selection-footer[b-9uafwej5zr] {
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--mud-palette-divider);
    animation: fade-up var(--duration-slow) var(--ease-out-expo);
    animation-delay: 400ms;
    animation-fill-mode: both;
}

/* Desktop: Grid layout for cards */
@media (min-width: 600px) {
    .selection-cards[b-9uafwej5zr] {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .selection-header[b-9uafwej5zr] {
        padding: 16px 0 24px 0;
    }

    [b-9uafwej5zr] .selection-card-content {
        padding: 20px !important;
    }
}

@media (min-width: 960px) {
    .selection-cards[b-9uafwej5zr] {
        grid-template-columns: repeat(3, 1fr);
    }
}
/* /Components/Pages/Record.razor.rz.scp.css */
/* Fixed-height wrapper so toggling between button and input doesn't shift layout */
.session-name-container[b-ihvavzh2cl] {
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* Strip margins and underline from the edit text field */
[b-ihvavzh2cl] .session-name-input .mud-input-control {
    margin-top: 0;
    margin-bottom: 0;
}

[b-ihvavzh2cl] .session-name-input .mud-input-control-input-container {
    padding-top: 0;
    padding-bottom: 0;
}

[b-ihvavzh2cl] .session-name-input .mud-input {
    font-size: 0.875rem;
    padding-left: 8px;
}

[b-ihvavzh2cl] .session-name-input .mud-input::before,
[b-ihvavzh2cl] .session-name-input .mud-input::after {
    display: none;
}

[b-ihvavzh2cl] .session-name-input input {
    text-align: right;
    padding: 4px 8px !important;
    height: 36px;
    box-sizing: border-box;
}

[b-ihvavzh2cl] .session-name-input .mud-input-slot {
    padding-right: 8px !important;
}

[b-ihvavzh2cl] .session-name-save {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    margin-left: 2px;
}

.journal-content[b-ihvavzh2cl] {
    line-height: 1.6;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.journal-content strong[b-ihvavzh2cl] {
    font-weight: 600;
    color: #1976d2;
}

.journal-content p[b-ihvavzh2cl] {
    margin: 0.5rem 0;
}

/* ==========================================
   Header Settings - Noteless style
   ========================================== */

.header-settings[b-ihvavzh2cl] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0;
    padding: 0;
}
/*
.setting-row {
    display: flex;
    align-items: center;
    gap: 8px;
}*/

[b-ihvavzh2cl] .setting-icon {
    color: #94a3b8;
    font-size: 18px;
    line-height: 1;
}

.record-setting-col[b-ihvavzh2cl] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 200px;
    max-width: 340px;
    flex: 1 1 220px;
}

/* Size MudSelect's chevron icon to match MicTestPickerField's chevron.
   Material's filled triangle at 18px renders to roughly the same visual
   weight as the picker's stroked chevron at 16px. */
.record-setting-col[b-ihvavzh2cl]  .mud-input-adornment-icon {
    width: 18px !important;
    height: 18px !important;
    font-size: 18px !important;
}

:global(.mud-theme-dark)[b-ihvavzh2cl]  .setting-icon {
    color: #64748b;
}

.object-right[b-ihvavzh2cl] {
    text-align: right;
}

[b-ihvavzh2cl] .select-group .mud-list-item-icon   { display: none; }
[b-ihvavzh2cl] .select-group .mud-list-item-text p { color: var(--mud-palette-text-primary);
    font-weight: bold; }

.select-group[b-ihvavzh2cl] {
    font-weight: bold !important;
    color: var(--mud-palette-text-secondary) !important;
}

/* EasyMDE — let editor grow with content instead of internal scrollbar */
[b-ihvavzh2cl] .EasyMDEContainer .CodeMirror {
    height: auto !important;
}

[b-ihvavzh2cl] .CodeMirror-scroll {
    overflow: visible !important;
    min-height: 0 !important;
}
/* /Components/Pages/RecordComponents/GeneratingStatus.razor.rz.scp.css */
.generating-status[b-1uewovm1q7] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    width: 100%;
}

.generating-status-desktop[b-1uewovm1q7] {
    align-items: center;
}

.generating-status-message[b-1uewovm1q7] {
    animation: status-fade-b-1uewovm1q7 0.4s ease-out;
    min-height: 1.6em;
}

.generating-status-meta[b-1uewovm1q7] {
    color: var(--mud-palette-text-secondary);
    opacity: 0.85;
    font-variant-numeric: tabular-nums;
}

@keyframes status-fade-b-1uewovm1q7 {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}
/* /Components/Pages/RecordComponents/JournalCoachMark.razor.rz.scp.css */
/* Coach-mark: dark popover anchored to the right of the journal card.
   Mirrors the design's nf-coachmark — dark surface with coral accent,
   bouncy entrance, idle bob, halo glow, arrow poke, attention shimmy. */
.journal-coachmark[b-f5ytoilig0] {
    position: absolute;
    top: 50%;
    right: -16px;
    transform: translate(100%, -50%);
    width: 260px;
    background: #1a2233;
    color: #fff;
    border-radius: 12px;
    padding: 14px 16px 14px;
    box-shadow:
        0 18px 40px -12px rgba(26, 34, 51, 0.5),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset;
    z-index: 40;
    transform-origin: left center;
    will-change: transform;
    animation:
        coachmark-enter-b-f5ytoilig0 .55s cubic-bezier(.34, 1.6, .5, 1) both,
        coachmark-bob-b-f5ytoilig0 2.6s ease-in-out 0.6s infinite,
        coachmark-attention-b-f5ytoilig0 7s ease-in-out 2.5s infinite;
}

/* Soft coral halo behind the popover */
.journal-coachmark[b-f5ytoilig0]::after {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 16px;
    background: radial-gradient(60% 60% at 8% 50%, rgba(217, 119, 87, .35), transparent 70%);
    z-index: -1;
    filter: blur(6px);
    opacity: 0;
    animation: coachmark-halo-b-f5ytoilig0 3.2s ease-in-out 0.4s infinite;
}

.coachmark-arrow[b-f5ytoilig0] {
    position: absolute;
    left: -6px;
    top: 50%;
    width: 12px;
    height: 12px;
    transform: translateY(-50%) rotate(45deg);
    background: #1a2233;
    border-radius: 2px;
    animation: arrow-poke-b-f5ytoilig0 2.2s ease-in-out infinite;
}

.coachmark-tag[b-f5ytoilig0] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(217, 119, 87, .18);
    color: #ffb494;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: 3px 9px 3px 7px;
    border-radius: 999px;
    margin-bottom: 8px;
    animation: tag-shimmer-b-f5ytoilig0 3s ease-in-out infinite;
}

.coachmark-dot[b-f5ytoilig0] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ffb494;
    box-shadow: 0 0 0 0 rgba(255, 180, 148, .6);
    animation: dot-pulse-b-f5ytoilig0 1.6s ease-out infinite;
}

.coachmark-headline[b-f5ytoilig0] {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
    letter-spacing: -.01em;
    color: #fff;
}

.coachmark-body[b-f5ytoilig0] {
    font-size: 12px;
    line-height: 1.5;
    color: #b8c3dc;
    margin: 0 0 12px;
}

/* Override MudButton appearance to match design's "Forstået" button */
.journal-coachmark[b-f5ytoilig0]  .mud-button-filled {
    background: rgba(255, 255, 255, .1);
    color: #fff;
    border: 0;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    box-shadow: none;
    min-height: 0;
    text-transform: none;
    letter-spacing: 0;
}

.journal-coachmark[b-f5ytoilig0]  .mud-button-filled:hover {
    background: rgba(255, 255, 255, .18);
    box-shadow: none;
}

@keyframes coachmark-enter-b-f5ytoilig0 {
    0%   { opacity: 0; transform: translate(calc(100% + 30px), -50%) scale(.85); }
    55%  { opacity: 1; transform: translate(calc(100% - 6px), -50%) scale(1.04); }
    78%  { transform: translate(calc(100% + 2px), -50%) scale(.99); }
    100% { opacity: 1; transform: translate(100%, -50%) scale(1); }
}

@keyframes coachmark-bob-b-f5ytoilig0 {
    0%, 100% { transform: translate(100%, -50%); }
    50%      { transform: translate(calc(100% - 5px), -50%); }
}

@keyframes coachmark-attention-b-f5ytoilig0 {
    0%, 88%, 100% { transform: translate(100%, -50%) rotate(0deg); }
    91%           { transform: translate(calc(100% - 8px), -50%) rotate(-1.2deg); }
    94%           { transform: translate(calc(100% + 4px), -50%) rotate(1deg); }
    97%           { transform: translate(calc(100% - 3px), -50%) rotate(-.4deg); }
}

@keyframes coachmark-halo-b-f5ytoilig0 {
    0%, 100% { opacity: .35; }
    50%      { opacity: .9; }
}

@keyframes arrow-poke-b-f5ytoilig0 {
    0%, 100% { transform: translateY(-50%) rotate(45deg); }
    50%      { transform: translate(-4px, -50%) rotate(45deg); }
}

@keyframes tag-shimmer-b-f5ytoilig0 {
    0%, 100% { background: rgba(217, 119, 87, .18); color: #ffb494; }
    50%      { background: rgba(217, 119, 87, .32); color: #ffd0b8; }
}

@keyframes dot-pulse-b-f5ytoilig0 {
    0%   { box-shadow: 0 0 0 0 rgba(255, 180, 148, .65); transform: scale(1); }
    70%  { box-shadow: 0 0 0 9px rgba(255, 180, 148, 0); transform: scale(1.15); }
    100% { box-shadow: 0 0 0 0 rgba(255, 180, 148, 0); transform: scale(1); }
}

/* Mobile / narrow viewports — anchor bottom-right with a vertical bob */
@media (max-width: 1280px) {
    .journal-coachmark[b-f5ytoilig0] {
        right: 16px;
        top: auto;
        bottom: 16px;
        transform: none;
        animation:
            coachmark-enter-vertical-b-f5ytoilig0 .55s cubic-bezier(.34, 1.6, .5, 1) both,
            coachmark-bob-vertical-b-f5ytoilig0 2.6s ease-in-out 0.6s infinite;
    }
    .coachmark-arrow[b-f5ytoilig0] { display: none; }
}

@keyframes coachmark-enter-vertical-b-f5ytoilig0 {
    0%   { opacity: 0; transform: translateY(20px) scale(.9); }
    60%  { opacity: 1; transform: translateY(-4px) scale(1.03); }
    100% { opacity: 1; transform: none; }
}

@keyframes coachmark-bob-vertical-b-f5ytoilig0 {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-3px); }
}
/* /Components/Pages/RecordComponents/JournalDocument.razor.rz.scp.css */
/* Journal document wrapper — mirrors design's .journal + .doc styling.
   Plain white surface; the yellow outline shows only in manual-edit mode. */
.journal-document-wrapper[b-z1h3n2k9p7] {
    position: relative;
    background: #fff;
    border-radius: 8px;
    transition: box-shadow 200ms ease;
}

.journal-document-wrapper.manual-edit[b-z1h3n2k9p7] {
    box-shadow: inset 0 0 0 2px #e8d97a;
    border-radius: 8px;
    padding: 8px 12px;
}

.journal-toolbar-row[b-z1h3n2k9p7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 8px 0;
    min-height: 40px;
}

/* "Markér en eller flere sektioner …" hint shown at the top of the toolbar
   row when no section is selected. Matches the design's faded grey cue with
   a Spark icon. */
.journal-section-hint[b-z1h3n2k9p7] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #7b869c;
}

.journal-section-hint .mud-icon-root[b-z1h3n2k9p7] {
    color: #7b869c;
    font-size: 14px !important;
    width: 14px;
    height: 14px;
}

.journal-toolbar-spacer[b-z1h3n2k9p7] { flex: 1; }

/* "Rediger manuelt" pill — matches design's .manual-edit-btn */
.manual-edit-pill[b-z1h3n2k9p7] {
    border-radius: 999px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 500 !important;
    font-size: 12px !important;
    padding: 6px 10px !important;
    min-height: 0 !important;
    border: 1px solid #e3e8f1 !important;
    background: #fff !important;
    color: #1a2233 !important;
    box-shadow: none !important;
}
.manual-edit-pill:hover[b-z1h3n2k9p7] {
    background: #f7f9fc !important;
    border-color: #c8d0dd !important;
}

/* Manual-edit mode sticky editor toolbar — mirrors design's .edit-panel */
.journal-edit-toolbar[b-z1h3n2k9p7] {
    position: sticky;
    top: 0;
    z-index: 5;
    margin-bottom: 14px;
    background: linear-gradient(180deg, #ffffff, #f3fbfa);
    border: 1px solid #1aa6a0;
    border-radius: 10px;
    box-shadow: 0 8px 24px -10px rgba(26, 166, 160, .35);
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    font-size: 12px;
    animation: edit-panel-in-b-z1h3n2k9p7 .14s ease;
}

@keyframes edit-panel-in-b-z1h3n2k9p7 {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: none; }
}

.edit-toolbar-label[b-z1h3n2k9p7] {
    color: #128e89;
    font-weight: 500;
    display: inline-flex;
    gap: 6px;
    align-items: center;
    font-size: 12px;
}

.edit-toolbar-hint[b-z1h3n2k9p7] {
    margin-left: auto;
    font-size: 11px;
    color: #7b869c;
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

/* Format buttons inside the manual-edit toolbar */
.journal-edit-toolbar[b-z1h3n2k9p7]  .mud-icon-button {
    border: 1px solid #e3e8f1 !important;
    background: #fff !important;
    min-width: 28px !important;
    height: 26px !important;
    width: 28px !important;
    padding: 0 6px !important;
    border-radius: 6px !important;
}
.journal-edit-toolbar[b-z1h3n2k9p7]  .mud-icon-button:hover {
    background: #eef1f7 !important;
}

/* Document body — typography matches design's .journal .doc */
.journal-blocks-container[b-z1h3n2k9p7] {
    position: relative;
    padding: 22px 28px 28px;
    min-height: 80px;
    font-size: 15px;
    line-height: 1.7;
    color: #2a3346;
}

/* Sections: header + paragraphs grouped under a single click target.
   Design palette: --highlight #fff3a8 picked / hover #fdf3c3 / inset border #e7c93b */
.journal-section[b-z1h3n2k9p7] {
    cursor: pointer;
    border-radius: 6px;
    padding: 2px 8px;
    margin: 0 -8px;
    transition: background 120ms ease, box-shadow 120ms ease;
}

.journal-document-wrapper:not(.manual-edit) .journal-section:hover[b-z1h3n2k9p7] {
    background: #fdf3c3;
}

.journal-document-wrapper:not(.manual-edit) .journal-section.selected[b-z1h3n2k9p7] {
    background: #fff3a8;
    box-shadow: inset 0 0 0 1px #e7c93b;
}

.journal-document-wrapper.manual-edit .journal-section[b-z1h3n2k9p7] {
    cursor: text;
    background: transparent !important;
    box-shadow: none !important;
}

.journal-document-wrapper.manual-edit .journal-section [contenteditable]:focus[b-z1h3n2k9p7] {
    background: #fffdf5;
    border-radius: 4px;
    outline: none;
}

/* Headings — design palette: 14px bold #1a2233 with tight leading.
   Inside a section the top-margin is 14px (design's .journal .section h4),
   reduced to 4px for the first section (design's :first-child h4). */
.journal-heading[b-z1h3n2k9p7] {
    margin: 14px 0 6px;
    font-size: 14px;
    font-weight: 700;
    color: #1a2233;
    line-height: 1.3;
    padding: 0;
}

.journal-section:first-child .journal-heading[b-z1h3n2k9p7] {
    margin-top: 4px;
}

.journal-paragraph[b-z1h3n2k9p7] {
    margin: 0 0 4px;
    line-height: 1.7;
}

.journal-paragraph[b-z1h3n2k9p7]  p {
    margin: 0;
}

.journal-paragraph[contenteditable="true"][b-z1h3n2k9p7],
.journal-heading[contenteditable="true"][b-z1h3n2k9p7] {
    outline: none;
}

/* Floating selection toolbar — dark pill anchored above the clicked section.
   Matches the design's .float-tools: fixed position in viewport coords with a
   downward arrow that points at the section the user just clicked. The
   top/left are set inline by the C# code-behind from the section's
   getBoundingClientRect, computed on each click. */
.floating-action-toolbar[b-z1h3n2k9p7] {
    position: absolute;
    top: 0;
    left: 0;
    background: #1a2233;
    color: #fff;
    border-radius: 12px;
    box-shadow: 0 18px 48px rgba(20, 40, 80, .18);
    padding: 6px;
    display: flex;
    gap: 2px;
    width: fit-content;
    z-index: 60;
    animation: float-tools-pop-b-z1h3n2k9p7 .14s ease-out;
}

@keyframes float-tools-pop-b-z1h3n2k9p7 {
    from { transform: translateY(4px) scale(.97); opacity: 0; }
    to   { transform: none; opacity: 1; }
}

/* Arrow pointer attached to the toolbar's bottom edge */
.floating-action-toolbar[b-z1h3n2k9p7]::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 24px;
    width: 12px;
    height: 12px;
    background: #1a2233;
    transform: rotate(45deg);
    border-radius: 2px;
}

/* MudButton overrides inside the toolbar — matches design's button styling.
   Design spec: 8px/12px padding, 8px gap between icon and label. */
.floating-action-toolbar[b-z1h3n2k9p7]  .mud-button-filled {
    background: transparent !important;
    border: 0 !important;
    color: #fff !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    min-height: 0 !important;
    min-width: 0 !important;
    position: relative;
    z-index: 1;
}
.floating-action-toolbar[b-z1h3n2k9p7]  .mud-button-label {
    gap: 8px;
}
.floating-action-toolbar[b-z1h3n2k9p7]  .mud-button-icon-start {
    margin-right: 0 !important;
}

.floating-action-toolbar[b-z1h3n2k9p7]  .mud-button-filled:hover {
    background: rgba(255, 255, 255, .1) !important;
    box-shadow: none !important;
}

.floating-action-toolbar[b-z1h3n2k9p7]  .mud-icon-root {
    color: #fff !important;
}

/* Vertical separator between toolbar buttons */
.float-tools-sep[b-z1h3n2k9p7] {
    width: 1px;
    background: rgba(255, 255, 255, .12);
    margin: 4px 2px;
}

/* Manual-edit footer (Annullér / Gem) — keep light, mirrors design's actions area */
.journal-footer-actions[b-z1h3n2k9p7] {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    padding: 12px 16px;
    border-top: 1px solid #eef1f7;
    background: #fbfcfe;
}

/* ------------------------------------------------------------------
   Mobile (≤768px) — matches "Carely Mobile - Refine" design (screen 02):
   the dark action popover floats directly ABOVE the tapped section
   (anchored by the inline top/left the C# writes from the section
   rect), with a downward arrow pointing at it. Buttons switch to the
   design's vertical layout — a teal-tinted rounded icon square stacked
   over the label — instead of the desktop inline icon+label pill.
   ------------------------------------------------------------------ */
@media (max-width: 768px) {
    .journal-blocks-container[b-z1h3n2k9p7] {
        padding: 16px 14px 24px;
        font-size: 15px;
    }

    /* Sections: a hair more vertical padding for comfortable taps.
       Hover state is suppressed (hover doesn't really exist on touch
       and was just visual noise on tap). */
    .journal-section[b-z1h3n2k9p7] {
        padding: 6px 8px;
    }
    .journal-document-wrapper:not(.manual-edit) .journal-section:hover[b-z1h3n2k9p7] {
        background: transparent;
    }

    .journal-toolbar-row[b-z1h3n2k9p7] {
        flex-wrap: wrap;
        padding: 8px 8px 0;
    }

    .edit-toolbar-hint[b-z1h3n2k9p7] {
        display: none;
    }

    /* Dark popover pill (design's .float-tools): rounded 14, padding 6.
       Keeps the absolute top/left written inline by the C# code-behind,
       then lifts itself up by its own (taller, vertical) height so the
       arrow sits just above the section instead of overlapping it. */
    .floating-action-toolbar[b-z1h3n2k9p7] {
        background: #1a2233;
        border-radius: 14px;
        padding: 6px;
        gap: 2px;
        transform: translateY(-30px);
        box-shadow: 0 14px 28px rgba(20, 30, 60, .35);
        /* Entrance keyframe resolves to the same -30px lift so the pill
           doesn't snap once the animation ends. */
        animation: float-tools-pop-m-b-z1h3n2k9p7 .16s ease-out;
    }

    @keyframes float-tools-pop-m-b-z1h3n2k9p7 {
        from { transform: translateY(-22px) scale(.97); opacity: 0; }
        to   { transform: translateY(-30px); opacity: 1; }
    }

    /* Re-center the downward arrow under the (now horizontally-centered)
       popover so it points straight down at the section. */
    .floating-action-toolbar[b-z1h3n2k9p7]::after {
        left: 50%;
        margin-left: -6px;
        bottom: -5px;
    }

    /* Vertical buttons: icon square on top, label below. */
    .floating-action-toolbar[b-z1h3n2k9p7]  .mud-button-filled {
        flex-direction: column;
        gap: 3px;
        padding: 8px 10px !important;
        min-width: 70px !important;
        font-size: 11px !important;
        justify-content: flex-start;
    }
    .floating-action-toolbar[b-z1h3n2k9p7]  .mud-button-label {
        flex-direction: column;
        gap: 3px;
    }

    /* Teal-tinted rounded square holding the icon (design's icon chip). */
    .floating-action-toolbar[b-z1h3n2k9p7]  .mud-button-icon-start {
        width: 28px;
        height: 28px;
        border-radius: 8px;
        background: rgba(26, 166, 160, .22);
        display: grid;
        place-items: center;
        margin: 0 !important;
    }
    .floating-action-toolbar[b-z1h3n2k9p7]  .mud-button-icon-start .mud-icon-root {
        color: #7ee0db !important;
        font-size: 16px !important;
    }

    .float-tools-sep[b-z1h3n2k9p7] {
        margin: 6px 0;
    }
}

/* /Components/Pages/RecordComponents/JournalRefineDialog.razor.rz.scp.css */
/* Refine dialog — mirrors design's .refine modal: rounded top corners,
   white surfaces, two-column compare, teal accents on the editable side. */
/* Top header bar — matches design's .refine .top:
   16px/22px padding, bottom divider, title (chip + descriptive text) on
   the left, close X on the right. The chip is recolored per-action via
   inline style (background = action.color at ~12% alpha, foreground =
   action.color itself), so this stylesheet only locks the chip's shape
   and typography. */
.journal-refine-dialog[b-4ok825i7cc]  .mud-dialog-title {
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #e3e8f1;
    background: #fff;
}

.refine-top[b-4ok825i7cc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 22px;
    gap: 12px;
}

.refine-title[b-4ok825i7cc] {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
    font-size: 15px;
    color: #1a2233;
    min-width: 0;
}

.refine-title-text[b-4ok825i7cc] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.refine-chip[b-4ok825i7cc] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    flex-shrink: 0;
}
.refine-chip[b-4ok825i7cc]  .mud-icon-root {
    font-size: 14px !important;
    width: 14px;
    height: 14px;
}

/* Close X styles live in wwwroot/app.css (Mud component Class root). */

/* Modal shape, bottom anchoring, action-bar layout, and the
   Erstat/Annullér/Close-X buttons all live in wwwroot/app.css —
   Blazor scoped CSS doesn't reach MudBlazor component roots that
   receive a Class via the `Class="…"` parameter, so those rules
   silently no-op when scoped. The animation stays scoped because
   it only references the keyframe by name. */
@keyframes refine-slide-up-b-4ok825i7cc {
    from { transform: translateY(40px); opacity: 0; }
    to   { transform: none; opacity: 1; }
}

.journal-refine-dialog[b-4ok825i7cc]  .mud-dialog-content {
    padding: 0 !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Side-by-side compare layout — fills the dialog body's remaining height
   so the column bodies (which scroll independently) sit between the
   header row and the action bar without extra whitespace. */
.refine-columns[b-4ok825i7cc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    flex: 1;
    min-height: 0;
    background: #fff;
}

.refine-column[b-4ok825i7cc] {
    display: flex;
    flex-direction: column;
    background: #fff;
    overflow: hidden;
    min-height: 0;
}

.refine-column + .refine-column[b-4ok825i7cc] {
    border-left: 1px solid #e3e8f1;
}

/* Compare header (uppercase tiny label + column controls) */
.refine-column-header[b-4ok825i7cc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 22px;
    border-bottom: 1px solid #e3e8f1;
    font-size: 12px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #7b869c;
    font-weight: 600;
    min-height: 48px;
}

.column-title[b-4ok825i7cc] {
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

/* "Original · N ord" word-count tag — matches design's .compare-head .tag:
   neutral grey pill, no uppercase, regular weight. */
.word-count-tag[b-4ok825i7cc] {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
    font-size: 11px;
    background: #eef1f7;
    color: #4a5670;
    padding: 3px 8px;
    border-radius: 999px;
}

.column-header-controls[b-4ok825i7cc] {
    display: flex;
    align-items: center;
    gap: 8px;
    text-transform: none;
    letter-spacing: 0;
}

/* Column body — generous padding, scrollable */
.refine-column-body[b-4ok825i7cc] {
    flex: 1;
    padding: 22px 26px;
    background: #fff;
    overflow-y: auto;
    line-height: 1.75;
    font-size: 14px;
    color: #1a2233;
    min-height: 0;
}

.refine-suggestion-body[b-4ok825i7cc] {
    position: relative;
}

/* Sticky edit panel at the TOP of the suggestion column.
   Teal border with subtle gradient, matches design's .edit-panel.
   Hidden by default and revealed only when the suggestion column has
   focus inside (the contenteditable surface), matching design's
   `{aiFocus && !showDiff && <EditPanel />}`. The toolbar's own buttons
   prevent default on mousedown (see Razor) so clicking them doesn't
   blur the editable and collapse the panel. */
.suggestion-edit-toolbar[b-4ok825i7cc] {
    position: sticky;
    top: 0;
    z-index: 5;
    display: none;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    margin-bottom: 14px;
    background: linear-gradient(180deg, #ffffff, #f3fbfa);
    border: 1px solid #1aa6a0;
    border-radius: 10px;
    box-shadow: 0 8px 24px -10px rgba(26, 166, 160, .35);
    font-size: 12px;
    animation: edit-panel-in-b-4ok825i7cc .14s ease;
}

.refine-suggestion-body:focus-within .suggestion-edit-toolbar[b-4ok825i7cc] {
    display: flex;
}

@keyframes edit-panel-in-b-4ok825i7cc {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: none; }
}

.edit-label[b-4ok825i7cc] {
    color: #128e89;
    font-weight: 500;
    display: inline-flex;
    gap: 6px;
    align-items: center;
    font-size: 12px;
}

.edit-hint[b-4ok825i7cc] {
    margin-left: auto;
    font-size: 11px;
    color: #7b869c;
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

/* Format buttons inside the edit panel */
.suggestion-edit-toolbar[b-4ok825i7cc]  .mud-icon-button {
    border: 1px solid #e3e8f1 !important;
    background: #fff !important;
    min-width: 28px !important;
    width: 28px !important;
    height: 26px !important;
    padding: 0 6px !important;
    border-radius: 6px !important;
}
.suggestion-edit-toolbar[b-4ok825i7cc]  .mud-icon-button:hover {
    background: #eef1f7 !important;
}

/* Contenteditable suggestion surface */
.suggestion-editable[b-4ok825i7cc] {
    outline: none;
    min-height: 100px;
    caret-color: #128e89;
    border-radius: 6px;
    cursor: text;
}
.suggestion-editable:hover[b-4ok825i7cc],
.suggestion-editable:focus[b-4ok825i7cc] {
    background: #f8fbfb;
}

/* Loading / error states */
.refine-loading[b-4ok825i7cc],
.refine-error[b-4ok825i7cc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 32px 12px;
    color: #7b869c;
    text-align: center;
    font-size: 13px;
}

.refine-partial[b-4ok825i7cc] {
    border: 1px dashed #f0c0c0;
    border-radius: 6px;
    padding: 8px;
    text-align: left;
    width: 100%;
    background: #fff8f8;
}

/* Diff view container — matches design's .orig (left) and .diff-overlay (right):
   plain pre-wrap text, 14px / line-height 1.75 / dark ink, no markdown rendering.
   The injected diff spans are children, so we use ::deep to reach them. */
.diff-view[b-4ok825i7cc] {
    font-size: 14px;
    line-height: 1.75;
    color: #1a2233;
    white-space: pre-wrap;
    word-wrap: break-word;
}

.diff-view-suggestion[b-4ok825i7cc] {
    cursor: text;
}

/* Inline diff spans are inserted via MarkupString from WordDiff.Compute, so
   they don't carry the component's scope attribute. ::deep lets the scoped
   stylesheet still target them. */
.diff-view[b-4ok825i7cc]  .diff-del {
    background: #ffe3e3;
    color: #8a1f1f;
    text-decoration: line-through;
    text-decoration-color: rgba(138, 31, 31, .5);
    border-radius: 2px;
    padding: 0 2px;
}

.diff-view[b-4ok825i7cc]  .diff-ins {
    background: #d4f4dd;
    color: #166a3a;
    border-radius: 2px;
    padding: 0 2px;
    box-shadow: inset 0 -2px 0 rgba(22, 106, 58, .25);
}

.diff-view[b-4ok825i7cc]  br {
    display: block;
    content: '';
    margin: 0;
}

/* Markdown structure inside the diff view — mirrors .md-render typography so
   the diff-on and diff-off views show the same headings/bullets/paragraphs,
   only with red/green word-level highlights layered on. */
.diff-view[b-4ok825i7cc]  .diff-md-h {
    font-weight: 700;
    color: #0e1726;
    margin: 10px 0 4px;
    line-height: 1.3;
}
.diff-view[b-4ok825i7cc]  .diff-md-h1 { font-size: 16px; }
.diff-view[b-4ok825i7cc]  .diff-md-h2 { font-size: 14px; }
.diff-view[b-4ok825i7cc]  .diff-md-h3 { font-size: 13px; }

.diff-view[b-4ok825i7cc]  .diff-md-p {
    margin: 0 0 4px;
}

.diff-view[b-4ok825i7cc]  .diff-md-li {
    position: relative;
    margin: 0 0 2px;
    padding-left: 22px;
}
.diff-view[b-4ok825i7cc]  .diff-md-li .diff-md-bullet {
    position: absolute;
    left: 6px;
    color: #4a5670;
}

.diff-view[b-4ok825i7cc]  .diff-md-empty {
    height: 12px;
}

/* "Redigerbar" pill — teal-soft, mirrors design's .edit-pill exactly:
   small inline-flex with the Edit icon, teal-soft background, teal-deep ink. */
.edit-pill[b-4ok825i7cc] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #e6f6f5;
    color: #128e89;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
    text-transform: none;
    letter-spacing: 0;
}
.edit-pill[b-4ok825i7cc]  .mud-icon-root {
    font-size: 12px !important;
    width: 12px;
    height: 12px;
    color: #128e89 !important;
}

/* "slettet" / "tilføjet" diff swatches — small colored square + plain label,
   mirrors design's inline `<span style="width:10px height:10px borderRadius:2 background:#ffe3e3" /> slettet`. */
.diff-swatch[b-4ok825i7cc] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #7b869c;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}

.diff-swatch-chip[b-4ok825i7cc] {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
}

.diff-swatch-del .diff-swatch-chip[b-4ok825i7cc] { background: #ffe3e3; }
.diff-swatch-ins .diff-swatch-chip[b-4ok825i7cc] { background: #d4f4dd; }

/* "Vis ændringer" — iOS-style switch matching design's .toggle-diff */
.refine-column-header[b-4ok825i7cc]  .mud-switch {
    margin: 0 !important;
}

.refine-column-header[b-4ok825i7cc]  .mud-switch .mud-switch-base {
    padding: 4px !important;
}

.refine-column-header[b-4ok825i7cc]  .mud-switch-track {
    background-color: #d6dbe6 !important;
    opacity: 1 !important;
    border-radius: 999px !important;
}

.refine-column-header[b-4ok825i7cc]  .mud-switch .mud-checked + .mud-switch-track,
.refine-column-header[b-4ok825i7cc]  .mud-switch-base.mud-checked + .mud-switch-track {
    background-color: #1aa6a0 !important;
    opacity: 1 !important;
}

.refine-column-header[b-4ok825i7cc]  .mud-switch .mud-typography {
    font-size: 12px !important;
    color: #4a5670 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.refine-column-header[b-4ok825i7cc]  .mud-switch-base.mud-checked ~ .mud-typography {
    color: #128e89 !important;
    font-weight: 500 !important;
}

/* Action-bar layout, Erstat/Annullér button styles, and the title-bar
   Close X all live in wwwroot/app.css — see the comment near the
   modal-shape block above for the reason. */

/* Markdown rendering inside the column body — matches design's .md-render:
   strong/headings use the deeper ink #0e1726 (vs body #1a2233), heading
   margins 10px 0 4px, code in JetBrains Mono with soft chip background,
   tight list spacing. Markdig output is standard h1–h6/p/strong/code/ul/li,
   so we target those via ::deep. */
.refine-column-body[b-4ok825i7cc]  p {
    margin: 0 0 4px;
}
.refine-column-body[b-4ok825i7cc]  strong {
    font-weight: 700;
    color: #0e1726;
}
.refine-column-body[b-4ok825i7cc]  em {
    font-style: italic;
}
.refine-column-body[b-4ok825i7cc]  code {
    font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 12.5px;
    background: #f1f4fa;
    padding: 1px 5px;
    border-radius: 4px;
}
.refine-column-body[b-4ok825i7cc]  h1,
.refine-column-body[b-4ok825i7cc]  h2,
.refine-column-body[b-4ok825i7cc]  h3,
.refine-column-body[b-4ok825i7cc]  h4,
.refine-column-body[b-4ok825i7cc]  h5,
.refine-column-body[b-4ok825i7cc]  h6 {
    margin: 10px 0 4px;
    font-weight: 700;
    font-size: 14px;
    color: #0e1726;
    line-height: 1.3;
}
.refine-column-body[b-4ok825i7cc]  ul {
    margin: 4px 0 8px;
    padding-left: 22px;
}
.refine-column-body[b-4ok825i7cc]  ul li {
    margin: 0 0 2px;
}

/* Same typography for the editable suggestion surface so it visually
   reads identically to the rendered original (design's .md-render
   shared between both sides). */
.suggestion-editable[b-4ok825i7cc]  p { margin: 0 0 4px; }
.suggestion-editable[b-4ok825i7cc]  strong { font-weight: 700; color: #0e1726; }
.suggestion-editable[b-4ok825i7cc]  h1,
.suggestion-editable[b-4ok825i7cc]  h2,
.suggestion-editable[b-4ok825i7cc]  h3,
.suggestion-editable[b-4ok825i7cc]  h4,
.suggestion-editable[b-4ok825i7cc]  h5,
.suggestion-editable[b-4ok825i7cc]  h6 {
    margin: 10px 0 4px;
    font-weight: 700;
    font-size: 14px;
    color: #0e1726;
    line-height: 1.3;
}
.suggestion-editable[b-4ok825i7cc]  ul {
    margin: 4px 0 8px;
    padding-left: 22px;
}

/* Mobile-only bottom-sheet chrome — hidden on desktop, revealed in the
   ≤768px block below. These plain-HTML elements carry the component scope;
   the spark MudIcon root does not, so it's reached via ::deep. */
.refine-grabber[b-4ok825i7cc],
.refine-status-text[b-4ok825i7cc],
.suggest-wc[b-4ok825i7cc],
.refine-delta-chip[b-4ok825i7cc],
.refine-flow-arrow[b-4ok825i7cc],
.refine-loading-mobile[b-4ok825i7cc],
.refine-mobile-toggle-row[b-4ok825i7cc],
.apply-label-mobile[b-4ok825i7cc] {
    display: none;
}
.column-title[b-4ok825i7cc]  .suggest-spark {
    display: none;
}

/* ------------------------------------------------------------------
   Mobile (≤768px) — "Carely Mobile - Refine" bottom sheet (screens
   03/04): a single-scroll stack of snippet cards (yellow Original →
   down-arrow → teal "Carely foreslår"), a relocated "Vis ændringer"
   row with a +N −N tally, and a Prøv igen / Erstat tekst action bar.
   The .mud-dialog / .mud-dialog-actions shell lives in wwwroot/app.css.
   ------------------------------------------------------------------ */
@media (max-width: 768px) {
    /* Drag handle (design's grabber). */
    .refine-grabber[b-4ok825i7cc] {
        display: block;
        width: 36px;
        height: 5px;
        border-radius: 3px;
        background: rgba(26, 34, 51, .18);
        margin: 8px auto 4px;
    }

    /* Header: chip + live status text in place of the descriptive title. */
    .refine-top[b-4ok825i7cc] {
        padding: 4px 14px 12px;
    }
    .refine-title-text[b-4ok825i7cc] { display: none; }
    .refine-status-text[b-4ok825i7cc] {
        display: inline;
        font-size: 13px;
        color: #1a2233;
        font-weight: 500;
    }

    /* Single vertical scroll holding the stacked cards. */
    .refine-columns[b-4ok825i7cc] {
        display: flex;
        flex-direction: column;
        grid-template-columns: none;
        overflow-y: auto;
        padding: 16px 18px 8px;
    }

    .refine-column[b-4ok825i7cc],
    .refine-column + .refine-column[b-4ok825i7cc] {
        border: 0;
        background: transparent;
        overflow: visible;
        flex: none;
        min-height: 0;
    }

    /* Label line above each card (design's <Label>). */
    .refine-column-header[b-4ok825i7cc] {
        border-bottom: 0;
        padding: 2px 2px 8px;
        min-height: 0;
        font-size: 10.5px;
        letter-spacing: .1em;
        flex-wrap: wrap;
        gap: 6px;
    }
    .column-title[b-4ok825i7cc] { gap: 5px; }

    /* "· N ord" plain inline count instead of the desktop grey pill. */
    .word-count-tag[b-4ok825i7cc] {
        background: transparent;
        padding: 0;
        color: #7b869c;
        font-size: 10.5px;
        letter-spacing: .1em;
        font-weight: 600;
    }
    .word-count-tag[b-4ok825i7cc]::before { content: '· '; }

    .column-title[b-4ok825i7cc]  .suggest-spark {
        display: inline-flex;
        font-size: 13px !important;
        width: 13px;
        height: 13px;
        color: #1aa6a0 !important;
    }
    .suggest-wc[b-4ok825i7cc] { display: inline; }

    /* The snippet card. */
    .refine-column-body[b-4ok825i7cc] {
        flex: none;
        overflow: visible;
        border-radius: 6px;
        padding: 10px 12px;
        font-size: 13.5px;
        line-height: 1.5;
    }
    /* Original = yellow card; Carely foreslår = teal card (design SnippetCard). */
    .refine-column:first-child .refine-column-body[b-4ok825i7cc] {
        background: #fffced;
        border-left: 3px solid #e7c93b;
        color: #3a2f0a;
    }
    .refine-column:last-child .refine-column-body[b-4ok825i7cc] {
        background: #ebf8f7;
        border-left: 3px solid #1aa6a0;
        color: #0f3937;
    }
    /* Thinking state: dashed teal card (design screen 03). */
    .refine-column.is-loading .refine-column-body[b-4ok825i7cc] {
        background: #fafcfc;
        border: 1px dashed #b9dfdc;
    }

    /* Down-arrow connecting the two cards. */
    .refine-flow-arrow[b-4ok825i7cc] {
        display: grid;
        place-items: center;
        margin: 12px 0 10px;
        color: #a1adc4;
    }
    .refine-flow-arrow[b-4ok825i7cc]  .mud-icon-root {
        font-size: 18px !important;
    }

    /* −50% delta chip; hide the desktop-only header bits. */
    .refine-delta-chip[b-4ok825i7cc] {
        display: inline-flex;
        align-items: center;
        margin-left: auto;
        font-size: 11px;
        font-weight: 600;
        color: #0e6f6a;
        background: #e6f6f5;
        padding: 2px 8px;
        border-radius: 999px;
    }
    .edit-pill[b-4ok825i7cc] { display: none; }
    .diff-swatch[b-4ok825i7cc] { display: none; }
    /* In-header switch relocates to the row below the cards. */
    .refine-column-header[b-4ok825i7cc]  .mud-switch { display: none; }

    /* "Vis ændringer" row (design relocation), pinned above the action bar. */
    .refine-mobile-toggle-row[b-4ok825i7cc] {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 12px 20px;
        border-top: 1px solid #eef1f7;
        background: #fff;
    }
    .refine-mobile-toggle-row[b-4ok825i7cc]  .mud-switch { margin: 0 !important; }
    .refine-mobile-toggle-row[b-4ok825i7cc]  .mud-switch-base { padding: 4px !important; }
    .refine-mobile-toggle-row[b-4ok825i7cc]  .mud-switch-track {
        background-color: #d6dbe6 !important;
        opacity: 1 !important;
        border-radius: 999px !important;
    }
    .refine-mobile-toggle-row[b-4ok825i7cc]  .mud-switch-base.mud-checked + .mud-switch-track {
        background-color: #1aa6a0 !important;
        opacity: 1 !important;
    }
    .refine-mobile-toggle-row[b-4ok825i7cc]  .mud-switch .mud-typography {
        font-size: 12px !important;
        color: #0e6f6a !important;
        font-weight: 500 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
    }
    .refine-diff-counts[b-4ok825i7cc] {
        margin-left: auto;
        font-family: 'JetBrains Mono', ui-monospace, monospace;
        font-size: 10.5px;
        color: #7b869c;
    }
    .refine-diff-counts .ins[b-4ok825i7cc] { color: #166a3a; }
    .refine-diff-counts .del[b-4ok825i7cc] { color: #8a1f1f; }

    /* Thinking skeleton + bouncing dots (design screen 03). */
    .refine-loading-desktop[b-4ok825i7cc] { display: none; }
    .refine-loading-mobile[b-4ok825i7cc] {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .skel-lines[b-4ok825i7cc] { display: flex; flex-direction: column; gap: 10px; }
    .skel[b-4ok825i7cc] {
        height: 10px;
        border-radius: 6px;
        background: linear-gradient(90deg, #e6eef0 0%, #f2f8f7 50%, #e6eef0 100%);
        background-size: 200% 100%;
        animation: refine-shimmer-b-4ok825i7cc 1.4s linear infinite;
    }
    .writing-row[b-4ok825i7cc] {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-top: 4px;
    }
    .writing-text[b-4ok825i7cc] { font-size: 12px; color: #0e6f6a; }
    .writing-dots[b-4ok825i7cc] { display: inline-flex; gap: 4px; }
    .writing-dots span[b-4ok825i7cc] {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #1aa6a0;
        animation: refine-bounce-b-4ok825i7cc 1.1s infinite ease-in-out;
    }
    .writing-dots span:nth-child(2)[b-4ok825i7cc] { animation-delay: .14s; }
    .writing-dots span:nth-child(3)[b-4ok825i7cc] { animation-delay: .28s; }

    /* Apply button label swap: "Erstat markering" → "Erstat tekst". */
    .apply-label-desktop[b-4ok825i7cc] { display: none; }
    .apply-label-mobile[b-4ok825i7cc] { display: inline; }

    /* Compact the sticky edit toolbar (kept from the prior mobile pass). */
    .suggestion-edit-toolbar[b-4ok825i7cc] {
        padding: 6px 8px;
        gap: 6px;
        margin-bottom: 10px;
    }
    .edit-hint[b-4ok825i7cc] { display: none; }
    .edit-label[b-4ok825i7cc] { font-size: 11px; }
    .suggestion-edit-toolbar[b-4ok825i7cc]  .mud-icon-button {
        min-width: 32px !important;
        width: 32px !important;
        height: 32px !important;
    }
}

/* Shimmer + bounce for the mobile thinking state. Blazor scoped CSS leaves
   @keyframes names global, so these are prefixed to avoid collisions. */
@keyframes refine-shimmer-b-4ok825i7cc {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
@keyframes refine-bounce-b-4ok825i7cc {
    0%, 80%, 100% { transform: scale(.6); opacity: .4; }
    40% { transform: scale(1); opacity: 1; }
}
/* /Components/Pages/RecordComponents/Mobile/MobileJournalStep.razor.rz.scp.css */
.mobile-journal-step[b-ytu5hrsyca] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

/* ==========================================
   CONTENT WRAPPER — scopes processing overlay
   ========================================== */

.journal-content-wrapper[b-ytu5hrsyca] {
    flex: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* ==========================================
   JOURNAL STEP HEADER — title row + back button
   ========================================== */

/* Icon + Notat on a single flex row */
.journal-step-header[b-ytu5hrsyca] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
}

.journal-note-header-icon[b-ytu5hrsyca] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

/* Wrapper div gets the scope attribute, so this plain rule matches correctly */
.journal-back-button[b-ytu5hrsyca] {
    position: fixed;
    top: 6px;
    right: 8px;
    z-index: 200;
    display: flex;
    align-items: center;
}

/* AI icon + "Notat" title on a single flex row */
.journal-title-row[b-ytu5hrsyca] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px 4px;
}

/* ==========================================
   FLOATING ACTION BUTTONS
   ========================================== */

.journal-floating-actions[b-ytu5hrsyca] {
    padding: 12px 16px;
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

/* ==========================================
   PROCESSING STATE — full page skeleton
   ========================================== */

.processing-state[b-ytu5hrsyca] {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 20px;
    gap: 16px;
    background: transparent;
    transition: opacity 0.3s ease;
}

/* Hide journal body while overlay is active — keeps editor in DOM but invisible */
.processing-visible ~ .journal-body[b-ytu5hrsyca] {
    visibility: hidden;
}

/* Journal body only appears after overlay has finished fading out (delay = fade duration) */
.processing-hidden ~ .journal-body[b-ytu5hrsyca] {
    visibility: visible;
    transition: visibility 0s linear 0.3s;
}

.processing-visible[b-ytu5hrsyca] {
    opacity: 1;
    pointer-events: auto;
}

.processing-hidden[b-ytu5hrsyca] {
    opacity: 0;
    pointer-events: none;
}

.processing-header[b-ytu5hrsyca] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.processing-icon[b-ytu5hrsyca] {
    animation: pulse-glow-b-ytu5hrsyca 2s ease-in-out infinite;
    display: flex;
}

@keyframes pulse-glow-b-ytu5hrsyca {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.1); }
}

.skeleton-lines[b-ytu5hrsyca] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
}

.skeleton-line[b-ytu5hrsyca] {
    height: 14px;
    border-radius: 6px;
    background: linear-gradient(90deg,
        rgba(0, 0, 0, 0.06) 25%,
        rgba(0, 0, 0, 0.10) 50%,
        rgba(0, 0, 0, 0.06) 75%);
    background-size: 200% 100%;
    animation: shimmer-b-ytu5hrsyca 1.8s ease-in-out infinite;
    filter: blur(2px);
}

.skeleton-line-full[b-ytu5hrsyca] {
    width: 100%;
}

.skeleton-line-long[b-ytu5hrsyca] {
    width: 85%;
}

.skeleton-line-medium[b-ytu5hrsyca] {
    width: 60%;
}

@keyframes shimmer-b-ytu5hrsyca {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

:global(.mud-theme-dark) .skeleton-line[b-ytu5hrsyca] {
    background: linear-gradient(90deg,
        rgba(255, 255, 255, 0.06) 25%,
        rgba(255, 255, 255, 0.12) 50%,
        rgba(255, 255, 255, 0.06) 75%);
    background-size: 200% 100%;
}

@keyframes fade-in-b-ytu5hrsyca {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ==========================================
   JOURNAL BODY — full width, no chrome
   ========================================== */

.journal-body[b-ytu5hrsyca] {
    padding: 0 16px 24px;
    flex: 1;
    overflow-x: hidden;
    overflow-y: auto;
    min-height: 0;
}

/* Hide the generate button inside JournalEditorSection */
.journal-editor-wrapper[b-ytu5hrsyca]  > .mud-button-filled:first-child {
    display: none !important;
}

/* Hide the entire processing MudPaper inside JournalEditorSection (we show our own) */
.journal-editor-wrapper[b-ytu5hrsyca]  > .mud-paper:has(.mud-progress-circular) {
    display: none !important;
}

/* Strip ALL paper/card styling */
.journal-body[b-ytu5hrsyca]  .mud-paper {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Hide the "Journalnotat" heading */
.journal-body[b-ytu5hrsyca]  .mud-typography-h6 {
    display: none !important;
}

/* Hide edit hint */
.journal-body[b-ytu5hrsyca]  .edit-hint {
    display: none !important;
}

/* Hide copy button */
.journal-body[b-ytu5hrsyca]  .mud-button-filled-success {
    display: none !important;
}

/* EasyMDE — full width, no borders, no chrome */
.journal-body[b-ytu5hrsyca]  .EasyMDEContainer {
    border: none !important;
    border-radius: 0 !important;
}

.journal-body[b-ytu5hrsyca]  .EasyMDEContainer .CodeMirror {
    border: none !important;
    background: transparent !important;
    font-size: 15px;
    line-height: 1.75;
    color: var(--mud-palette-text-primary);
    padding: 0;
    height: auto !important;
}

.journal-body[b-ytu5hrsyca]  .CodeMirror-scroll {
    min-height: 0 !important;
    overflow: visible !important;
}

.journal-body[b-ytu5hrsyca]  .CodeMirror-gutters {
    background: transparent !important;
    border: none !important;
}

.journal-body[b-ytu5hrsyca]  .CodeMirror-scrollbar-filler,
.journal-body[b-ytu5hrsyca]  .CodeMirror-gutter-filler {
    background: transparent !important;
}

.journal-body[b-ytu5hrsyca]  .editor-preview {
    background: transparent !important;
    padding: 0 !important;
}

.journal-body[b-ytu5hrsyca]  .editor-toolbar {
    display: none !important;
}

.journal-body[b-ytu5hrsyca]  .editor-statusbar {
    display: none !important;
}

/* Quill editor overrides */
.journal-body[b-ytu5hrsyca]  .ql-container {
    border: none !important;
    font-size: 15px;
}

.journal-body[b-ytu5hrsyca]  .ql-editor {
    padding: 0;
    line-height: 1.75;
}

.journal-body[b-ytu5hrsyca]  .ql-toolbar {
    display: none !important;
}

/* Markdown textarea fallback */
.journal-body[b-ytu5hrsyca]  #markdown-journal-editor {
    min-height: auto !important;
    border: none !important;
    background: transparent !important;
    width: 100% !important;
}
/* /Components/Pages/RecordComponents/Mobile/MobileRecordingStep.razor.rz.scp.css */
.mobile-record-step[b-z7l9wmqmcz] {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 16px;
    overflow: hidden;
    animation: fade-up var(--duration-slow) var(--ease-out-expo);
}

.record-content[b-z7l9wmqmcz] {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 0;
}

.record-content-compact[b-z7l9wmqmcz] {
    justify-content: center;
}

.record-content[b-z7l9wmqmcz]  .mud-paper {
    background: transparent;
    box-shadow: none;
    width: 100%;
    max-width: 300px;
}

.transcribing-indicator[b-z7l9wmqmcz] {
    padding: 16px;
    text-align: center;
    animation: fade-up var(--duration-normal) var(--ease-out-expo);
}

.processing-indicator[b-z7l9wmqmcz] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    animation: fade-up var(--duration-normal) var(--ease-out-expo);
}

/* Continue/Generate Note button container */
.continue-button-container[b-z7l9wmqmcz] {
    padding: 8px 0 24px;
}

/* Primary action button - premium gradient style */
.continue-button-container[b-z7l9wmqmcz]  .mud-button-filled.mud-button-primary {
    background: var(--gradient-primary) !important;
    box-shadow: var(--shadow-primary) !important;
    border-radius: var(--radius-full) !important;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 12px 32px !important;
    min-height: 52px;
    transition: transform var(--duration-fast) var(--spring-bounce),
                box-shadow var(--duration-normal) var(--spring-smooth) !important;
}

.continue-button-container[b-z7l9wmqmcz]  .mud-button-filled.mud-button-primary:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 12px 32px rgba(6, 182, 212,0.45), 0 6px 12px rgba(0,0,0,0.15) !important;
}

.continue-button-container[b-z7l9wmqmcz]  .mud-button-filled.mud-button-primary:active {
    transform: scale(0.95);
    box-shadow: 0 4px 12px rgba(6, 182, 212,0.25), 0 2px 4px rgba(0,0,0,0.1) !important;
}

/* ==========================================
   Mobile Settings - tappable rows
   ========================================== */

.mobile-settings[b-z7l9wmqmcz] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0;
    animation: fade-up var(--duration-normal, 0.3s) var(--ease-out-expo, ease-out);
}

.setting-row-button[b-z7l9wmqmcz] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 12px;
    background: transparent;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: background var(--duration-fast) ease;
}

.setting-row-button:active:not(:disabled)[b-z7l9wmqmcz] {
    background: rgba(0, 0, 0, 0.04);
}

.setting-row-button:disabled[b-z7l9wmqmcz] {
    opacity: 0.45;
    cursor: default;
}

.setting-label[b-z7l9wmqmcz] {
    font-size: 13px;
    font-weight: 500;
    color: #64748B;
    white-space: nowrap;
    flex-shrink: 0;
    min-width: 72px;
    text-align: left;
}

.setting-value[b-z7l9wmqmcz] {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.setting-chevron[b-z7l9wmqmcz] {
    flex-shrink: 0;
    color: #94a3b8;
}

:global(.mud-theme-dark) .setting-label[b-z7l9wmqmcz] {
    color: #94a3b8;
}

:global(.mud-theme-dark) .setting-row-button:active:not(:disabled)[b-z7l9wmqmcz] {
    background: rgba(255, 255, 255, 0.06);
}

/* ==========================================
   Landscape phone — allow scrolling for short viewports
   ========================================== */

@media (max-height: 500px) and (orientation: landscape) {
    .mobile-record-step[b-z7l9wmqmcz] {
        overflow-y: auto;
    }

    .record-content[b-z7l9wmqmcz] {
        flex: 0 0 auto;
    }
}

/* Recording controls area styling */
.record-content[b-z7l9wmqmcz]  .recording-controls {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

/* Status text animations */
.record-content[b-z7l9wmqmcz]  .mud-typography {
    transition: opacity var(--duration-normal) ease;
}

/* Progress indicator styling */
.record-content[b-z7l9wmqmcz]  .mud-progress-circular {
    filter: drop-shadow(0 2px 4px rgba(6, 182, 212, 0.2));
}
/* /Components/Pages/RecordComponents/Mobile/MobileRecordLayout.razor.rz.scp.css */
.mobile-record-layout[b-zp0ts4gvvf] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    background: transparent;
    overflow: hidden;
}

.mobile-header[b-zp0ts4gvvf] {
    display: none; /* Hidden on mobile for cleaner recording UI */
    padding: 12px 16px;
    background: white;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.header-content[b-zp0ts4gvvf] {
    display: flex;
    align-items: center;
}

.step-content[b-zp0ts4gvvf] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0; /* Allow flex child to shrink below content size */
    padding-bottom: env(safe-area-inset-bottom, 0px); /* Account for safe area on notched devices */
}

/* Landscape phone — allow scrolling */
@media (max-height: 500px) and (orientation: landscape) {
    .step-content[b-zp0ts4gvvf] {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
}
/* /Components/Pages/RecordComponents/Mobile/MobileStepIndicator.razor.rz.scp.css */
.mobile-step-indicator[b-1qvaeehhcj] {
    display: none;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.step[b-1qvaeehhcj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 12px;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: all var(--duration-normal) var(--spring-smooth);
    border-radius: 12px;
    min-width: 70px;
    position: relative;
}

.step:disabled[b-1qvaeehhcj] {
    cursor: not-allowed;
    opacity: 0.4;
}

.step:not(:disabled):hover[b-1qvaeehhcj] {
    background: rgba(6, 182, 212, 0.08);
}

.step:not(:disabled):active[b-1qvaeehhcj] {
    transform: scale(var(--scale-pressed));
}

.step-icon[b-1qvaeehhcj] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #E2E8F0;
    color: #64748B;
    transition: all var(--duration-normal) var(--spring-smooth);
    position: relative;
}

/* Active step with pulsing ring animation */
.step.active .step-icon[b-1qvaeehhcj] {
    background: var(--gradient-primary);
    color: white;
    box-shadow: var(--shadow-primary);
}

/* Pulsing ring for active step */
.step.active .step-icon[b-1qvaeehhcj]::before {
    content: '';
    position: absolute;
    inset: -4px;
    border: 2px solid rgba(6, 182, 212, 0.4);
    border-radius: 50%;
    animation: pulse-ring 2s ease-out infinite;
}

/* Second pulse ring for more depth */
.step.active .step-icon[b-1qvaeehhcj]::after {
    content: '';
    position: absolute;
    inset: -4px;
    border: 2px solid rgba(6, 182, 212, 0.3);
    border-radius: 50%;
    animation: pulse-ring 2s ease-out infinite;
    animation-delay: 0.5s;
}

/* Completed step with pop-in animation */
.step.completed .step-icon[b-1qvaeehhcj] {
    background: var(--gradient-success);
    color: white;
    box-shadow: var(--shadow-success);
    animation: pop-in var(--duration-slow) var(--spring-bounce);
}

/* Subtle checkmark bounce when completed */
.step.completed .step-icon[b-1qvaeehhcj]  .mud-icon-root {
    animation: pop-in var(--duration-normal) var(--spring-bounce);
}

.step-label[b-1qvaeehhcj] {
    font-size: 0.7rem;
    font-weight: 500;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    transition: all var(--duration-normal) ease;
}

.step.active .step-label[b-1qvaeehhcj] {
    color: #06b6d4;
    font-weight: 600;
}

.step.completed .step-label[b-1qvaeehhcj] {
    color: #16A34A;
    font-weight: 600;
}

/* Step connector with animated fill */
.step-connector[b-1qvaeehhcj] {
    width: 32px;
    height: 3px;
    background: #E2E8F0;
    margin: 0 4px;
    margin-bottom: 20px;
    border-radius: 2px;
    transition: background var(--duration-slow) var(--spring-smooth);
    position: relative;
    overflow: hidden;
}

/* Animated fill for completed connector */
.step-connector.completed[b-1qvaeehhcj] {
    background: linear-gradient(90deg, #16A34A 0%, #22c55e 100%);
    box-shadow: 0 0 8px rgba(22, 163, 74, 0.3);
}

/* Connector fill animation overlay */
.step-connector.completed[b-1qvaeehhcj]::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.3) 50%,
        transparent 100%);
    animation: connector-fill 0.6s var(--ease-out-expo);
    background-size: 200% 100%;
}

/* In-progress connector (between active and next step) */
.step-connector.in-progress[b-1qvaeehhcj] {
    background: linear-gradient(90deg, #06b6d4 0%, #E2E8F0 50%);
    background-size: 200% 100%;
}
/* /Components/Pages/RecordComponents/TranscriptionSection.razor.rz.scp.css */
/* ==========================================
   Live Transcript Box
   ========================================== */

.transcript-box[b-4e6do9rkum] {
    width: 100%;
    min-height: 200px;
    max-height: 400px;
    overflow-y: auto;
    padding: 1rem;
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 8px;
    background: var(--color-surface, #f9fafb);
    font-size: 1rem;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
    margin-top: 0.75rem;
}

[b-4e6do9rkum] .mud-theme-dark .transcript-box,
:global(.mud-theme-dark) .transcript-box[b-4e6do9rkum] {
    background: rgba(30, 41, 59, 0.5);
    border-color: rgba(51, 65, 85, 0.5);
}

/* ==========================================
   Speaker Segments
   ========================================== */

.speaker-segment[b-4e6do9rkum] {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    margin-bottom: 0.4rem;
}

.speaker-segment.partial[b-4e6do9rkum] {
    color: #6b7280;
    font-style: italic;
}

.speaker-label[b-4e6do9rkum] {
    display: inline-block;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff;
    /* Slate-grey fallback so any speaker label that doesn't match the palette below
       still renders as a visible chip rather than white-on-white. */
    background: #64748b;
    white-space: nowrap;
    flex-shrink: 0;
    margin-top: 0.15rem;
}

.speaker-text[b-4e6do9rkum] {
    flex: 1;
}

/* Speaker colour palette */
.speaker-label.speaker-person-1[b-4e6do9rkum]  { background: #3b82f6; }
.speaker-label.speaker-person-2[b-4e6do9rkum]  { background: #10b981; }
.speaker-label.speaker-person-3[b-4e6do9rkum]  { background: #f59e0b; }
.speaker-label.speaker-person-4[b-4e6do9rkum]  { background: #8b5cf6; }
.speaker-label.speaker-person-5[b-4e6do9rkum]  { background: #ef4444; }
.speaker-label.speaker-person-6[b-4e6do9rkum]  { background: #ec4899; }
.speaker-label.speaker-person-7[b-4e6do9rkum]  { background: #14b8a6; }
.speaker-label.speaker-person-8[b-4e6do9rkum]  { background: #f97316; }
.speaker-label.speaker-person-9[b-4e6do9rkum]  { background: #6366f1; }
.speaker-label.speaker-person-10[b-4e6do9rkum] { background: #84cc16; }
.speaker-label.speaker-person-11[b-4e6do9rkum] { background: #e11d48; }
.speaker-label.speaker-person-12[b-4e6do9rkum] { background: #0891b2; }
.speaker-label.speaker-person-13[b-4e6do9rkum] { background: #a855f7; }
.speaker-label.speaker-person-14[b-4e6do9rkum] { background: #ea580c; }
.speaker-label.speaker-person-15[b-4e6do9rkum] { background: #059669; }
.speaker-label.speaker-person-16[b-4e6do9rkum] { background: #dc2626; }
.speaker-label.speaker-person-17[b-4e6do9rkum] { background: #2563eb; }
.speaker-label.speaker-person-18[b-4e6do9rkum] { background: #d97706; }
.speaker-label.speaker-person-19[b-4e6do9rkum] { background: #7c3aed; }
.speaker-label.speaker-person-20[b-4e6do9rkum] { background: #0d9488; }
.speaker-label.speaker-person-21[b-4e6do9rkum] { background: #be185d; }
.speaker-label.speaker-person-22[b-4e6do9rkum] { background: #65a30d; }
.speaker-label.speaker-person-23[b-4e6do9rkum] { background: #0284c7; }
.speaker-label.speaker-person-24[b-4e6do9rkum] { background: #c026d3; }
.speaker-label.speaker-person-25[b-4e6do9rkum] { background: #b45309; }
.speaker-label.speaker-person-26[b-4e6do9rkum] { background: #4f46e5; }
.speaker-label.speaker-person-27[b-4e6do9rkum] { background: #16a34a; }
.speaker-label.speaker-person-28[b-4e6do9rkum] { background: #e11d48; }
.speaker-label.speaker-person-29[b-4e6do9rkum] { background: #0e7490; }
.speaker-label.speaker-person-30[b-4e6do9rkum] { background: #9333ea; }
.speaker-label.speaker-person-31[b-4e6do9rkum] { background: #c2410c; }
.speaker-label.speaker-person-32[b-4e6do9rkum] { background: #047857; }
.speaker-label.speaker-person-33[b-4e6do9rkum] { background: #db2777; }
.speaker-label.speaker-person-34[b-4e6do9rkum] { background: #1d4ed8; }
.speaker-label.speaker-person-35[b-4e6do9rkum] { background: #a16207; }
.speaker-label.speaker-person-36[b-4e6do9rkum] { background: #6d28d9; }
.speaker-label.speaker-person-37[b-4e6do9rkum] { background: #0f766e; }
.speaker-label.speaker-person-38[b-4e6do9rkum] { background: #9f1239; }
.speaker-label.speaker-person-39[b-4e6do9rkum] { background: #4d7c0f; }
.speaker-label.speaker-person-40[b-4e6do9rkum] { background: #1e40af; }
.speaker-label.speaker-person-41[b-4e6do9rkum] { background: #a21caf; }
.speaker-label.speaker-person-42[b-4e6do9rkum] { background: #92400e; }
.speaker-label.speaker-person-43[b-4e6do9rkum] { background: #3730a3; }
.speaker-label.speaker-person-44[b-4e6do9rkum] { background: #15803d; }
.speaker-label.speaker-person-45[b-4e6do9rkum] { background: #b91c1c; }
.speaker-label.speaker-person-46[b-4e6do9rkum] { background: #155e75; }
.speaker-label.speaker-person-47[b-4e6do9rkum] { background: #86198f; }
.speaker-label.speaker-person-48[b-4e6do9rkum] { background: #9a3412; }
.speaker-label.speaker-person-49[b-4e6do9rkum] { background: #1e3a8a; }
.speaker-label.speaker-person-50[b-4e6do9rkum] { background: #166534; }
.speaker-label.speaker-uu[b-4e6do9rkum] { background: #9ca3af; }
/* /Components/Pages/Shop/Checkout.razor.rz.scp.css */
.checkout-layout[b-wq5xv62r20] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100vh;
    background: #fff;
    color: #1a1f36;
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
}

@media (max-width: 880px) {
    .checkout-layout[b-wq5xv62r20] {
        grid-template-columns: 1fr;
    }
}

/* LEFT — order summary */
.checkout-summary[b-wq5xv62r20] {
    background: #f7f9fc;
    border-right: 1px solid #e3e8ee;
    padding: 56px 7vw 56px 8vw;
    display: flex;
    flex-direction: column;
}

@media (max-width: 1180px) {
    .checkout-summary[b-wq5xv62r20] { padding: 48px; }
}

@media (max-width: 880px) {
    .checkout-summary[b-wq5xv62r20] {
        padding: 32px 28px;
        border-right: 0;
        border-bottom: 1px solid #e3e8ee;
    }
}

.checkout-merchant[b-wq5xv62r20] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 36px;
    text-decoration: none;
    color: #425466;
    font-size: 13px;
    font-weight: 500;
}

.checkout-merchant-mark[b-wq5xv62r20] {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    background: #0fa5a3;
    display: grid;
    place-items: center;
    color: #fff;
}

.checkout-merchant strong[b-wq5xv62r20] {
    color: #1a1f36;
    font-weight: 700;
    font-size: 14px;
}

.checkout-pay-line[b-wq5xv62r20] {
    font-size: 15px;
    color: #697386;
    margin-bottom: 4px;
}

.checkout-pay-amount[b-wq5xv62r20] {
    font-family: 'Manrope', sans-serif;
    font-size: 38px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #1a1f36;
    margin-bottom: 36px;
}

.checkout-item-row[b-wq5xv62r20] {
    display: grid;
    grid-template-columns: 60px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 18px 0;
}

.checkout-item-img[b-wq5xv62r20] {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    background: linear-gradient(150deg, #ffffff, #f0ece2);
    border: 1px solid #e3e8ee;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.checkout-item-img img[b-wq5xv62r20] {
    width: 90%;
    height: 90%;
    object-fit: contain;
}

.checkout-item-name[b-wq5xv62r20] {
    font-size: 14px;
    font-weight: 500;
    color: #1a1f36;
}

.checkout-item-qty[b-wq5xv62r20] {
    font-size: 12.5px;
    color: #697386;
    margin-top: 2px;
}

.checkout-item-price[b-wq5xv62r20] {
    font-size: 14px;
    font-weight: 500;
    color: #1a1f36;
    white-space: nowrap;
}

.checkout-totals[b-wq5xv62r20] {
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid #e3e8ee;
}

.checkout-total-row[b-wq5xv62r20] {
    display: flex;
    justify-content: space-between;
    font-size: 13.5px;
    color: #697386;
    padding: 5px 0;
}

.checkout-free[b-wq5xv62r20] { color: #16924f; }

.checkout-total-row.final[b-wq5xv62r20] {
    margin-top: 8px;
    padding-top: 14px;
    border-top: 1px solid #e3e8ee;
    color: #1a1f36;
    font-size: 15px;
    font-weight: 600;
}

.checkout-due[b-wq5xv62r20] {
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    font-weight: 700;
}

.checkout-summary-foot[b-wq5xv62r20] {
    margin-top: auto;
    padding-top: 32px;
    font-size: 11.5px;
    color: #8898aa;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* RIGHT — payment form */
.checkout-pay[b-wq5xv62r20] {
    padding: 56px 7vw;
    max-width: 540px;
}

@media (max-width: 1180px) {
    .checkout-pay[b-wq5xv62r20] { padding: 48px 40px; }
}

@media (max-width: 880px) {
    .checkout-pay[b-wq5xv62r20] { padding: 32px 28px; }
}

.checkout-pay h2[b-wq5xv62r20] {
    font-size: 17px;
    font-weight: 600;
    color: #1a1f36;
    margin: 0 0 18px;
}

.checkout-express[b-wq5xv62r20] { margin-bottom: 18px; }

.checkout-apple-pay[b-wq5xv62r20] {
    width: 100%;
    height: 44px;
    border-radius: 6px;
    background: #000;
    color: #fff;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
    font-size: 15px;
    font-weight: 500;
    border: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    transition: opacity 0.15s;
}

.checkout-apple-pay:hover[b-wq5xv62r20] { opacity: 0.85; }
.checkout-apple-pay svg[b-wq5xv62r20] { fill: #fff; }

.checkout-or[b-wq5xv62r20] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 22px 0 18px;
    font-size: 12px;
    color: #8898aa;
}

.checkout-or[b-wq5xv62r20]::before, .checkout-or[b-wq5xv62r20]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e3e8ee;
}

.checkout-field[b-wq5xv62r20] { margin-bottom: 14px; }

.checkout-label[b-wq5xv62r20] {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #1a1f36;
    margin-bottom: 6px;
}

.checkout-input[b-wq5xv62r20] {
    width: 100%;
    height: 44px;
    border-radius: 6px;
    border: 1px solid #e0e6eb;
    background: #fff;
    padding: 0 12px;
    font-family: inherit;
    font-size: 15px;
    color: #1a1f36;
    transition: border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
}

.checkout-input:hover[b-wq5xv62r20] { border-color: #d4dbe1; }
.checkout-input:focus[b-wq5xv62r20] {
    outline: none;
    border-color: #635bff;
    box-shadow: 0 0 0 3px rgba(99, 91, 255, 0.18);
}

.checkout-input[b-wq5xv62r20]::placeholder { color: #aab7c4; }

.checkout-mt8[b-wq5xv62r20] { margin-top: 8px; }

.checkout-card-group[b-wq5xv62r20] {
    border: 1px solid #e0e6eb;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.checkout-card-group:focus-within[b-wq5xv62r20] {
    border-color: #635bff;
    box-shadow: 0 0 0 3px rgba(99, 91, 255, 0.18);
}

.checkout-card-group .checkout-input[b-wq5xv62r20] {
    border: 0;
    border-radius: 0;
    height: 44px;
}

.checkout-card-group .checkout-input:focus[b-wq5xv62r20] { box-shadow: none; }

.checkout-with-icon[b-wq5xv62r20] { padding-right: 80px !important; }

.checkout-card-row[b-wq5xv62r20] {
    display: flex;
    border-top: 1px solid #e0e6eb;
}

.checkout-card-row .checkout-input + .checkout-input[b-wq5xv62r20] {
    border-left: 1px solid #e0e6eb;
}

.checkout-card-num-wrap[b-wq5xv62r20] { position: relative; }

.checkout-card-icons[b-wq5xv62r20] {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 4px;
    pointer-events: none;
}

.checkout-card-icon[b-wq5xv62r20] {
    width: 28px;
    height: 18px;
    border-radius: 3px;
    background: #f0eee9;
    display: grid;
    place-items: center;
    font-size: 9px;
    font-weight: 700;
    color: #3a4149;
    letter-spacing: 0.04em;
}

.checkout-card-icon.visa[b-wq5xv62r20] { background: #1a1f71; color: #fff; }

.checkout-card-icon.mc[b-wq5xv62r20] {
    background: linear-gradient(90deg, #eb001b 50%, #f79e1b 50%);
    color: transparent;
}

.checkout-row-2[b-wq5xv62r20] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.checkout-pay-btn[b-wq5xv62r20] {
    width: 100%;
    height: 44px;
    border-radius: 6px;
    background: #635bff;
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.005em;
    border: 0;
    cursor: pointer;
    margin-top: 22px;
    transition: background 0.15s, transform 0.05s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.checkout-pay-btn:hover:not(:disabled)[b-wq5xv62r20] { background: #5249ec; }
.checkout-pay-btn:active[b-wq5xv62r20] { transform: translateY(1px); }
.checkout-pay-btn:disabled[b-wq5xv62r20] { background: #c1c5cb; cursor: not-allowed; }

.checkout-spinner[b-wq5xv62r20] {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: checkout-spin-b-wq5xv62r20 0.7s linear infinite;
}

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

.checkout-powered[b-wq5xv62r20] {
    margin-top: 24px;
    font-size: 11.5px;
    color: #8898aa;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
}

.checkout-powered b[b-wq5xv62r20] {
    color: #635bff;
    font-family: 'Manrope', sans-serif;
    font-weight: 700;
    letter-spacing: -0.01em;
}

/* Success overlay */
.checkout-success[b-wq5xv62r20] {
    position: fixed;
    inset: 0;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    animation: checkout-fade-b-wq5xv62r20 0.3s ease;
}

@keyframes checkout-fade-b-wq5xv62r20 {
    from { opacity: 0; }
    to { opacity: 1; }
}

.checkout-success-card[b-wq5xv62r20] {
    text-align: center;
    max-width: 380px;
    padding: 32px;
}

.checkout-success-check[b-wq5xv62r20] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #d8f5e3;
    color: #16924f;
    display: grid;
    place-items: center;
    margin: 0 auto 20px;
    animation: checkout-pop-b-wq5xv62r20 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes checkout-pop-b-wq5xv62r20 {
    0% { transform: scale(0); }
    100% { transform: scale(1); }
}

.checkout-success-card h3[b-wq5xv62r20] {
    font-family: 'Manrope', sans-serif;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0 0 8px;
    color: #1a1f36;
}

.checkout-success-card p[b-wq5xv62r20] {
    color: #697386;
    font-size: 14px;
    margin: 0 0 24px;
    line-height: 1.5;
}

.checkout-return[b-wq5xv62r20] {
    display: inline-block;
    background: #1a1f36;
    color: #fff;
    text-decoration: none;
    padding: 11px 22px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
}
/* /Components/Pages/Shop/Microphone.razor.rz.scp.css */
.shop-page[b-22kwa334gj] {
    background: #f7f6f2;
    color: #121417;
    min-height: 100vh;
    font-family: 'Manrope', ui-sans-serif, system-ui, sans-serif;
}

/* Top bar */
.shop-topbar[b-22kwa334gj] {
    height: 60px;
    background: #fff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    padding: 0 32px;
    position: sticky;
    top: 0;
    z-index: 10;
}

.shop-brand[b-22kwa334gj] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    letter-spacing: -0.01em;
    font-size: 16px;
    text-decoration: none;
    color: #121417;
}

.shop-brand-mark[b-22kwa334gj] {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    background: #0fa5a3;
    display: grid;
    place-items: center;
    color: #fff;
}

.shop-crumb[b-22kwa334gj] {
    margin-left: 18px;
    font-size: 13px;
    color: #6b727a;
}

.shop-crumb a[b-22kwa334gj] {
    text-decoration: none;
    color: inherit;
}

.shop-crumb a:hover[b-22kwa334gj] {
    color: #0fa5a3;
}

.shop-crumb-sep[b-22kwa334gj] {
    margin: 0 8px;
    color: #c1c5cb;
}

.shop-top-actions[b-22kwa334gj] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 13px;
    color: #3a4149;
}

.shop-pill[b-22kwa334gj] {
    padding: 6px 14px;
    border-radius: 999px;
    background: #f0eee9;
    font-weight: 600;
    font-size: 12px;
}

/* Layout */
.shop-content[b-22kwa334gj] {
    max-width: 1180px;
    margin: 0 auto;
    padding: 36px 32px 80px;
}

.shop-grid[b-22kwa334gj] {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 56px;
    align-items: start;
}

@media (max-width: 880px) {
    .shop-grid[b-22kwa334gj] {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

/* Gallery */
.shop-hero-img[b-22kwa334gj] {
    background: linear-gradient(150deg, #fafaf6 0%, #f0ece2 100%);
    border-radius: 18px;
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.04);
    position: relative;
}

.shop-hero-img img[b-22kwa334gj] {
    width: 86%;
    height: 86%;
    object-fit: contain;
}

.shop-accent[b-22kwa334gj] {
    position: absolute;
    bottom: 16px;
    left: 18px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: #6b727a;
    background: rgba(255, 255, 255, 0.7);
    padding: 6px 10px;
    border-radius: 999px;
    backdrop-filter: blur(6px);
}

.shop-thumbs[b-22kwa334gj] {
    margin-top: 12px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.shop-thumb[b-22kwa334gj] {
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    background: #f0ece2;
    border: 1px solid rgba(0, 0, 0, 0.05);
    display: grid;
    place-items: center;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.15s, transform 0.15s;
}

.shop-thumb img[b-22kwa334gj] {
    width: 80%;
    height: 80%;
    object-fit: contain;
    opacity: 0.92;
}

.shop-thumb.active[b-22kwa334gj] {
    border-color: #0fa5a3;
    box-shadow: 0 0 0 3px rgba(15, 165, 163, 0.18);
}

/* Detail */
.shop-eyebrow[b-22kwa334gj] {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #0fa5a3;
}

h1.shop-title[b-22kwa334gj] {
    font-size: 38px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 700;
    margin: 8px 0 12px;
}

.shop-tagline[b-22kwa334gj] {
    font-size: 16px;
    line-height: 1.5;
    color: #3a4149;
    margin: 0 0 20px;
    max-width: 48ch;
}

.shop-rating[b-22kwa334gj] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #3a4149;
    margin-bottom: 18px;
}

.shop-stars[b-22kwa334gj] {
    color: #e0a810;
    letter-spacing: 1px;
}

.shop-rating strong[b-22kwa334gj] {
    color: #121417;
    font-weight: 700;
}

.shop-price-row[b-22kwa334gj] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 18px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    margin-bottom: 22px;
}

.shop-price[b-22kwa334gj] {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.shop-price-sub[b-22kwa334gj] {
    font-size: 13px;
    color: #6b727a;
}

.shop-stock[b-22kwa334gj] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: #16924f;
    font-weight: 600;
    margin-bottom: 16px;
}

.shop-stock-dot[b-22kwa334gj] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #16924f;
    box-shadow: 0 0 0 3px rgba(22, 146, 79, 0.18);
}

.shop-features[b-22kwa334gj] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 18px;
    margin: 0 0 24px;
}

.shop-feat[b-22kwa334gj] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 1.45;
    color: #3a4149;
}

.shop-feat .shop-check[b-22kwa334gj] {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #e6f6ec;
    color: #16924f;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.shop-feat strong[b-22kwa334gj] {
    color: #121417;
    font-weight: 600;
}

/* Buy row */
.shop-buy-row[b-22kwa334gj] {
    display: flex;
    gap: 14px;
    align-items: stretch;
    margin-bottom: 16px;
}

.shop-qty[b-22kwa334gj] {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(0, 0, 0, 0.14);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.shop-qty button[b-22kwa334gj] {
    width: 44px;
    height: 52px;
    background: #fff;
    border: 0;
    font-family: inherit;
    font-size: 22px;
    font-weight: 500;
    color: #3a4149;
    cursor: pointer;
    transition: background 0.12s;
}

.shop-qty button:hover:not(:disabled)[b-22kwa334gj] {
    background: #f7f6f2;
}

.shop-qty button:disabled[b-22kwa334gj] {
    color: #c1c5cb;
    cursor: not-allowed;
}

.shop-qty input[b-22kwa334gj] {
    width: 56px;
    height: 52px;
    border: 0;
    border-left: 1px solid rgba(0, 0, 0, 0.08);
    border-right: 1px solid rgba(0, 0, 0, 0.08);
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    background: #fff;
    color: #121417;
}

.shop-qty input:focus[b-22kwa334gj] {
    outline: none;
    background: #fafaf6;
}

.shop-buy-btn[b-22kwa334gj] {
    flex: 1;
    height: 52px;
    background: #0fa5a3;
    color: #fff;
    border: 0;
    border-radius: 12px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.005em;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 8px 24px -6px rgba(15, 165, 163, 0.45),
                inset 0 1px 0 rgba(255, 255, 255, 0.25);
    transition: background 0.15s, transform 0.1s;
}

.shop-buy-btn:hover[b-22kwa334gj] {
    background: #0b8583;
}

.shop-buy-btn:active[b-22kwa334gj] {
    transform: translateY(1px);
}

.shop-buy-total[b-22kwa334gj] {
    font-size: 13px;
    font-weight: 500;
    opacity: 0.9;
    margin-left: 4px;
    padding-left: 10px;
    border-left: 1px solid rgba(255, 255, 255, 0.25);
}

.shop-meta[b-22kwa334gj] {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    font-size: 12.5px;
    color: #6b727a;
    margin-top: 16px;
}

.shop-meta span[b-22kwa334gj] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.shop-meta svg[b-22kwa334gj] {
    width: 14px;
    height: 14px;
}

/* Feature gallery band */
.shop-features-band[b-22kwa334gj] {
    margin-top: 64px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

@media (max-width: 880px) {
    .shop-features-band[b-22kwa334gj] {
        grid-template-columns: 1fr;
    }
}

.shop-feat-card[b-22kwa334gj] {
    background: #fff;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.shop-feat-img[b-22kwa334gj] {
    aspect-ratio: 1 / 1;
    background: linear-gradient(150deg, #fafaf6 0%, #f0ece2 100%);
    display: grid;
    place-items: center;
    overflow: hidden;
}

.shop-feat-img img[b-22kwa334gj] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.shop-feat-meta[b-22kwa334gj] {
    padding: 18px 22px 22px;
}

.shop-feat-meta h3[b-22kwa334gj] {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.shop-feat-meta p[b-22kwa334gj] {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #6b727a;
}

/* Specs */
.shop-specs[b-22kwa334gj] {
    margin-top: 64px;
    background: #fff;
    border-radius: 18px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    padding: 32px 40px;
}

.shop-specs h2[b-22kwa334gj] {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0 0 18px;
    color: #6b727a;
}

.shop-specs dl[b-22kwa334gj] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px 32px;
    margin: 0;
}

@media (max-width: 700px) {
    .shop-specs dl[b-22kwa334gj] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.shop-specs dt[b-22kwa334gj] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #a4a9b0;
    margin-bottom: 4px;
}

.shop-specs dd[b-22kwa334gj] {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #121417;
}
/* /Components/Pages/Speechmatics/Recorder.razor.rz.scp.css */
/* ==========================================
   Audio Recording Section Layout
   ========================================== */

.audio-recording-section[b-rf1vqhm9k5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    min-height: 100%;
}

.audio-recording-section.mobile[b-rf1vqhm9k5] {
    padding: 0;
    justify-content: flex-start;
    min-height: 0;
}

.audio-recording-section.mobile .recording-content[b-rf1vqhm9k5] {
    justify-content: flex-start;
    flex: 0;
}

.audio-recording-section.mobile .recording-header[b-rf1vqhm9k5] {
    margin-bottom: 1rem;
}

.audio-recording-section.desktop[b-rf1vqhm9k5] {
    padding: 1rem;
}

.recording-status-container[b-rf1vqhm9k5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 2rem;
}

.status-text[b-rf1vqhm9k5] {
    color: var(--color-text-secondary, #64748b);
    font-size: 0.875rem;
}

.error-alert[b-rf1vqhm9k5] {
    max-width: 24rem;
    margin: 1rem auto;
}

.recording-content[b-rf1vqhm9k5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    flex: 1;
}

/* State containers */
.idle-state[b-rf1vqhm9k5],
.recording-state[b-rf1vqhm9k5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.recording-state[b-rf1vqhm9k5] {
    padding-bottom: 2rem;
}

/* Recording header with title and subtitle */
.recording-header[b-rf1vqhm9k5] {
    text-align: center;
    margin-bottom: 1.5rem;
    animation: fade-up-b-rf1vqhm9k5 0.3s ease-out;
}

.recording-title[b-rf1vqhm9k5] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--color-text-primary, #1e293b);
    margin: 0 0 0.5rem 0;
    letter-spacing: -0.01em;
}

.recording-subtitle[b-rf1vqhm9k5] {
    font-size: 0.875rem;
    color: var(--color-text-tertiary, #64748b);
    margin: 0;
}

/* ==========================================
   Recording Indicator (red dot + label)
   ========================================== */

.recording-indicator[b-rf1vqhm9k5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.recording-dot[b-rf1vqhm9k5] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ef4444;
    animation: pulse-dot-b-rf1vqhm9k5 1.5s ease-in-out infinite;
}

@keyframes pulse-dot-b-rf1vqhm9k5 {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

.recording-label[b-rf1vqhm9k5] {
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #ef4444;
}

/* ==========================================
   Timer Display
   ========================================== */

.timer-display[b-rf1vqhm9k5] {
    font-size: 3rem;
    font-weight: 300;
    font-family: 'Inter', monospace;
    letter-spacing: 0.1em;
    color: var(--color-text-primary, #1e293b);
    margin: 0;
}

:global(.mud-theme-dark) .timer-display[b-rf1vqhm9k5] {
    color: #f1f5f9;
}

/* ==========================================
   Language Badge
   ========================================== */

.language-badge[b-rf1vqhm9k5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    margin-top: 1.5rem;
    border-radius: 9999px;
    background: var(--color-surface, #ffffff);
    border: 1px solid var(--color-border, #e5e7eb);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.language-badge-flag[b-rf1vqhm9k5] {
    width: 20px;
    object-fit: cover;
    border-radius: 2px;
}

.language-badge-text[b-rf1vqhm9k5] {
    font-size: 0.875rem;
    color: var(--color-text-secondary, #475569);
}

:global(.mud-theme-dark) .language-badge[b-rf1vqhm9k5] {
    background: rgba(30, 41, 59, 0.8);
    border-color: rgba(51, 65, 85, 0.5);
}

:global(.mud-theme-dark) .language-badge-text[b-rf1vqhm9k5] {
    color: #94a3b8;
}

/* ==========================================
   Animations
   ========================================== */

.animate-fade-in[b-rf1vqhm9k5] {
    animation: fadeIn-b-rf1vqhm9k5 0.4s ease-out;
}

@keyframes fadeIn-b-rf1vqhm9k5 {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fade-up-b-rf1vqhm9k5 {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Dark mode support */
:global(.mud-theme-dark) .recording-title[b-rf1vqhm9k5] {
    color: #f1f5f9;
}

:global(.mud-theme-dark) .recording-subtitle[b-rf1vqhm9k5] {
    color: #94a3b8;
}

:global(.mud-theme-dark) .status-text[b-rf1vqhm9k5] {
    color: #94a3b8;
}

/* ==========================================
   Premium Hero Record Button Styles
   ========================================== */

.hero-record-button-container[b-rf1vqhm9k5] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 30px;
}

.hero-record-button-container--mobile[b-rf1vqhm9k5] {
    padding: 20px;
}

.hero-record-button-wrapper[b-rf1vqhm9k5] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-record-button[b-rf1vqhm9k5] {
    position: relative;
    z-index: 2;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
                box-shadow 0.3s ease,
                background 0.3s ease;
    width: 80px;
    height: 80px;
    background: linear-gradient(145deg, #06b6d4 0%, #14b8a6 100%);
    box-shadow: 0 10px 30px rgba(6, 182, 212, 0.4),
                0 6px 12px rgba(0, 0, 0, 0.15);
    will-change: transform, box-shadow;
}

.hero-record-button--mobile[b-rf1vqhm9k5] {
    width: 128px;
    height: 128px;
}

.mic-icon[b-rf1vqhm9k5] {
    width: 48px;
    height: 48px;
    fill: white;
}

.stop-icon[b-rf1vqhm9k5] {
    width: 40px;
    height: 40px;
    background: white;
    border-radius: 8px;
}

.hero-record-button--idle[b-rf1vqhm9k5] {
    background: linear-gradient(145deg, #06b6d4 0%, #14b8a6 100%);
    box-shadow: 0 10px 30px rgba(6, 182, 212, 0.4),
                0 6px 12px rgba(0, 0, 0, 0.15);
}

.hero-record-button--recording[b-rf1vqhm9k5] {
    background: linear-gradient(145deg, #ef4444 0%, #dc2626 100%);
    box-shadow: 0 10px 30px rgba(239, 68, 68, 0.4),
                0 6px 12px rgba(0, 0, 0, 0.15);
}

.hero-record-button:active:not(:disabled)[b-rf1vqhm9k5] {
    transform: scale(0.95);
    transition: transform 0.1s ease;
}

.hero-record-button:hover:not(:disabled):not(:active)[b-rf1vqhm9k5] {
    transform: scale(1.05);
    box-shadow: 0 12px 36px rgba(6, 182, 212, 0.5),
                0 8px 16px rgba(0, 0, 0, 0.18);
}

.hero-record-button--recording:hover:not(:disabled):not(:active)[b-rf1vqhm9k5] {
    box-shadow: 0 12px 36px rgba(239, 68, 68, 0.5),
                0 8px 16px rgba(0, 0, 0, 0.18);
}

.hero-record-button:focus-visible[b-rf1vqhm9k5] {
    outline: 3px solid rgba(6, 182, 212, 0.5);
    outline-offset: 4px;
}

.hero-record-button:disabled[b-rf1vqhm9k5] {
    opacity: 0.5;
    cursor: not-allowed;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* ==========================================
   Pulse Ring Animations (Recording State)
   ========================================== */

.pulse-ring[b-rf1vqhm9k5] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 2px solid rgba(6, 182, 212, 0.3);
    pointer-events: none;
    z-index: 1;
    will-change: transform, opacity;
}

.pulse-ring-1[b-rf1vqhm9k5] {
    width: 100px;
    height: 100px;
    animation: pulse-ring-b-rf1vqhm9k5 2s ease-out infinite;
}

.pulse-ring-2[b-rf1vqhm9k5] {
    width: 140px;
    height: 140px;
    animation: pulse-ring-b-rf1vqhm9k5 2s ease-out infinite 0.3s;
}

.pulse-ring-3[b-rf1vqhm9k5] {
    width: 180px;
    height: 180px;
    animation: pulse-ring-b-rf1vqhm9k5 2s ease-out infinite 0.6s;
}

.hero-record-button-container--mobile .pulse-ring-1[b-rf1vqhm9k5] {
    width: 168px;
    height: 168px;
}

.hero-record-button-container--mobile .pulse-ring-2[b-rf1vqhm9k5] {
    width: 208px;
    height: 208px;
}

.hero-record-button-container--mobile .pulse-ring-3[b-rf1vqhm9k5] {
    width: 248px;
    height: 248px;
}

@keyframes pulse-ring-b-rf1vqhm9k5 {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.6;
    }
    100% {
        transform: translate(-50%, -50%) scale(1.5);
        opacity: 0;
    }
}

/* ==========================================
   Reduced Motion Support
   ========================================== */

@media (prefers-reduced-motion: reduce) {
    .hero-record-button[b-rf1vqhm9k5] {
        transition: none;
    }

    .pulse-ring[b-rf1vqhm9k5] {
        animation: none;
        opacity: 0.3;
        transform: translate(-50%, -50%) scale(1.3);
    }

    .hero-record-button:active:not(:disabled)[b-rf1vqhm9k5] {
        transform: scale(0.98);
    }
}

/* ==========================================
   Mode Toggle Button Group
   ========================================== */

.mode-toggle-group[b-rf1vqhm9k5] {
    margin: 12px 0;
}

[b-rf1vqhm9k5] .mode-toggle-btn {
    min-width: 140px;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: none;
    letter-spacing: 0;
    padding: 14px 28px;
    border-radius: 0;
}

[b-rf1vqhm9k5] .mode-toggle-btn:first-child {
    border-radius: 12px 0 0 12px;
}

[b-rf1vqhm9k5] .mode-toggle-btn:last-child {
    border-radius: 0 12px 12px 0;
}

/* Connection status alert animation */
.connection-alert[b-rf1vqhm9k5] {
    animation: slideDown-b-rf1vqhm9k5 0.3s ease-out;
}

@keyframes slideDown-b-rf1vqhm9k5 {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}


.mic-status-chip-row[b-rf1vqhm9k5] {
    display: flex;
    justify-content: center;
    margin-top: 12px;
}
/* /Components/Shared/Admin/MobileAdminCard.razor.rz.scp.css */
.mobile-admin-card[b-s98vgrrthy] {
    margin-bottom: 8px;
    border-radius: 12px;
}

.mobile-admin-card.deleted[b-s98vgrrthy] {
    opacity: 0.6;
    background-color: var(--mud-palette-action-disabled-background);
}

.mobile-card-header[b-s98vgrrthy] {
    margin-bottom: 8px;
}

.mobile-card-body[b-s98vgrrthy] {
    font-size: 0.875rem;
    color: var(--mud-palette-text-secondary);
}

[b-s98vgrrthy] .mobile-card-body .field-label {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

[b-s98vgrrthy] .mobile-card-body .field-value {
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    margin-bottom: 8px;
}

[b-s98vgrrthy] .mobile-card-body .field-row {
    display: flex;
    flex-direction: column;
    margin-bottom: 8px;
}

[b-s98vgrrthy] .mobile-card-body .field-row:last-child {
    margin-bottom: 0;
}

.mobile-card-actions[b-s98vgrrthy] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 4px;
    border-top: 1px solid var(--mud-palette-divider);
}

[b-s98vgrrthy] .mobile-card-actions .mud-icon-button {
    min-width: 44px;
    min-height: 44px;
}
/* /Components/Shared/MicrophoneTest/MicrophoneTestDialog.razor.rz.scp.css */
/* ── Mic test dialog: full wizard redesign ─────────────────────────────── */
/* CSS custom properties (--mt-*) and the .mic-test-dialog wrapper rules
   live in app.css — scoped CSS can't reach the .mic-test-dialog element
   itself because MudDialog renders it outside this component's scope. */

.mic-card-head[b-88tutqke6f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.mic-brand[b-88tutqke6f] {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--mt-ink-3);
    font-size: 13px;
    letter-spacing: 0.02em;
}

.mic-brand-dot[b-88tutqke6f] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mt-accent);
    box-shadow: 0 0 0 4px rgba(6, 182, 212, 0.18);
}

.mic-close-x[b-88tutqke6f] {
    appearance: none;
    border: 0;
    background: transparent;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    color: var(--mt-ink-3);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: background 0.15s, color 0.15s;
    padding: 0;
}

.mic-close-x:hover[b-88tutqke6f] {
    background: var(--mt-line);
    color: var(--mt-ink);
}

/* Stepper */
.mic-stepper[b-88tutqke6f] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 22px;
}

.mic-step[b-88tutqke6f] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--mt-ink-3);
}

.mic-step-dot[b-88tutqke6f] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 11px;
    font-weight: 600;
    color: var(--mt-ink-3);
    background: var(--mt-line);
    transition: background 0.3s, color 0.3s;
    flex-shrink: 0;
}

.mic-step.active .mic-step-dot[b-88tutqke6f] {
    background: var(--mt-accent);
    color: #fff;
}

.mic-step.active[b-88tutqke6f] {
    color: var(--mt-ink);
    font-weight: 500;
}

.mic-step.done .mic-step-dot[b-88tutqke6f] {
    background: rgba(6, 182, 212, 0.15);
    color: var(--mt-accent);
}

.mic-step.done[b-88tutqke6f] {
    color: var(--mt-ink-2);
}

.mic-step-line[b-88tutqke6f] {
    flex: 1;
    height: 1px;
    background: var(--mt-line);
    position: relative;
    overflow: hidden;
}

.mic-step-line.fill[b-88tutqke6f]::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(6, 182, 212, 0.35);
}

.mic-card-pad[b-88tutqke6f] {
    min-height: 280px;
}

.mic-card-foot[b-88tutqke6f] {
    width: 100%;
    padding: 16px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

/* Buttons */
.mic-btn[b-88tutqke6f] {
    appearance: none;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.005em;
    padding: 10px 20px;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, transform 0.1s, box-shadow 0.15s, border-color 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid transparent;
    line-height: 1.2;
}

.mic-btn:active:not(:disabled)[b-88tutqke6f] {
    transform: translateY(0.5px);
}

.mic-btn:disabled[b-88tutqke6f] {
    cursor: not-allowed;
    opacity: 0.5;
}

.mic-btn-primary[b-88tutqke6f] {
    background: var(--mt-accent);
    color: #fff;
    border-color: var(--mt-accent);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset,
                0 8px 20px -6px rgba(6, 182, 212, 0.55);
}

.mic-btn-primary:hover:not(:disabled)[b-88tutqke6f] {
    background: var(--mt-accent-deep);
    border-color: var(--mt-accent-deep);
}

.mic-btn-primary:disabled[b-88tutqke6f] {
    background: var(--mt-line);
    border-color: var(--mt-line);
    color: var(--mt-ink-4);
    box-shadow: none;
    opacity: 1;
}

.mic-btn-ghost[b-88tutqke6f] {
    background: transparent;
    color: var(--mt-ink-2);
}

.mic-btn-ghost:hover:not(:disabled)[b-88tutqke6f] {
    color: var(--mt-ink);
    background: var(--mt-line);
}

.mic-btn-outline[b-88tutqke6f] {
    background: transparent;
    color: var(--mt-ink);
    border-color: var(--mt-line-2);
}

.mic-btn-outline:hover:not(:disabled)[b-88tutqke6f] {
    border-color: var(--mt-ink-3);
}

.mic-btn-danger[b-88tutqke6f] {
    background: var(--mt-bad);
    color: #fff;
    border-color: var(--mt-bad);
    box-shadow: 0 8px 20px -6px rgba(184, 51, 58, 0.55);
}

.mic-btn-danger:hover:not(:disabled)[b-88tutqke6f] {
    background: #a52d33;
}

.mic-stop-square[b-88tutqke6f] {
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 2px;
    display: inline-block;
}

/* Typography */
.mic-eyebrow[b-88tutqke6f] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mt-ink-3);
}

.mic-eyebrow .mic-acc[b-88tutqke6f] {
    color: var(--mt-accent);
}

.mic-headline[b-88tutqke6f] {
    font-weight: 700;
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.15;
    letter-spacing: -0.022em;
    color: var(--mt-ink);
    margin: 12px 0 14px;
    text-wrap: pretty;
}

.mic-headline[b-88tutqke6f]  em {
    font-style: normal;
    color: var(--mt-accent-deep);
}

.mic-lede[b-88tutqke6f] {
    font-size: 15px;
    line-height: 1.55;
    color: var(--mt-ink-2);
    max-width: 56ch;
    margin: 0;
}

/* Step 1: light connected step rail (matches the design's StepLine) —
   numbered circle + vertical connector + a single short line of copy. */
.mic-intro-steps[b-88tutqke6f] {
    margin-top: 22px;
    display: flex;
    flex-direction: column;
}

.mic-istep[b-88tutqke6f] {
    display: flex;
    gap: 14px;
    align-items: stretch;
}

.mic-istep-rail[b-88tutqke6f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
}

.mic-inum[b-88tutqke6f] {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: rgba(6, 182, 212, 0.08);
    color: var(--mt-accent);
    font-weight: 800;
    font-size: 15px;
    display: grid;
    place-items: center;
}

/* Connector rail fills the row height between one circle and the next. */
.mic-iline[b-88tutqke6f] {
    width: 2px;
    flex: 1;
    min-height: 18px;
    margin: 4px 0;
    background: rgba(6, 182, 212, 0.15);
    border-radius: 999px;
}

.mic-istep-t[b-88tutqke6f] {
    font-size: 16px;
    font-weight: 600;
    color: var(--mt-ink);
    padding-top: 6px;
    padding-bottom: 14px;
}

.mic-istep.last .mic-istep-t[b-88tutqke6f] {
    padding-bottom: 0;
}

/* Step 2: mic orb + level */
.mic-level-wrap[b-88tutqke6f] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 36px;
    align-items: center;
    margin-top: 20px;
    padding: 16px 0 4px;
}

@media (max-width: 640px) {
    .mic-level-wrap[b-88tutqke6f] {
        grid-template-columns: 1fr;
        gap: 24px;
        text-align: center;
    }

    /* The orb has a fixed width, so in the single-column layout it would sit
       at the start of its cell — center it. */
    .mic-orb[b-88tutqke6f] {
        justify-self: center;
    }
}

.mic-orb[b-88tutqke6f] {
    position: relative;
    width: 160px;
    height: 160px;
    display: grid;
    place-items: center;
}

.mic-ring[b-88tutqke6f] {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid var(--mt-line-2);
}

.mic-ring-pulse[b-88tutqke6f] {
    border-color: rgba(6, 182, 212, 0.45);
    transition: transform 0.12s ease-out, opacity 0.25s;
}

.mic-orb-core[b-88tutqke6f] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--mt-line-2);
    display: grid;
    place-items: center;
    color: var(--mt-ink);
    box-shadow: inset 0 -3px 8px rgba(0, 0, 0, 0.03);
    z-index: 1;
}

.mic-side[b-88tutqke6f] {
    display: grid;
    gap: 0;
    min-width: 0;
}

.mic-select-label[b-88tutqke6f] {
    font-size: 12px;
    color: var(--mt-ink-3);
    margin-bottom: 6px;
}

.mic-select-field[b-88tutqke6f] {
    width: 100%;
}

.mic-level-bar[b-88tutqke6f] {
    margin-top: 14px;
    height: 6px;
    background: var(--mt-line);
    border-radius: 999px;
    overflow: hidden;
    position: relative;
}

.mic-level-bar > div[b-88tutqke6f] {
    position: absolute;
    inset: 0 auto 0 0;
    background: linear-gradient(90deg, var(--mt-good), var(--mt-warn) 70%, var(--mt-bad));
    border-radius: 999px;
    transition: width 0.08s linear;
}

.mic-tip[b-88tutqke6f] {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--mt-accent-soft);
    color: var(--mt-accent-deep);
    font-size: 13px;
    display: flex;
    gap: 8px;
    align-items: flex-start;
    line-height: 1.45;
}

.mic-tip svg[b-88tutqke6f] {
    flex-shrink: 0;
    margin-top: 1px;
}

/* Step 3: prompt slate + chip-style words + waveform + legend */
.mic-prompt-slate[b-88tutqke6f] {
    margin-top: 16px;
    padding: 24px 36px;
    background: var(--mt-bg-soft);
    border-radius: 16px;
    border: 1px solid var(--mt-line);
    /* Fixed teleprompter window: a few sentences visible, the rest auto-scrolls into view as the
       practitioner reads. Edge fade keeps focus on the current line. */
    height: 320px;
    overflow-y: auto;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 16%, #000 84%, transparent 100%);
            mask-image: linear-gradient(to bottom, transparent 0, #000 16%, #000 84%, transparent 100%);
}

.mic-prompt-slate[b-88tutqke6f]::-webkit-scrollbar {
    width: 0;
    height: 0;
}

@media (max-width: 640px) {
    .mic-prompt-slate[b-88tutqke6f] {
        padding: 24px 18px;
    }
}

.mic-prompt-text[b-88tutqke6f] {
    font-weight: 500;
    letter-spacing: -0.012em;
    line-height: 1.55;
    text-align: center;
    color: var(--mt-ink);
    word-spacing: 0.02em;
    font-size: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    /* Half-window of breathing room top and bottom so the first and last sentence can scroll
       all the way to the centre of the teleprompter. */
    padding: 130px 0;
}

.mic-prompt-line[b-88tutqke6f] {
    display: block;
    /* Focus comes from the edge-fade mask + the teal read-along word highlight; the slate
       auto-scrolls by time, so no per-line dimming (it would mismatch the centred line). */
}

/* Reserve the chip padding on every word so transitioning to a coloured
   state doesn't shift surrounding words. Background is transparent until
   the word resolves. */
.mic-word[b-88tutqke6f] {
    display: inline-block;
    transition: color 0.25s, background 0.25s;
    border-radius: 6px;
    position: relative;
    padding: 2px 6px;
    margin: 0 -3px;
}

.mic-word-inner[b-88tutqke6f] {
    display: inline-block;
}

/* Single teal read-along highlight (matches the design): words light up as the
   reader passes them — no green/yellow/red confidence markers. */
.mic-hl-chip .mic-word.pending[b-88tutqke6f] {
    color: rgba(18, 20, 23, 0.35);
}

.mic-hl-chip .mic-word.done[b-88tutqke6f] {
    background: var(--mt-accent-soft);
    color: var(--mt-accent-deep);
    font-weight: 600;
}

/* Step 3: prominent read-aloud timer card (progress toward 0:30 + waveform) */
.mic-timer[b-88tutqke6f] {
    margin-top: 16px;
    background: #fff;
    border: 1px solid var(--mt-line);
    border-radius: 14px;
    padding: 13px 14px;
    box-shadow: 0 1px 2px rgba(15, 42, 46, 0.04);
    transition: border-color 0.3s;
}

.mic-timer.reached[b-88tutqke6f] {
    border-color: rgba(24, 169, 87, 0.35);
}

.mic-timer-head[b-88tutqke6f] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.mic-timer-dot[b-88tutqke6f] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--mt-ink-4);
    flex-shrink: 0;
}

.mic-timer-dot.rec[b-88tutqke6f] {
    background: var(--mt-bad);
    box-shadow: 0 0 0 4px rgba(184, 51, 58, 0.18);
    animation: mic-blink-b-88tutqke6f 1.4s infinite;
}

@keyframes mic-blink-b-88tutqke6f {
    50% { opacity: 0.3; }
}

.mic-timer-check[b-88tutqke6f] {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--mt-good);
    color: #fff;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.mic-timer-status[b-88tutqke6f] {
    font-size: 13px;
    font-weight: 600;
    color: var(--mt-ink-2);
}

.mic-timer.recording .mic-timer-status[b-88tutqke6f] {
    color: var(--mt-bad);
}

.mic-timer.reached .mic-timer-status[b-88tutqke6f] {
    color: var(--mt-good);
}

.mic-timer-time[b-88tutqke6f] {
    margin-left: auto;
    font-family: 'JetBrains Mono', ui-monospace, "SF Mono", monospace;
    font-size: 14px;
    font-weight: 600;
    color: var(--mt-ink);
    font-variant-numeric: tabular-nums;
}

.mic-timer.reached .mic-timer-time[b-88tutqke6f] {
    color: var(--mt-good);
}

.mic-timer-track[b-88tutqke6f] {
    position: relative;
    height: 8px;
    border-radius: 999px;
    background: rgba(15, 42, 46, 0.08);
    overflow: hidden;
}

.mic-timer-fill[b-88tutqke6f] {
    position: absolute;
    inset: 0 auto 0 0;
    height: 100%;
    border-radius: 999px;
    background: var(--mt-accent);
    transition: width 0.25s linear, background 0.3s;
}

.mic-timer.reached .mic-timer-fill[b-88tutqke6f] {
    background: var(--mt-good);
}

.mic-timer-wave[b-88tutqke6f] {
    margin-top: 10px;
    height: 28px;
    display: flex;
    align-items: center;
    gap: 2.5px;
}

.mic-bar[b-88tutqke6f] {
    flex: 1;
    background: rgba(6, 182, 212, 0.55);
    border-radius: 2px;
    min-height: 3px;
    height: 6px;
    animation: mic-wave-pulse-b-88tutqke6f 1.1s ease-in-out infinite;
}

@keyframes mic-wave-pulse-b-88tutqke6f {
    0%, 100% { height: 4px; }
    50% { height: 22px; }
}

/* Step 4: result banner + reco card */
.mic-result-block[b-88tutqke6f] {
    display: grid;
    gap: 18px;
    padding: 4px 0 8px;
}

.mic-result-banner[b-88tutqke6f] {
    border-radius: 18px;
    padding: 22px 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
    overflow: hidden;
    color: #fff;
    font-weight: 500;
    letter-spacing: -0.005em;
}

.mic-result-banner-head[b-88tutqke6f] {
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative;
    z-index: 1;
}

.mic-result-banner-body[b-88tutqke6f] {
    position: relative;
    z-index: 1;
    font-size: 14px;
    line-height: 1.5;
    opacity: 0.96;
}

.mic-result-banner[b-88tutqke6f]::after {
    content: "";
    position: absolute;
    right: -40px;
    top: -40px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    pointer-events: none;
}

.mic-result-banner-good[b-88tutqke6f] {
    background: linear-gradient(135deg, #22b864, #16924f);
}

.mic-result-banner-warn[b-88tutqke6f] {
    background: linear-gradient(135deg, #e9b220, #c08e07);
    color: #2a1f00;
}

.mic-result-banner-bad[b-88tutqke6f] {
    background: linear-gradient(135deg, #e04951, #b8333a);
}

/* Speaker-recognition banner — same treatment as the quality box, teal tone. */
.mic-result-banner-speaker[b-88tutqke6f] {
    background: linear-gradient(135deg, var(--mt-accent), var(--mt-accent-deep));
}

/* Translucent inset row inside a banner (Speaker-ID + Aktiv pill). */
.mic-banner-inset[b-88tutqke6f] {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.16);
}

.mic-banner-inset-main[b-88tutqke6f] {
    flex: 1;
    min-width: 0;
}

.mic-banner-inset-label[b-88tutqke6f] {
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.82;
}

.mic-banner-inset-value[b-88tutqke6f] {
    margin-top: 1px;
    font-size: 13.5px;
    font-weight: 600;
}

.mic-banner-aktiv[b-88tutqke6f] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

.mic-banner-aktiv-dot[b-88tutqke6f] {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #9ff0c4;
}

.mic-result-banner-mark[b-88tutqke6f] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: currentColor;
    position: relative;
    z-index: 1;
}

.mic-result-banner-warn .mic-result-banner-mark[b-88tutqke6f] {
    background: rgba(255, 255, 255, 0.32);
}

.mic-result-banner-text[b-88tutqke6f] {
    position: relative;
    z-index: 1;
}

.mic-result-banner-label[b-88tutqke6f] {
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    opacity: 0.85;
    margin-bottom: 4px;
}

.mic-result-banner-title[b-88tutqke6f] {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.mic-reco[b-88tutqke6f] {
    padding: 14px 16px;
    border-radius: 14px;
    background: var(--mt-accent-soft);
    border: 1px solid rgba(6, 182, 212, 0.22);
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 14px;
    align-items: center;
}

.mic-reco-photo[b-88tutqke6f] {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    background: linear-gradient(150deg, #fafaf6, #f0ece2);
    border: 1px solid rgba(0, 0, 0, 0.04);
    display: grid;
    place-items: center;
    overflow: hidden;
    flex-shrink: 0;
}

.mic-reco-photo img[b-88tutqke6f] {
    width: 88%;
    height: 88%;
    object-fit: contain;
}

.mic-reco-eyebrow[b-88tutqke6f] {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mt-accent-deep);
    opacity: 0.85;
    margin-bottom: 1px;
}

.mic-reco-title[b-88tutqke6f] {
    font-weight: 600;
    font-size: 15px;
    letter-spacing: -0.01em;
    color: var(--mt-ink);
}

.mic-reco-sub[b-88tutqke6f] {
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.4;
    color: var(--mt-ink-3);
}

.mic-reco-cta[b-88tutqke6f] {
    white-space: nowrap;
    text-decoration: none;
}

@media (max-width: 600px) {
    .mic-result-banner[b-88tutqke6f] {
        padding: 22px 20px;
        gap: 16px;
    }

    .mic-result-banner-mark[b-88tutqke6f] {
        width: 56px;
        height: 56px;
    }

    .mic-result-banner-mark svg[b-88tutqke6f] {
        width: 34px;
        height: 34px;
    }

    .mic-result-banner-title[b-88tutqke6f] {
        font-size: 20px;
    }

    .mic-reco[b-88tutqke6f] {
        grid-template-columns: auto 1fr;
    }

    .mic-reco-cta[b-88tutqke6f] {
        grid-column: 1 / -1;
        justify-self: stretch;
        justify-content: center;
    }
}

/* Read-aloud gate hint + countup */
.mic-gate-hint[b-88tutqke6f] {
    margin-top: 14px;
    font-size: 13px;
    color: var(--mt-ink-3);
    text-align: center;
}

.mic-countup[b-88tutqke6f] {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}

/* "Stemmeprofil gemt" card + Aktiv badge (result + enrolled states) */
.mic-saved-card[b-88tutqke6f] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    border-radius: 14px;
    background: var(--mt-accent-soft);
    border: 1px solid rgba(6, 182, 212, 0.22);
}

.mic-saved-mark[b-88tutqke6f] {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #22b864, #16924f);
    color: #fff;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.mic-saved-body[b-88tutqke6f] {
    min-width: 0;
}

.mic-saved-title-row[b-88tutqke6f] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.mic-saved-title[b-88tutqke6f] {
    font-weight: 600;
    font-size: 16px;
    color: var(--mt-ink);
}

.mic-saved-badge[b-88tutqke6f] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--mt-good);
    background: var(--mt-good-soft);
    border-radius: 999px;
    padding: 3px 10px;
}

.mic-saved-badge[b-88tutqke6f]::before {
    content: "• ";
}

.mic-saved-text[b-88tutqke6f] {
    margin-top: 3px;
    font-size: 13px;
    color: var(--mt-ink-3);
}

/* Already-enrolled landing */
.mic-enrolled-block[b-88tutqke6f] {
    display: grid;
    justify-items: start;
    gap: 6px;
    padding-top: 8px;
}

.mic-enrolled-mark[b-88tutqke6f] {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: linear-gradient(135deg, #22b864, #16924f);
    color: #fff;
    display: grid;
    place-items: center;
    margin-bottom: 6px;
}

.mic-enrolled-block .mic-saved-card[b-88tutqke6f] {
    width: 100%;
    margin-top: 10px;
}

.mic-enrolled-hint[b-88tutqke6f] {
    width: 100%;
    margin-top: 14px;
}

.mic-enrolled-info[b-88tutqke6f] {
    width: 100%;
    margin-top: 14px;
    display: grid;
    gap: 10px;
}

.mic-info-row[b-88tutqke6f] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 13px;
    line-height: 1.45;
    color: var(--mt-ink-2);
}

.mic-info-ic[b-88tutqke6f] {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    margin-top: 1px;
}

.mic-info-ic-good[b-88tutqke6f] {
    background: var(--mt-good-soft);
    color: var(--mt-good);
}

.mic-info-ic-accent[b-88tutqke6f] {
    background: var(--mt-accent-soft);
    color: var(--mt-accent-deep);
}

/* Fade-in transition between steps */
.mic-fade-in[b-88tutqke6f] {
    animation: mic-fade-in-b-88tutqke6f 0.3s ease;
}

@keyframes mic-fade-in-b-88tutqke6f {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ── Action callout (names the next button to press) — design's ActionHint ── */
.mic-ahint[b-88tutqke6f] {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 16px;
    padding: 11px 13px;
    border-radius: 12px;
    background: var(--mt-accent-soft);
    border: 1px solid color-mix(in srgb, var(--mt-accent) 28%, transparent);
    font-size: 13px;
    line-height: 1.45;
    color: var(--mt-ink);
}

.mic-ahint.done[b-88tutqke6f] {
    background: var(--mt-good-soft);
    border-color: rgba(52, 168, 83, 0.3);
}

.mic-ahint-ic[b-88tutqke6f] {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: var(--mt-accent);
    color: #fff;
    display: grid;
    place-items: center;
}

.mic-ahint.done .mic-ahint-ic[b-88tutqke6f] {
    background: var(--mt-good);
}

/* ── Mic step: centered orb + segmented level meter + hint banner ────────── */
.mic-orb-wrap[b-88tutqke6f] {
    display: flex;
    justify-content: center;
    margin: 18px 0 20px;
}

.mic-field[b-88tutqke6f] {
    margin-top: 4px;
}

.mic-meter[b-88tutqke6f] {
    display: flex;
    align-items: center;
    gap: 3px;
    height: 18px;
    margin-top: 14px;
}

.mic-seg[b-88tutqke6f] {
    flex: 1;
    border-radius: 2px;
    background: rgba(15, 42, 46, 0.08);
    transition: background 0.12s ease;
}

.mic-seg.on.mic-seg-g[b-88tutqke6f] { background: #3fb36b; }
.mic-seg.on.mic-seg-y[b-88tutqke6f] { background: #e2b340; }
.mic-seg.on.mic-seg-r[b-88tutqke6f] { background: #e05b5b; }

.mic-hintbanner[b-88tutqke6f] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 14px;
    padding: 11px 13px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--mt-accent) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--mt-accent) 20%, transparent);
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--mt-ink);
}

.mic-hintbanner-ic[b-88tutqke6f] {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 1px;
    border-radius: 999px;
    background: var(--mt-accent);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    font-style: normal;
    display: grid;
    place-items: center;
}

/* ── Recording step: one sentence at a time, karaoke read-along ──────────── */
.mic-karaoke[b-88tutqke6f] {
    margin-top: 16px;
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(150deg, #fbf7ee 0%, #faf6f4 100%);
    overflow: hidden;
}

.mic-stage-pill[b-88tutqke6f] {
    width: max-content;
    margin: 0 auto 12px;
    padding: 3px 12px;
    border-radius: 999px;
    background: var(--mt-accent-soft);
    color: var(--mt-accent-deep);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-align: center;
}

.mic-karaoke-sentence[b-88tutqke6f] {
    min-height: 93px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    /* Flex discards the whitespace text nodes between words, so spacing has to
       come from the gap (column gap = inter-word space; small row gap for wraps). */
    gap: 0.18em 0.34em;
    text-align: center;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.55;
    letter-spacing: -0.012em;
    text-wrap: balance;
    color: rgba(15, 42, 46, 0.34);
    animation: mic-sentence-in-b-88tutqke6f 0.32s ease-out;
}

/* Constant font-weight + box-shadow highlight (not padding) so a word never
   changes width when it resolves — the centred line can't reflow/jump. */
.mic-kword[b-88tutqke6f] {
    color: rgba(15, 42, 46, 0.34);
    border-radius: 4px;
    transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.mic-kword.done[b-88tutqke6f] {
    color: var(--mt-accent-deep);
    background: var(--mt-accent-soft);
    box-shadow: 0 0 0 3px var(--mt-accent-soft);
}

@keyframes mic-sentence-in-b-88tutqke6f {
    from { opacity: 0; transform: translateY(6px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Ripple-ring voice visualisation while recording. */
.mic-viz[b-88tutqke6f] {
    position: relative;
    height: 30px;
    margin-top: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mic-viz-ring[b-88tutqke6f] {
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    border: 2px solid var(--mt-accent);
    opacity: 0;
    animation: mic-viz-ring-b-88tutqke6f 1.8s ease-out infinite;
}

.mic-viz-ring:nth-child(2)[b-88tutqke6f] { animation-delay: 0.6s; }
.mic-viz-ring:nth-child(3)[b-88tutqke6f] { animation-delay: 1.2s; }

.mic-viz-dot[b-88tutqke6f] {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--mt-accent);
}

@keyframes mic-viz-ring-b-88tutqke6f {
    0% { transform: scale(1); opacity: 0.55; }
    100% { transform: scale(1.85); opacity: 0; }
}

.mic-allread[b-88tutqke6f] {
    margin-top: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--mt-good);
}

.mic-allread-ic[b-88tutqke6f] {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: var(--mt-good);
    color: #fff;
    display: grid;
    place-items: center;
}

/* ── Mobile: full-screen takeover tweaks ───────────────────────────────────
   The dialog wrapper goes edge-to-edge in app.css (it's rendered outside this
   component's scope); here we adapt the in-component chrome to the phone:
   a compact dots stepper, comfier touch targets, and tighter type. */
@media (max-width: 600px) {
    /* Compact dots stepper (design's `stepperStyle: dots`): drop the connector
       lines and labels, shrink the nodes to dots, and let the current step
       elongate into a teal pill. */
    .mic-stepper[b-88tutqke6f] {
        justify-content: center;
        gap: 8px;
        margin-bottom: 20px;
    }

    .mic-step[b-88tutqke6f] {
        gap: 0;
    }

    .mic-step-label[b-88tutqke6f],
    .mic-step-line[b-88tutqke6f] {
        display: none;
    }

    .mic-step-dot[b-88tutqke6f] {
        width: 8px;
        height: 8px;
        border-radius: 999px;
        font-size: 0;
        color: transparent;
        background: rgba(15, 42, 46, 0.18);
        transition: width 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), background 0.35s;
    }

    .mic-step-dot svg[b-88tutqke6f] {
        display: none;
    }

    .mic-step.done .mic-step-dot[b-88tutqke6f],
    .mic-step.active .mic-step-dot[b-88tutqke6f] {
        background: var(--mt-accent);
    }

    .mic-step.active .mic-step-dot[b-88tutqke6f] {
        width: 22px;
    }

    /* The min-height that keeps the desktop card from jumping isn't needed
       once the screen fills the viewport. */
    .mic-card-pad[b-88tutqke6f] {
        min-height: 0;
    }

    .mic-headline[b-88tutqke6f] {
        font-size: 24px;
        margin: 10px 0 12px;
    }

    /* Footer: comfortable thumb targets; the primary CTA carries the weight. */
    .mic-card-foot[b-88tutqke6f] {
        padding: 12px 18px;
        gap: 10px;
    }

    .mic-btn[b-88tutqke6f] {
        padding: 13px 18px;
        font-size: 15px;
        border-radius: 14px;
    }

    .mic-btn-primary[b-88tutqke6f] {
        flex: 1 1 auto;
        justify-content: center;
        max-width: 70%;
    }
}
/* /Components/Shared/MicrophoneTest/MicTestPickerField.razor.rz.scp.css */
.mic-picker-wrap[b-6fxc1puhqw] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 280px;
    max-width: 400px;
    flex: 1.4 1 280px;
    position: relative;
}

.mic-picker-caption[b-6fxc1puhqw] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #64748B;
    font-weight: 400;
    /* Match MudText Typo.caption line-height so the caption baseline lines
       up with the Notat type / Sprog captions on the same row. */
    line-height: 1.66;
}

.mic-picker-caption-icon[b-6fxc1puhqw] {
    color: #94a3b8;
    flex-shrink: 0;
}

.mic-picker-field[b-6fxc1puhqw] {
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.10);
    border-radius: 8px;
    /* Match MudSelect outlined dense height (~40px) */
    padding: 8px 12px;
    background: #fff;
    box-sizing: border-box;
    transition: border-color 0.15s;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    cursor: pointer;
}

.mic-picker-field:focus[b-6fxc1puhqw] {
    outline: 2px solid rgba(6, 182, 212, 0.40);
    outline-offset: 2px;
}

.mic-picker-field-warn[b-6fxc1puhqw] { border-color: rgba(212, 150, 18, 0.45); }
.mic-picker-field-error[b-6fxc1puhqw] { border-color: rgba(208, 70, 70, 0.50); }
.mic-picker-field-untested[b-6fxc1puhqw] { border-color: rgba(164, 169, 176, 0.55); }

/* Status dot. Each state colors via class on the field */
.mic-picker-dot[b-6fxc1puhqw] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
    cursor: help;
}

.mic-picker-field-ok .mic-picker-dot[b-6fxc1puhqw] {
    background: #16924f;
    box-shadow: 0 0 0 2px rgba(22, 146, 79, 0.18);
}
.mic-picker-field-warn .mic-picker-dot[b-6fxc1puhqw] {
    background: #d49612;
    box-shadow: 0 0 0 2px rgba(212, 150, 18, 0.20);
}
.mic-picker-field-error .mic-picker-dot[b-6fxc1puhqw] {
    background: #d04646;
    box-shadow: 0 0 0 2px rgba(208, 70, 70, 0.22);
}
.mic-picker-field-untested .mic-picker-dot[b-6fxc1puhqw] {
    background: #a4a9b0;
    box-shadow: 0 0 0 2px rgba(164, 169, 176, 0.20);
}

/* Device label — shrinks first when space is tight, ellipsis at the end. */
.mic-picker-value[b-6fxc1puhqw] {
    flex: 1 1 0;
    min-width: 0;
    color: #2a2f36;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Status text — never shrinks, always fully visible. */
.mic-picker-value-status[b-6fxc1puhqw] {
    margin-left: 8px;
    font-weight: 600;
    flex-shrink: 0;
    white-space: nowrap;
}

.mic-picker-field-warn .mic-picker-value-status[b-6fxc1puhqw] { color: #b78400; }
.mic-picker-field-error .mic-picker-value-status[b-6fxc1puhqw] { color: #b83232; }
.mic-picker-field-untested .mic-picker-value-status[b-6fxc1puhqw] { color: #6b727a; }

/* Trailing action link */
.mic-picker-action[b-6fxc1puhqw] {
    appearance: none;
    background: transparent;
    border: 0;
    padding: 0 4px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    color: #0891b2;
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
}

.mic-picker-action:hover[b-6fxc1puhqw] {
    text-decoration: underline;
}

.mic-picker-chevron[b-6fxc1puhqw] {
    color: #6b727a;
    flex-shrink: 0;
    pointer-events: none;
}

/* Custom dropdown popover */
.mic-picker-popover[b-6fxc1puhqw] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.18), 0 4px 14px rgba(0, 0, 0, 0.06);
    z-index: 1000;
    padding: 4px;
    max-height: 280px;
    overflow-y: auto;
}

.mic-picker-option[b-6fxc1puhqw] {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 8px 10px;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: left;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    color: #2a2f36;
    border-radius: 6px;
    line-height: 1.3;
}

.mic-picker-option:hover[b-6fxc1puhqw] {
    background: rgba(0, 0, 0, 0.04);
}

.mic-picker-option-selected[b-6fxc1puhqw] {
    background: rgba(6, 182, 212, 0.06);
    font-weight: 500;
}

.mic-picker-option-dot[b-6fxc1puhqw] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.mic-picker-option-dot-ok[b-6fxc1puhqw] {
    background: #16924f;
    box-shadow: 0 0 0 2px rgba(22, 146, 79, 0.18);
}

.mic-picker-option-dot-warn[b-6fxc1puhqw] {
    background: #d49612;
    box-shadow: 0 0 0 2px rgba(212, 150, 18, 0.20);
}

.mic-picker-option-dot-error[b-6fxc1puhqw] {
    background: #d04646;
    box-shadow: 0 0 0 2px rgba(208, 70, 70, 0.22);
}

.mic-picker-option-dot-untested[b-6fxc1puhqw] {
    background: #a4a9b0;
    box-shadow: 0 0 0 2px rgba(164, 169, 176, 0.20);
}

.mic-picker-option-label[b-6fxc1puhqw] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mic-picker-option-check[b-6fxc1puhqw] {
    color: #0891b2;
    flex-shrink: 0;
}

/* Click-outside backdrop — invisible but blocks clicks beyond the popover */
.mic-picker-backdrop[b-6fxc1puhqw] {
    position: fixed;
    inset: 0;
    z-index: 999;
    background: transparent;
}
/* /Components/Shared/MicrophoneTest/MicTestRecommendCard.razor.rz.scp.css */
.mic-recommend-card[b-uhxnr1ma6w] {
    background: #fff;
    border-radius: 12px;
    border: 1px solid rgba(6, 182, 212, 0.25);
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 4px 18px -8px rgba(6, 182, 212, 0.30);
    margin: 0 0 16px;
}

.mic-recommend-icon[b-uhxnr1ma6w] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(6, 182, 212, 0.10);
    color: #0891b2;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.mic-recommend-body[b-uhxnr1ma6w] {
    min-width: 0;
    flex: 1;
}

.mic-recommend-title[b-uhxnr1ma6w] {
    font-size: 13px;
    font-weight: 700;
    color: #121417;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.mic-recommend-pill[b-uhxnr1ma6w] {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.06em;
    background: rgba(6, 182, 212, 0.10);
    color: #0891b2;
    padding: 2px 6px;
    border-radius: 4px;
    text-transform: uppercase;
}

.mic-recommend-sub[b-uhxnr1ma6w] {
    font-size: 12px;
    color: #6b727a;
    margin-top: 2px;
}

.mic-recommend-primary[b-uhxnr1ma6w] {
    border: 0;
    background: #06b6d4;
    color: #fff;
    padding: 9px 16px;
    border-radius: 8px;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s, transform 0.1s;
}

.mic-recommend-primary:hover[b-uhxnr1ma6w] {
    background: #0891b2;
}

.mic-recommend-primary:active[b-uhxnr1ma6w] {
    transform: translateY(0.5px);
}

.mic-recommend-skip[b-uhxnr1ma6w] {
    border: 0;
    background: transparent;
    color: #6b727a;
    padding: 9px 4px;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
    flex-shrink: 0;
    transition: color 0.15s;
}

.mic-recommend-skip:hover[b-uhxnr1ma6w] {
    color: #2a2f36;
}

@media (max-width: 600px) {
    .mic-recommend-card[b-uhxnr1ma6w] {
        flex-wrap: wrap;
    }

    .mic-recommend-body[b-uhxnr1ma6w] {
        flex-basis: calc(100% - 50px);
    }

    .mic-recommend-primary[b-uhxnr1ma6w],
    .mic-recommend-skip[b-uhxnr1ma6w] {
        flex-grow: 1;
    }
}
/* /Components/Shared/RecordingLanguageSelector.razor.rz.scp.css */
/* ==========================================
   SETTING ROW - Noteless-style label/control
   ========================================== */

.setting-row[b-2udu15bk6p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    padding: 12px 0;
}

.setting-label[b-2udu15bk6p] {
    font-size: 15px;
    font-weight: 500;
    color: #334155;
    white-space: nowrap;
}

.setting-control[b-2udu15bk6p] {
    min-width: 0;
    flex-shrink: 1;
    width: 220px;
}

.lang-select[b-2udu15bk6p] {
    width: 220px;
}

.lang-select[b-2udu15bk6p]  .mud-input {
    font-size: 14px;
    font-weight: 500;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 10px;
    padding: 4px 8px;
}

.lang-select[b-2udu15bk6p]  .mud-input-underline::before,
.lang-select[b-2udu15bk6p]  .mud-input-underline::after {
    display: none;
}

/* ==========================================
   DARK MODE
   ========================================== */

:global(.mud-theme-dark) .setting-label[b-2udu15bk6p] {
    color: #cbd5e1;
}
/* /Components/Shared/Sessions/EditSessionNameDialog.razor.rz.scp.css */
/* /Components/Shared/Sessions/RecentSessions.razor.rz.scp.css */
/* ==========================================
   EMPTY STATE
   ========================================== */

.empty-state[b-ll87nw0tg6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px 16px;
    text-align: center;
}

.empty-icon[b-ll87nw0tg6] {
    color: #94a3b8;
    margin-bottom: 8px;
}

.empty-text[b-ll87nw0tg6] {
    font-size: 0.875rem;
    color: #64748b;
    margin: 0;
}

/* ==========================================
   SESSIONS HEADER DIVIDER
   ========================================== */

.sessions-header-divider[b-ll87nw0tg6] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}

.sessions-header-line[b-ll87nw0tg6] {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, #e2e8f0, transparent);
}

.sessions-header-label[b-ll87nw0tg6] {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #94a3b8;
    white-space: nowrap;
}

:global(.mud-theme-dark) .sessions-header-line[b-ll87nw0tg6] {
    background: linear-gradient(90deg, transparent, #334155, transparent);
}

:global(.mud-theme-dark) .sessions-header-label[b-ll87nw0tg6] {
    color: #64748b;
}

/* ==========================================
   SESSIONS LIST
   ========================================== */

.sessions-list[b-ll87nw0tg6] {
    display: flex;
    flex-direction: column;
}

.session-group[b-ll87nw0tg6] {
    margin-bottom: 4px;
}

.session-group-header[b-ll87nw0tg6] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #475569;
    padding: 6px 4px;
    margin: 0;
}

/* ==========================================
   SESSION ITEM
   ========================================== */

.session-item[b-ll87nw0tg6] {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 4px;
    background: transparent;
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.15s ease;
}

.session-item:last-child[b-ll87nw0tg6] {
    border-bottom: none;
}

.session-item:hover[b-ll87nw0tg6] {
    background: rgba(0, 0, 0, 0.02);
}

.session-item.selected[b-ll87nw0tg6] {
    background: rgba(6, 182, 212, 0.06);
}

.session-item-button[b-ll87nw0tg6] {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    padding: 12px 0;
    gap: 8px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
}

.session-item-button:active[b-ll87nw0tg6] {
    background: rgba(0, 0, 0, 0.04);
}

/* Three-dot menu */
.session-menu[b-ll87nw0tg6] {
    flex-shrink: 0;
}

.session-menu[b-ll87nw0tg6]  .mud-icon-button {
    color: #94a3b8;
    padding: 4px;
}

.session-menu[b-ll87nw0tg6]  .mud-icon-button:hover {
    color: #64748b;
}

[b-ll87nw0tg6] .delete-item {
    color: #ef4444;
}

/* Left icon */
.session-icon[b-ll87nw0tg6] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #94a3b8;
}

/* Title */
.session-title[b-ll87nw0tg6] {
    flex: 1;
    min-width: 0;
    font-size: 0.875rem;
    font-weight: 500;
    color: #1e293b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.session-time[b-ll87nw0tg6] {
    font-weight: 400;
    color: #475569;
}

.session-name[b-ll87nw0tg6] {
    font-weight: 500;
    color: #1e293b;
}

.session-interaction-type[b-ll87nw0tg6] {
    font-weight: 400;
    color: #475569;
}

/* Right status icon */
.session-status[b-ll87nw0tg6] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.session-status[b-ll87nw0tg6]  .status-done {
    color: #06b6d4;
}

.session-status[b-ll87nw0tg6]  .status-draft {
    color: #f59e0b;
}

.session-status[b-ll87nw0tg6]  .status-empty {
    color: #e2e8f0;
}

/* ==========================================
   DARK MODE
   ========================================== */

:global(.mud-theme-dark) .session-group-header[b-ll87nw0tg6] {
    color: #64748b;
}

:global(.mud-theme-dark) .session-item[b-ll87nw0tg6] {
    border-bottom-color: #1e293b;
}

:global(.mud-theme-dark) .session-item:hover[b-ll87nw0tg6] {
    background: rgba(255, 255, 255, 0.03);
}

:global(.mud-theme-dark) .session-icon[b-ll87nw0tg6] {
    color: #64748b;
}

:global(.mud-theme-dark) .session-title[b-ll87nw0tg6] {
    color: #f1f5f9;
}

:global(.mud-theme-dark) .session-time[b-ll87nw0tg6] {
    color: #94a3b8;
}

:global(.mud-theme-dark) .session-name[b-ll87nw0tg6] {
    color: #f1f5f9;
}

:global(.mud-theme-dark) .session-interaction-type[b-ll87nw0tg6] {
    color: #94a3b8;
}

:global(.mud-theme-dark) .session-status[b-ll87nw0tg6]  .status-empty {
    color: #334155;
}

:global(.mud-theme-dark) .session-status[b-ll87nw0tg6]  .status-done {
    color: #22d3ee;
}

:global(.mud-theme-dark) .session-menu[b-ll87nw0tg6]  .mud-icon-button {
    color: #64748b;
}

:global(.mud-theme-dark) .session-menu[b-ll87nw0tg6]  .mud-icon-button:hover {
    color: #94a3b8;
}
