/* /Components/Account/Pages/Manage/ConnectAI.razor.rz.scp.css */
.connect-ai-card[b-jl2xlsg8lc] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg, 12px);
    padding: var(--space-4, 16px);
    margin-bottom: var(--space-4, 16px);
}

.section-title[b-jl2xlsg8lc] {
    font-size: 1.1rem;
    font-weight: 600;
    margin: var(--space-5, 24px) 0 var(--space-2, 8px);
}

.connect-ai-steps[b-jl2xlsg8lc] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg, 12px);
    padding: var(--space-4, 16px) var(--space-5, 24px);
    margin-top: var(--space-3, 12px);
}

.connect-ai-steps ol[b-jl2xlsg8lc],
.connect-ai-steps ul[b-jl2xlsg8lc] {
    padding-left: 1.25rem;
}

.connect-ai-steps li[b-jl2xlsg8lc] {
    margin-bottom: var(--space-3, 12px);
}

.code-block[b-jl2xlsg8lc] {
    background: var(--color-surface-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm, 6px);
    padding: 10px 14px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
    white-space: pre-wrap;
    word-break: break-word;
    margin: 8px 0;
}

.code-inline[b-jl2xlsg8lc] {
    background: var(--color-surface-alt);
    border: 1px solid var(--color-border);
    border-radius: 4px;
    padding: 1px 6px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.9em;
}

/* Same trick as .code-block-row below, just inline-flex so it stays in the
   sentence flow: align-items: stretch forces the button to match
   .code-inline's height exactly regardless of the icon's own font metrics,
   instead of trying to match font-size/line-height by hand. */
.code-inline-row[b-jl2xlsg8lc] {
    display: inline-flex;
    align-items: stretch;
    gap: 4px;
    vertical-align: middle;
}

.code-block-row[b-jl2xlsg8lc] {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin: 8px 0;
}

.code-block-row .code-block[b-jl2xlsg8lc] {
    flex: 1;
    margin: 0;
}

.copy-btn[b-jl2xlsg8lc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--color-surface-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm, 6px);
    color: var(--color-text-muted);
    cursor: pointer;
    /* Match .code-block's own padding/font-size/line-height exactly so the
       button's height equals the input's height on its own merits, not
       just via the flex row's align-items: stretch. */
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.4;
    transition: color 0.15s, border-color 0.15s;
}

.copy-btn:hover[b-jl2xlsg8lc] {
    color: var(--color-text);
    border-color: var(--color-text-muted);
}

.copy-btn.copied[b-jl2xlsg8lc] {
    color: var(--color-success);
    border-color: var(--color-success);
}

.copy-btn.copy-failed[b-jl2xlsg8lc] {
    color: var(--color-danger);
    border-color: var(--color-danger);
}

.copy-btn-inline[b-jl2xlsg8lc] {
    padding: 0 6px;
    font-size: 0.9em;
}
/* /Components/Account/Pages/Manage/Notifications.razor.rz.scp.css */
/* /Components/Account/Shared/ManageLayout.razor.rz.scp.css */
.manage-shell[b-90erf8gzeg] {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 32px;
    align-items: start;
}

@media (max-width: 720px) {
    .manage-shell[b-90erf8gzeg] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Account/Shared/ManageNavMenu.razor.rz.scp.css */
.manage-nav[b-h8ds8z44ir] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 8px;
}

.manage-nav-link[b-h8ds8z44ir] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: var(--radius-sm);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--color-text-muted);
    text-decoration: none;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.manage-nav-icon[b-h8ds8z44ir] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    flex-shrink: 0;
}

.manage-nav-link:hover[b-h8ds8z44ir] {
    background: var(--color-surface-alt);
    color: var(--color-text);
}

.manage-nav-link.active[b-h8ds8z44ir] {
    background: color-mix(in oklch, var(--color-primary) 12%, transparent);
    color: var(--color-primary);
}
/* /Components/Layout/AuthLayout.razor.rz.scp.css */
.auth-shell[b-llw35jrhhz] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    background: var(--color-bg);
}

.auth-brand[b-llw35jrhhz] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 28px;
    text-decoration: none;
    color: inherit;
}

.brand-lockup[b-llw35jrhhz] {
    height: 34px;
    width: auto;
}

/* This page is normally theme-forced-light for anonymous visitors
   (App.razor), but a signed-in user with a dark ThemePreference still
   renders it dark if they land here (e.g. re-auth mid-session) - swap to
   the white-on-transparent lockup so it stays legible either way. Same
   [data-theme]/prefers-color-scheme pattern as theme.css. */
.brand-lockup-dark[b-llw35jrhhz] {
    display: none;
}

html[data-theme="dark"] .brand-lockup-light[b-llw35jrhhz] {
    display: none;
}

html[data-theme="dark"] .brand-lockup-dark[b-llw35jrhhz] {
    display: inline-block;
}

@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]):not([data-theme="dark"]) .brand-lockup-light[b-llw35jrhhz] {
        display: none;
    }

    html:not([data-theme="light"]):not([data-theme="dark"]) .brand-lockup-dark[b-llw35jrhhz] {
        display: inline-block;
    }
}

.auth-card[b-llw35jrhhz] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 32px;
    width: 100%;
    max-width: 480px;
}

.auth-legal[b-llw35jrhhz] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
    font-size: 13px;
    color: var(--color-text-muted);
}

.auth-legal a[b-llw35jrhhz] {
    color: var(--color-text-muted);
}
/* /Components/Layout/ImpersonationBanner.razor.rz.scp.css */
.impersonation-banner[b-hcib2115ln] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 4000;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 16px;
    background: var(--color-warning);
    color: oklch(0.22 0.05 80);
    box-shadow: var(--shadow-md);
    font-size: 13.5px;
    line-height: 1.35;
}

.impersonation-banner-copy[b-hcib2115ln] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
}

.impersonation-banner-copy span[b-hcib2115ln] {
    min-width: 0;
}

.impersonation-banner-exit-short[b-hcib2115ln] {
    display: none;
}

.impersonation-banner-copy i[b-hcib2115ln] {
    flex-shrink: 0;
}

.impersonation-banner-email[b-hcib2115ln] {
    opacity: 0.85;
}

.impersonation-banner-exit[b-hcib2115ln] {
    flex-shrink: 0;
    appearance: none;
    border: 1px solid oklch(0.22 0.05 80 / 35%);
    background: oklch(1 0 0 / 92%);
    color: oklch(0.22 0.05 80);
    font: inherit;
    font-weight: 700;
    font-size: 12.5px;
    padding: 7px 12px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    white-space: nowrap;
}

.impersonation-banner-exit:hover[b-hcib2115ln] {
    background: #fff;
}

@media (max-width: 560px) {
    .impersonation-banner[b-hcib2115ln] {
        padding: 8px 12px;
        font-size: 12.5px;
        gap: 8px;
        align-items: flex-start;
    }

    .impersonation-banner-copy[b-hcib2115ln] {
        align-items: flex-start;
    }

    .impersonation-banner-copy span[b-hcib2115ln] {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .impersonation-banner-email[b-hcib2115ln] {
        display: none;
    }

    .impersonation-banner-exit-full[b-hcib2115ln] {
        display: none;
    }

    .impersonation-banner-exit-short[b-hcib2115ln] {
        display: inline;
    }
}
/* /Components/Layout/LegalLayout.razor.rz.scp.css */
.auth-shell[b-z607rzilco] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 40px 20px 64px;
    background: var(--color-bg);
}

.auth-brand[b-z607rzilco] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 28px;
    text-decoration: none;
    color: inherit;
}

.brand-lockup[b-z607rzilco] {
    height: 34px;
    width: auto;
}

/* Same forced-light-but-can-still-render-dark edge case as AuthLayout -
   swap to the white-on-transparent lockup so it stays legible either way. */
.brand-lockup-dark[b-z607rzilco] {
    display: none;
}

html[data-theme="dark"] .brand-lockup-light[b-z607rzilco] {
    display: none;
}

html[data-theme="dark"] .brand-lockup-dark[b-z607rzilco] {
    display: inline-block;
}

@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]):not([data-theme="dark"]) .brand-lockup-light[b-z607rzilco] {
        display: none;
    }

    html:not([data-theme="light"]):not([data-theme="dark"]) .brand-lockup-dark[b-z607rzilco] {
        display: inline-block;
    }
}

.auth-card-wide[b-z607rzilco] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 32px;
    width: 100%;
    max-width: 720px;
}

.auth-legal[b-z607rzilco] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
    font-size: 13px;
    color: var(--color-text-muted);
}

.auth-legal a[b-z607rzilco] {
    color: var(--color-text-muted);
}

.legal-doc[b-z607rzilco] {
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--color-text);
}

.legal-doc h2[b-z607rzilco] {
    font-size: 16px;
    font-weight: 700;
    margin: 24px 0 8px;
}

.legal-doc p[b-z607rzilco],
.legal-doc ul[b-z607rzilco] {
    margin: 0 0 12px;
}

.legal-doc ul[b-z607rzilco] {
    padding-left: 1.2em;
}

.legal-doc li + li[b-z607rzilco] {
    margin-top: 4px;
}

.legal-updated[b-z607rzilco] {
    font-size: 13px;
    color: var(--color-text-muted);
    margin: 0 0 20px;
}
/* /Components/Layout/LoginDisplay.razor.rz.scp.css */
.user-card[b-69ohkvmh6f] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3);
    border-radius: var(--radius-md);
    background: oklch(1 0 0 / 6%);
}

.user-info[b-69ohkvmh6f] {
    min-width: 0;
    flex: 1;
}

.user-name[b-69ohkvmh6f] {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-sidebar-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-manage-link[b-69ohkvmh6f] {
    font-size: 11.5px;
    color: var(--color-sidebar-text-muted);
}

.user-manage-link:hover[b-69ohkvmh6f] {
    color: var(--color-sidebar-text);
}

.user-logout-form[b-69ohkvmh6f] {
    flex-shrink: 0;
}

.user-logout-btn[b-69ohkvmh6f] {
    background: none;
    border: none;
    color: var(--color-sidebar-text-muted);
    font-size: 14px;
    cursor: pointer;
    padding: 6px;
    border-radius: var(--radius-sm);
    transition: background var(--transition-fast), color var(--transition-fast);
}

.user-logout-btn:hover[b-69ohkvmh6f] {
    background: oklch(1 0 0 / 10%);
    color: var(--color-sidebar-text);
}

.user-auth-links[b-69ohkvmh6f] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-2);
}

.user-auth-links a[b-69ohkvmh6f] {
    text-align: center;
    padding: 8px 12px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 600;
    color: var(--color-sidebar-text);
    background: oklch(1 0 0 / 8%);
}

.user-auth-links a:hover[b-69ohkvmh6f] {
    background: oklch(1 0 0 / 14%);
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-ra44ilm6ov] {
    display: flex;
    min-height: 100vh;
    width: 100%;
    background: var(--color-bg);
}

.sidebar[b-ra44ilm6ov] {
    width: 236px;
    flex-shrink: 0;
    background: var(--color-sidebar-bg);
    color: var(--color-sidebar-text);
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 22px 16px;
    /* Without a height tied to the viewport, this flex column only grows to
       fit its content - .sidebar-spacer's flex:1 has nothing to expand into
       once nav items push past the fold, so the user-card at the bottom
       scrolls away with the rest of the sidebar instead of staying pinned. */
    position: sticky;
    top: var(--impersonation-banner-height, 0px);
    height: calc(100vh - var(--impersonation-banner-height, 0px));
    overflow-y: auto;
}

.sidebar-brand[b-ra44ilm6ov] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 10px 26px 10px;
}

.brand-lockup[b-ra44ilm6ov] {
    height: 28px;
    width: auto;
}

.sidebar-spacer[b-ra44ilm6ov] {
    flex: 1;
}

.sidebar-toggle-checkbox[b-ra44ilm6ov] {
    /* Zero-JS toggle input (see MainLayout.razor) - never shown itself,
       only its :checked state drives .sidebar/.sidebar-backdrop below. */
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.mobile-topbar[b-ra44ilm6ov] {
    display: none;
}

.sidebar-toggle[b-ra44ilm6ov] {
    /* A <label> defaults to display:inline, which makes width/height and
       flex alignment no-ops - the icon inside was shrinking to its own
       line box and sitting top-left of the 38x38 tap target instead of
       centered in it. */
    display: flex;
    width: 38px;
    height: 38px;
    color: #fff;
    border: none;
    background: transparent;
    font-size: 20px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.mobile-topbar-brand[b-ra44ilm6ov] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    color: inherit;
}

.mobile-topbar-spacer[b-ra44ilm6ov] {
    width: 38px;
}

.sidebar-backdrop[b-ra44ilm6ov] {
    display: none;
}

.main-area[b-ra44ilm6ov] {
    flex: 1;
    min-width: 0;
}

.main-content[b-ra44ilm6ov] {
    max-width: 1140px;
    margin: 0 auto;
    padding: 24px 16px;
}

/* Full-viewport module pages (Asistente): drop max-width/padding so the
   page can own the entire main area. */
.main-content-flush[b-ra44ilm6ov] {
    max-width: none;
    margin: 0;
    padding: 0;
    height: calc(100vh - var(--impersonation-banner-height, 0px));
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Biblioteca home (.home-hero): centered vertically in the viewport
   instead of sitting at the top, same viewport-height math as
   .main-content-flush. */
.main-content-centered[b-ra44ilm6ov] {
    display: flex;
    align-items: center;
    min-height: calc(100vh - var(--impersonation-banner-height, 0px));
}

@media (max-width: 560px) {
    .main-content[b-ra44ilm6ov] {
        padding: 20px 12px;
    }
}

@media (max-width: 860px) {
    /* A real topbar (fixed, full-width, sidebar-colored) instead of the
       hamburger floating alone over page content - three-column grid so
       the centered brand is centered against the whole bar width, not
       just whatever space is left after the hamburger; the spacer column
       balances the hamburger's own width so the brand isn't off-center. */
    .mobile-topbar[b-ra44ilm6ov] {
        display: grid;
        grid-template-columns: 38px 1fr 38px;
        align-items: center;
        position: fixed;
        top: var(--impersonation-banner-height, 0px);
        left: 0;
        right: 0;
        z-index: 1600;
        height: 56px;
        padding: 0 14px;
        background: var(--color-sidebar-bg);
    }

    /* The topbar is position:fixed (56px tall) so it floats above page
       content instead of taking up flex/flow space - without this,
       any page whose content starts near the top (ex. Dashboard's own
       greeting heading) renders directly underneath it, confirmed live via a
       same-origin iframe at 390px: the toggle's rect (14,14)-(52,52) and the
       dashboard H1's rect (12,20)-(261,51) genuinely overlapped, not just a
       screenshot artifact. .main-content gets extra breathing room below
       the bar (56px clearance + 16px gap); .main-content-flush (Asistente,
       deliberately edge-to-edge) only gets the clearance, no extra gap. */
    .main-content[b-ra44ilm6ov] {
        padding-top: calc(56px + var(--space-4, 16px));
    }

    .main-content-flush[b-ra44ilm6ov] {
        padding-top: 56px;
    }

    .sidebar[b-ra44ilm6ov] {
        position: fixed;
        inset: var(--impersonation-banner-height, 0px) auto 0 0;
        z-index: 1550;
        transform: translateX(-100%);
        transition: transform var(--transition-base);
        box-shadow: var(--shadow-lg);
        /* Overrides the base rule's height:100vh, which on mobile includes
           the area hidden behind the browser's collapsible address bar -
           .sidebar-spacer's flex:1 was growing to fill that inflated
           height, pushing the user-card (Mi cuenta/logout) below the
           actually-visible fold. 100dvh tracks the real visible viewport;
           the 100vh line stays first as a fallback for browsers that don't
           support dvh yet. */
        height: calc(100vh - var(--impersonation-banner-height, 0px));
        height: calc(100dvh - var(--impersonation-banner-height, 0px));
    }

    .sidebar-toggle-checkbox:checked ~ .sidebar[b-ra44ilm6ov] {
        transform: translateX(0);
    }

    /* Without this, the fixed topbar (z-index 1600, higher than the open
       sidebar's 1550) stays floating in place once the drawer opens,
       sitting directly on top of .sidebar-brand's logo underneath it.
       Backdrop click-to-close (already wired below) remains the way to
       dismiss the open drawer. */
    .sidebar-toggle-checkbox:checked ~ .mobile-topbar[b-ra44ilm6ov] {
        display: none;
    }

    .sidebar-backdrop[b-ra44ilm6ov] {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 1540;
        background: rgba(0, 0, 0, 0.4);
    }

    .sidebar-toggle-checkbox:checked ~ .sidebar-backdrop[b-ra44ilm6ov] {
        display: block;
    }

    .main-area[b-ra44ilm6ov] {
        width: 100%;
    }
}
/* /Components/Layout/MarketingLayout.razor.rz.scp.css */
.marketing-shell[b-9f70y9vvzu] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--color-bg);
}

.marketing-topbar[b-9f70y9vvzu] {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 16px 28px;
    position: sticky;
    top: 0;
    z-index: 10;
    background: color-mix(in oklch, var(--color-bg) 88%, transparent);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--color-border);
}

.marketing-brand[b-9f70y9vvzu] {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: inherit;
}

.brand-lockup[b-9f70y9vvzu] {
    height: 30px;
    width: auto;
}

/* Defensive, same as AuthLayout/LegalLayout - Landing redirects a logged-in
   visitor away before this ever renders dark today, but keep both lockups
   theme-correct in case that changes. */
.brand-lockup-dark[b-9f70y9vvzu] {
    display: none;
}

html[data-theme="dark"] .brand-lockup-light[b-9f70y9vvzu] {
    display: none;
}

html[data-theme="dark"] .brand-lockup-dark[b-9f70y9vvzu] {
    display: inline-block;
}

@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]):not([data-theme="dark"]) .brand-lockup-light[b-9f70y9vvzu] {
        display: none;
    }

    html:not([data-theme="light"]):not([data-theme="dark"]) .brand-lockup-dark[b-9f70y9vvzu] {
        display: inline-block;
    }
}

.marketing-nav[b-9f70y9vvzu] {
    display: flex;
    gap: 20px;
    margin-right: auto;
}

.marketing-nav a[b-9f70y9vvzu] {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-muted);
}

.marketing-nav a:hover[b-9f70y9vvzu] {
    color: var(--color-primary);
}

.marketing-actions[b-9f70y9vvzu] {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.marketing-main[b-9f70y9vvzu] {
    flex: 1;
}

.marketing-footer[b-9f70y9vvzu] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 48px 20px 40px;
    border-top: 1px solid var(--color-border);
    background: var(--color-surface-alt);
    text-align: center;
}

.marketing-footer-brand[b-9f70y9vvzu] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.marketing-footer-tagline[b-9f70y9vvzu] {
    margin: 0;
    max-width: 440px;
    font-size: 13.5px;
    color: var(--color-text-muted);
}

.marketing-footer-links[b-9f70y9vvzu] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    color: var(--color-text-muted);
    margin-top: 8px;
}

.marketing-footer-links a[b-9f70y9vvzu] {
    color: var(--color-text-muted);
}

.marketing-footer-copy[b-9f70y9vvzu] {
    margin: 8px 0 0;
    font-size: 12px;
    color: var(--color-text-subtle);
}

@media (max-width: 720px) {
    .marketing-topbar[b-9f70y9vvzu] {
        gap: 12px;
        padding: 14px 16px;
    }

    .marketing-nav[b-9f70y9vvzu] {
        display: none;
    }

    .marketing-actions .btn span[b-9f70y9vvzu] {
        display: none;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-4owvol4vfq],
.components-reconnect-repeated-attempt-visible[b-4owvol4vfq],
.components-reconnect-failed-visible[b-4owvol4vfq],
.components-pause-visible[b-4owvol4vfq],
.components-resume-failed-visible[b-4owvol4vfq],
.components-rejoining-animation[b-4owvol4vfq] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-4owvol4vfq],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-4owvol4vfq],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-4owvol4vfq],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-4owvol4vfq],
#components-reconnect-modal.components-reconnect-retrying[b-4owvol4vfq],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-4owvol4vfq],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-4owvol4vfq],
#components-reconnect-modal.components-reconnect-failed[b-4owvol4vfq],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-4owvol4vfq] {
    display: block;
}


#components-reconnect-modal[b-4owvol4vfq] {
    background-color: var(--color-surface);
    color: var(--color-text);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-4owvol4vfq 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-4owvol4vfq 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-4owvol4vfq 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-4owvol4vfq]::backdrop {
    background-color: oklch(0.1 0.01 260 / 45%);
    animation: components-reconnect-modal-fadeInOpacity-b-4owvol4vfq 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-4owvol4vfq {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-4owvol4vfq {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-4owvol4vfq {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-4owvol4vfq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-4owvol4vfq] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-4owvol4vfq] {
    border: 0;
    background-color: var(--color-primary);
    color: #fff;
    padding: 4px 24px;
    border-radius: var(--radius-sm);
    font-family: inherit;
    cursor: pointer;
    transition: background-color var(--transition-fast);
}

    #components-reconnect-modal button:hover[b-4owvol4vfq],
    #components-reconnect-modal button:active[b-4owvol4vfq] {
        background-color: var(--color-primary-hover);
    }

.components-rejoining-animation[b-4owvol4vfq] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-4owvol4vfq] {
        position: absolute;
        border: 3px solid var(--color-primary);
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-4owvol4vfq 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-4owvol4vfq] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-4owvol4vfq {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/ActivityDetail.razor.rz.scp.css */
.activity-header[b-8qzvig4ssn] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-3);
}

.activity-header .page-title[b-8qzvig4ssn] {
    margin: 0;
}

.activity-header-actions[b-8qzvig4ssn] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    flex-shrink: 0;
    padding-top: 4px;
}

.matter-summary-title[b-8qzvig4ssn] {
    display: block;
    font-size: 1.05rem;
    font-weight: 650;
    color: var(--color-text);
    text-decoration: none;
    margin-bottom: var(--space-3);
}

.matter-summary-title:hover[b-8qzvig4ssn] {
    color: var(--color-accent);
}

.matter-summary-meta[b-8qzvig4ssn],
.activity-view-meta[b-8qzvig4ssn] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: var(--space-3);
    margin: 0 0 var(--space-4);
}

.matter-summary-meta > div[b-8qzvig4ssn],
.activity-view-meta > div[b-8qzvig4ssn] {
    min-width: 0;
}

.matter-summary-meta dt[b-8qzvig4ssn],
.activity-view-meta dt[b-8qzvig4ssn] {
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--color-text-muted);
    margin: 0 0 2px;
}

.matter-summary-meta dd[b-8qzvig4ssn],
.activity-view-meta dd[b-8qzvig4ssn] {
    margin: 0;
    font-size: 14px;
    color: var(--color-text);
    word-break: break-word;
}

.activity-view-description p[b-8qzvig4ssn] {
    margin: 0;
    white-space: pre-wrap;
    font-size: 14px;
    line-height: 1.5;
}

.activity-view-list[b-8qzvig4ssn] {
    margin: 0;
    padding-left: 1.15rem;
    font-size: 13.5px;
}

.activity-view-list li + li[b-8qzvig4ssn] {
    margin-top: 4px;
}
/* /Components/Pages/Admin/AdminEmails.razor.rz.scp.css */
.grant-info[b-t0uhclnb7c] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.visit-info[b-t0uhclnb7c] {
    flex: 1;
}

.search-row[b-t0uhclnb7c] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-3);
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    .search-row[b-t0uhclnb7c] {
        flex-direction: column;
        align-items: stretch;
    }
}

.visit-pager[b-t0uhclnb7c] {
    display: flex;
    gap: 16px;
    margin: var(--space-4) 0 0;
}
/* /Components/Pages/Admin/AdminLayout.razor.rz.scp.css */
.admin-shell[b-37zteir91u] {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 32px;
    align-items: start;
}

.admin-shell-body[b-37zteir91u] {
    min-width: 0;
}

@media (max-width: 720px) {
    .admin-shell[b-37zteir91u] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Admin/AdminNavMenu.razor.rz.scp.css */
.admin-nav[b-iqct5thhk8] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 8px;
}

.admin-nav-link[b-iqct5thhk8] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: var(--radius-sm);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--color-text-muted);
    text-decoration: none;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.admin-nav-icon[b-iqct5thhk8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    flex-shrink: 0;
}

.admin-nav-link:hover[b-iqct5thhk8] {
    background: var(--color-surface-alt);
    color: var(--color-text);
}

.admin-nav-link.active[b-iqct5thhk8] {
    background: color-mix(in oklch, var(--color-primary) 12%, transparent);
    color: var(--color-primary);
}
/* /Components/Pages/Admin/AdminPadron.razor.rz.scp.css */
.admin-row-link[b-jdoxxdyvxa] {
    color: inherit;
    text-decoration: none;
}

.admin-row-link:hover strong[b-jdoxxdyvxa] {
    text-decoration: underline;
}

.grant-info[b-jdoxxdyvxa] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}
/* /Components/Pages/Admin/AdminPadronDetail.razor.rz.scp.css */
.user-head[b-hwc37tttkd] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    flex-wrap: wrap;
    margin-bottom: var(--space-5);
}

.padron-head-identity[b-hwc37tttkd] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    min-width: 0;
}

.padron-photo[b-hwc37tttkd] {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    background: var(--color-surface-alt);
    flex-shrink: 0;
}

.user-head-meta[b-hwc37tttkd] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    color: var(--color-text-muted);
    font-size: 14px;
}

.user-head-actions[b-hwc37tttkd] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.manual-invite-form[b-hwc37tttkd] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.manual-invite-form .form-input[b-hwc37tttkd] {
    width: 220px;
}

.user-grid[b-hwc37tttkd] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-5);
}

.user-dl[b-hwc37tttkd] {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 8px 16px;
    margin: 0;
    font-size: 13.5px;
}

.user-dl dt[b-hwc37tttkd] {
    color: var(--color-text-muted);
    font-weight: 600;
}

.user-dl dd[b-hwc37tttkd] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.grant-info[b-hwc37tttkd] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

@media (max-width: 900px) {
    .user-grid[b-hwc37tttkd] {
        grid-template-columns: 1fr;
    }

    .user-dl[b-hwc37tttkd] {
        grid-template-columns: 1fr;
        gap: 2px;
    }
}
/* /Components/Pages/Admin/AdminUserDetail.razor.rz.scp.css */
.user-head[b-wi7kkkqzam] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    flex-wrap: wrap;
    margin-bottom: var(--space-5);
}

.user-head-meta[b-wi7kkkqzam] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    color: var(--color-text-muted);
    font-size: 14px;
}

.user-head-actions[b-wi7kkkqzam] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.user-grid[b-wi7kkkqzam] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-5);
}

.user-dl[b-wi7kkkqzam] {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 8px 16px;
    margin: 0;
    font-size: 13.5px;
}

.user-dl dt[b-wi7kkkqzam] {
    color: var(--color-text-muted);
    font-weight: 600;
}

.user-dl dd[b-wi7kkkqzam] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.user-ua[b-wi7kkkqzam] {
    display: block;
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 52ch;
}

.admin-row-info[b-wi7kkkqzam] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-row-actions[b-wi7kkkqzam] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.grant-info[b-wi7kkkqzam] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

@media (max-width: 900px) {
    .user-grid[b-wi7kkkqzam] {
        grid-template-columns: 1fr;
    }

    .user-dl[b-wi7kkkqzam] {
        grid-template-columns: 1fr;
        gap: 2px;
    }
}
/* /Components/Pages/Admin/AdminUsers.razor.rz.scp.css */
.admin-row-info[b-epcjl1v1sb] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-row-link[b-epcjl1v1sb] {
    color: inherit;
    text-decoration: none;
    min-width: 0;
    flex: 1;
}

.admin-row-link:hover strong[b-epcjl1v1sb] {
    text-decoration: underline;
}

.admin-row-actions[b-epcjl1v1sb] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.search-row[b-epcjl1v1sb] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-3);
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    .search-row[b-epcjl1v1sb] {
        flex-direction: column;
        align-items: stretch;
    }
}

.type-filter[b-epcjl1v1sb] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    padding-top: 4px;
}
/* /Components/Pages/Admin/AdminUserStats.razor.rz.scp.css */
.admin-stats[b-cjqnztg5sm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
}

.admin-stat-label[b-cjqnztg5sm] {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--color-text-muted);
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.admin-stat-value[b-cjqnztg5sm] {
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -0.5px;
    line-height: 1.1;
}

.admin-stat-online-dot[b-cjqnztg5sm] {
    font-size: 8px;
    color: var(--color-success);
}

@media (max-width: 560px) {
    .admin-stats[b-cjqnztg5sm] {
        grid-template-columns: 1fr;
    }
}

.admin-stat-action[b-cjqnztg5sm] {
    margin-top: 12px;
}

.admin-online-list[b-cjqnztg5sm] {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
    max-height: 260px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.admin-online-list li[b-cjqnztg5sm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.admin-online-list a[b-cjqnztg5sm] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 8px;
    color: inherit;
    text-decoration: none;
    min-width: 0;
}

.admin-online-list a:hover strong[b-cjqnztg5sm] {
    text-decoration: underline;
}

.admin-online-tabs[b-cjqnztg5sm],
.admin-online-empty[b-cjqnztg5sm] {
    font-size: 12.5px;
}
/* /Components/Pages/Admin/AdminVersion.razor.rz.scp.css */
.admin-version[b-nrwpdje5fp] {
    font-size: 12px;
    color: var(--color-text-muted);
    margin: var(--space-5) 0 0;
    text-align: center;
    opacity: 0.75;
}
/* /Components/Pages/Admin/AdminVisits.razor.rz.scp.css */
.grant-info[b-mqew9e01pj] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.visit-info[b-mqew9e01pj] {
    flex: 1;
}

.search-row[b-mqew9e01pj] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-3);
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    .search-row[b-mqew9e01pj] {
        flex-direction: column;
        align-items: stretch;
    }
}

.visit-path[b-mqew9e01pj],
.visit-meta[b-mqew9e01pj],
.visit-url[b-mqew9e01pj] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visit-meta[b-mqew9e01pj],
.visit-url[b-mqew9e01pj] {
    font-size: 12px;
}

.visit-pager[b-mqew9e01pj] {
    display: flex;
    gap: 16px;
    margin: var(--space-4) 0 0;
}
/* /Components/Pages/Admin/Features.razor.rz.scp.css */
.admin-row-info[b-ynnpaq7k4v] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-row-actions[b-ynnpaq7k4v] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.grant-info[b-ynnpaq7k4v] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.search-row[b-ynnpaq7k4v] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-3);
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    .search-row[b-ynnpaq7k4v] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* /Components/Pages/Agenda.razor.rz.scp.css */
.agenda-header[b-ptz7wlvwl2] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: var(--space-4);
    flex-wrap: wrap;
}

.agenda-view-toggle[b-ptz7wlvwl2] {
    display: flex;
    gap: 4px;
    background: var(--color-surface-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 4px;
}

.agenda-view-toggle a[b-ptz7wlvwl2] {
    padding: 6px 14px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-muted);
}

.agenda-view-toggle a.active[b-ptz7wlvwl2] {
    background: var(--color-surface);
    color: var(--color-primary);
    box-shadow: var(--shadow-sm);
}

.agenda-layout[b-ptz7wlvwl2] {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: var(--space-6);
    align-items: start;
}

.agenda-day-group[b-ptz7wlvwl2] {
    margin-bottom: var(--space-5);
}

.agenda-day-label[b-ptz7wlvwl2] {
    font-weight: 700;
    font-size: 13.5px;
    color: var(--color-text-muted);
    margin-bottom: 8px;
}

.activity-row[b-ptz7wlvwl2] {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 10px 14px;
}

.activity-row-main[b-ptz7wlvwl2] {
    flex: 1;
    min-width: 0;
}

.activity-row-title[b-ptz7wlvwl2] {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text);
    display: flex;
    align-items: center;
    gap: 8px;
}

.activity-row-meta[b-ptz7wlvwl2] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 12.5px;
    color: var(--color-text-muted);
    margin-top: 4px;
}

.calendar-dot[b-ptz7wlvwl2] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.side-card[b-ptz7wlvwl2] {
    margin-bottom: var(--space-4);
}

.audit-row[b-ptz7wlvwl2] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
    padding: 6px 0;
    font-size: 12.5px;
    border-bottom: 1px solid var(--color-border);
}

.audit-row:last-child[b-ptz7wlvwl2] {
    border-bottom: none;
}

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

.new-calendar-panel[b-ptz7wlvwl2] {
    margin-bottom: var(--space-4);
    border: none;
    background: none;
}

.new-calendar-panel summary[b-ptz7wlvwl2] {
    list-style: none;
    cursor: pointer;
    padding: 12px 16px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--color-text-muted);
    display: flex;
    align-items: center;
    gap: 8px;
}

.new-calendar-panel summary[b-ptz7wlvwl2]::-webkit-details-marker {
    display: none;
}


.month-grid-header[b-ptz7wlvwl2] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: var(--space-4);
}

.month-grid-title[b-ptz7wlvwl2] {
    font-weight: 700;
    font-size: 15px;
    min-width: 160px;
    text-align: center;
}

.month-grid[b-ptz7wlvwl2] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
}

.month-grid-weekday[b-ptz7wlvwl2] {
    text-align: center;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--color-text-muted);
    padding-bottom: 4px;
}

.month-grid-day[b-ptz7wlvwl2] {
    aspect-ratio: 1;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--color-text);
    background: var(--color-surface);
}

.month-grid-day:hover[b-ptz7wlvwl2] {
    border-color: var(--color-primary);
}

.month-grid-day.outside-month[b-ptz7wlvwl2] {
    opacity: .4;
}

.month-grid-day.is-today[b-ptz7wlvwl2] {
    border-color: var(--color-primary);
    background: var(--color-surface-alt);
}

.month-grid-day-number[b-ptz7wlvwl2] {
    font-size: 12.5px;
    font-weight: 600;
}

.month-grid-day-dots[b-ptz7wlvwl2] {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-wrap: wrap;
}

.month-grid-dot[b-ptz7wlvwl2] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

.month-grid-more[b-ptz7wlvwl2] {
    font-size: 10px;
    color: var(--color-text-muted);
}

.week-grid[b-ptz7wlvwl2] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
    align-items: start;
}

.week-grid-day[b-ptz7wlvwl2] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: 6px;
    min-height: 140px;
    background: var(--color-surface);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.week-grid-day.is-today[b-ptz7wlvwl2] {
    border-color: var(--color-primary);
    background: var(--color-surface-alt);
}

.week-grid-day-header[b-ptz7wlvwl2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--color-text-muted);
    padding-bottom: 4px;
    border-bottom: 1px solid var(--color-border);
}

.week-grid-day-date[b-ptz7wlvwl2] {
    font-size: 13px;
    color: var(--color-text);
}

.week-activity-row[b-ptz7wlvwl2] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 3px 5px;
    border-left: 3px solid var(--color-primary);
    border-radius: 2px;
    background: var(--color-surface-alt);
    font-size: 11px;
    color: var(--color-text);
}

.week-activity-time[b-ptz7wlvwl2] {
    font-size: 10px;
    color: var(--color-text-muted);
}

.week-activity-title[b-ptz7wlvwl2] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .agenda-layout[b-ptz7wlvwl2] {
        grid-template-columns: 1fr;
    }

    .week-grid[b-ptz7wlvwl2] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .month-grid-day-number[b-ptz7wlvwl2] {
        font-size: 10.5px;
    }

    .month-grid[b-ptz7wlvwl2] {
        gap: 3px;
    }

    .month-grid-day[b-ptz7wlvwl2] {
        padding: 3px;
        gap: 2px;
    }

    .month-grid-dot[b-ptz7wlvwl2] {
        width: 5px;
        height: 5px;
    }

    .month-grid-more[b-ptz7wlvwl2] {
        display: none;
    }
}
/* /Components/Pages/Archivo/CommentThread.razor.rz.scp.css */
.comment-row[b-oq7dqggrf6] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 12px 14px;
}

.comment-meta[b-oq7dqggrf6] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 12.5px;
    margin-bottom: 6px;
}

.comment-content[b-oq7dqggrf6] {
    font-size: 13.5px;
    margin: 0 0 4px;
}

.comment-edit-form[b-oq7dqggrf6] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.comment-history[b-oq7dqggrf6] {
    list-style: none;
    margin: 8px 0 0;
    padding-left: 12px;
    font-size: 12px;
    color: var(--color-text-muted);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.comment-submit-row[b-oq7dqggrf6] {
    display: flex;
    align-items: center;
    gap: 8px;
}
/* /Components/Pages/Archivo/MatterDetail.razor.rz.scp.css */
.matter-header[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: var(--space-4);
}

.matter-header .page-title[b-ju1hk0pl4e] {
    margin: 0;
}

.tab-panel[b-ju1hk0pl4e] {
    margin-top: var(--space-4);
}

.resumen-stats[b-ju1hk0pl4e] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
    margin-bottom: var(--space-5);
}

.resumen-layout[b-ju1hk0pl4e] {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: var(--space-6);
    align-items: start;
}

.client-name[b-ju1hk0pl4e] {
    font-weight: 700;
    font-size: 14.5px;
    margin: 0 0 6px;
}

.side-card p[b-ju1hk0pl4e] {
    font-size: 12.5px;
    margin: 0 0 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.note-row[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 10px 14px;
    font-size: 13.5px;
}

.audit-row[b-ju1hk0pl4e] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 10px 14px;
    font-size: 13px;
}

.timeline-list[b-ju1hk0pl4e] {
    list-style: none;
    margin: 0;
    padding: 0 0 0 16px;
    border-left: 2px solid var(--color-border);
}

.timeline-day[b-ju1hk0pl4e] {
    margin-bottom: var(--space-4);
}

.timeline-date[b-ju1hk0pl4e] {
    font-weight: 700;
    color: var(--color-text-muted);
    font-size: 12.5px;
    margin-bottom: 6px;
}

.timeline-events[b-ju1hk0pl4e] {
    list-style: none;
    margin: 0;
    padding-left: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.timeline-event[b-ju1hk0pl4e] {
    font-size: 13px;
}

.party-row[b-ju1hk0pl4e] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 0;
}

.party-row + .party-row[b-ju1hk0pl4e] {
    border-top: 1px solid var(--color-border);
}

.party-role-tag[b-ju1hk0pl4e] {
    display: inline-block;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--color-accent);
    background: color-mix(in oklch, var(--color-accent) 14%, transparent);
    padding: 2px 7px;
    border-radius: var(--radius-pill);
    margin-bottom: 3px;
}

.party-name[b-ju1hk0pl4e] {
    font-weight: 700;
    font-size: 13px;
}

.party-actions[b-ju1hk0pl4e] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex-shrink: 0;
    text-align: right;
}

.party-actions .btn-link[b-ju1hk0pl4e] {
    font-size: 11.5px;
    padding: 0;
}

.norma-row[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 0;
    font-size: 12.5px;
}

.norma-row + .norma-row[b-ju1hk0pl4e] {
    border-top: 1px solid var(--color-border);
}

.norma-result-row[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 0;
}

.norma-result-row + .norma-result-row[b-ju1hk0pl4e] {
    border-top: 1px solid var(--color-border);
}

.norma-result-title[b-ju1hk0pl4e] {
    font-weight: 600;
    font-size: 12.5px;
}

.checklist-block[b-ju1hk0pl4e] {
    padding: 10px 0;
}

.checklist-block + .checklist-block[b-ju1hk0pl4e] {
    border-top: 1px solid var(--color-border);
}

.checklist-header[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.checklist-title[b-ju1hk0pl4e] {
    font-weight: 700;
    font-size: 13px;
    flex: 1;
}

.checklist-item[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 3px 0;
    font-size: 12.5px;
}

.checklist-item input[type="checkbox"][b-ju1hk0pl4e] {
    accent-color: var(--color-primary);
    flex-shrink: 0;
}

.checklist-item-done[b-ju1hk0pl4e] {
    color: var(--color-text-muted);
    text-decoration: line-through;
}

.checklist-item-remove[b-ju1hk0pl4e] {
    margin-left: auto;
    background: none;
    border: none;
    color: var(--color-text-subtle);
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 0 2px;
    flex-shrink: 0;
}

.checklist-item-remove:hover[b-ju1hk0pl4e] {
    color: var(--color-danger-text);
}

.team-row[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 0;
}

.team-row + .team-row[b-ju1hk0pl4e] {
    border-top: 1px solid var(--color-border);
}

.team-name[b-ju1hk0pl4e] {
    font-size: 12.5px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.due-item[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 0;
    font-size: 12.5px;
}

.due-item + .due-item[b-ju1hk0pl4e] {
    border-top: 1px solid var(--color-border);
}

.status-timeline[b-ju1hk0pl4e] {
    position: relative;
    padding-left: 24px;
}

.status-timeline[b-ju1hk0pl4e]::before {
    content: '';
    position: absolute;
    left: 6px;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: var(--color-border);
}

.status-node[b-ju1hk0pl4e] {
    position: relative;
    padding-bottom: var(--space-4);
}

.status-node:last-child[b-ju1hk0pl4e] {
    padding-bottom: 0;
}

.status-node[b-ju1hk0pl4e]::before {
    content: '';
    position: absolute;
    left: -24px;
    top: 4px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--color-surface);
    border: 2.5px solid var(--color-border-strong);
}

.status-node.current[b-ju1hk0pl4e]::before {
    border-color: var(--color-success);
    background: var(--color-success);
}

.status-node-date[b-ju1hk0pl4e] {
    font-size: 11.5px;
    color: var(--color-text-subtle);
    font-weight: 600;
}

.status-node-label[b-ju1hk0pl4e] {
    font-weight: 700;
    font-size: 13.5px;
}

.status-node.current .status-node-label[b-ju1hk0pl4e] {
    color: var(--color-success-text);
}

.status-node-flag[b-ju1hk0pl4e] {
    display: inline-flex;
    margin-left: 8px;
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--color-success-text);
    background: var(--color-success-bg);
    padding: 2px 8px;
    border-radius: var(--radius-pill);
}

/* ============ Case hero (layout ported from docs/prototypes/workspace-matter-hub.html,
   re-skinned onto the app's own theme.css tokens - no new colors/fonts) ============ */
.case-hero[b-ju1hk0pl4e] {
    position: relative;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 20px 22px 18px;
    box-shadow: var(--shadow-sm);
    margin-bottom: var(--space-3);
}

.case-hero-crumb[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--color-text-subtle);
    margin-bottom: 12px;
}

.case-hero-top[b-ju1hk0pl4e] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-4);
    align-items: start;
}

.case-hero-kicker[b-ju1hk0pl4e] {
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--color-text-subtle);
    font-weight: 700;
    margin: 0 0 5px;
}

.case-hero-title[b-ju1hk0pl4e] {
    font-family: var(--font-serif-italic);
    font-weight: 600;
    font-size: clamp(20px, 2.2vw, 27px);
    line-height: 1.2;
    margin: 0 0 9px;
}

.case-hero-meta[b-ju1hk0pl4e] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 14px;
    font-size: 13px;
    color: var(--color-text-muted);
}

.case-hero-meta-sep[b-ju1hk0pl4e] {
    color: var(--color-border-strong);
}

.case-hero-actions[b-ju1hk0pl4e] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--color-border);
}

.modal-actions[b-ju1hk0pl4e] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: var(--space-4);
}

.share-qr[b-ju1hk0pl4e] {
    display: flex;
    justify-content: center;
    margin: 4px 0 14px;
    padding: 12px;
    background: #fff;
    border-radius: 12px;
}

.share-qr :deep(svg)[b-ju1hk0pl4e] {
    width: 180px;
    height: 180px;
}

.share-url-row[b-ju1hk0pl4e],
.share-email-row[b-ju1hk0pl4e] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.share-email-row .form-input[b-ju1hk0pl4e],
.share-url-row .form-input[b-ju1hk0pl4e] {
    flex: 1;
    min-width: 0;
    font-size: 12px;
}

.view-toggle-row[b-ju1hk0pl4e] {
    display: flex;
    gap: 8px;
    margin-bottom: var(--space-3);
}

/* ============ Partes | Equipo horizontal grid ============ */
.case-grid-2[b-ju1hk0pl4e] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.panel[b-ju1hk0pl4e] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 16px 18px;
    box-shadow: var(--shadow-sm);
}

/* Several panels are <details> now (collapsible, click-to-expand) instead
   of plain <div>/<section> - same box, no visual change when a panel has
   no header row of its own. The summary reuses .side-card-title's own
   flex layout (icon + text, optionally a header action button before the
   chevron via margin-left:auto) instead of a second layout system. */
details.panel > summary[b-ju1hk0pl4e] {
    cursor: pointer;
    list-style: none;
}

details.panel > summary[b-ju1hk0pl4e]::-webkit-details-marker {
    display: none;
}

.panel-chevron[b-ju1hk0pl4e] {
    margin-left: auto;
    color: var(--color-text-muted);
    font-size: 11px;
    transition: transform 0.15s;
}

details.panel[open] > summary .panel-chevron[b-ju1hk0pl4e] {
    transform: rotate(180deg);
}

.party-row-h[b-ju1hk0pl4e] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 9px 10px;
    background: var(--color-surface-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.party-row-h + .party-row-h[b-ju1hk0pl4e] {
    margin-top: 8px;
}

.party-row-h .party-name[b-ju1hk0pl4e] {
    font-weight: 700;
    font-size: 13px;
}

.person-row[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
}

.person-row + .person-row[b-ju1hk0pl4e] {
    border-top: 1px solid var(--color-border);
    padding-top: 10px;
    margin-top: 4px;
}

.person-row .person-name[b-ju1hk0pl4e] {
    font-weight: 700;
    font-size: 13px;
}

.person-row .person-role[b-ju1hk0pl4e] {
    font-size: 11.5px;
    color: var(--color-text-subtle);
}

/* ============ Deadline radar ============ */
.deadline-radar[b-ju1hk0pl4e] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.deadline-card[b-ju1hk0pl4e] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 12px 14px;
    border-top: 3px solid var(--color-border-strong);
}

.deadline-card.urgent[b-ju1hk0pl4e] {
    border-top-color: var(--color-danger);
    background: color-mix(in oklch, var(--color-danger) 6%, var(--color-surface));
}

.deadline-card.soon[b-ju1hk0pl4e] {
    border-top-color: var(--color-warning);
}

.deadline-card-when[b-ju1hk0pl4e] {
    font-size: 11px;
    font-weight: 700;
    color: var(--color-text-subtle);
    margin-bottom: 4px;
}

.deadline-card.urgent .deadline-card-when[b-ju1hk0pl4e] {
    color: var(--color-danger-text);
}

.deadline-card.soon .deadline-card-when[b-ju1hk0pl4e] {
    color: var(--color-warning-text);
}

.deadline-card-title[b-ju1hk0pl4e] {
    font-weight: 700;
    font-size: 13px;
}

/* ============ Workflow chips (derived live from statusHistory, not a
   fixed litigation taxonomy the mockup hardcoded) ============ */
.workflow-row[b-ju1hk0pl4e] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-bottom: var(--space-4);
}

.wf-chip[b-ju1hk0pl4e] {
    padding: 5px 10px;
    border-radius: var(--radius-sm);
    font-size: 11.5px;
    font-weight: 700;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-text-subtle);
}

.wf-chip.done[b-ju1hk0pl4e] {
    background: var(--color-surface-alt);
    color: var(--color-text-muted);
    border-color: var(--color-border-strong);
}

.wf-chip.current[b-ju1hk0pl4e] {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-primary) 18%, transparent);
    animation: wfChipPulse-b-ju1hk0pl4e 2.2s ease-in-out infinite;
}

@keyframes wfChipPulse-b-ju1hk0pl4e {
    0%, 100% { box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-primary) 18%, transparent); }
    50% { box-shadow: 0 0 0 6px color-mix(in oklch, var(--color-primary) 5%, transparent); }
}

.wf-arrow[b-ju1hk0pl4e] {
    color: var(--color-text-subtle);
    font-size: 10px;
}

/* ============ Feed alternate view (layout ported from
   docs/prototypes/workspace-redesign-b-feed.html, which already used this
   app's exact theme.css tokens - only the structure needed porting) ============ */
.feed-shell[b-ju1hk0pl4e] {
    display: flex;
    gap: var(--space-4);
    align-items: flex-start;
}

.feed-case-panel[b-ju1hk0pl4e] {
    width: 280px;
    flex-shrink: 0;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 18px 16px;
    box-shadow: var(--shadow-sm);
    position: sticky;
    top: var(--space-4);
}

.feed-panel-section[b-ju1hk0pl4e] {
    padding: 13px 0;
    border-top: 1px solid var(--color-border);
}

.feed-panel-section:first-of-type[b-ju1hk0pl4e] {
    border-top: none;
    padding-top: 0;
}

.feed-panel-section-title[b-ju1hk0pl4e] {
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--color-text-subtle);
    margin: 0 0 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.feed-main[b-ju1hk0pl4e] {
    flex: 1;
    min-width: 0;
}

/* Stage stepper - horizontal, oldest -> newest left to right */
.stepper-card[b-ju1hk0pl4e] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 16px 18px 14px;
    margin-bottom: var(--space-4);
}

.stepper[b-ju1hk0pl4e] {
    display: flex;
    align-items: flex-start;
    overflow-x: auto;
    padding-bottom: 4px;
}

.stage[b-ju1hk0pl4e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 88px;
    flex-shrink: 0;
}

.stage .dot[b-ju1hk0pl4e] {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--color-surface);
    border: 2.5px solid var(--color-border-strong);
    margin-bottom: 6px;
}

.stage.done .dot[b-ju1hk0pl4e] {
    background: var(--color-success);
    border-color: var(--color-success);
}

.stage.current .dot[b-ju1hk0pl4e] {
    background: var(--color-primary);
    border-color: var(--color-primary);
    box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-primary) 18%, transparent);
    animation: stageCurrentPulse-b-ju1hk0pl4e 2.2s ease-in-out infinite;
}

@keyframes stageCurrentPulse-b-ju1hk0pl4e {
    0%, 100% { box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-primary) 18%, transparent); }
    50% { box-shadow: 0 0 0 7px color-mix(in oklch, var(--color-primary) 6%, transparent); }
}

.stage-label[b-ju1hk0pl4e] {
    font-size: 10.5px;
    font-weight: 700;
    text-align: center;
    color: var(--color-text-muted);
    line-height: 1.25;
}

.stage.done .stage-label[b-ju1hk0pl4e],
.stage.current .stage-label[b-ju1hk0pl4e] {
    color: var(--color-text);
}

.stage-date[b-ju1hk0pl4e] {
    font-size: 9.5px;
    color: var(--color-text-subtle);
    margin-top: 2px;
}

.stage-line[b-ju1hk0pl4e] {
    flex: 1;
    height: 2px;
    background: var(--color-border-strong);
    margin: 6px -2px 0;
    min-width: 18px;
}

.stage-line.done[b-ju1hk0pl4e] {
    background: var(--color-success);
}

/* Composer */
.composer-card[b-ju1hk0pl4e] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 14px 16px;
    margin-bottom: var(--space-4);
}

.composer-types[b-ju1hk0pl4e] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.type-chip[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--color-border-strong);
    color: var(--color-text-muted);
    cursor: pointer;
    background: var(--color-surface);
}

.type-chip:hover[b-ju1hk0pl4e] {
    background: var(--color-surface-alt);
}

.type-chip.sel[b-ju1hk0pl4e] {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}

.composer-form[b-ju1hk0pl4e] {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--color-border);
}

/* Filter row */
.filter-row[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: var(--space-4);
    flex-wrap: wrap;
}

.filter-chip[b-ju1hk0pl4e] {
    padding: 6px 12px;
    border-radius: var(--radius-pill);
    font-size: 11.5px;
    font-weight: 700;
    cursor: pointer;
    border: 1px solid var(--color-border-strong);
    color: var(--color-text-muted);
    background: var(--color-surface);
}

.filter-chip:hover[b-ju1hk0pl4e] {
    border-color: var(--color-primary);
}

.filter-chip.active[b-ju1hk0pl4e] {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}

.filter-search[b-ju1hk0pl4e] {
    margin-left: auto;
    min-width: 180px;
}

/* Unified feed nodes */
.feed[b-ju1hk0pl4e] {
    position: relative;
    padding-left: 26px;
}

.feed[b-ju1hk0pl4e]::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: var(--color-border);
}

.feed-day-label[b-ju1hk0pl4e] {
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--color-text-subtle);
    margin: 18px 0 8px -26px;
    padding-left: 26px;
}

.feed-day-label:first-child[b-ju1hk0pl4e] {
    margin-top: 0;
}

.feed-node[b-ju1hk0pl4e] {
    position: relative;
    margin-bottom: 10px;
}

.feed-node[b-ju1hk0pl4e]::before {
    content: '';
    position: absolute;
    left: -21px;
    top: 13px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--color-surface);
    border: 2.5px solid var(--color-border-strong);
}

.feed-node.t-estado[b-ju1hk0pl4e]::before {
    border-color: var(--color-primary);
    background: var(--color-primary);
}

.feed-node.t-documento[b-ju1hk0pl4e]::before {
    border-color: var(--color-primary);
}

.feed-node.t-evento[b-ju1hk0pl4e]::before {
    border-color: var(--color-accent);
}

.feed-node.t-nota[b-ju1hk0pl4e]::before {
    border-color: var(--color-warning);
}

.feed-node.t-comentario[b-ju1hk0pl4e]::before {
    border-color: var(--color-success);
}

.node-card[b-ju1hk0pl4e] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 11px 13px;
}

.node-card.estado[b-ju1hk0pl4e] {
    background: color-mix(in oklch, var(--color-primary) 6%, var(--color-surface));
    border-color: color-mix(in oklch, var(--color-primary) 30%, var(--color-border));
}

.node-head[b-ju1hk0pl4e] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.node-type-tag[b-ju1hk0pl4e] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 2px 8px;
    border-radius: var(--radius-pill);
}

.node-type-tag.t-estado[b-ju1hk0pl4e],
.node-type-tag.t-documento[b-ju1hk0pl4e] {
    background: color-mix(in oklch, var(--color-primary) 14%, transparent);
    color: var(--color-primary);
}

.node-type-tag.t-evento[b-ju1hk0pl4e] {
    background: color-mix(in oklch, var(--color-accent) 16%, transparent);
    color: var(--color-accent);
}

.node-type-tag.t-nota[b-ju1hk0pl4e] {
    background: var(--color-warning-bg);
    color: var(--color-warning-text);
}

.node-type-tag.t-comentario[b-ju1hk0pl4e] {
    background: var(--color-success-bg);
    color: var(--color-success-text);
}

.node-type-tag.t-otro[b-ju1hk0pl4e] {
    background: var(--color-neutral-bg);
    color: var(--color-neutral-text);
}

.node-time[b-ju1hk0pl4e] {
    font-size: 11px;
    color: var(--color-text-subtle);
    margin-left: auto;
}

.node-title[b-ju1hk0pl4e] {
    font-weight: 700;
    font-size: 13px;
    margin: 2px 0 0;
}

.node-foot[b-ju1hk0pl4e] {
    font-size: 11px;
    color: var(--color-text-subtle);
    margin-top: 6px;
}

/* Row-card list (Documentos/Notas/Eventos) - layout ported from
   workspace-matter-hub.html's .row, colors from theme.css */
.row-card[b-ju1hk0pl4e] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 11px 13px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-alt);
}

.row-card + .row-card[b-ju1hk0pl4e] {
    margin-top: 8px;
}

.row-card-ico[b-ju1hk0pl4e] {
    width: 34px;
    height: 34px;
    border-radius: var(--radius-sm);
    display: grid;
    place-items: center;
    background: color-mix(in oklch, var(--color-primary) 12%, transparent);
    color: var(--color-primary);
    font-size: 14px;
    flex-shrink: 0;
}

.row-card-title[b-ju1hk0pl4e] {
    font-weight: 700;
    font-size: 13.5px;
}

.row-card-meta[b-ju1hk0pl4e] {
    font-size: 11.5px;
    color: var(--color-text-subtle);
    margin-top: 2px;
}

@media (max-width: 900px) {
    .resumen-layout[b-ju1hk0pl4e] {
        grid-template-columns: 1fr;
    }

    .filters-grid[b-ju1hk0pl4e] {
        grid-template-columns: 1fr;
    }

    .resumen-stats[b-ju1hk0pl4e] {
        grid-template-columns: 1fr;
    }

    .case-hero-top[b-ju1hk0pl4e] {
        grid-template-columns: 1fr;
    }

    .case-grid-2[b-ju1hk0pl4e],
    .deadline-radar[b-ju1hk0pl4e] {
        grid-template-columns: 1fr;
    }

    .feed-shell[b-ju1hk0pl4e] {
        flex-direction: column;
    }

    .feed-case-panel[b-ju1hk0pl4e] {
        width: 100%;
        position: static;
    }
}
/* /Components/Pages/Archivo/NoteDetail.razor.rz.scp.css */
.note-header[b-2q677h1b80] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.note-header .page-title[b-2q677h1b80] {
    margin: 0;
}

.folder-table[b-2q677h1b80] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.folder-row[b-2q677h1b80] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    padding: 10px 12px;
    border-bottom: 1px solid var(--color-border);
    font-size: 13.5px;
}

.folder-row:last-child[b-2q677h1b80] {
    border-bottom: none;
}
/* /Components/Pages/Archivo/RichTextEditor.razor.rz.scp.css */
/* Toast UI Editor (Incremento F) ships and scopes its own CSS via the
   vendored toastui-editor.min.css - the old .rte-toolbar/.rte-content
   classes this file used to style no longer exist in the markup. */
/* /Components/Pages/Assistant.razor.rz.scp.css */
.asistente-page[b-hkgbj4p1o7] {
    flex: 1;
    min-height: 0;
    height: 100%;
    max-width: none;
    display: flex;
    flex-direction: column;
    padding: 16px 16px 12px;
    box-sizing: border-box;
    background: var(--color-bg);
    color: var(--color-text);
}

.asistente-header[b-hkgbj4p1o7] {
    flex-shrink: 0;
    margin-bottom: var(--space-3);
}

.asistente-header h1[b-hkgbj4p1o7] {
    font-family: var(--font-display, Lora, Georgia, serif);
    font-size: 1.5rem;
    margin: 0 0 0.25rem;
    color: var(--color-text);
}

.asistente-header p[b-hkgbj4p1o7] {
    margin: 0;
    color: var(--color-text-muted);
}

.asistente-layout[b-hkgbj4p1o7] {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: var(--space-3);
    align-items: stretch;
}

@media (max-width: 800px) {
    .asistente-layout[b-hkgbj4p1o7] {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
    }

    .asistente-sidebar[b-hkgbj4p1o7] {
        max-height: 180px;
        overflow: auto;
    }
}

.asistente-sidebar[b-hkgbj4p1o7] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md, 8px);
    padding: var(--space-3);
    overflow: auto;
    min-height: 0;
    color: var(--color-text);
}

.asistente-chip-row[b-hkgbj4p1o7] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: var(--space-2);
}

.asistente-chip-row.is-open[b-hkgbj4p1o7] {
    position: relative;
    z-index: 8;
}

.asistente-float-backdrop[b-hkgbj4p1o7] {
    position: fixed;
    inset: 0;
    z-index: 7;
    background: transparent;
}

.asistente-chip-wrap[b-hkgbj4p1o7] {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.asistente-chip-btn[b-hkgbj4p1o7] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.5rem;
    font-size: 0.78rem;
    justify-content: flex-start;
}

.asistente-chip-text[b-hkgbj4p1o7] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
}

.asistente-chip-caret[b-hkgbj4p1o7] {
    margin-left: auto;
    opacity: 0.65;
    font-size: 0.7rem;
}

.asistente-float-panel[b-hkgbj4p1o7] {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 8;
    max-height: 240px;
    overflow: auto;
    padding: 0.35rem;
    border-radius: var(--radius-md, 8px);
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    box-shadow: var(--shadow-md);
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.asistente-float-option[b-hkgbj4p1o7] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    width: 100%;
    text-align: left;
    border: none;
    background: transparent;
    border-radius: 6px;
    padding: 0.4rem 0.5rem;
    cursor: pointer;
    color: var(--color-text);
    font: inherit;
    font-size: 0.82rem;
}

.asistente-float-option:hover[b-hkgbj4p1o7] {
    background: var(--color-surface-hover);
}

.asistente-float-option.is-active[b-hkgbj4p1o7] {
    background: var(--color-surface-hover);
    box-shadow: inset 3px 0 0 var(--color-primary);
}

.asistente-float-option-title[b-hkgbj4p1o7] {
    font-weight: 600;
    line-height: 1.25;
}

.asistente-float-option-sub[b-hkgbj4p1o7] {
    font-size: 0.72rem;
    color: var(--color-text-muted);
}

.asistente-conv-list[b-hkgbj4p1o7] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.asistente-conv-link[b-hkgbj4p1o7] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    border-radius: 6px;
    padding: 0.45rem 0.55rem;
    cursor: pointer;
    color: var(--color-text);
    font: inherit;
    border-left: 3px solid transparent;
}

.asistente-conv-link:hover[b-hkgbj4p1o7] { background: var(--color-surface-hover); }

.asistente-conv-link.is-active[b-hkgbj4p1o7] {
    background: var(--color-surface-hover);
    border-left-color: var(--color-primary);
}

.asistente-conv-title[b-hkgbj4p1o7] {
    font-weight: 600;
    font-size: 0.9rem;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.asistente-conv-matter[b-hkgbj4p1o7] {
    font-size: 0.75rem;
    color: var(--color-text-muted);
}

.asistente-conv-time[b-hkgbj4p1o7] {
    font-size: 0.7rem;
    color: var(--color-text-subtle);
    margin-top: 0.1rem;
}

.asistente-main[b-hkgbj4p1o7] {
    min-height: 0;
    height: 100%;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md, 8px);
    padding: var(--space-3);
    display: flex;
    flex-direction: column;
    color: var(--color-text);
}
/* /Components/Pages/BibliotecaAnotaciones.razor.rz.scp.css */
.anno-groups[b-i3ruti3a8l] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.anno-group[b-i3ruti3a8l] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 12px 16px 16px;
}

.anno-group-summary[b-i3ruti3a8l] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
    margin-bottom: 12px;
}

.anno-group-summary[b-i3ruti3a8l]::-webkit-details-marker {
    display: none;
}

.anno-group .stack[b-i3ruti3a8l] {
    margin: 0;
}

.anno-art[b-i3ruti3a8l] {
    font-style: normal;
    font-weight: 600;
    color: var(--color-primary);
    margin-right: 6px;
}

.anno-comment[b-i3ruti3a8l] {
    margin: 6px 0 0;
    font-size: 13px;
    color: var(--color-text-muted);
    font-weight: 400;
}

.anno-group[b-i3ruti3a8l]  .list-row-main a {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
    font-style: italic;
}

.anno-group[b-i3ruti3a8l]  .doc-anno-swatch {
    margin-top: 5px;
}
/* /Components/Pages/Dashboard.razor.rz.scp.css */
.dash-header[b-cjon86wrtv] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}

.dash-greeting[b-cjon86wrtv] {
    font-family: var(--font-serif-italic);
    font-style: italic;
    font-weight: 600;
    font-size: 28px;
    margin: 0 0 4px;
    letter-spacing: -.3px;
}

.dash-date[b-cjon86wrtv] {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 13.5px;
}

.dash-actions[b-cjon86wrtv] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.search-strip[b-cjon86wrtv] {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 22px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 10px;
    box-shadow: var(--shadow-sm);
}

.search-strip-icon[b-cjon86wrtv] {
    opacity: .45;
    padding-left: 8px;
}

.search-strip-input[b-cjon86wrtv] {
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    font: inherit;
    font-size: 15px;
    padding: 8px 10px;
    color: var(--color-text);
}

.search-strip-input[b-cjon86wrtv]::placeholder {
    color: var(--color-text-subtle);
}

.search-strip .btn[b-cjon86wrtv] {
    border: 0;
}

.dash-grid[b-cjon86wrtv] {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 16px;
    align-items: start;
}

@media (max-width: 960px) {
    .dash-grid[b-cjon86wrtv] {
        grid-template-columns: 1fr;
    }

    .dash-greeting[b-cjon86wrtv] {
        font-size: 24px;
    }
}

@media (max-width: 420px) {
    .mini-stats[b-cjon86wrtv] {
        grid-template-columns: 1fr;
    }
}

.panel[b-cjon86wrtv] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 18px 18px 14px;
    box-shadow: var(--shadow-sm);
}

.panel-head[b-cjon86wrtv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.panel-title[b-cjon86wrtv] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 14px;
    font-weight: 700;
}

.panel-title .icon[b-cjon86wrtv] {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    font-size: 12px;
    color: #fff;
}

.icon-agenda[b-cjon86wrtv] { background: var(--color-primary); }
.icon-workspace[b-cjon86wrtv] { background: oklch(0.5 0.1 220); }
.icon-biblioteca[b-cjon86wrtv] { background: oklch(0.48 0.12 255); }
.icon-plantillas[b-cjon86wrtv] { background: oklch(0.52 0.1 160); }

.panel-link[b-cjon86wrtv] {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--color-text-muted);
}

.panel-link:hover[b-cjon86wrtv] {
    color: var(--color-primary);
}

.panel-footer-links[b-cjon86wrtv] {
    margin: 10px 4px 2px;
    font-size: 12.5px;
    color: var(--color-text-muted);
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.row-list[b-cjon86wrtv] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.row-list li[b-cjon86wrtv] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: start;
    padding: 11px 4px;
    border-top: 1px solid var(--color-border);
}

.row-list li:first-child[b-cjon86wrtv] {
    border-top: 0;
    padding-top: 2px;
}

.row-meta[b-cjon86wrtv] {
    font-size: 11.5px;
    font-weight: 700;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    min-width: 52px;
    max-width: 72px;
    padding-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.row-title[b-cjon86wrtv] {
    margin: 0 0 2px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--color-text);
}

.row-title a[b-cjon86wrtv] {
    color: inherit;
}

.row-title a:hover[b-cjon86wrtv] {
    color: var(--color-primary);
}

.row-sub[b-cjon86wrtv] {
    margin: 0;
    font-size: 12.5px;
    color: var(--color-text-muted);
}

.cal-dot[b-cjon86wrtv] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-top: 6px;
}

.empty[b-cjon86wrtv] {
    padding: 18px 8px 12px;
    text-align: center;
    color: var(--color-text-muted);
    font-size: 13px;
}

.mini-stats[b-cjon86wrtv] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 8px;
}

.badge-as-link[b-cjon86wrtv] {
    text-decoration: none;
}

.upsell[b-cjon86wrtv] {
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px dashed var(--color-border-strong);
    border-radius: var(--radius-lg);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: var(--color-surface-alt);
}

.upsell p[b-cjon86wrtv] {
    margin: 0;
    font-size: 13px;
    color: var(--color-text-muted);
}

.upsell p strong[b-cjon86wrtv] {
    color: var(--color-text);
}

.chip-row[b-cjon86wrtv] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.chip[b-cjon86wrtv] {
    font-size: 11.5px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    color: var(--color-text-subtle);
}
/* /Components/Pages/DeleteCalendarButton.razor.rz.scp.css */
.modal-actions[b-8785pjetaa] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: var(--space-4);
}
/* /Components/Pages/DocumentView.razor.rz.scp.css */
.doc-toolbar[b-bmv42upfo9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: var(--space-4);
}

.doc-badges[b-bmv42upfo9] {
    display: flex;
    gap: 8px;
}

.doc-actions[b-bmv42upfo9] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.doc-title[b-bmv42upfo9] {
    font-size: 26px;
    font-weight: 700;
    margin: 0 0 6px;
    line-height: 1.25;
}

.doc-meta[b-bmv42upfo9] {
    color: var(--color-text-muted);
    font-size: 13.5px;
    margin: 0 0 var(--space-4);
}

.doc-layout[b-bmv42upfo9] {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: var(--space-6);
    align-items: start;
}

.doc-main[b-bmv42upfo9] {
    min-width: 0;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 24px 28px;
    box-shadow: var(--shadow-sm);
}

.doc-side[b-bmv42upfo9] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    position: sticky;
    top: calc(var(--impersonation-banner-height, 0px) + var(--space-4));
    max-height: calc(100vh - var(--impersonation-banner-height, 0px) - 2 * var(--space-4));
    max-height: calc(100dvh - var(--impersonation-banner-height, 0px) - 2 * var(--space-4));
    overflow-y: auto;
    overscroll-behavior: contain;
}

.side-card-relations[b-bmv42upfo9] {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    min-height: 12rem;
    max-height: calc(100vh - var(--impersonation-banner-height, 0px) - 8rem);
    max-height: calc(100dvh - var(--impersonation-banner-height, 0px) - 8rem);
    overflow: hidden;
}

.side-card-relations .side-card-title[b-bmv42upfo9] {
    flex-shrink: 0;
}

.relation-scroll[b-bmv42upfo9] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.side-list[b-bmv42upfo9] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 13px;
}

.side-list li[b-bmv42upfo9] {
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-border);
}

.side-list li:last-child[b-bmv42upfo9] {
    border-bottom: none;
    padding-bottom: 0;
}

.relation-section + .relation-section[b-bmv42upfo9] {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--color-border);
}

.relation-section-title[b-bmv42upfo9] {
    font-size: 12px;
    font-weight: 700;
    color: var(--color-text);
    margin-bottom: 8px;
}

.relation-type-label[b-bmv42upfo9] {
    font-size: 11px;
    font-weight: 600;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 8px 0 4px;
}

.relation-section .relation-type-label:first-of-type[b-bmv42upfo9] {
    margin-top: 0;
}

/* `EditForm` and `InputRadio` render their <form>/<input> elements as part
   of the framework's own render tree, not this component's markup - they
   never get this file's Blazor scope attribute (confirmed live: neither
   the rendered <form> nor its <input type="radio"> had a `b-xxxx`
   attribute, while a plain <label> or <div> written directly in this
   .razor file did). Plain scoped selectors like `.feedback-widget { ... }`
   silently never matched, so styling (including the hidden-radio trick,
   the reveal-on-check rule, and even a simple margin-top) had no effect -
   the real native radio button stayed fully visible next to the icon.
   `::deep` is Blazor's documented escape hatch for styling elements
   rendered by a child component from within an isolated .razor.css file -
   used here on every selector in this block since the whole widget lives
   inside the unscoped <form>. */
[b-bmv42upfo9] .feedback-widget {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 6px;
}

[b-bmv42upfo9] .feedback-vote-row {
    display: flex;
    justify-content: center;
    gap: 8px;
}

[b-bmv42upfo9] .feedback-radio-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

[b-bmv42upfo9] .feedback-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 36px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-alt);
    color: var(--color-text-muted);
    cursor: pointer;
    font-size: 15px;
    transition: background-color .15s, border-color .15s, color .15s;
}

[b-bmv42upfo9] .feedback-thumb:hover {
    background: var(--color-surface-hover);
}

[b-bmv42upfo9] .feedback-radio-input:focus-visible + .feedback-thumb {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

[b-bmv42upfo9] .feedback-radio-input:checked + .feedback-thumb-up {
    background: var(--color-success-bg);
    border-color: var(--color-success);
    color: var(--color-success-text);
}

[b-bmv42upfo9] .feedback-radio-input:checked + .feedback-thumb-down {
    background: var(--color-danger-bg);
    border-color: var(--color-danger);
    color: var(--color-danger-text);
}

/* Revealed once either thumb is picked - lets the user still switch votes
   freely before hitting "Enviar", since both radios stay re-selectable. */
[b-bmv42upfo9] .feedback-details {
    display: none;
    flex-direction: column;
    gap: 8px;
}

[b-bmv42upfo9] .feedback-widget:has(.feedback-radio-input:checked) .feedback-details {
    display: flex;
}

[b-bmv42upfo9] .feedback-textarea {
    min-height: 64px;
    resize: vertical;
    font-size: 13px;
}

[b-bmv42upfo9] .feedback-note {
    font-size: 12.5px;
    margin: 8px 0 0;
}

[b-bmv42upfo9] .feedback-thanks {
    color: var(--color-success-text);
}

.document-article .article-number[b-bmv42upfo9] {
    font-weight: 700;
    color: var(--color-primary);
    margin-bottom: 4px;
}

/* MarkupString HTML from Markdig does not get Blazor scope attributes —
   table/p/pre rules must use ::deep. Do not justify <table>. */
.document-article .article-text[b-bmv42upfo9] {
    overflow-x: auto;
    -webkit-user-select: text;
    user-select: text;
}

.document-article .article-text[b-bmv42upfo9]  p {
    margin: 0 0 0.85em;
    text-align: justify;
    text-justify: inter-word;
}

.document-article .article-text[b-bmv42upfo9]  p:last-child {
    margin-bottom: 0;
}

.document-article .article-text[b-bmv42upfo9]  table {
    border-collapse: collapse;
    width: max-content;
    margin: 1em 0;
    text-align: left;
    background: var(--color-surface, #fff);
}

.document-article .article-text[b-bmv42upfo9]  th,
.document-article .article-text[b-bmv42upfo9]  td {
    border: 1px solid var(--color-border, #d0d5dd);
    padding: 6px 10px;
    vertical-align: top;
    white-space: nowrap;
}

.document-article .article-text[b-bmv42upfo9]  th {
    font-weight: 600;
    background: var(--color-bg-muted, #f4f6f8);
}

.document-article .article-text[b-bmv42upfo9]  pre {
    overflow-x: auto;
    white-space: pre;
    text-align: left;
    background: var(--color-bg-muted, #f4f6f8);
    padding: 12px;
    margin: 1em 0;
    font-size: 0.9em;
}

.document-article .article-text[b-bmv42upfo9]  code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.document-article .article-text[b-bmv42upfo9]  mark.doc-mark,
.document-article .article-text[b-bmv42upfo9]  span.doc-mark {
    /* Reset UA <mark> yellow so comment-only spans are underline-only. */
    background: transparent;
    color: inherit;
    padding: 0 1px;
    border-radius: 2px;
    cursor: pointer;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
}

.document-article .article-text[b-bmv42upfo9]  mark.doc-mark-yellow {
    background: color-mix(in oklch, oklch(0.92 0.16 95) 78%, transparent);
    box-shadow: inset 0 -2px 0 oklch(0.78 0.16 85);
}
.document-article .article-text[b-bmv42upfo9]  mark.doc-mark-green {
    background: color-mix(in oklch, oklch(0.88 0.14 145) 78%, transparent);
    box-shadow: inset 0 -2px 0 oklch(0.62 0.14 145);
}
.document-article .article-text[b-bmv42upfo9]  mark.doc-mark-blue {
    background: color-mix(in oklch, oklch(0.86 0.1 250) 78%, transparent);
    box-shadow: inset 0 -2px 0 oklch(0.58 0.12 250);
}
.document-article .article-text[b-bmv42upfo9]  mark.doc-mark-pink {
    background: color-mix(in oklch, oklch(0.88 0.14 350) 78%, transparent);
    box-shadow: inset 0 -2px 0 oklch(0.68 0.16 350);
}
.document-article .article-text[b-bmv42upfo9]  mark.doc-mark-orange {
    background: color-mix(in oklch, oklch(0.86 0.14 55) 78%, transparent);
    box-shadow: inset 0 -2px 0 oklch(0.68 0.16 50);
}

.document-article .article-text[b-bmv42upfo9]  span.doc-mark-note,
.document-article .article-text[b-bmv42upfo9]  mark.doc-mark-note {
    background: transparent;
    box-shadow: none;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
    text-decoration-color: var(--color-accent);
}

/* Comment + color: keep the highlight and still underline. */
.document-article .article-text[b-bmv42upfo9]  mark.doc-mark-note.doc-mark-yellow,
.document-article .article-text[b-bmv42upfo9]  mark.doc-mark-note.doc-mark-green,
.document-article .article-text[b-bmv42upfo9]  mark.doc-mark-note.doc-mark-blue,
.document-article .article-text[b-bmv42upfo9]  mark.doc-mark-note.doc-mark-pink,
.document-article .article-text[b-bmv42upfo9]  mark.doc-mark-note.doc-mark-orange {
    box-shadow: none;
}

.document-article .article-text[b-bmv42upfo9]  mark.doc-mark-pulse,
.document-article .article-text[b-bmv42upfo9]  span.doc-mark-pulse {
    outline: 2px solid var(--color-accent);
    outline-offset: 1px;
}

.doc-list-row[b-bmv42upfo9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

/* EditForm's <form> renders outside this component's scope (see the
   ::deep note on .feedback-widget above) - the button itself is styled
   by the global .btn classes already, so no ::deep needed here, only for
   the create-list form's flex layout below. */
[b-bmv42upfo9] .doc-list-create {
    display: flex;
    gap: 6px;
    margin-top: 10px;
}

[b-bmv42upfo9] .doc-list-create .form-input {
    flex: 1;
    min-width: 0;
}

.doc-anno-side-item[b-bmv42upfo9] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.doc-anno-side-quote[b-bmv42upfo9] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    font-style: italic;
    line-height: 1.35;
}

.doc-anno-side-comment[b-bmv42upfo9] {
    margin: 0;
    font-size: 12.5px;
    color: var(--color-text-muted);
}

/* Native share sheet is a phone/PWA gesture; hide on the desktop layout
   (sidebar visible above 860px — same breakpoint as MainLayout). */
.doc-share-mobile[b-bmv42upfo9] {
    display: none;
}

@media (max-width: 860px) {
    .doc-share-mobile[b-bmv42upfo9] {
        display: inline-flex;
    }
}

@media (max-width: 900px) {
    .doc-layout[b-bmv42upfo9] {
        grid-template-columns: 1fr;
    }

    .doc-side[b-bmv42upfo9] {
        position: static;
        max-height: none;
        overflow: visible;
    }

    .side-card-relations[b-bmv42upfo9] {
        flex: 0 1 auto;
        max-height: min(60dvh, 28rem);
    }

    .doc-main[b-bmv42upfo9] {
        padding: 18px 20px;
    }

    /* Nested overflow-x:auto on iOS Safari eats long-press text selection
       (handles never stabilize, mouseup never fires). Wide tables still
       scroll with the page. */
    .document-article .article-text[b-bmv42upfo9] {
        overflow-x: visible;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-hero[b-epfcjfa4oi] {
    max-width: 640px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 40px 20px;
    animation: fadeIn .35s ease both;
}

.home-hero-brand[b-epfcjfa4oi] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 10px;
}

.home-hero-mark[b-epfcjfa4oi] {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    object-fit: cover;
    flex-shrink: 0;
}

.home-title[b-epfcjfa4oi] {
    font-family: var(--font-serif);
    font-weight: 600;
    font-size: 36px;
    margin: 0;
    letter-spacing: -.3px;
}

.home-subtitle[b-epfcjfa4oi] {
    margin: 0 0 28px;
    color: var(--color-text-muted);
    font-size: 15px;
}

.home-search-form[b-epfcjfa4oi] {
    display: flex;
    gap: 10px;
    margin-bottom: 18px;
}

.home-search-form .form-input[b-epfcjfa4oi] {
    flex: 1;
    padding: 15px 18px;
    font-size: 15px;
    border-radius: var(--radius-lg);
}

.home-search-form .btn[b-epfcjfa4oi] {
    padding: 15px 26px;
    font-size: 15px;
    border-radius: var(--radius-lg);
}

.home-suggestions[b-epfcjfa4oi] {
    display: flex;
    gap: 8px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.suggestion-chip[b-epfcjfa4oi] {
    background: var(--color-surface-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    padding: 8px 14px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--color-text-subtle);
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.suggestion-chip:hover[b-epfcjfa4oi] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.home-stats[b-epfcjfa4oi] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 24px;
}

.home-advanced-link[b-epfcjfa4oi] {
    font-size: 13.5px;
}

.home-advanced-sep[b-epfcjfa4oi] {
    color: var(--color-text-muted);
    margin: 0 8px;
}

@media (max-width: 560px) {
    .home-stats[b-epfcjfa4oi] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Landing.razor.rz.scp.css */
.hero[b-8qgmuryrhh] {
    max-width: 760px;
    margin: 0 auto;
    padding: 72px 20px 48px;
    text-align: center;
}

.eyebrow[b-8qgmuryrhh] {
    display: inline-block;
    padding: 5px 14px;
    border-radius: var(--radius-pill);
    background: var(--color-surface-alt);
    border: 1px solid var(--color-border);
    color: var(--color-text-muted);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .02em;
    margin-bottom: 20px;
}

.hero-title[b-8qgmuryrhh] {
    font-family: var(--font-serif-italic);
    font-style: italic;
    font-weight: 600;
    font-size: 44px;
    line-height: 1.15;
    letter-spacing: -.5px;
    margin: 0 0 18px;
    color: var(--color-text);
}

.hero-subtitle[b-8qgmuryrhh] {
    font-size: 16.5px;
    line-height: 1.6;
    color: var(--color-text-muted);
    margin: 0 auto 28px;
    max-width: 600px;
}

.hero-actions[b-8qgmuryrhh] {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 36px;
}

.hero-actions .btn[b-8qgmuryrhh] {
    padding: 13px 26px;
    font-size: 15px;
}

.trust-strip[b-8qgmuryrhh] {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 22px;
    margin: 0;
    padding: 0;
    font-size: 13px;
    color: var(--color-text-muted);
}

.trust-strip li[b-8qgmuryrhh] {
    display: flex;
    align-items: center;
    gap: 7px;
}

.trust-strip i[b-8qgmuryrhh] {
    color: var(--color-primary);
}

.section-title[b-8qgmuryrhh] {
    font-family: var(--font-serif-italic);
    font-style: italic;
    font-weight: 600;
    font-size: 28px;
    text-align: center;
    margin: 0 0 8px;
    letter-spacing: -.3px;
    color: var(--color-text);
}

.section-subtitle[b-8qgmuryrhh] {
    text-align: center;
    color: var(--color-text-muted);
    font-size: 14.5px;
    margin: 0 auto 36px;
    max-width: 460px;
}

.modules[b-8qgmuryrhh],
.segments[b-8qgmuryrhh],
.pricing[b-8qgmuryrhh] {
    max-width: 1080px;
    margin: 0 auto;
    padding: 56px 20px;
}

.modules[b-8qgmuryrhh] {
    background: var(--color-surface-alt);
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    max-width: none;
}

.modules > *[b-8qgmuryrhh] {
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}

.module-grid[b-8qgmuryrhh] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.module-card[b-8qgmuryrhh] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: 22px 20px;
}

.module-card h3[b-8qgmuryrhh] {
    margin: 4px 0 8px;
    font-size: 15.5px;
}

.module-card p[b-8qgmuryrhh] {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--color-text-muted);
}

.module-icon[b-8qgmuryrhh] {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    font-size: 15px;
    color: #fff;
    margin-bottom: 10px;
}

.icon-biblioteca[b-8qgmuryrhh] { background: oklch(0.48 0.12 255); }
.icon-archivo[b-8qgmuryrhh] { background: oklch(0.5 0.1 220); }
.icon-agenda[b-8qgmuryrhh] { background: var(--color-primary); }
.icon-plantillas[b-8qgmuryrhh] { background: oklch(0.52 0.1 160); }
.icon-asistente[b-8qgmuryrhh] { background: oklch(0.55 0.11 300); }
.icon-mcp[b-8qgmuryrhh] { background: oklch(0.55 0.13 40); }

.segment-grid[b-8qgmuryrhh] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.segment-card[b-8qgmuryrhh] {
    text-align: center;
    padding: 24px 16px;
}

.segment-icon[b-8qgmuryrhh] {
    font-size: 26px;
    color: var(--color-primary);
    margin-bottom: 12px;
}

.segment-card h3[b-8qgmuryrhh] {
    margin: 0 0 8px;
    font-size: 15px;
}

.segment-card p[b-8qgmuryrhh] {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--color-text-muted);
}

.pricing-table-wrap[b-8qgmuryrhh] {
    overflow-x: auto;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.pricing-table[b-8qgmuryrhh] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
    white-space: nowrap;
}

.pricing-table th[b-8qgmuryrhh],
.pricing-table td[b-8qgmuryrhh] {
    padding: 14px 18px;
    text-align: center;
    border-bottom: 1px solid var(--color-border);
}

.pricing-table thead th[b-8qgmuryrhh] {
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: .03em;
}

.pricing-table thead th span[b-8qgmuryrhh] {
    display: block;
    font-size: 11px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    margin-top: 2px;
}

.pricing-table thead th:first-child[b-8qgmuryrhh],
.pricing-table tbody th[b-8qgmuryrhh] {
    text-align: left;
}

.pricing-table tbody th[b-8qgmuryrhh] {
    font-weight: 700;
    color: var(--color-text);
}

.pricing-table tbody td[b-8qgmuryrhh] {
    font-weight: 700;
    color: var(--color-text);
}

.pricing-table tbody tr:last-child th[b-8qgmuryrhh],
.pricing-table tbody tr:last-child td[b-8qgmuryrhh] {
    border-bottom: 0;
}

.pricing-enterprise[b-8qgmuryrhh] {
    color: var(--color-text-muted) !important;
    font-weight: 600 !important;
    background: var(--color-surface-alt);
}

.pricing-enterprise a[b-8qgmuryrhh] {
    color: var(--color-primary);
}

.pricing-example[b-8qgmuryrhh] {
    text-align: center;
    margin: 20px 0 0;
    font-size: 13.5px;
    color: var(--color-text-muted);
}

.pricing-example strong[b-8qgmuryrhh] {
    color: var(--color-text);
}

.pricing .hero-actions[b-8qgmuryrhh] {
    margin: 28px 0 0;
}

.pricing-note[b-8qgmuryrhh] {
    text-align: center;
    margin: 20px 0 0;
    font-size: 12.5px;
    color: var(--color-text-subtle);
}

.calculator-card[b-8qgmuryrhh] {
    margin: 40px auto 0;
    max-width: 680px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: 28px 26px;
    scroll-margin-top: 84px;
}

.calculator-title[b-8qgmuryrhh] {
    margin: 0 0 4px;
    font-size: 18px;
    color: var(--color-text);
    text-align: center;
}

.calculator-subtitle[b-8qgmuryrhh] {
    margin: 0 0 22px;
    font-size: 13.5px;
    color: var(--color-text-muted);
    text-align: center;
}

.calculator-modules[b-8qgmuryrhh] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 20px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.calculator-module[b-8qgmuryrhh] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    cursor: pointer;
    font-size: 13.5px;
}

.calculator-module:not(:last-child)[b-8qgmuryrhh] {
    border-bottom: 1px solid var(--color-border);
}

.calculator-module:hover[b-8qgmuryrhh] {
    background: var(--color-surface-alt);
}

.calculator-module-name[b-8qgmuryrhh] {
    flex: 1;
    color: var(--color-text);
    font-weight: 600;
}

.calculator-module-price[b-8qgmuryrhh] {
    color: var(--color-text-muted);
    font-size: 12.5px;
    white-space: nowrap;
}

.calculator-users[b-8qgmuryrhh] {
    max-width: 220px;
    margin: 0 auto 22px;
}

.calculator-result[b-8qgmuryrhh] {
    text-align: center;
    padding-top: 18px;
    border-top: 1px solid var(--color-border);
}

.calculator-result-label[b-8qgmuryrhh] {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--color-text-muted);
    margin-bottom: 4px;
}

.calculator-result-amount[b-8qgmuryrhh] {
    display: block;
    font-family: var(--font-serif-italic);
    font-style: italic;
    font-weight: 600;
    font-size: 30px;
    color: var(--color-primary);
}

.calculator-result-note[b-8qgmuryrhh] {
    margin: 8px 0 0;
    font-size: 12.5px;
    color: var(--color-text-subtle);
}

.final-cta[b-8qgmuryrhh] {
    max-width: 600px;
    margin: 0 auto;
    padding: 64px 20px 88px;
    text-align: center;
}

.final-cta h2[b-8qgmuryrhh] {
    font-family: var(--font-serif-italic);
    font-style: italic;
    font-weight: 600;
    font-size: 28px;
    margin: 0 0 10px;
    color: var(--color-text);
}

.final-cta p[b-8qgmuryrhh] {
    margin: 0 0 24px;
    color: var(--color-text-muted);
    font-size: 14.5px;
}

@media (max-width: 860px) {
    .module-grid[b-8qgmuryrhh] {
        grid-template-columns: repeat(2, 1fr);
    }

    .segment-grid[b-8qgmuryrhh] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .hero[b-8qgmuryrhh] {
        padding: 48px 18px 36px;
    }

    .hero-title[b-8qgmuryrhh] {
        font-size: 32px;
    }

    .module-grid[b-8qgmuryrhh],
    .segment-grid[b-8qgmuryrhh] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/MatterClientView.razor.rz.scp.css */
.client-view-kicker[b-g942yigqim] {
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--color-text-subtle);
    font-weight: 700;
    margin: 0 0 10px;
}

.client-view-head[b-g942yigqim] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 12px;
}

.client-view-meta[b-g942yigqim] {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 14px;
    font-size: 13px;
    color: var(--color-text-muted);
}

.case-hero-kicker[b-g942yigqim] {
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--color-text-subtle);
    font-weight: 700;
    margin: 0 0 5px;
}

.case-hero-meta-sep[b-g942yigqim] {
    color: var(--color-border-strong);
}

.client-view-note[b-g942yigqim] {
    font-size: 13px;
    color: var(--color-text-muted);
    margin: 0 0 22px;
}

.client-view-section[b-g942yigqim] {
    margin-bottom: 22px;
}

.client-view-section h2[b-g942yigqim] {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 12px;
}

.client-view-parties[b-g942yigqim] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.client-view-parties li[b-g942yigqim] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
}

.party-role-tag[b-g942yigqim] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--color-text-subtle);
    background: var(--color-bg-subtle);
    border: 1px solid var(--color-border);
    padding: 2px 8px;
    border-radius: var(--radius-pill);
}

.status-timeline[b-g942yigqim] {
    position: relative;
    padding-left: 24px;
}

.status-timeline[b-g942yigqim]::before {
    content: '';
    position: absolute;
    left: 6px;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: var(--color-border);
}

.status-node[b-g942yigqim] {
    position: relative;
    padding-bottom: var(--space-4);
}

.status-node:last-child[b-g942yigqim] {
    padding-bottom: 0;
}

.status-node[b-g942yigqim]::before {
    content: '';
    position: absolute;
    left: -24px;
    top: 4px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--color-surface);
    border: 2.5px solid var(--color-border-strong);
}

.status-node.current[b-g942yigqim]::before {
    border-color: var(--color-success);
    background: var(--color-success);
}

.status-node-date[b-g942yigqim] {
    font-size: 11.5px;
    color: var(--color-text-subtle);
    font-weight: 600;
}

.status-node-label[b-g942yigqim] {
    font-weight: 700;
    font-size: 13.5px;
}

.status-node.current .status-node-label[b-g942yigqim] {
    color: var(--color-success-text);
}

.status-node-flag[b-g942yigqim] {
    display: inline-flex;
    margin-left: 8px;
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--color-success-text);
    background: var(--color-success-bg);
    padding: 2px 8px;
    border-radius: var(--radius-pill);
}

@media (max-width: 640px) {
    .client-view-head[b-g942yigqim] {
        flex-direction: column;
    }
}
/* /Components/Pages/Notifications.razor.rz.scp.css */
.notifications-header[b-ihzovti5er] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: var(--space-5);
}

.notification-row[b-ihzovti5er] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 14px 18px;
    box-shadow: var(--shadow-sm);
}

.notification-row.unread[b-ihzovti5er] {
    border-color: var(--color-accent, var(--color-primary));
    box-shadow: var(--shadow-sm), inset 3px 0 0 var(--color-accent, var(--color-primary));
}

.notification-title-row[b-ihzovti5er] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.notification-title[b-ihzovti5er] {
    font-weight: 600;
    font-size: 14px;
}

.notification-title-form[b-ihzovti5er] {
    display: inline;
    margin: 0;
}

.notification-title-form .notification-title[b-ihzovti5er] {
    padding: 0;
    text-align: left;
}

.notification-body[b-ihzovti5er] {
    font-size: 13px;
    margin-top: 4px;
    color: var(--color-text-muted, var(--color-muted));
}
/* /Components/Pages/ParameterExplorer.razor.rz.scp.css */
.param-category[b-jucurflhoz] {
    margin-top: var(--space-3);
}

.param-category-title[b-jucurflhoz] {
    font-size: 0.8em;
    font-weight: 700;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: var(--space-2);
}

.param-chip-list[b-jucurflhoz] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.param-chip[b-jucurflhoz] {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-mono, monospace);
    font-size: 11.5px;
    padding: 3px 8px;
    border-radius: var(--radius-pill);
    background: color-mix(in oklch, var(--color-primary) 12%, transparent);
    color: var(--color-primary);
    cursor: grab;
    user-select: none;
    white-space: nowrap;
}

.param-chip:hover[b-jucurflhoz] {
    background: color-mix(in oklch, var(--color-primary) 22%, transparent);
}

.param-chip-custom[b-jucurflhoz] {
    background: var(--color-neutral-bg);
    color: var(--color-neutral-text);
    cursor: default;
}
/* /Components/Pages/SearchResults.razor.rz.scp.css */
.search-header[b-jeckqfjgwv] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: var(--space-4);
}

.quick-search-row[b-jeckqfjgwv] {
    display: flex;
    /* stretch (not flex-start) so .save-search-details - and its summary's
       own height: 100% below - actually match the height of the input/
       Buscar button in .quick-search-form next to it, instead of sizing
       to the icon's own smaller intrinsic content. */
    align-items: stretch;
    gap: 10px;
    margin-bottom: var(--space-4);
}

.quick-search-form[b-jeckqfjgwv] {
    flex: 1;
    display: flex;
    gap: 10px;
}

.quick-search-form .form-input[b-jeckqfjgwv] {
    flex: 1;
}

.save-search-details[b-jeckqfjgwv] {
    position: relative;
    flex-shrink: 0;
}

.save-search-details summary[b-jeckqfjgwv] {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.save-search-details summary[b-jeckqfjgwv]::-webkit-details-marker {
    display: none;
}

.save-search-panel[b-jeckqfjgwv] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 20;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 14px 16px;
    width: 320px;
    max-width: 90vw;
}

.save-search-form[b-jeckqfjgwv] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.save-search-message[b-jeckqfjgwv] {
    font-size: 12.5px;
}

.result-card[b-jeckqfjgwv] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 18px 20px;
    box-shadow: var(--shadow-sm);
    animation: fadeInUp var(--transition-base) both;
}

.result-card-header[b-jeckqfjgwv] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.result-badges[b-jeckqfjgwv] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.result-title[b-jeckqfjgwv] {
    font-size: 15.5px;
    font-weight: 700;
    color: var(--color-text);
}

.result-title:hover[b-jeckqfjgwv] {
    color: var(--color-primary);
}

.result-meta[b-jeckqfjgwv] {
    font-size: 12.5px;
    color: var(--color-text-muted);
    margin: 6px 0 10px;
}

.result-snippet[b-jeckqfjgwv] {
    font-size: 13.5px;
    color: var(--color-text-subtle);
    line-height: 1.55;
    margin: 0;
}

.results-pagination[b-jeckqfjgwv] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: var(--space-6);
}

.results-pagination .disabled[b-jeckqfjgwv] {
    pointer-events: none;
    opacity: .4;
}

.page-numbers[b-jeckqfjgwv] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
/* /Components/Pages/Setup.razor.rz.scp.css */
.setup-section[b-f675e0i9ok] {
    margin-bottom: var(--space-8);
}

.wizard-steps[b-f675e0i9ok] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin: 0 0 var(--space-6);
    padding: 0;
}

.wizard-step[b-f675e0i9ok] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 160px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    color: var(--color-text-muted);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: border-color .15s ease, box-shadow .15s ease, color .15s ease;
}

a.wizard-step:hover:not(.is-locked)[b-f675e0i9ok] {
    border-color: var(--color-accent);
    color: var(--color-text);
}

.wizard-step.is-active[b-f675e0i9ok] {
    border-color: var(--color-accent);
    color: var(--color-text);
    box-shadow: var(--shadow-md);
}

.wizard-step.is-done:not(.is-active)[b-f675e0i9ok] {
    color: var(--color-text);
}

.wizard-step.is-locked[b-f675e0i9ok] {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}

.wizard-step-num[b-f675e0i9ok] {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    background: var(--color-surface-alt);
    border: 1px solid var(--color-border);
    color: inherit;
}

.wizard-step.is-active .wizard-step-num[b-f675e0i9ok],
.wizard-step.is-done .wizard-step-num[b-f675e0i9ok] {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: #fff;
}

.wizard-step-label[b-f675e0i9ok] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.25;
    min-width: 0;
}

.wizard-step-req[b-f675e0i9ok],
.wizard-step-opt[b-f675e0i9ok] {
    font-size: 11.5px;
    font-weight: 500;
    color: var(--color-text-muted);
}

.wizard-panel[b-f675e0i9ok] {
    max-width: 720px;
}

.wizard-fieldset[b-f675e0i9ok] {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    padding: 14px 16px 16px;
    margin: 0 0 var(--space-4);
}

.wizard-fieldset legend.form-label[b-f675e0i9ok] {
    padding: 0 4px;
    float: none;
    width: auto;
}

.form-hint-inline[b-f675e0i9ok] {
    font-weight: 400;
    color: var(--color-text-muted);
    font-size: 12.5px;
}

.choice-option[b-f675e0i9ok] {
    margin-bottom: 6px;
}

/* Raw radios/checkboxes from the form markup are outside Blazor's scope
   attribute on some hosts - ::deep keeps :has() working for "Otro". */
[b-f675e0i9ok] .choice-group .other-field {
    display: none;
    margin-top: 8px;
    margin-left: 1.6em;
}

[b-f675e0i9ok] .choice-group:has(input[value="otro"]:checked) .other-field {
    display: block;
}

.wizard-actions[b-f675e0i9ok] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
    margin-top: var(--space-2);
}

.feature-pick-grid[b-f675e0i9ok] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--space-4);
}

.feature-pick-card[b-f675e0i9ok] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 14px 16px;
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    transition: border-color .15s ease, box-shadow .15s ease;
}

.feature-pick-card:hover:not(.is-disabled)[b-f675e0i9ok] {
    border-color: var(--color-accent);
    box-shadow: var(--shadow-md);
}

.feature-pick-card.is-disabled[b-f675e0i9ok] {
    opacity: 0.72;
    cursor: not-allowed;
}

.feature-pick-check[b-f675e0i9ok] {
    margin-top: 3px;
    flex-shrink: 0;
}

.feature-pick-body[b-f675e0i9ok] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    flex: 1;
}

.feature-pick-header[b-f675e0i9ok] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.feature-pick-name[b-f675e0i9ok] {
    font-weight: 700;
    font-size: 14.5px;
    color: var(--color-text);
}

.feature-pick-price[b-f675e0i9ok] {
    flex-shrink: 0;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--color-accent);
    background: var(--color-surface-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: 2px 8px;
}

.feature-pick-desc[b-f675e0i9ok] {
    font-size: 13px;
    color: var(--color-text-muted);
    line-height: 1.4;
}

.feature-pick-note[b-f675e0i9ok] {
    font-size: 12px;
    color: var(--color-text-muted);
    font-style: italic;
}

/* /Components/Pages/UnlinkCalendarButton.razor.rz.scp.css */
.modal-actions[b-jmvgjzx391] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: var(--space-4);
}
/* /Components/Shared/AssistantActivityTrace.razor.rz.scp.css */
.assistant-activity-trace[b-6a6yyyb9ba] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    align-self: stretch;
    max-width: 90%;
}

.assistant-activity-summary[b-6a6yyyb9ba] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    align-self: flex-start;
    max-width: 100%;
    padding: 0.35rem 0.7rem;
    border-radius: var(--radius-pill, 20px);
    border: 1px solid var(--color-border);
    background: var(--color-surface-alt);
    color: var(--color-text-muted);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color var(--transition-fast), background var(--transition-fast);
}

.assistant-activity-summary:hover[b-6a6yyyb9ba] {
    border-color: var(--color-border-strong);
}

.assistant-activity-trace.is-live .assistant-activity-summary[b-6a6yyyb9ba] {
    border-color: color-mix(in oklch, var(--color-primary) 35%, var(--color-border));
    color: var(--color-text);
    animation: assistantActivityPulse-b-6a6yyyb9ba 2s ease-in-out infinite;
}

@keyframes assistantActivityPulse-b-6a6yyyb9ba {
    0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklch, var(--color-primary) 18%, transparent); }
    50% { box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-primary) 0%, transparent); }
}

.assistant-activity-summary-icon[b-6a6yyyb9ba],
.assistant-activity-summary i:first-child[b-6a6yyyb9ba] {
    color: var(--color-primary);
    width: 0.9rem;
    text-align: center;
    flex-shrink: 0;
}

.assistant-activity-summary-text[b-6a6yyyb9ba] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.assistant-activity-chevron[b-6a6yyyb9ba] {
    font-size: 0.65rem;
    color: var(--color-text-subtle);
    transition: transform var(--transition-fast);
    flex-shrink: 0;
}

.assistant-activity-chevron.is-open[b-6a6yyyb9ba] {
    transform: rotate(180deg);
}

.assistant-activity-list[b-6a6yyyb9ba] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding-left: 0.15rem;
    border-left: 2px solid var(--color-border);
    margin-left: 0.55rem;
}

.assistant-activity-chip[b-6a6yyyb9ba] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 0.3rem 0.6rem;
    border-radius: 6px;
    font-size: 0.78rem;
    color: var(--color-text-muted);
}

.assistant-activity-chip i[b-6a6yyyb9ba] {
    width: 0.85rem;
    text-align: center;
    color: var(--color-text-subtle);
}

.assistant-activity-chip.is-running i[b-6a6yyyb9ba] {
    color: var(--color-primary);
}

.assistant-activity-chip.is-done i[b-6a6yyyb9ba] {
    color: var(--color-success);
}

.assistant-activity-chip.is-error i[b-6a6yyyb9ba],
.assistant-activity-chip.is-error .assistant-activity-chip-label[b-6a6yyyb9ba] {
    color: var(--color-danger);
}

.assistant-activity-chip-label[b-6a6yyyb9ba] {
    color: var(--color-text);
}

.assistant-activity-chip-detail[b-6a6yyyb9ba] {
    flex-basis: 100%;
    margin: 0.2rem 0 0 1.25rem;
    padding: 0.35rem 0.5rem;
    border-radius: 6px;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    font-size: 0.72rem;
    line-height: 1.35;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 8rem;
    overflow: auto;
    color: var(--color-text-muted);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* Own spin - FA fa-spin is disabled under prefers-reduced-motion and often
   looks stuck in this UI. Force a visible rotation. CSS isolation means this
   can't be shared with AssistantChat.razor.css's copy of the same rule. */
.assistant-activity-trace .assistant-spin[b-6a6yyyb9ba] {
    display: inline-block;
    animation: assistant-activity-spin-b-6a6yyyb9ba 0.75s linear infinite;
}

@keyframes assistant-activity-spin-b-6a6yyyb9ba {
    to { transform: rotate(360deg); }
}
/* /Components/Shared/AssistantChat.razor.rz.scp.css */
.assistant-chat[b-6w3nm08rs6] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-height: 400px;
    color: var(--color-text);
}

.assistant-chat-fill[b-6w3nm08rs6] {
    min-height: 0;
    height: 100%;
    flex: 1;
}

.assistant-chat-compact[b-6w3nm08rs6] {
    min-height: 0;
    height: 100%;
}

.assistant-topbar[b-6w3nm08rs6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3);
    flex-shrink: 0;
}

.assistant-topbar-spacer[b-6w3nm08rs6] {
    flex: 1;
}

.assistant-topbar .assistant-disclaimer[b-6w3nm08rs6] {
    flex: 1;
    margin: 0;
}

.assistant-settings[b-6w3nm08rs6] {
    position: relative;
    flex-shrink: 0;
}

.assistant-settings.is-open[b-6w3nm08rs6] {
    z-index: 8;
}

.assistant-float-backdrop[b-6w3nm08rs6] {
    position: fixed;
    inset: 0;
    z-index: 7;
    background: transparent;
}

.assistant-settings-btn[b-6w3nm08rs6] {
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.assistant-settings-panel[b-6w3nm08rs6] {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 5;
    min-width: 220px;
    padding: var(--space-3);
    border-radius: var(--radius-md, 10px);
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    box-shadow: var(--shadow-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.assistant-settings-hint[b-6w3nm08rs6] {
    margin: 0;
    font-size: 0.75rem;
    color: var(--color-text-muted);
}

.assistant-options[b-6w3nm08rs6] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    padding: 0.15rem 0 0;
}

.assistant-opt[b-6w3nm08rs6] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: var(--color-text-muted);
    cursor: pointer;
    user-select: none;
}

.assistant-opt-label[b-6w3nm08rs6] {
    margin-right: 0.15rem;
}

.assistant-mode-select[b-6w3nm08rs6] {
    width: auto;
    min-width: 7.5rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.85rem;
    background: var(--color-surface);
    color: var(--color-text);
    border-color: var(--color-border-strong);
}

.assistant-messages[b-6w3nm08rs6] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    max-height: 480px;
    overflow-y: auto;
    padding: var(--space-2) 0;
    min-height: 0;
}

.assistant-chat-fill .assistant-messages[b-6w3nm08rs6],
.assistant-chat-compact .assistant-messages[b-6w3nm08rs6] {
    max-height: none;
}

.assistant-welcome[b-6w3nm08rs6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.2rem;
    margin: auto 0;
    padding: var(--space-4) var(--space-2);
}

.assistant-welcome-icon[b-6w3nm08rs6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 0.5rem;
    border-radius: 50%;
    background: color-mix(in oklch, var(--color-primary) 15%, var(--color-surface-alt));
    color: var(--color-primary);
    font-size: 1.3rem;
}

.assistant-welcome-greeting[b-6w3nm08rs6] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--color-text);
}

.assistant-welcome-subtitle[b-6w3nm08rs6] {
    margin: 0 0 var(--space-3);
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

.assistant-welcome-suggestions[b-6w3nm08rs6] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    width: 100%;
    max-width: 22rem;
}

.assistant-suggestion-chip[b-6w3nm08rs6] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.8rem;
    border-radius: var(--radius-md, 10px);
    border: 1px solid var(--color-border);
    background: var(--color-surface-alt);
    color: var(--color-text);
    font-size: 0.82rem;
    text-align: left;
    cursor: pointer;
    transition: border-color var(--transition-fast), background var(--transition-fast);
}

.assistant-suggestion-chip:hover:not(:disabled)[b-6w3nm08rs6] {
    border-color: var(--color-border-strong);
    background: var(--color-surface);
}

.assistant-suggestion-chip:disabled[b-6w3nm08rs6] {
    opacity: 0.6;
    cursor: not-allowed;
}

.assistant-suggestion-chip i[b-6w3nm08rs6] {
    color: var(--color-primary);
    width: 1rem;
    text-align: center;
    flex-shrink: 0;
}

.assistant-date-sep[b-6w3nm08rs6] {
    align-self: center;
    margin: 0.35rem 0;
    padding: 0.2rem 0.75rem;
    border-radius: var(--radius-pill, 20px);
    background: var(--color-neutral-bg);
    border: 1px solid var(--color-border);
    font-size: 0.75rem;
    color: var(--color-text-muted);
    text-transform: capitalize;
}

.assistant-bubble[b-6w3nm08rs6] {
    max-width: 90%;
    padding: 0.55rem 0.85rem 0.4rem;
    border-radius: 10px;
    border: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.assistant-bubble-user[b-6w3nm08rs6] {
    align-self: flex-end;
    background: var(--color-surface-alt);
    border-color: var(--color-border-strong);
    box-shadow: inset -3px 0 0 var(--color-primary);
}

.assistant-bubble-assistant[b-6w3nm08rs6] {
    align-self: flex-start;
    background: var(--color-surface-alt);
}

.assistant-bubble-tool[b-6w3nm08rs6] {
    align-self: flex-start;
    max-width: 95%;
    background: transparent;
    border: none;
    padding: 0.15rem 0;
}

/* Own spin — FA fa-spin is disabled under prefers-reduced-motion and
   often looks stuck in this UI. Force a visible rotation. */
.assistant-spin[b-6w3nm08rs6] {
    display: inline-block;
    animation: assistant-spin-b-6w3nm08rs6 0.75s linear infinite;
}

@keyframes assistant-spin-b-6w3nm08rs6 {
    to { transform: rotate(360deg); }
}

.assistant-bubble-role[b-6w3nm08rs6] {
    font-size: 0.75rem;
    color: var(--color-text-muted);
}

.assistant-bubble-time[b-6w3nm08rs6] {
    align-self: flex-end;
    font-size: 0.7rem;
    color: var(--color-text-subtle);
    white-space: nowrap;
    margin-top: 0.15rem;
}

.assistant-bubble-actions[b-6w3nm08rs6] {
    display: flex;
    align-items: center;
    gap: 0.15rem;
    margin-top: 0.2rem;
    flex-wrap: wrap;
}

.assistant-bubble-actions-user[b-6w3nm08rs6] {
    align-self: flex-end;
    margin-top: 0.15rem;
    gap: 0.25rem;
}

.assistant-bubble-actions-user .assistant-bubble-time[b-6w3nm08rs6] {
    align-self: center;
    margin-top: 0;
}

.assistant-bubble-ago[b-6w3nm08rs6] {
    font-size: 0.7rem;
    color: var(--color-text-subtle);
    margin-right: 0.35rem;
}

.assistant-action-btn[b-6w3nm08rs6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    line-height: 1;
}

.assistant-action-btn:hover:not(:disabled)[b-6w3nm08rs6] {
    background: var(--color-neutral-bg);
    color: var(--color-text);
}

.assistant-action-btn:disabled[b-6w3nm08rs6] {
    opacity: 0.5;
    cursor: not-allowed;
}

.assistant-action-btn.is-active.is-up[b-6w3nm08rs6] {
    color: var(--color-success);
    background: var(--color-success-bg);
}

.assistant-action-btn.is-active.is-down[b-6w3nm08rs6] {
    color: var(--color-danger);
    background: var(--color-danger-bg);
}

.assistant-feedback-lead[b-6w3nm08rs6] {
    margin: 0 0 var(--space-3);
    color: var(--color-text-muted);
    font-size: 0.9rem;
}

.assistant-feedback-votes[b-6w3nm08rs6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: var(--space-3);
}

.assistant-feedback-vote i[b-6w3nm08rs6] {
    margin-right: 0.35rem;
}

.assistant-feedback-comment[b-6w3nm08rs6] {
    width: 100%;
    resize: vertical;
    min-height: 4.5rem;
    margin-bottom: var(--space-3);
    background: var(--color-surface);
    color: var(--color-text);
    border-color: var(--color-border-strong);
}

.assistant-feedback-actions[b-6w3nm08rs6] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
}

.assistant-bubble-body[b-6w3nm08rs6] {
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--color-text);
}

.assistant-bubble-md[b-6w3nm08rs6] {
    white-space: normal;
}

.assistant-bubble-md[b-6w3nm08rs6]  p {
    margin: 0 0 0.55em;
}

.assistant-bubble-md[b-6w3nm08rs6]  p:last-child {
    margin-bottom: 0;
}

.assistant-bubble-md[b-6w3nm08rs6]  ul,
.assistant-bubble-md[b-6w3nm08rs6]  ol {
    margin: 0.35em 0 0.55em;
    padding-left: 1.25rem;
}

.assistant-bubble-md[b-6w3nm08rs6]  pre {
    overflow-x: auto;
    padding: 0.5rem 0.65rem;
    border-radius: 6px;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    font-size: 0.85em;
}

.assistant-bubble-md[b-6w3nm08rs6]  code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.9em;
}

.assistant-bubble-md[b-6w3nm08rs6]  h1,
.assistant-bubble-md[b-6w3nm08rs6]  h2,
.assistant-bubble-md[b-6w3nm08rs6]  h3 {
    margin: 0.4em 0 0.35em;
    font-size: 1.05em;
    font-weight: 650;
    color: var(--color-text);
}

.assistant-bubble-md[b-6w3nm08rs6]  a.assistant-ext-link {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 0.12em;
    word-break: break-word;
}

.assistant-bubble-md[b-6w3nm08rs6]  a.assistant-ext-link .assistant-ext-icon {
    margin-left: 0.35em;
    font-size: 0.75em;
    opacity: 0.85;
    vertical-align: 0.05em;
}

.assistant-footer[b-6w3nm08rs6] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    flex-shrink: 0;
    border-top: 1px solid var(--color-border);
    padding-top: var(--space-2);
}

.assistant-composer[b-6w3nm08rs6] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.assistant-composer-row[b-6w3nm08rs6] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-2);
}

.assistant-composer-field[b-6w3nm08rs6] {
    position: relative;
    flex: 1;
    min-width: 0;
}

.assistant-composer-field .form-input[b-6w3nm08rs6] {
    width: 100%;
    resize: vertical;
    min-height: 2.75rem;
    background: var(--color-surface);
    color: var(--color-text);
    border-color: var(--color-border-strong);
}

.assistant-send-btn[b-6w3nm08rs6] {
    flex-shrink: 0;
    min-width: 6.5rem;
    height: 2.75rem;
    align-self: flex-end;
}

.assistant-pending-card[b-6w3nm08rs6] {
    border: 1px solid var(--color-warning);
    background: var(--color-warning-bg);
    color: var(--color-warning-text);
    border-radius: 8px;
    padding: var(--space-3);
    margin-bottom: var(--space-2);
}

.assistant-pending-actions[b-6w3nm08rs6] {
    display: flex;
    gap: var(--space-2);
    margin-top: var(--space-2);
}

.assistant-disclaimer[b-6w3nm08rs6] {
    font-size: 0.9rem;
}

.assistant-usage-bar[b-6w3nm08rs6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.85rem;
    align-items: center;
    font-size: 0.75rem;
    color: var(--color-text-muted);
    padding: 0.15rem 0 0;
}

.assistant-usage-bar strong[b-6w3nm08rs6] {
    font-weight: 650;
    color: var(--color-text);
}

.assistant-usage-sep[b-6w3nm08rs6] {
    color: var(--color-border-strong);
}

.assistant-usage-detail[b-6w3nm08rs6] {
    color: var(--color-text-subtle);
    font-weight: 400;
}

.assistant-clarify[b-6w3nm08rs6] {
    flex-shrink: 0;
    border: 1px solid var(--color-border-strong);
    background: var(--color-surface-alt);
    border-radius: 10px;
    padding: var(--space-3);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.assistant-clarify-progress[b-6w3nm08rs6] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.assistant-clarify-ask[b-6w3nm08rs6] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-text);
}

.assistant-clarify-options[b-6w3nm08rs6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.assistant-clarify-opt[b-6w3nm08rs6] {
    max-width: 100%;
    white-space: normal;
    text-align: left;
    line-height: 1.25;
}

.assistant-clarify-other[b-6w3nm08rs6] {
    width: 100%;
    background: var(--color-surface);
    color: var(--color-text);
    border-color: var(--color-border-strong);
}

.assistant-clarify-nav[b-6w3nm08rs6] {
    display: flex;
    justify-content: space-between;
    gap: var(--space-2);
    margin-top: 0.15rem;
}

/* /Components/Shared/Avatar.razor.rz.scp.css */
.avatar[b-hfqu0emyy4] {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.avatar-md[b-hfqu0emyy4] {
    width: 30px;
    height: 30px;
    font-size: 12px;
}

.avatar-sm[b-hfqu0emyy4] {
    width: 26px;
    height: 26px;
    font-size: 10.5px;
}
/* /Components/Shared/AvatarStack.razor.rz.scp.css */
.avatar-stack[b-i4kqu014f5] {
    display: flex;
}

.avatar-stack[b-i4kqu014f5]  .avatar {
    border: 2px solid var(--color-surface);
    margin-left: -8px;
}

.avatar-stack[b-i4kqu014f5]  .avatar:first-child {
    margin-left: 0;
}

.avatar-stack[b-i4kqu014f5]  .avatar:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-sm);
    z-index: 1;
}
/* /Components/Shared/Badge.razor.rz.scp.css */
.badge-pill[b-rf50ty8l0u] {
    display: inline-flex;
    align-items: center;
    font-size: 11.5px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    white-space: nowrap;
}

.badge-primary[b-rf50ty8l0u] {
    background: color-mix(in oklch, var(--color-primary) 14%, transparent);
    color: var(--color-primary);
}

.badge-accent[b-rf50ty8l0u] {
    background: color-mix(in oklch, var(--color-accent) 16%, transparent);
    color: var(--color-accent);
}

.badge-success[b-rf50ty8l0u] {
    background: var(--color-success-bg);
    color: var(--color-success-text);
}

.badge-warning[b-rf50ty8l0u] {
    background: var(--color-warning-bg);
    color: var(--color-warning-text);
}

.badge-danger[b-rf50ty8l0u] {
    background: var(--color-danger-bg);
    color: var(--color-danger-text);
}

.badge-neutral[b-rf50ty8l0u] {
    background: var(--color-neutral-bg);
    color: var(--color-neutral-text);
    border: 1px solid var(--color-border-strong);
}

.badge-dot[b-rf50ty8l0u] {
    position: relative;
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    margin-right: 6px;
    flex-shrink: 0;
    animation: badgeDotBreathe-b-rf50ty8l0u 2.2s ease-in-out infinite;
}

.badge-dot[b-rf50ty8l0u]::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: currentColor;
    animation: badgeDotGlow-b-rf50ty8l0u 2.2s ease-out infinite;
}

@keyframes badgeDotBreathe-b-rf50ty8l0u {
    0%, 100% { opacity: 1; }
    50% { opacity: .5; }
}

@keyframes badgeDotGlow-b-rf50ty8l0u {
    0% { transform: scale(1); opacity: .55; }
    100% { transform: scale(2.8); opacity: 0; }
}
/* /Components/Shared/ConfirmDialogTrigger.razor.rz.scp.css */
.confirm-dialog[b-mpkob7heem] {
    border: none;
    padding: 0;
    background: transparent;
    max-width: calc(100vw - 32px);
}

.confirm-dialog[b-mpkob7heem]::backdrop {
    background: oklch(0.2 0.02 260 / 45%);
    animation: fadeIn .2s ease both;
}

.confirm-dialog-card[b-mpkob7heem] {
    background: var(--color-surface);
    color: var(--color-text);
    border-radius: 16px;
    padding: 28px;
    width: 420px;
    max-width: 90vw;
    box-shadow: var(--shadow-lg);
    animation: modalIn .25s cubic-bezier(.2, .8, .3, 1) both;
}

.confirm-dialog-title[b-mpkob7heem] {
    font-weight: 700;
    font-size: 18px;
    margin: 0 0 8px;
}

.confirm-dialog-body[b-mpkob7heem] {
    margin: 0 0 20px;
    font-size: 14px;
    color: var(--color-text-muted);
    line-height: 1.45;
}

.confirm-dialog-body[b-mpkob7heem]  strong {
    color: var(--color-text);
}

.confirm-dialog-actions[b-mpkob7heem] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}
/* /Components/Shared/CreateModal.razor.rz.scp.css */
.modal-toggle-input[b-vdo8edhtm2] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.modal-overlay[b-vdo8edhtm2] {
    display: none;
    position: fixed;
    inset: 0;
    background: oklch(0.2 0.02 260 / 45%);
    z-index: 1500;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.modal-toggle-input:checked ~ .modal-overlay[b-vdo8edhtm2] {
    display: flex;
}

.modal-overlay-backdrop[b-vdo8edhtm2] {
    position: absolute;
    inset: 0;
    cursor: default;
}

.modal-dialog[b-vdo8edhtm2] {
    position: relative;
    z-index: 1;
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    padding: 24px;
    max-width: 92vw;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: var(--shadow-lg);
}

.modal-dialog-header[b-vdo8edhtm2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: var(--space-4);
}

.modal-title[b-vdo8edhtm2] {
    font-weight: 700;
    font-size: 18px;
    margin: 0;
}

.modal-close[b-vdo8edhtm2] {
    cursor: pointer;
    color: var(--color-text-muted);
    font-size: 16px;
    line-height: 1;
    padding: 4px;
}

.modal-close:hover[b-vdo8edhtm2] {
    color: var(--color-text);
}
/* /Components/Shared/Dropzone.razor.rz.scp.css */
.dropzone[b-jp8dr3djlg] {
    border: 2px dashed var(--color-border-strong);
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    padding: 28px;
    text-align: center;
    cursor: pointer;
    transition: border-color var(--transition-fast), background var(--transition-fast);
}

.dropzone.drag-over[b-jp8dr3djlg] {
    border-color: var(--color-primary);
    background: color-mix(in oklch, var(--color-primary) 6%, var(--color-surface));
}

.dropzone-title[b-jp8dr3djlg] {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
}

.dropzone-subtitle[b-jp8dr3djlg] {
    font-size: 12.5px;
    color: var(--color-text-muted);
}

.dropzone-filename[b-jp8dr3djlg] {
    margin-top: 10px;
    font-size: 13px;
    font-weight: 600;
}
/* /Components/Shared/ListRow.razor.rz.scp.css */
.list-row[b-zfxx9k685x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 14px 18px;
    box-shadow: var(--shadow-sm);
}

.list-row-main[b-zfxx9k685x] {
    min-width: 0;
}

.list-row-main[b-zfxx9k685x]  a {
    font-weight: 600;
    font-size: 14px;
}

.list-row-actions[b-zfxx9k685x] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    flex-wrap: wrap;
}

@media (max-width: 520px) {
    .list-row[b-zfxx9k685x] {
        flex-wrap: wrap;
    }
}
/* /Components/Shared/LocationPicker.razor.rz.scp.css */
.location-picker[b-q30okb20hw] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: var(--space-4);
}

.location-picker-row[b-q30okb20hw] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.location-picker-select[b-q30okb20hw] {
    flex: 1;
    min-width: 220px;
}

.location-picker-status[b-q30okb20hw] {
    font-size: 12.5px;
    min-height: 16px;
}
/* /Components/Shared/Modal.razor.rz.scp.css */
.modal-backdrop[b-oxtml7s6lg] {
    position: fixed;
    inset: 0;
    background: oklch(0.2 0.02 260 / 45%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
    animation: fadeIn .2s ease both;
}

.modal-card[b-oxtml7s6lg] {
    background: var(--color-surface);
    color: var(--color-text);
    border-radius: 16px;
    padding: 28px;
    width: 420px;
    max-width: 90vw;
    max-height: 90vh;
    overflow-y: auto;
    animation: modalIn .25s cubic-bezier(.2, .8, .3, 1) both;
    box-shadow: var(--shadow-lg);
}

.modal-title[b-oxtml7s6lg] {
    font-weight: 700;
    font-size: 18px;
    margin: 0 0 4px;
}
/* /Components/Shared/NavItem.razor.rz.scp.css */
.nav-item[b-ujlbmyabvm] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-md);
    font-size: 14px;
    font-weight: 500;
    color: var(--color-sidebar-text-muted);
    text-decoration: none;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.nav-item:hover[b-ujlbmyabvm] {
    background: oklch(1 0 0 / 8%);
    color: var(--color-sidebar-text);
}

.nav-item.active[b-ujlbmyabvm] {
    background: var(--color-sidebar-active-bg);
    color: var(--color-sidebar-text);
    font-weight: 600;
}

.nav-icon[b-ujlbmyabvm] {
    width: 26px;
    height: 26px;
    border-radius: var(--radius-sm);
    background: var(--color-sidebar-icon-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
    transition: background var(--transition-fast), transform var(--transition-fast);
}

.nav-item:hover .nav-icon[b-ujlbmyabvm] {
    transform: scale(1.06);
}

.nav-item.active .nav-icon[b-ujlbmyabvm] {
    background: var(--color-sidebar-icon-bg-active);
}

.nav-item.disabled[b-ujlbmyabvm] {
    color: oklch(1 0 0 / 35%);
    cursor: not-allowed;
}

.nav-lock[b-ujlbmyabvm] {
    margin-left: auto;
    font-size: 11px;
    opacity: .6;
}

.nav-badge[b-ujlbmyabvm] {
    margin-left: auto;
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--color-danger, oklch(0.55 0.2 25));
    color: white;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    animation: navBadgePulse-b-ujlbmyabvm 2.2s ease-in-out infinite;
}

@keyframes navBadgePulse-b-ujlbmyabvm {
    0%, 100% { box-shadow: 0 0 0 0 color-mix(in oklch, var(--color-danger) 45%, transparent); }
    50% { box-shadow: 0 0 0 5px color-mix(in oklch, var(--color-danger) 0%, transparent); }
}

.nav-group[b-ujlbmyabvm] {
    display: flex;
    flex-direction: column;
}

.nav-subitems[b-ujlbmyabvm] {
    display: flex;
    flex-direction: column;
    padding: 2px 0 6px 18px;
}

.nav-subitems[b-ujlbmyabvm]  .nav-item {
    font-size: 13px;
    padding: 6px 10px;
}

.nav-subitems[b-ujlbmyabvm]  .nav-icon {
    width: 22px;
    height: 22px;
    font-size: 11px;
}

/* /Components/Shared/PageChrome.razor.rz.scp.css */
#blazor-error-ui[b-2txcv6b9vd] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    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-2txcv6b9vd] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.nav-progress[b-2txcv6b9vd] {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    background: var(--color-accent);
    z-index: 2000;
    width: 0;
    opacity: 0;
    transition: width .35s ease, opacity .3s;
}
/* /Components/Shared/Pager.razor.rz.scp.css */
.results-pagination[b-yzqipkpiug] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: var(--space-6);
}

.results-pagination .disabled[b-yzqipkpiug] {
    pointer-events: none;
    opacity: .4;
}

.page-numbers[b-yzqipkpiug] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pager-summary[b-yzqipkpiug] {
    width: 100%;
    text-align: center;
    margin: 0;
    font-size: 13px;
    color: var(--color-text-muted);
}
/* /Components/Shared/ProgressBar.razor.rz.scp.css */
.progress-track[b-nllcz7smr0] {
    height: 6px;
    border-radius: 6px;
    background: var(--color-border);
    overflow: hidden;
}

.progress-fill[b-nllcz7smr0] {
    height: 100%;
    min-width: 6px;
    border-radius: 6px;
    background: linear-gradient(90deg, var(--color-accent), var(--color-primary) 140%);
    background-size: 200% 100%;
    box-shadow: 0 0 8px color-mix(in oklch, var(--color-accent) 55%, transparent);
    transition: width .3s ease;
    animation: progressSheen-b-nllcz7smr0 2.4s linear infinite;
}

@keyframes progressSheen-b-nllcz7smr0 {
    0% { background-position: 0% 0; }
    100% { background-position: -200% 0; }
}
/* /Components/Shared/SkeletonLoader.razor.rz.scp.css */
.skeleton[b-j8olt6xb29] {
    background: linear-gradient(90deg, var(--color-surface-alt) 25%, var(--color-surface-hover) 37%, var(--color-surface-alt) 63%);
    background-size: 400px 100%;
    animation: shimmer 1.3s ease-in-out infinite;
}
/* /Components/Shared/StatCard.razor.rz.scp.css */
.stat-card[b-4o0alx3kua] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--space-4);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.stat-card:hover[b-4o0alx3kua] {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: var(--color-border-strong);
}

.stat-value[b-4o0alx3kua] {
    font-size: 24px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.stat-label[b-4o0alx3kua] {
    font-size: 12.5px;
    color: var(--color-text-muted);
    margin-top: 4px;
}

.stat-card.stat-card-compact[b-4o0alx3kua] {
    background: var(--color-surface-alt);
    border: none;
    border-radius: var(--radius-md);
    padding: 12px;
    text-align: center;
    box-shadow: none;
}

.stat-card.stat-card-compact:hover[b-4o0alx3kua] {
    transform: none;
    box-shadow: none;
}

.stat-card-compact .stat-value[b-4o0alx3kua] {
    font-size: 18px;
    letter-spacing: -.3px;
}

.stat-card-compact .stat-label[b-4o0alx3kua] {
    font-weight: 600;
    margin-top: 2px;
}
/* /Components/Shared/TabStrip.razor.rz.scp.css */
.tab-strip[b-4pyosef37v] {
    position: relative;
    display: flex;
    border-bottom: 1px solid var(--color-border);
}

.tab-strip-item[b-4pyosef37v] {
    flex: 1;
    text-align: center;
    padding: 13px 8px;
    background: none;
    border: none;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    color: var(--color-text-subtle);
    font-family: inherit;
    transition: color .2s;
    text-decoration: none;
}

.tab-strip-item.active[b-4pyosef37v] {
    color: var(--color-text);
}

.tab-strip-underline[b-4pyosef37v] {
    position: absolute;
    bottom: -1px;
    height: 2.5px;
    background: var(--color-accent);
    border-radius: 2px;
    transition: left .28s cubic-bezier(.4, 0, .2, 1), width .28s;
}

/* Keeps the equal-width flex layout the underline's percentage math
   depends on (see TabStrip.razor's UnderlineLeft/Width) - tightening
   padding/font instead of switching to horizontal scroll, which several
   host pages need for up to 7 tabs (MatterDetail) on narrow phones. */
@media (max-width: 640px) {
    .tab-strip-item[b-4pyosef37v] {
        padding: 10px 4px;
        font-size: 11.5px;
    }
}
/* /Components/Shared/Toast.razor.rz.scp.css */
.toast[b-270os7ar5j] {
    color: #fff;
    padding: 13px 18px;
    border-radius: 11px;
    font-size: 13.5px;
    font-weight: 600;
    box-shadow: var(--shadow-md);
    animation: toastIn .3s ease both;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 220px;
}

.toast-info[b-270os7ar5j] {
    background: var(--color-primary);
}

.toast-success[b-270os7ar5j] {
    background: var(--color-success);
}

.toast-danger[b-270os7ar5j] {
    background: var(--color-danger);
}

.toast-dot[b-270os7ar5j] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
    animation: pulseDot 1.4s ease infinite;
    flex-shrink: 0;
}
/* /Components/Shared/ToastHost.razor.rz.scp.css */
.toast-host[b-ks4qan6fkg] {
    position: fixed;
    top: 22px;
    right: 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 2000;
}

@media (max-width: 480px) {
    .toast-host[b-ks4qan6fkg] {
        top: 12px;
        right: 12px;
        left: 12px;
    }
}
/* /Components/Shared/UserIdentityFields.razor.rz.scp.css */
.user-identity-name-row[b-qpndw09636] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3);
}

@media (max-width: 520px) {
    .user-identity-name-row[b-qpndw09636] {
        grid-template-columns: 1fr;
    }
}

.user-identity-title-group .other-field[b-qpndw09636] {
    display: none;
    margin-top: 8px;
}

.user-identity-title-group:has(select option[value="otro"]:checked) .other-field[b-qpndw09636] {
    display: block;
}

.user-identity-sex[b-qpndw09636] {
    margin: 0 0 var(--space-4);
    padding: 0;
    border: 0;
}

.user-identity-sex legend.form-label[b-qpndw09636] {
    padding: 0;
    float: none;
    width: auto;
    margin-bottom: 6px;
}

.user-identity-sex .choice-option[b-qpndw09636] {
    margin-bottom: 6px;
}
