/* /Components/Layout/LandingLayout.razor.rz.scp.css */
/* dsvu.dk-style public landing shell (#3) */

.landing-page[b-eyv2n499s2] {
    min-height: 100vh;
    background-color: var(--dsvu-bg);
}

.landing-topbar[b-eyv2n499s2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 3.75rem;
    background: var(--dsvu-surface);
    border-bottom: 1px solid var(--dsvu-border);
    position: sticky;
    top: 0;
    z-index: 100;
}

.landing-brand[b-eyv2n499s2] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none;
}

.landing-brand img[b-eyv2n499s2] {
    height: 40px;
}

.landing-brand span[b-eyv2n499s2] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--dsvu-heading);
}

.landing-actions[b-eyv2n499s2] {
    display: flex;
    align-items: center;
    gap: 1.1rem;
}

.landing-link[b-eyv2n499s2] {
    color: var(--dsvu-text);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
}

.landing-link:hover[b-eyv2n499s2] {
    color: var(--dsvu-primary);
}

/* Brugermenuen bor i den fælles UserMenu.razor(.css) — ikke her. */

/* Venstre-navigation paa forsiden (#194) - samme dimensioner som MainLayout */
.landing-with-sidebar[b-eyv2n499s2] {
    position: relative;
    display: flex;
    flex-direction: column;
}

.landing-sidebar[b-eyv2n499s2] {
    background: #fff;
    border-right: 1px solid #e3e3e6;
}

.landing-main[b-eyv2n499s2] {
    flex: 1;
    min-width: 0;
}

@media (min-width: 641px) {
    .landing-with-sidebar[b-eyv2n499s2] {
        flex-direction: row;
    }

    .landing-sidebar[b-eyv2n499s2] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }
}


/* App bar-kontekst (#194): forsidens tagline til venstre, diskret */
.landing-tagline[b-eyv2n499s2] {
    color: #6b6b73;
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-right: 1rem;
}

.landing-topbar[b-eyv2n499s2] {
    justify-content: space-between;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-bpsv2wjvrv] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-bpsv2wjvrv] {
    flex: 1;
    /* Flex items default to min-width:auto and refuse to shrink below their content's
       intrinsic width — a wide nowrap table (#125/#126) would then push main past the
       viewport so the PAGE scrolls and .table-responsive never overflows internally,
       which also keeps its sticky first column from engaging. */
    min-width: 0;
}

.sidebar[b-bpsv2wjvrv] {
    background: var(--dsvu-surface);
    border-right: 1px solid var(--dsvu-border);
}

.top-row[b-bpsv2wjvrv] {
    background-color: var(--dsvu-surface);
    border-bottom: 1px solid var(--dsvu-border);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

/* Brugermenuen bor i den fælles UserMenu.razor(.css) — ikke her. */

@media (max-width: 640.98px) {
    .top-row[b-bpsv2wjvrv] {
        justify-content: space-between;
    }

    .top-row[b-bpsv2wjvrv]  a, .top-row[b-bpsv2wjvrv]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-bpsv2wjvrv] {
        flex-direction: row;
    }

    .sidebar[b-bpsv2wjvrv] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-bpsv2wjvrv] {
        position: sticky;
        top: 0;
        /* Over DataGrid'ens sticky header/frosne kolonner (Radzen z-index 3-7, #184),
           men under Radzen-dialoger/overlays (z-index 1000+) — ellers males
           kolonneoverskrifterne hen over profilmenuens "Log ud" (stacking context). */
        z-index: 100;
    }

    .top-row.auth[b-bpsv2wjvrv]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-bpsv2wjvrv], article[b-bpsv2wjvrv] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* dsvu.dk-style white sidebar (#3, see Design and Specs/dsvu.dk-design-spec.md) */

.navbar-toggler[b-2tn1q6n34q] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid var(--dsvu-border);
    border-radius: 8px;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2875, 85, 99, 0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem var(--dsvu-surface);
}

.navbar-toggler:checked[b-2tn1q6n34q] {
    background-color: var(--dsvu-primary-soft);
}

.top-row[b-2tn1q6n34q] {
    min-height: 3.5rem;
    background-color: var(--dsvu-surface);
    border-bottom: 1px solid var(--dsvu-border);
}

.navbar-brand[b-2tn1q6n34q] {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--dsvu-heading) !important;
}

.bi[b-2tn1q6n34q] {
    display: inline-block;
    position: relative;
    width: 1.1rem;
    height: 1.1rem;
    margin-right: 0.6rem;
    top: -1px;
    background-size: cover;
    flex-shrink: 0;
}

.bi-house-door-fill-nav-menu[b-2tn1q6n34q] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-2tn1q6n34q] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-2tn1q6n34q] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-people-fill-nav-menu[b-2tn1q6n34q] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' class='bi bi-people-fill' viewBox='0 0 16 16'%3E%3Cpath d='M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'/%3E%3Cpath fill-rule='evenodd' d='M5.216 14A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216z'/%3E%3Cpath d='M4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z'/%3E%3C/svg%3E");
}

.bi-trophy-fill-nav-menu[b-2tn1q6n34q] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' class='bi bi-trophy-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2.5.5A.5.5 0 0 1 3 0h10a.5.5 0 0 1 .5.5c0 .538-.012 1.05-.034 1.536a3 3 0 1 1-1.133 5.89c-.79 1.865-1.878 2.777-2.833 3.011v2.173l1.425.356c.194.048.377.135.537.255L13.3 15.1a.5.5 0 0 1-.3.9H3a.5.5 0 0 1-.3-.9l1.838-1.379c.16-.12.343-.207.537-.255L6.5 13.11v-2.173c-.955-.234-2.043-1.146-2.833-3.012a3 3 0 1 1-1.132-5.89A33.076 33.076 0 0 1 2.5.5zm.099 2.54a2 2 0 0 0 .72 3.935c-.333-1.398-.588-2.797-.72-3.935zm10.083 3.935a2 2 0 0 0 .72-3.935c-.133 1.138-.388 2.537-.72 3.935z'/%3E%3C/svg%3E");
}

.bi-gear-fill-nav-menu[b-2tn1q6n34q] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' class='bi bi-gear-fill' viewBox='0 0 16 16'%3E%3Cpath d='M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.86z'/%3E%3C/svg%3E");
}

.bi-calendar-week-fill-nav-menu[b-2tn1q6n34q] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' class='bi bi-calendar-week-fill' viewBox='0 0 16 16'%3E%3Cpath d='M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM9.5 7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm3 0h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zM2 10.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
}

/* Værktøjer (2026-09-25): Bootstrap Icons "tools" (skruenøgle + skruetrækker). */
.bi-tools-nav-menu[b-2tn1q6n34q] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' class='bi bi-tools' viewBox='0 0 16 16'%3E%3Cpath d='M1 0 0 1l2.2 3.081a1 1 0 0 0 .815.419h.07a1 1 0 0 1 .708.293l2.675 2.675-2.617 2.654A3.003 3.003 0 0 0 0 13a3 3 0 1 0 5.878-.851l2.654-2.617.968.968-.305.914a1 1 0 0 0 .242 1.023l3.27 3.27a.997.997 0 0 0 1.414 0l1.586-1.586a.997.997 0 0 0 0-1.414l-3.27-3.27a1 1 0 0 0-1.023-.242L10.5 9.5l-.96-.96 2.68-2.643A3.005 3.005 0 0 0 16 3q0-.405-.102-.777l-2.14 2.141L12 4l-.364-1.757L13.777.102a3 3 0 0 0-3.675 3.68L7.462 6.46 4.793 3.793a1 1 0 0 1-.293-.707v-.071a1 1 0 0 0-.419-.814zm9.646 10.646a.5.5 0 0 1 .708 0l2.914 2.915a.5.5 0 0 1-.707.707l-2.915-2.914a.5.5 0 0 1 0-.708M3 11l.471.242.529.026.287.445.445.287.026.529L5 13l-.242.471-.026.529-.445.287-.287.445-.529.026L3 15l-.471-.242L2 14.732l-.287-.445L1.268 14l-.026-.529L1 13l.242-.471.026-.529.445-.287.287-.445.529-.026z'/%3E%3C/svg%3E");
}

/* Admin (2026-09-30): Bootstrap Icons "shield-lock-fill". */
.bi-shield-lock-fill-nav-menu[b-2tn1q6n34q] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' class='bi bi-shield-lock-fill' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.8 11.8 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7 7 0 0 0 1.048-.625 11.8 11.8 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.54 1.54 0 0 0-1.044-1.263 63 63 0 0 0-2.887-.87C9.843.266 8.69 0 8 0m0 5a1.5 1.5 0 0 1 .5 2.915l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99A1.5 1.5 0 0 1 8 5'/%3E%3C/svg%3E");
}

/* Om (2026-09-30): Bootstrap Icons "info-circle-fill". */
.bi-info-circle-fill-nav-menu[b-2tn1q6n34q] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' class='bi bi-info-circle-fill' viewBox='0 0 16 16'%3E%3Cpath d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.302.005-.41-.296-.483l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2'/%3E%3C/svg%3E");
}

.bi-question-circle-fill-nav-menu[b-2tn1q6n34q] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' class='bi bi-question-circle-fill' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.496 6.033h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286a.237.237 0 0 0 .241.247zm2.325 6.443c.61 0 1.029-.394 1.029-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94 0 .533.425.927 1.01.927z'/%3E%3C/svg%3E");
}

/* ── Top-level items: dsvu.dk uses compact UPPERCASE entries ── */
.nav-item[b-2tn1q6n34q] {
    font-size: 0.9rem;
    padding-bottom: 0.15rem;
}

    .nav-item:first-of-type[b-2tn1q6n34q] {
        padding-top: 0.75rem;
    }

    .nav-item:last-of-type[b-2tn1q6n34q] {
        padding-bottom: 0.75rem;
    }

    .nav-item[b-2tn1q6n34q]  .nav-link {
        color: var(--dsvu-text);
        background: none;
        border: none;
        border-radius: 8px;
        height: 2.5rem;
        display: flex;
        align-items: center;
        line-height: 2.5rem;
        width: 100%;
        padding: 0 0.75rem;
        font-size: 0.8rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.02em;
    }

.nav-item[b-2tn1q6n34q]  a.active {
    background-color: var(--dsvu-primary-soft);
    color: var(--dsvu-primary);
}

.nav-item[b-2tn1q6n34q]  .nav-link:hover {
    background-color: var(--dsvu-bg);
    color: var(--dsvu-heading);
}

.nav-item[b-2tn1q6n34q]  a.active:hover {
    background-color: var(--dsvu-primary-soft);
    color: var(--dsvu-primary);
}

/* ── Treeview groups: chevron on the RIGHT like dsvu.dk ── */
.nav-group[b-2tn1q6n34q] {
    margin-bottom: 0.15rem;
}

.nav-group-toggle[b-2tn1q6n34q] {
    color: var(--dsvu-text);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    height: 2.5rem;
    padding: 0 0.75rem;
    border-radius: 8px;
    user-select: none;
}

.nav-group-toggle:hover[b-2tn1q6n34q] {
    background-color: var(--dsvu-bg);
    color: var(--dsvu-heading);
}

.nav-group-toggle[b-2tn1q6n34q]::after {
    content: '';
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    margin-left: auto;
    border-right: 2px solid #9ca3af;
    border-bottom: 2px solid #9ca3af;
    transform: rotate(-45deg);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}

.nav-group-toggle.open[b-2tn1q6n34q]::after {
    transform: rotate(45deg);
}

.nav-group-items[b-2tn1q6n34q] {
    padding-left: 1.6rem;
    padding-top: 0.1rem;
    padding-bottom: 0.25rem;
}

.nav-group-items .nav-item[b-2tn1q6n34q] {
    padding-bottom: 0;
    font-size: 0.85rem;
}

.nav-group-items .nav-item:first-of-type[b-2tn1q6n34q] {
    padding-top: 0;
}

.nav-group-items .nav-item[b-2tn1q6n34q]  .nav-link {
    height: 2.15rem;
    line-height: 2.15rem;
    font-size: 0.85rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
}

/* ── GENVEJE: pastel pill shortcuts like dsvu.dk ── */
.nav-genveje[b-2tn1q6n34q] {
    margin-top: 0.75rem;
    padding-top: 0.9rem;
    padding-bottom: 1.25rem;
    border-top: 1px solid var(--dsvu-border);
}

.nav-genveje-label[b-2tn1q6n34q] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--dsvu-muted);
    padding: 0 0.75rem 0.5rem;
}

/* genvej-pill-stilene er flyttet til app.css (#194): de skal også ramme
   ExtLink-komponentens anker (scoped CSS naar ikke ind i child-komponenter). */

.genvej-purple[b-2tn1q6n34q] {
    background: #ede9fe;
    border: 1px solid #ddd4fb;
    color: #6d3fc0;
}

.genvej-yellow[b-2tn1q6n34q] {
    background: #fef9c3;
    border: 1px solid #f5e88a;
    color: #8a6d1a;
}

.nav-scrollable[b-2tn1q6n34q] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-2tn1q6n34q] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-2tn1q6n34q] {
        display: none;
    }

    .nav-scrollable[b-2tn1q6n34q] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-hs904g3kbm],
.components-reconnect-repeated-attempt-visible[b-hs904g3kbm],
.components-reconnect-failed-visible[b-hs904g3kbm],
.components-pause-visible[b-hs904g3kbm],
.components-resume-failed-visible[b-hs904g3kbm],
.components-rejoining-animation[b-hs904g3kbm] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-hs904g3kbm],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-hs904g3kbm],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-hs904g3kbm],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-hs904g3kbm],
#components-reconnect-modal.components-reconnect-retrying[b-hs904g3kbm],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-hs904g3kbm],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-hs904g3kbm],
#components-reconnect-modal.components-reconnect-failed[b-hs904g3kbm],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-hs904g3kbm] {
    display: block;
}


#components-reconnect-modal[b-hs904g3kbm] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-hs904g3kbm 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-hs904g3kbm 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-hs904g3kbm 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-hs904g3kbm]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-hs904g3kbm 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-hs904g3kbm {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-hs904g3kbm {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-hs904g3kbm {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-hs904g3kbm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-hs904g3kbm] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-hs904g3kbm] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-hs904g3kbm] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-hs904g3kbm] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-hs904g3kbm] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-hs904g3kbm] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-hs904g3kbm 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-hs904g3kbm] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-hs904g3kbm {
    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/Layout/UserMenu.razor.rz.scp.css */
/* Brugermenuen (2026-09-25) — fælles for alle layouts. Scoped CSS er korrekt her:
   udseendet hører til denne ene komponent, som alle layouts genbruger. */

.user-menu[b-kg01s76xhn] {
    position: relative;
}

.user-menu summary[b-kg01s76xhn] {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    user-select: none;
    padding: 0.25rem 0.35rem;
    border-radius: 999px;
}

.user-menu summary:hover[b-kg01s76xhn],
.user-menu summary:focus-visible[b-kg01s76xhn] {
    background: var(--dsvu-bg);
    outline: none;
}

.user-menu summary[b-kg01s76xhn]::-webkit-details-marker {
    display: none;
}

.user-avatar[b-kg01s76xhn] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
}

.user-initials[b-kg01s76xhn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--dsvu-primary-soft);
    color: var(--dsvu-primary);
    font-size: 0.8rem;
    font-weight: 600;
}

.user-firstname[b-kg01s76xhn] {
    color: var(--dsvu-heading);
    font-weight: 500;
    font-size: 0.9rem;
}

.user-chevron[b-kg01s76xhn] {
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid var(--dsvu-muted);
    border-bottom: 2px solid var(--dsvu-muted);
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.15s ease;
}

.user-menu[open] .user-chevron[b-kg01s76xhn] {
    transform: rotate(-135deg) translateY(-2px);
}

.user-dropdown[b-kg01s76xhn] {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    min-width: 240px;
    background: var(--dsvu-surface);
    border: 1px solid var(--dsvu-border);
    border-radius: var(--dsvu-radius);
    box-shadow: 0 8px 24px rgba(17, 24, 39, 0.12);
    padding: 0.4rem 0;
    z-index: 1050;
}

.user-header[b-kg01s76xhn] {
    padding: 0.5rem 1rem 0.6rem;
    border-bottom: 1px solid var(--dsvu-border);
    margin-bottom: 0.3rem;
}

.user-fullname[b-kg01s76xhn] {
    font-weight: 600;
    color: var(--dsvu-heading);
    font-size: 0.9rem;
}

.user-roles[b-kg01s76xhn] {
    color: var(--dsvu-muted);
    font-size: 0.78rem;
    margin-top: 2px;
}

.user-impersonation[b-kg01s76xhn] {
    margin: 0 0.5rem 0.3rem;
    padding: 0.4rem 0.6rem;
    border-radius: 4px;
    background: #fff3cd;
    color: #664d03;
    font-size: 0.78rem;
}

.user-impersonation a[b-kg01s76xhn] {
    font-weight: 600;
    margin-left: 0.25rem;
}

.user-item[b-kg01s76xhn] {
    display: block;
    padding: 0.45rem 1rem;
    color: var(--dsvu-text);
    text-decoration: none;
    font-size: 0.9rem;
}

.user-item:hover[b-kg01s76xhn],
.user-item:focus-visible[b-kg01s76xhn] {
    background: var(--dsvu-bg);
    text-decoration: none;
    outline: none;
}

.user-divider[b-kg01s76xhn] {
    height: 1px;
    background: var(--dsvu-border);
    margin: 0.3rem 0;
}

.user-logout[b-kg01s76xhn] {
    color: var(--dsvu-danger);
}

.user-login[b-kg01s76xhn] {
    font-weight: 600;
    padding-left: 1rem;
    padding-right: 1rem;
}
/* /Components/Pages/Events/EventCalendar.razor.rz.scp.css */
/* Legend over kalenderen (#194) */
.cal-legend[b-xfhskj8el0] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.1rem;
    align-items: center;
    font-size: 0.85rem;
}

.cal-legend-item[b-xfhskj8el0] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.cal-legend-swatch[b-xfhskj8el0] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 3px;
    border: 1px solid rgba(0, 0, 0, 0.15);
}
/* /Components/Pages/Landing.razor.rz.scp.css */
/* Avisforside-sektionsoverskrifter */
.np-section[b-5246pxoqn9] {
    font-size: 1.15rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-bottom: 2px solid var(--rz-primary, #3f51b5);
    padding-bottom: 0.25rem;
    margin-bottom: 0.9rem;
}

.np-activity[b-5246pxoqn9] {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    padding: 0.25rem 0;
    border-bottom: 1px dashed #e3e3e6;
}

.np-activity:last-of-type[b-5246pxoqn9] {
    border-bottom: none;
}

.np-activity-time[b-5246pxoqn9] {
    font-family: "Roboto Mono", Consolas, monospace;
    color: #6b6b73;
    font-size: 0.85rem;
    min-width: 5.5rem;
}

/* Landshold: smaa pilot-chips i stedet for hero-billeder */
.np-pilot-chips[b-5246pxoqn9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.np-pilot-chip[b-5246pxoqn9] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: #f2f2f5;
    border-radius: 2rem;
    padding: 0.15rem 0.7rem 0.15rem 0.15rem;
    font-size: 0.85rem;
}

.np-pilot-chip img[b-5246pxoqn9] {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border-radius: 50%;
}

/* Nordic Gliding-artikler */
.np-article[b-5246pxoqn9] {
    padding: 0.4rem 0;
    border-bottom: 1px dashed #e3e3e6;
}

.np-article:last-of-type[b-5246pxoqn9] {
    border-bottom: none;
}

/* Artikel med thumbnail: billede til venstre, tekst til højre */
.np-article-thumbed[b-5246pxoqn9] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.np-article-thumb[b-5246pxoqn9] {
    flex: 0 0 96px;
}

.np-article-thumb img[b-5246pxoqn9] {
    width: 96px;
    height: 64px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}

.np-article-body[b-5246pxoqn9] {
    flex: 1 1 auto;
    min-width: 0;
}

/* Deltagerantal på Kommende events: ikon + tal, linker til eventet */
.np-participant-count[b-5246pxoqn9] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #6c757d;
    text-decoration: none;
    font-size: 0.9rem;
}

.np-participant-count:hover[b-5246pxoqn9] {
    color: #0d6efd;
}

/* Klikbare pilot-chips + meta-linjen med lokation/links */
.np-pilot-chip-click[b-5246pxoqn9] {
    cursor: pointer;
}

.np-pilot-chip-click:hover[b-5246pxoqn9] {
    background: #e4e4ee;
}

.np-meta-line[b-5246pxoqn9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: baseline;
}

/* Eventtitler som links (#194): diskrete - farve som overskrift, underline paa hover */
.np-event-link[b-5246pxoqn9] {
    color: inherit;
    text-decoration: none;
}

.np-event-link:hover[b-5246pxoqn9] {
    text-decoration: underline;
}

/* Event-thumbnails (logo + billede, 2026-09-25): små, flyder til højre i kortet,
   klik åbner fuld størrelse. .np-clear afslutter kortet, så korte kort (fx
   annonceringer) vokser med billederne i stedet for at de stikker ud. */
.np-event-thumbs[b-5246pxoqn9] {
    float: right;
    display: flex;
    gap: 0.35rem;
    margin: 0 0 0.35rem 0.75rem;
}

.np-event-thumbs img[b-5246pxoqn9] {
    height: 48px;
    max-width: 80px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #e3e3ea;
    background: #fff;
    cursor: zoom-in;
}

.np-event-thumbs img:hover[b-5246pxoqn9] {
    border-color: #9aa3b5;
}

.np-clear[b-5246pxoqn9] {
    clear: both;
}

@media (max-width: 640px) {
    .np-event-thumbs img[b-5246pxoqn9] {
        height: 36px;
        max-width: 60px;
    }
}
/* /Components/Pages/SolarisDemoBoard.razor.rz.scp.css */
/* Solaris-striben: moerk "lufthavnstavle"-baggrund som i SkunkWorks-demoen. */
.solaris-strip[b-yba72o4af6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
    padding: 2rem 1rem;
    border-radius: 0.5rem;
    background: radial-gradient(ellipse at top, #1a1a22 0%, #0d0d10 70%);

    /* split-flap sizing - rem so header/cell alignment survives local font-size changes */
    --sf-cell-w: 1.35rem;
    --sf-cell-h: 1.9rem;
    --sf-font-size: 1.25rem;
    --sf-cell-gap: 0.12rem;
    --sf-col-gap: 1.2rem;
    overflow-x: auto;
}

.solaris-title[b-yba72o4af6] {
    color: #b8a24a;
    font-family: "Roboto Mono", Consolas, "Courier New", monospace;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.4em;
}

.solaris-clock[b-yba72o4af6] {
    --sf-cell-w: 1.9rem;
    --sf-cell-h: 2.7rem;
    --sf-font-size: 1.8rem;
}

/* ── Mobil (2026-09-25): tavlen var kraftigt beskåret på smalle skærme. Al sizing
   ligger i rem-variablerne, så tavlen skaleres trinvist ned via media queries —
   overflow-x ovenfor består som sikkerhedsnet på de allersmalleste skærme. ── */
@media (max-width: 991px) {
    .solaris-strip[b-yba72o4af6] {
        --sf-cell-w: 1.02rem;
        --sf-cell-h: 1.45rem;
        --sf-font-size: 0.95rem;
        --sf-cell-gap: 0.09rem;
        --sf-col-gap: 0.8rem;
        padding: 1.4rem 0.75rem;
    }
    .solaris-strip .solaris-clock[b-yba72o4af6] {
        --sf-cell-w: 1.45rem;
        --sf-cell-h: 2.05rem;
        --sf-font-size: 1.35rem;
    }
}

@media (max-width: 640px) {
    .solaris-strip[b-yba72o4af6] {
        --sf-cell-w: 0.68rem;
        --sf-cell-h: 0.98rem;
        --sf-font-size: 0.62rem;
        --sf-cell-gap: 0.05rem;
        --sf-col-gap: 0.45rem;
        padding: 1rem 0.5rem;
        gap: 0.8rem;
    }
    .solaris-strip .solaris-clock[b-yba72o4af6] {
        --sf-cell-w: 1rem;
        --sf-cell-h: 1.4rem;
        --sf-font-size: 0.9rem;
    }
    .solaris-title[b-yba72o4af6] {
        font-size: 0.8rem;
        letter-spacing: 0.25em;
    }
    .solaris-mode[b-yba72o4af6] {
        font-size: 0.7rem;
    }
}

.solaris-mode[b-yba72o4af6] {
    color: #8a8a92;
    font-family: "Roboto Mono", Consolas, monospace;
    font-size: 0.85rem;
    letter-spacing: 0.25em;
    display: flex;
    align-items: center;
    gap: 0.8rem;
}
/* /Components/Shared/ChatVindue.razor.rz.scp.css */
/* Chat-vindue (event chat #343 + plan-chat 2026-09-28): WhatsApp-lignende udseende. Scoped CSS er
   KORREKT her — udseendet tilhører kun ChatVindue (fælles for begge chats, jf. scoped CSS-fælden). */

.chat-wrap[b-raq2oqwzzw] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-width: 720px;
}

.chat-intro[b-raq2oqwzzw] {
    margin: 0.25rem 0 0;
    font-size: 0.85rem;
}

.chat-scroll[b-raq2oqwzzw] {
    height: 420px;
    overflow-y: auto;
    background: #e5ddd5; /* WhatsApp-baggrundstonen */
    border: 1px solid #d0c8bf;
    border-radius: 8px;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.chat-empty[b-raq2oqwzzw] {
    margin: auto;
    font-size: 0.9rem;
}

.chat-datesep[b-raq2oqwzzw] {
    text-align: center;
    margin: 0.5rem 0 0.25rem;
}

.chat-datesep span[b-raq2oqwzzw] {
    background: #d5e8f0;
    color: #3b4a54;
    font-size: 0.72rem;
    padding: 0.15rem 0.7rem;
    border-radius: 10px;
    text-transform: capitalize;
}

.chat-row[b-raq2oqwzzw] {
    display: flex;
}

.chat-row.own[b-raq2oqwzzw] {
    justify-content: flex-end;
}

.chat-row.other[b-raq2oqwzzw] {
    justify-content: flex-start;
}

.chat-bubble[b-raq2oqwzzw] {
    max-width: 78%;
    padding: 0.35rem 0.6rem 0.25rem;
    border-radius: 8px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12);
    font-size: 0.9rem;
}

.chat-row.own .chat-bubble[b-raq2oqwzzw] {
    background: #d9fdd3; /* WhatsApp-grøn til egne beskeder */
    border-top-right-radius: 2px;
}

.chat-row.other .chat-bubble[b-raq2oqwzzw] {
    background: #ffffff;
    border-top-left-radius: 2px;
}

.chat-sender[b-raq2oqwzzw] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #0b6e4f;
    margin-bottom: 0.1rem;
}

.chat-text[b-raq2oqwzzw] {
    white-space: pre-wrap;
    word-break: break-word;
    color: #111b21;
}

.chat-meta[b-raq2oqwzzw] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.1rem;
}

.chat-time[b-raq2oqwzzw] {
    font-size: 0.68rem;
    color: #667781;
}

.chat-meta[b-raq2oqwzzw]  .chat-delete {
    font-size: 0.95rem;
    color: #8696a0;
    cursor: pointer;
}

.chat-meta[b-raq2oqwzzw]  .chat-delete:hover {
    color: #c0392b;
}

.chat-input[b-raq2oqwzzw] {
    display: flex;
    gap: 0.5rem;
    align-items: flex-end;
}

.chat-input textarea[b-raq2oqwzzw] {
    flex: 1;
    resize: vertical;
    border: 1px solid #cfd6da;
    border-radius: 8px;
    padding: 0.45rem 0.6rem;
    font: inherit;
    font-size: 0.9rem;
}

.chat-moderation[b-raq2oqwzzw] {
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 640px) {
    .chat-scroll[b-raq2oqwzzw] {
        height: 320px;
    }

    .chat-bubble[b-raq2oqwzzw] {
        max-width: 90%;
    }
}
/* /Components/Shared/CopyLinkButton.razor.rz.scp.css */
/* Kopiér link (#344) — Jira-lignende ikonknap med mørk tooltip over ikonet.
   Størrelsen er em-baseret, så ikonet følger konteksten: stort i sidens h1,
   lille i kort-overskrifter og tabelrækker. Tooltip-teksten har fast størrelse. */

.copy-link[b-bf8yg73zhq] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* Klikflade mindst 32×32 px (Arne 2026-09-25: "svære at ramme"); den negative
       lodrette margen holder rækker/overskrifter lige så lave som før. */
    width: 1.9em;
    height: 1.9em;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    margin: -6px 0 -6px 0.2em;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #6b778c;
    cursor: pointer;
    vertical-align: middle;
    flex-shrink: 0;
    transition: background-color 0.15s, color 0.15s;
}

.copy-link[b-bf8yg73zhq]  .rzi {
    font-size: max(1.2em, 20px);
}

/* Lyser op ved hover/fokus. */
.copy-link:hover[b-bf8yg73zhq],
.copy-link:focus-visible[b-bf8yg73zhq] {
    background: #e9f2ff;
    color: #0c66e4;
    outline: none;
}

/* Kopieret: grønt flueben. */
.copy-link.copied[b-bf8yg73zhq],
.copy-link.copied:hover[b-bf8yg73zhq] {
    background: transparent;
    color: #1f845a;
}

/* Tooltip ("Copy link" / "Copied!") — vises ved hover/fokus og altid lige efter kopiering. */
.copy-link[b-bf8yg73zhq]::after {
    content: attr(data-tip);
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    background: #172b4d;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.12s;
    z-index: 10;
}

.copy-link:hover[b-bf8yg73zhq]::after,
.copy-link:focus-visible[b-bf8yg73zhq]::after,
.copy-link.copied[b-bf8yg73zhq]::after {
    opacity: 1;
}

/* Tabel-variant: tooltip til højre, lodret centreret i rækken. */
.copy-link.tip-right[b-bf8yg73zhq]::after {
    bottom: auto;
    top: 50%;
    left: calc(100% + 6px);
    transform: translateY(-50%);
}
/* /Components/Shared/PilotCard.razor.rz.scp.css */
/* Hele billedhøjden vises altid — der beskæres aldrig i højden (aftalt
   2026-09-22: hoveder må ikke klippes af). Halv størrelse (2026-09-23):
   billedet fylder nu ca. halvdelen af kortet med stamdataene til højre. */
.pilot-card-img[b-nfp02n7bxa] {
    width: 45%;
    max-width: 280px;
    height: auto;
    border-radius: 8px;
}

.pilot-card[b-nfp02n7bxa] {
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    border-radius: 8px;
}
/* /Components/Shared/SplitFlap/SplitFlapBoard.razor.rz.scp.css */
.sf-board[b-489hjq0yna] {
    display: inline-flex;
    flex-direction: column;
    gap: 0.5em;
    padding: 1.2em 1.4em;
    background: #0a0a0c;
    border-radius: 0.5em;
    box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.8), 0 10px 30px rgba(0, 0, 0, 0.5);
}

.sf-board-header[b-489hjq0yna] {
    display: flex;
    column-gap: var(--sf-col-gap, 1.5em);
    margin-bottom: 0.3em;
}

.sf-board-header-cell[b-489hjq0yna] {
    color: #b8a24a;
    font-family: "Roboto Mono", Consolas, "Courier New", monospace;
    font-size: 0.75em;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.sf-board-row[b-489hjq0yna] {
    display: flex;
    column-gap: var(--sf-col-gap, 1.5em);
}

a.sf-board-row-link[b-489hjq0yna] {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

a.sf-board-row-link:hover[b-489hjq0yna] {
    filter: brightness(1.25);
}
/* /Components/Shared/SplitFlap/SplitFlapChar.razor.rz.scp.css */
.sf-char[b-zv7vtru3m0] {
    position: relative;
    width: var(--sf-cell-w, 1.1em);
    height: var(--sf-cell-h, 1.6em);
    perspective: 300px;
    border-radius: 0.09em;
    background: #000;
}

.sf-half[b-zv7vtru3m0] {
    position: absolute;
    left: 0;
    width: 100%;
    height: 50%;
    overflow: hidden;
    background: linear-gradient(180deg, #2b2b30 0%, #1c1c20 100%);
    color: var(--sf-fg, #f2f0e9);
}

.sf-half span[b-zv7vtru3m0] {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 200%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Roboto Mono", Consolas, "Courier New", monospace;
    font-weight: 600;
    font-size: var(--sf-font-size, 1.15em);
    line-height: 1;
    user-select: none;
}

.sf-top[b-zv7vtru3m0] {
    top: 0;
    border-radius: 0.09em 0.09em 0 0;
}

.sf-bottom[b-zv7vtru3m0] {
    bottom: 0;
    border-radius: 0 0 0.09em 0.09em;
    background: linear-gradient(180deg, #26262b 0%, #151518 100%);
}

/* bottom halves show the lower half of the glyph */
.sf-bottom span[b-zv7vtru3m0],
.sf-flap-bottom span[b-zv7vtru3m0] {
    top: -100%;
}

/* the thin split line across the middle */
.sf-hinge[b-zv7vtru3m0] {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    margin-top: -0.5px;
    background: rgba(0, 0, 0, 0.65);
    z-index: 4;
}

/* animated flaps */
.sf-flap[b-zv7vtru3m0] {
    z-index: 2;
    backface-visibility: hidden;
    will-change: transform;
}

.sf-flap-top[b-zv7vtru3m0] {
    top: 0;
    border-radius: 0.09em 0.09em 0 0;
    transform-origin: center bottom;
    animation: sf-fold-b-zv7vtru3m0 var(--sf-flip-ms, 70ms) linear forwards;
}

.sf-flap-bottom[b-zv7vtru3m0] {
    bottom: 0;
    border-radius: 0 0 0.09em 0.09em;
    background: linear-gradient(180deg, #26262b 0%, #151518 100%);
    transform-origin: center top;
    transform: rotateX(90deg);
    animation: sf-unfold-b-zv7vtru3m0 var(--sf-flip-ms, 70ms) linear forwards;
    z-index: 3;
}

@keyframes sf-fold-b-zv7vtru3m0 {
    0%        { transform: rotateX(0deg);   filter: brightness(1); }
    50%, 100% { transform: rotateX(-90deg); filter: brightness(0.55); }
}

@keyframes sf-unfold-b-zv7vtru3m0 {
    0%, 50% { transform: rotateX(90deg); filter: brightness(0.55); }
    100%    { transform: rotateX(0deg);  filter: brightness(1); }
}
/* /Components/Shared/SplitFlap/SplitFlapRow.razor.rz.scp.css */
.sf-row[b-yy582o1im1] {
    display: flex;
    gap: var(--sf-cell-gap, 0.12em);
}
