/* /Components/Layout/InvitationLayout.razor.rz.scp.css */
.invitation-shell[b-jxyws3lvgm] {
    background: var(--surface-canvas);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* The brand the way the sidebar carries it - navy, the white logo at the
   same height - laid across the top at the top bar's height. */
.invitation-topbar[b-jxyws3lvgm] {
    align-items: center;
    background: var(--surface-dark);
    box-sizing: border-box;
    display: flex;
    flex: none;
    min-height: var(--topbar-height);
    padding: var(--space-3) var(--space-8);
}

.invitation-home[b-jxyws3lvgm] {
    border-radius: var(--radius-sm);
    display: block;
}

.invitation-home:focus-visible[b-jxyws3lvgm] {
    outline: 2px solid var(--border-focus);
    outline-offset: 4px;
}

.invitation-logo[b-jxyws3lvgm] {
    display: block;
    height: 26px;
}

/* The content area's gutters; on a phone the ones the contractor's phone
   shell uses, so a form keeps its width. */
.invitation-content[b-jxyws3lvgm] {
    box-sizing: border-box;
    flex: 1;
    min-width: 0;
    padding: var(--space-8);
    width: 100%;
}

@media (max-width: 48rem) {
    .invitation-topbar[b-jxyws3lvgm] {
        padding: var(--space-3) var(--space-4);
    }

    .invitation-content[b-jxyws3lvgm] {
        padding: var(--space-5) var(--space-4);
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.shell[b-jq5ni9blvz] {
    display: flex;
    min-height: 100vh;
}

/* ==== Sidebar: navy, fixed width, the reader at the foot ================= */

.sidebar[b-jq5ni9blvz] {
    background: var(--surface-dark);
    color: var(--text-on-dark-muted);
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    height: 100vh;
    overflow: hidden;
    position: sticky;
    top: 0;
    /* Its own layer in a page change (app.css), so that it stays put while the page fades. */
    view-transition-name: sidebar;
    width: var(--sidebar-width);
}

.brand[b-jq5ni9blvz] {
    display: block;
    flex: none;
    padding: 20px 20px 16px 20px;
}

.brand-logo[b-jq5ni9blvz] {
    display: block;
    height: 26px;
}

/* ==== The way out of a site, and the tenant it belongs to =============
   Both rows above the site's name: the first leads back to the list of
   sites, the second only says which tenant this is - there is nothing to
   switch to from inside a project, so it carries no affordance. */
.site-switch[b-jq5ni9blvz] {
    display: flex;
    flex: none;
    flex-direction: column;
    gap: 2px;
    padding: 0 12px 4px;
}

.site-pick[b-jq5ni9blvz],
.site-tenant[b-jq5ni9blvz] {
    align-items: center;
    border-radius: var(--radius-md);
    display: flex;
    font-size: var(--text-sm);
    font-weight: var(--fw-medium);
    gap: 11px;
    padding: 9px 12px;
}

.site-pick[b-jq5ni9blvz] {
    color: var(--navy-200);
    text-decoration: none;
}

.site-pick:hover[b-jq5ni9blvz] {
    background: rgb(255 255 255 / 6%);
    color: var(--text-on-dark);
    text-decoration: none;
}

.site-tenant[b-jq5ni9blvz] {
    color: var(--navy-300);
    overflow: hidden;
}

.site-tenant span[b-jq5ni9blvz] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* The project being worked in, as the section the navigation beneath belongs
   to - set like a label over it, a rule above (design: AppShell, projekt). */
.site-label[b-jq5ni9blvz] {
    border-top: 1px solid var(--navy-700);
    color: var(--navy-400);
    flex: none;
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.1em;
    margin: 8px 14px 2px;
    overflow: hidden;
    padding-top: 12px;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Under the project's label the navigation is its section: no second rule. */
.site-label + .side-nav[b-jq5ni9blvz] {
    border-top: none;
    padding-top: 4px;
}

.tenant-block[b-jq5ni9blvz] {
    flex: none;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: 0 14px 14px 14px;
}

.tenant-label[b-jq5ni9blvz] {
    color: var(--navy-400);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: 0.1em;
    padding: 0 2px;
    text-transform: uppercase;
}

.tenant-name[b-jq5ni9blvz] {
    background: rgb(255 255 255 / 5%);
    border: 1px solid var(--navy-700);
    border-radius: var(--radius-md);
    color: var(--text-on-dark);
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    overflow: hidden;
    padding: 10px 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Whom the contractor works for, beneath its name: quiet, one line. */
.tenant-customer[b-jq5ni9blvz] {
    color: var(--text-on-dark-muted);
    font-size: var(--text-xs);
    overflow: hidden;
    padding: 0 2px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* The navigation is what scrolls on a short screen; logo, tenant and the
   reader at the foot stay where they are. */
.side-nav[b-jq5ni9blvz] {
    border-top: 1px solid var(--border-on-dark);
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 2px;
    min-height: 0;
    overflow-y: auto;
    padding: var(--space-3) 12px;
    scrollbar-color: var(--navy-400) transparent;
    scrollbar-width: thin;
    /* On a short screen the navigation is the part that scrolls, and it has
       to say so: the platform's overlay scrollbar shows only while it is
       being used, so the list just looked cut off under the reader's row.
       The last entries now fade out over the bottom edge instead - and where
       nothing overflows, that edge is empty padding and nothing fades. */
    mask-image: linear-gradient(to bottom, #000 calc(100% - 18px), transparent 100%);
}

/* Nothing inside the navigation gives way: a flex column whose items may
   shrink hides the overflow it should be scrolling instead. */
.side-nav[b-jq5ni9blvz]  > * {
    flex: none;
}

.side-nav[b-jq5ni9blvz]  a {
    align-items: center;
    border-radius: var(--radius-md);
    color: var(--navy-200);
    display: flex;
    font-size: var(--text-sm);
    font-weight: var(--fw-medium);
    gap: 11px;
    padding: 10px 12px;
    text-decoration: none;
    transition: background-color var(--duration-fast) var(--ease-standard),
        color var(--duration-fast) var(--ease-standard);
}

.side-nav[b-jq5ni9blvz]  a:hover {
    background: rgb(255 255 255 / 6%);
    color: var(--text-on-dark);
    text-decoration: none;
}

/* The work queue's number, on its entry: amber, because a queue is work to
   do and not a fault. */
.side-nav[b-jq5ni9blvz]  .side-nav-count {
    background: var(--amber-500);
    border-radius: var(--radius-pill);
    color: var(--navy-900);
    flex: none;
    font-family: var(--font-mono);
    font-size: var(--text-2xs);
    font-variant-numeric: tabular-nums;
    font-weight: var(--fw-semibold);
    line-height: 20px;
    margin-left: auto;
    min-width: 20px;
    padding: 0 6px;
    text-align: center;
}

.side-nav[b-jq5ni9blvz]  a.active {
    background: rgb(255 202 97 / 14%);
    color: var(--amber-500);
    font-weight: var(--fw-semibold);
}

.side-nav[b-jq5ni9blvz]  .icon {
    flex: none;
}

/* ==== A group: the head reads like any entry, the entries below it sit
   indented on a rail. Two shapes - "Einladungen" keeps its own page and
   wears the chevron beside the link, "Verwaltung" has no page and is the
   chevron alone. ======================================================== */

.side-nav[b-jq5ni9blvz]  .side-nav-group {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.side-nav[b-jq5ni9blvz]  .side-nav-head {
    align-items: center;
    display: flex;
    gap: 2px;
}

.side-nav[b-jq5ni9blvz]  .side-nav-head > a {
    flex: 1;
    min-width: 0;
}

/* Both chevrons are buttons wearing the clothes of an entry - a group that
   opens is a state change, which no link a reader is handed may be. */
.side-nav[b-jq5ni9blvz]  .side-nav-toggle,
.side-nav[b-jq5ni9blvz]  .side-nav-chevron {
    align-items: center;
    background: none;
    border: 0;
    border-radius: var(--radius-md);
    color: var(--navy-200);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: var(--text-sm);
    font-weight: var(--fw-medium);
    gap: 11px;
    padding: 10px 12px;
    text-align: left;
    transition: background-color var(--duration-fast) var(--ease-standard),
        color var(--duration-fast) var(--ease-standard);
}

.side-nav[b-jq5ni9blvz]  .side-nav-toggle {
    width: 100%;
}

.side-nav[b-jq5ni9blvz]  .side-nav-chevron {
    color: var(--navy-400);
    flex: none;
    padding: 10px 8px;
}

.side-nav[b-jq5ni9blvz]  .side-nav-toggle:hover,
.side-nav[b-jq5ni9blvz]  .side-nav-chevron:hover {
    background: rgb(255 255 255 / 6%);
    color: var(--text-on-dark);
}

.side-nav[b-jq5ni9blvz]  .side-nav-toggle:focus-visible,
.side-nav[b-jq5ni9blvz]  .side-nav-chevron:focus-visible {
    outline: 2px solid var(--border-focus);
    outline-offset: 2px;
}

/* The chevron sits at the right of its row and turns as the group opens. */
.side-nav[b-jq5ni9blvz]  .side-nav-toggle .icon:last-child {
    margin-left: auto;
}

.side-nav[b-jq5ni9blvz]  .side-nav-toggle .icon:last-child,
.side-nav[b-jq5ni9blvz]  .side-nav-chevron .icon {
    transition: transform var(--duration-fast) var(--ease-standard);
}

.side-nav[b-jq5ni9blvz]  .side-nav-group.open .side-nav-toggle .icon:last-child,
.side-nav[b-jq5ni9blvz]  .side-nav-group.open .side-nav-chevron .icon {
    transform: rotate(180deg);
}

/* The entries below hang on a rail under the head's glyph; they carry no
   glyph of their own - the indent says what they are. */
.side-nav[b-jq5ni9blvz]  .side-nav-children {
    border-left: 1px solid var(--border-on-dark);
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 2px 0 var(--space-1) 21px;
    padding-left: 8px;
}

.side-nav[b-jq5ni9blvz]  a.side-nav-child {
    color: var(--navy-300);
    font-size: var(--text-xs);
    padding: 8px 12px;
}

.side-nav[b-jq5ni9blvz]  a.side-nav-child.active {
    color: var(--amber-500);
}

/* The reader: avatar, name, tenant, and the menu that opens upward. */
.sidebar-foot[b-jq5ni9blvz] {
    border-top: 1px solid var(--border-on-dark);
    display: flex;
    flex: none;
    flex-direction: column;
    gap: var(--space-1);
    padding: 10px 12px 14px 12px;
    position: relative;
}

.user-menu[b-jq5ni9blvz] {
    position: relative;
}

.user-summary[b-jq5ni9blvz] {
    align-items: center;
    border-radius: var(--radius-md);
    cursor: pointer;
    display: flex;
    gap: 10px;
    list-style: none;
    padding: 8px;
    user-select: none;
}

.user-summary[b-jq5ni9blvz]::-webkit-details-marker {
    display: none;
}

.user-summary:hover[b-jq5ni9blvz] {
    background: rgb(255 255 255 / 4%);
}

.user-summary:focus-visible[b-jq5ni9blvz] {
    outline: 2px solid var(--border-focus);
    outline-offset: 2px;
}

.user-summary[b-jq5ni9blvz]  .icon {
    color: var(--navy-400);
    margin-left: auto;
    transition: transform var(--duration-fast) var(--ease-standard);
}

.user-menu[open] > .user-summary[b-jq5ni9blvz]  .icon {
    transform: rotate(180deg);
}

.avatar[b-jq5ni9blvz] {
    align-items: center;
    background: var(--navy-600);
    border-radius: var(--radius-pill);
    color: var(--text-on-dark);
    display: flex;
    flex: none;
    font-size: var(--text-xs);
    font-weight: var(--fw-semibold);
    height: 30px;
    justify-content: center;
    width: 30px;
}

.user-text[b-jq5ni9blvz] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.user-name[b-jq5ni9blvz] {
    color: var(--text-on-dark);
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-sub[b-jq5ni9blvz] {
    color: var(--navy-400);
    font-size: var(--text-2xs);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-menu-items[b-jq5ni9blvz] {
    background: var(--navy-800);
    border: 1px solid var(--navy-700);
    border-radius: var(--radius-md);
    bottom: calc(100% + 6px);
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    gap: 1px;
    left: 0;
    padding: var(--space-1);
    position: absolute;
    right: 0;
    z-index: 20;
}

/* .user-menu-item lives in app.css: some entries are NavLinks, and a child
   component's anchor never carries this layout's scope attribute. */

.logout-form[b-jq5ni9blvz] {
    margin: 0;
}

/* A button that reads like the quiet link it replaced. */
.logout[b-jq5ni9blvz] {
    background: none;
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--navy-300);
    cursor: pointer;
    font: inherit;
    font-size: var(--text-xs);
    font-weight: var(--fw-medium);
    padding: 6px 8px;
    text-align: left;
    width: 100%;
}

.logout:hover[b-jq5ni9blvz] {
    color: var(--text-on-dark);
    text-decoration: underline;
}

/* ==== Workspace: top bar with the search, the page beneath ============== */

.workspace[b-jq5ni9blvz] {
    background: var(--surface-canvas);
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

/* Share the page's width and gutters. Each tool has its own grid track;
   long headings and search text can shrink without pushing the bell out. */
.topbar[b-jq5ni9blvz] {
    background: var(--surface-card);
    border-bottom: 1px solid var(--border-subtle);
}

.topbar-inner[b-jq5ni9blvz] {
    align-items: center;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 34rem);
    gap: var(--space-5);
    max-width: var(--content-max-width);
    min-height: var(--topbar-height);
    padding: var(--space-3) var(--space-8);
    width: 100%;
}

/* "Zur mobilen Ansicht" takes some 50 px more than the role's name did. Where
   the window has the room, the tools get it, so the search keeps the width its
   placeholder needs. */
@media (min-width: 80rem) {
    .topbar-inner[b-jq5ni9blvz] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 38rem);
    }
}

.topbar-heading[b-jq5ni9blvz] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.topbar-tools[b-jq5ni9blvz] {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    gap: var(--space-3);
    min-width: 0;
}

.topbar-tools[b-jq5ni9blvz]  .global-search {
    flex: 1 1 0;
    min-width: 0;
}

.topbar-tools[b-jq5ni9blvz]  .topbar-bell {
    flex: 0 0 44px;
}

.content[b-jq5ni9blvz] {
    box-sizing: border-box;
    flex: 1;
    max-width: var(--content-max-width);
    padding: var(--space-6) var(--space-8) var(--space-10);
    width: 100%;
}

/* ==== Narrow windows: a rail of glyphs, then a drawer ======================
   Up to 1024 px the sidebar keeps only its glyphs, 72 px wide; below 641 px
   it leaves the page and waits off-screen. In both the menu button in the
   top bar lays the whole navigation over the page, with the page dimmed
   under it. A wide window shows none of this. */

.brand-mark[b-jq5ni9blvz],
.menu-toggle[b-jq5ni9blvz],
.drawer-scrim[b-jq5ni9blvz],
.logout[b-jq5ni9blvz]  .icon,
.side-nav[b-jq5ni9blvz]  .side-nav-rail {
    display: none;
}

.menu-toggle[b-jq5ni9blvz] {
    align-items: center;
    background: none;
    border: 0;
    border-radius: var(--radius-md);
    color: var(--gray-600);
    cursor: pointer;
    flex: none;
    justify-content: center;
    margin: -6px 0 -6px -6px;
    padding: 6px;
}

.menu-toggle:hover[b-jq5ni9blvz] {
    background: var(--gray-100);
    color: var(--text-strong);
}

.menu-toggle:focus-visible[b-jq5ni9blvz] {
    outline: 2px solid var(--border-focus);
    outline-offset: 2px;
}

.drawer-scrim[b-jq5ni9blvz] {
    background: rgb(18 22 31 / 50%);
    inset: 0;
    position: fixed;
    z-index: calc(var(--z-modal) - 1);
}

@media (max-width: 1024px) {
    .content[b-jq5ni9blvz] {
        padding: var(--space-5) var(--space-5) var(--space-8);
    }

    .sidebar[b-jq5ni9blvz] {
        bottom: 0;
        height: auto;
        left: 0;
        position: fixed;
        top: 0;
        z-index: calc(var(--z-sticky) + 1);
    }

    .sidebar.open[b-jq5ni9blvz] {
        box-shadow: var(--shadow-lg);
        width: var(--sidebar-width);
        z-index: var(--z-modal);
    }

    .menu-toggle[b-jq5ni9blvz],
    .drawer-scrim[b-jq5ni9blvz] {
        display: flex;
    }

    /* The menu button, then the heading, then the tools at the far right. */
    .topbar-inner[b-jq5ni9blvz] {
        grid-template-columns: 32px minmax(0, 1fr) minmax(0, 28rem);
        gap: var(--space-3);
    }
}

/* ==== Folding the navigation away =======================================
   The design's own button (17.09.2026): above the reader at the foot, a
   double chevron and the word for what it does. Both words are in the page
   and the state picks one, so a reload needs no round trip to label it. */

.collapse-toggle[b-jq5ni9blvz] {
    align-items: center;
    background: none;
    border: 0;
    border-radius: var(--radius-md);
    color: var(--text-on-dark-muted);
    cursor: pointer;
    display: flex;
    flex: none;
    font: 500 var(--text-xs) / 1 var(--font-sans);
    gap: 11px;
    margin: 2px 12px 6px;
    padding: 10px 12px;
    text-align: left;
}

.collapse-toggle:hover[b-jq5ni9blvz] {
    background: rgb(255 255 255 / 6%);
    color: #fff;
}

.collapse-toggle:focus-visible[b-jq5ni9blvz] {
    outline: 2px solid var(--border-focus);
    outline-offset: 2px;
}

.collapse-toggle[b-jq5ni9blvz]  .icon {
    flex: none;
    transition: transform var(--duration-base) var(--ease-standard);
}

/* Only one of the two words ever stands; which one is the document's answer. */
.collapse-label-out[b-jq5ni9blvz],
:root[data-sidebar="narrow"] .collapse-label-in[b-jq5ni9blvz] {
    display: none;
}

:root[data-sidebar="narrow"] .collapse-label-out[b-jq5ni9blvz] {
    display: inline;
}

/* Below 641 px the navigation is a sheet over the page - there is nothing
   to fold, and the button would promise something it cannot do. */
@media (max-width: 640px) {
    .content[b-jq5ni9blvz] {
        padding: var(--space-4) var(--space-4) var(--space-6);
    }

    .collapse-toggle[b-jq5ni9blvz] {
        display: none;
    }
}

/* The rail: glyphs only. Every label stays in the page for a screen reader,
   clipped rather than removed; a group without a page of its own opens the
   whole navigation from its glyph, because the rail has no room for what is
   under it.

   Which state the shell is in is one answer on the document, not two rules
   that could disagree: js/sidebar.js writes data-sidebar, from the reader's
   own choice on a wide window and forced on a narrow one. The rules below
   read it and are the same either way - a rail somebody asked for and a
   rail the window imposed look alike, because they are the same thing. */
@media (min-width: 641px) and (max-width: 1024px) {
    .workspace[b-jq5ni9blvz] {
        margin-left: 72px;
    }
}

@media (min-width: 641px) {
    :root[data-sidebar="narrow"] .sidebar:not(.open)[b-jq5ni9blvz] {
        overflow: visible;
        width: 72px;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .brand[b-jq5ni9blvz] {
        padding: 16px 0;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .brand-logo[b-jq5ni9blvz],
    :root[data-sidebar="narrow"] .sidebar:not(.open) .site-label[b-jq5ni9blvz],
    :root[data-sidebar="narrow"] .sidebar:not(.open) .tenant-block[b-jq5ni9blvz],
    :root[data-sidebar="narrow"] .sidebar:not(.open) .site-tenant[b-jq5ni9blvz] {
        display: none;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .brand-mark[b-jq5ni9blvz] {
        display: block;
        height: 26px;
        margin: 0 auto;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .site-switch[b-jq5ni9blvz] {
        padding: 0 8px 4px;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .site-pick[b-jq5ni9blvz] {
        justify-content: center;
        padding: 11px 0;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .side-nav[b-jq5ni9blvz] {
        padding: var(--space-3) 8px;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .side-nav[b-jq5ni9blvz]  a {
        justify-content: center;
        padding: 12px 0;
        position: relative;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .site-pick-label[b-jq5ni9blvz],
    :root[data-sidebar="narrow"] .sidebar:not(.open) .logout-label[b-jq5ni9blvz],
    :root[data-sidebar="narrow"] .sidebar:not(.open) .side-nav[b-jq5ni9blvz]  .side-nav-label {
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .side-nav[b-jq5ni9blvz]  .side-nav-count {
        line-height: 18px;
        min-width: 18px;
        padding: 0 5px;
        position: absolute;
        right: 4px;
        top: 3px;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .side-nav[b-jq5ni9blvz]  .side-nav-chevron,
    :root[data-sidebar="narrow"] .sidebar:not(.open) .side-nav[b-jq5ni9blvz]  .side-nav-toggle,
    :root[data-sidebar="narrow"] .sidebar:not(.open) .side-nav[b-jq5ni9blvz]  .side-nav-children {
        display: none;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .side-nav[b-jq5ni9blvz]  .side-nav-rail {
        align-items: center;
        background: none;
        border: 0;
        border-radius: var(--radius-md);
        color: var(--navy-200);
        cursor: pointer;
        display: flex;
        justify-content: center;
        padding: 12px 0;
        width: 100%;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .side-nav[b-jq5ni9blvz]  .side-nav-rail:hover {
        background: rgb(255 255 255 / 6%);
        color: var(--text-on-dark);
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .side-nav[b-jq5ni9blvz]  .side-nav-rail:focus-visible {
        outline: 2px solid var(--border-focus);
        outline-offset: 2px;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .sidebar-foot[b-jq5ni9blvz] {
        padding: 10px 8px 14px 8px;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .user-summary[b-jq5ni9blvz] {
        justify-content: center;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .user-text[b-jq5ni9blvz],
    :root[data-sidebar="narrow"] .sidebar:not(.open) .user-summary[b-jq5ni9blvz]  .icon {
        display: none;
    }

    /* The menu opens beside the rail, where there is room for its words. */
    :root[data-sidebar="narrow"] .sidebar:not(.open) .user-menu-items[b-jq5ni9blvz] {
        bottom: 0;
        left: calc(100% + 8px);
        right: auto;
        width: 200px;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .logout[b-jq5ni9blvz] {
        display: flex;
        justify-content: center;
        padding: 8px 0;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .logout[b-jq5ni9blvz]  .icon {
        display: block;
    }

    /* On the rail the button is its glyph: no room for a word, and the
       chevron turns to point the way back out. */
    :root[data-sidebar="narrow"] .sidebar:not(.open) .collapse-toggle[b-jq5ni9blvz] {
        justify-content: center;
        margin: 2px 8px 6px;
        padding: 10px 0;
    }

    /* Clipped, not removed: the word is the button's name, and a button
       without one is a glyph nobody can ask about. */
    :root[data-sidebar="narrow"] .sidebar:not(.open) .collapse-label-out[b-jq5ni9blvz] {
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px;
    }

    :root[data-sidebar="narrow"] .sidebar:not(.open) .collapse-toggle[b-jq5ni9blvz]  .icon {
        transform: rotate(180deg);
    }
}

/* The drawer: off the page until asked for, and out of the reading and tab
   order while it is - hidden, not merely moved. */
@media (max-width: 640px) {
    .sidebar[b-jq5ni9blvz] {
        transform: translateX(-100%);
        transition: transform var(--duration-base) var(--ease-standard), visibility 0s linear var(--duration-base);
        visibility: hidden;
        width: 240px;
        z-index: var(--z-modal);
    }

    .sidebar.open[b-jq5ni9blvz] {
        transform: none;
        transition: transform var(--duration-base) var(--ease-standard);
        visibility: visible;
        width: 240px;
    }
}

@media (max-width: 900px) {
    .topbar-inner[b-jq5ni9blvz] {
        grid-template-columns: 32px minmax(0, 1fr);
        row-gap: var(--space-3);
    }

    .topbar-tools[b-jq5ni9blvz] {
        grid-column: 1 / -1;
    }
}

@media (max-width: 48rem) {
    .topbar-inner[b-jq5ni9blvz] {
        padding: var(--space-3) var(--space-4);
    }
}

/* The NU has no global search. Its phone header needs only one row, leaving
   room for the work below it and keeping the company visible on profiles. */
@media (max-width: 640px) {
    .contractor-shell .topbar-inner[b-jq5ni9blvz] {
        grid-template-columns: 44px minmax(0, 1fr) auto;
        gap: var(--space-2);
        padding: 12px 12px;
        min-height: 76px;
    }
    .contractor-shell .topbar-tools[b-jq5ni9blvz] { grid-column: auto; gap: 4px; }
    .contractor-shell .menu-toggle[b-jq5ni9blvz] { margin: 0; min-height: 44px; width: 44px; }
    .contractor-shell .content[b-jq5ni9blvz] { padding: var(--space-5) var(--space-4); }
    .contractor-shell .channel-switch[b-jq5ni9blvz] { box-sizing: border-box; min-width: 44px; min-height: 44px; justify-content: center; padding: 0; }
    .contractor-shell .channel-switch span[b-jq5ni9blvz] { display: none; }
}

/* The reader's own profile photo in place of the initials, cut to the circle. */
.avatar-photo[b-jq5ni9blvz] {
    object-fit: cover;
}

/* G3 has its own quieter canvas and slightly narrower profile gutters. */
.workspace:has(> .content > [data-company-profile])[b-jq5ni9blvz] {
    background: var(--navy-50);
}

.content:has(> [data-company-profile])[b-jq5ni9blvz] {
    margin-inline: auto;
    background: var(--navy-50);
    max-width: 1280px;
    padding: 22px 26px 44px;
}

@media (max-width: 640px) {
    .content:has(> [data-company-profile])[b-jq5ni9blvz] {
        padding: 16px 16px 28px;
    }
}
/* /Components/Layout/PublicLayout.razor.rz.scp.css */
.public-shell[b-nbxmfjje6w] {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    min-height: 100vh;
    justify-content: center;
    padding: var(--space-8) var(--space-4);
}

.public-brand[b-nbxmfjje6w] {
    color: var(--text-strong);
    font-size: var(--text-lg);
    font-weight: var(--fw-bold);
    letter-spacing: var(--tracking-snug);
    margin: 0;
}

.public-brand span[b-nbxmfjje6w] {
    color: var(--amber-600);
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-z2fg1qdgs6],
.components-reconnect-repeated-attempt-visible[b-z2fg1qdgs6],
.components-reconnect-failed-visible[b-z2fg1qdgs6],
.components-pause-visible[b-z2fg1qdgs6],
.components-resume-failed-visible[b-z2fg1qdgs6],
.components-rejoining-animation[b-z2fg1qdgs6] {
    display: none;
}

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


#components-reconnect-modal[b-z2fg1qdgs6] {
    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-z2fg1qdgs6 0.5s both;
    &[open] {
        animation: components-reconnect-modal-slideUp-b-z2fg1qdgs6 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-z2fg1qdgs6 0.5s ease-in-out 0.3s;
        animation-fill-mode: both;
    }
}

#components-reconnect-modal[b-z2fg1qdgs6]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-z2fg1qdgs6 0.5s ease-in-out;
    opacity: 1;
}

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

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

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

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 0;
    }
}

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

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

#components-reconnect-modal button[b-z2fg1qdgs6] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-z2fg1qdgs6] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-z2fg1qdgs6] {
        background-color: #6b9ed2;
    }

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

    .components-rejoining-animation div[b-z2fg1qdgs6] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-z2fg1qdgs6 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

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

@keyframes components-rejoining-animation-b-z2fg1qdgs6 {
    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/AcceptInvitation.razor.rz.scp.css */
/* The page's one card, as the signed-in application draws a panel: white on
   the canvas, the subtle edge and the small shadow, no coloured rim. It is
   as wide as the application's dialogs, the other place a form stands. */
.accept-card[b-q26j5pnqbz] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 35rem;
    padding: var(--space-6);
    width: 100%;
}

/* The page's title in the size and weight of the top bar's. */
.accept-card h1[b-q26j5pnqbz] {
    font-size: var(--text-xl);
    font-weight: var(--fw-semibold);
    margin-bottom: var(--space-3);
    overflow-wrap: anywhere;
}

/* The card's padding is its only bottom edge, whatever state ends it. */
.accept-card > :last-child[b-q26j5pnqbz] {
    margin-bottom: 0;
}

.accept-card[b-q26j5pnqbz]  label {
    display: block;
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    color: var(--text-strong);
    margin-bottom: var(--space-4);
}

.accept-card[b-q26j5pnqbz]  input,
.accept-card[b-q26j5pnqbz]  select {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-top: var(--space-1);
    padding: 9px 10px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    background: var(--surface-card);
}

.accept-card[b-q26j5pnqbz]  input:disabled {
    background: var(--surface-sunken);
    color: var(--text-muted);
}

.accept-card[b-q26j5pnqbz]  input:focus,
.accept-card[b-q26j5pnqbz]  select:focus {
    outline: none;
    border-color: var(--amber-500);
    box-shadow: 0 0 0 3px var(--ring);
}

/* On a phone the fields take 16px text, below which iOS Safari zooms in on
   focus and stays zoomed after the submit, and every field and button is a
   44px touch target - the contractor shell's rule, for the page outside it. */
@media (max-width: 40rem) {
    .accept-card[b-q26j5pnqbz] {
        padding: var(--space-4);
    }

    .accept-card[b-q26j5pnqbz]  input,
    .accept-card[b-q26j5pnqbz]  select {
        font-size: 16px;
        min-height: 44px;
    }

    .accept-card[b-q26j5pnqbz]  .btn-primary {
        align-items: center;
        box-sizing: border-box;
        display: inline-flex;
        justify-content: center;
        min-height: 44px;
    }
}
/* /Components/Pages/AuditLog.razor.rz.scp.css */
.intro[b-qzcgk7rumd] {
    max-width: 48rem;
    color: var(--text-muted);
    margin: 0 0 1.25rem;
}

/* The four filters in one row that wraps on a narrow window; the labels line up
   at the top as U10 sets them, so a date field's error line pushes nothing. */
.audit-filters[b-qzcgk7rumd] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.audit-filter[b-qzcgk7rumd] {
    display: grid;
    gap: 0.4rem;
}

.audit-filter-person[b-qzcgk7rumd] {
    min-width: 16rem;
}

/* The filters' labels as the design sets them: small capitals over the field. */
.field-label[b-qzcgk7rumd] {
    color: var(--text-subtle);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.audit-when[b-qzcgk7rumd] {
    color: var(--text-muted);
    white-space: nowrap;
}

.audit-kind[b-qzcgk7rumd] {
    background: var(--info-100);
    border-radius: var(--radius-pill);
    color: var(--info-text);
    font-size: 11.5px;
    font-weight: var(--fw-semibold);
    padding: 3px 10px;
    white-space: nowrap;
}

.audit-text[b-qzcgk7rumd] {
    max-width: 26rem;
    white-space: normal;
}

/* A correction sits under the event it corrects; the event line above stays as recorded. */
.audit-correction[b-qzcgk7rumd] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.4rem;
    margin-top: 0.4rem;
}

/* /Components/Pages/Carriers.razor.rz.scp.css */
.carrier-tools[b-fd4ife8zjx] { display:flex; flex-wrap:wrap; align-items:end; gap:16px; margin:0 0 var(--space-4); }
.carrier-selection .carrier-tools[b-fd4ife8zjx] { margin-top:var(--space-4); }
.carrier-tools label[b-fd4ife8zjx],.carrier-mail-form label[b-fd4ife8zjx],.carrier-issue label[b-fd4ife8zjx] { display:grid; gap:6px; min-width:180px; font-size:var(--text-xs); font-weight:var(--fw-semibold); letter-spacing:0.08em; text-transform:uppercase; color:var(--text-muted); }
.carrier-issue[b-fd4ife8zjx] { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:12px 0; }
.carrier-select-cell[b-fd4ife8zjx] { width:1%; white-space:nowrap; }
.carrier-actions-cell[b-fd4ife8zjx] { text-align:right; white-space:nowrap; }
.carrier-actions-cell a + a[b-fd4ife8zjx] { margin-left:6px; }
td .cell-sub[b-fd4ife8zjx] { display:block; margin-top:4px; }
.carrier-selection[b-fd4ife8zjx] { padding:24px; margin:24px 0; border:1px solid var(--border-subtle); border-radius:var(--radius-lg); background:var(--surface-card); box-shadow:var(--shadow-sm); }
.carrier-selection h2[b-fd4ife8zjx] { margin:0; font-size:15px; font-weight:var(--fw-semibold); }
.carrier-selection p[b-fd4ife8zjx] { line-height:1.5; margin:12px 0; }
.carrier-selection button[b-fd4ife8zjx],.carrier-selection a.btn-secondary[b-fd4ife8zjx] { margin:4px; }
.carrier-mail-form[b-fd4ife8zjx] { margin-top:24px; max-width:640px; }
input[type=email][b-fd4ife8zjx], input[type=number][b-fd4ife8zjx], select[b-fd4ife8zjx] { padding:10px; border:1px solid #cbd2d8; border-radius:6px; font:inherit; }
summary[b-fd4ife8zjx] { cursor:pointer; font-weight:600; }

.carrier-person-card[b-fd4ife8zjx] { padding:18px; background:var(--surface, white); border:1px solid var(--border, #dde1e5); border-radius:10px; margin:10px 0; }
.carrier-person-card label[b-fd4ife8zjx] { display:flex; gap:10px; font-weight:600; }
.carrier-person-card p[b-fd4ife8zjx] { margin:10px 0; }
@media (max-width:640px) { .carrier-selection[b-fd4ife8zjx] { padding:18px; } .carrier-tools label[b-fd4ife8zjx] { min-width:0; width:100%; } .carrier-tools input[b-fd4ife8zjx],.carrier-mail-form input[b-fd4ife8zjx] { min-width:0; width:100%; box-sizing:border-box; } }
/* /Components/Pages/Changelog.razor.rz.scp.css */
.changelog[b-xy8moxq0wm] {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    list-style: none;
    margin: 0;
    padding: 0;
}

/* The date carries the group; a rule under it separates one day from the
   next without a box around either. */
.changelog-date[b-xy8moxq0wm] {
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-muted);
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    margin: 0 0 var(--space-3);
    padding-bottom: var(--space-2);
}

.changelog-entry[b-xy8moxq0wm] {
    display: flex;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.changelog-entry:last-child[b-xy8moxq0wm] {
    margin-bottom: 0;
}

.changelog-version[b-xy8moxq0wm] {
    color: var(--text-muted);
    flex: 0 0 auto;
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    min-width: 3.5rem;
    padding-top: 0.1rem;
}

.changelog-groups[b-xy8moxq0wm] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
}

/* The badge on the left names the kind; the lines of that kind sit beside it. */
.changelog-group[b-xy8moxq0wm] {
    align-items: start;
    display: grid;
    gap: var(--space-4);
    grid-template-columns: 8.5rem minmax(0, 1fr);
}

.changelog-group .badge[b-xy8moxq0wm] {
    justify-self: start;
    margin-top: 0.1rem;
    white-space: nowrap;
}

.changelog-changes[b-xy8moxq0wm] {
    color: var(--text-strong);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin: 0;
    padding-left: var(--space-5);
}

@media (max-width: 48rem) {
    .changelog-entry[b-xy8moxq0wm] {
        flex-direction: column;
        gap: var(--space-2);
    }

    .changelog-group[b-xy8moxq0wm] {
        gap: var(--space-2);
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Companies.razor.rz.scp.css */
/* P2 puts the project action above the readiness filters at every width. */
.project-company-list > .hero-actions[b-y2y3w9x6wh] {
    justify-content: flex-end;
    margin-bottom: 16px;
}
/* /Components/Pages/ContractorHome.razor.rz.scp.css */
/* "Übersicht" of a contractor, drawn after the design's N1: the onboarding
   hint, the projects as cards in two columns, then "Dringend" and "Anträge"
   as cards with their number beside the title. */
.home[b-lzlx33cuh0] {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.home-card-title[b-lzlx33cuh0] {
    color: var(--text-strong);
    font-size: 15px;
    font-weight: var(--fw-semibold);
    letter-spacing: normal;
    margin: 0;
    text-transform: none;
}

.home-count[b-lzlx33cuh0] {
    color: var(--text-muted);
    font-size: 12.5px;
    font-weight: 500;
    margin-left: 6px;
}

.home-more[b-lzlx33cuh0] {
    font-size: 13px;
    font-weight: var(--fw-semibold);
}

/* The onboarding hint: a card with the progress and the way on. */
.home-onboarding[b-lzlx33cuh0] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    justify-content: space-between;
    padding: 16px 20px;
}

.home-onboarding-text[b-lzlx33cuh0] {
    flex: 1 1 14rem;
    min-width: 0;
}

.home-onboarding .home-bar[b-lzlx33cuh0] {
    margin-top: 10px;
    max-width: 420px;
}

/* A bar under a figure: the track, and the share in the colour of the figure. */
.home-bar[b-lzlx33cuh0] {
    background: var(--gray-100);
    border-radius: 999px;
    height: 6px;
    overflow: hidden;
}

.home-bar > span[b-lzlx33cuh0] {
    border-radius: 999px;
    display: block;
    height: 100%;
}

.home-bar-amber > span[b-lzlx33cuh0] {
    background: var(--amber-500);
}

.home-bar-ok > span[b-lzlx33cuh0] {
    background: var(--success-500);
}

.home-bar-short > span[b-lzlx33cuh0] {
    background: var(--danger-500);
}

.home-bar-none > span[b-lzlx33cuh0] {
    background: transparent;
}

/* Projects: the heading with its number and the way to the list, then the cards. */
.home-head[b-lzlx33cuh0] {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin: 0 0 12px;
}

.home-head-title[b-lzlx33cuh0] {
    align-items: baseline;
    display: flex;
    gap: 6px;
}

.home-head-title .home-count[b-lzlx33cuh0] {
    margin-left: 0;
}

.home-empty .empty-note[b-lzlx33cuh0] {
    margin: 0;
    text-align: center;
}

.home-projects[b-lzlx33cuh0] {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-project[b-lzlx33cuh0] {
    background: var(--surface-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    padding: 18px 20px;
    position: relative;
}

.home-project:hover[b-lzlx33cuh0] {
    border-color: var(--border-strong);
    box-shadow: var(--shadow-md);
}

.home-project:has(.home-project-link:focus-visible)[b-lzlx33cuh0] {
    outline: 2px solid var(--border-focus);
    outline-offset: 2px;
}

.home-project-head[b-lzlx33cuh0] {
    align-items: flex-start;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.home-project-name[b-lzlx33cuh0] {
    align-items: center;
    color: var(--text-strong);
    display: flex;
    flex-wrap: wrap;
    font-size: 16px;
    font-weight: var(--fw-semibold);
    gap: 8px;
    margin: 0;
}

.home-project-name .new-marker[b-lzlx33cuh0] {
    margin-left: 0;
}

/* The whole card is the link: the name's anchor stretches over it, and what else
   is clickable on the card - the warning's and the people's links - stands above. */
.home-project-link[b-lzlx33cuh0] {
    color: inherit;
    text-decoration: none;
}

.home-project-link[b-lzlx33cuh0]::after {
    border-radius: var(--radius-lg);
    content: "";
    inset: 0;
    position: absolute;
}

.home-project-link:hover[b-lzlx33cuh0] {
    text-decoration: none;
}

.home-project-arrow[b-lzlx33cuh0] {
    color: var(--text-link);
    font-size: 16px;
    line-height: 1.4;
}

.home-project-where[b-lzlx33cuh0] {
    color: var(--text-muted);
    font-size: 13px;
    margin: -6px 0 0;
}

.home-soon[b-lzlx33cuh0] {
    color: var(--warning-text);
    font-weight: var(--fw-semibold);
}

.home-ready[b-lzlx33cuh0] {
    align-items: baseline;
    display: flex;
    font-size: 13px;
    gap: 10px;
    justify-content: space-between;
    margin: 0 0 6px;
}

.home-ready-count[b-lzlx33cuh0] {
    font-family: var(--font-mono);
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    font-weight: var(--fw-semibold);
    white-space: nowrap;
}

.home-tone-ok[b-lzlx33cuh0] {
    color: var(--success-text);
}

.home-tone-short[b-lzlx33cuh0] {
    color: var(--danger-text);
}

.home-tone-none[b-lzlx33cuh0] {
    color: var(--text-subtle);
    font-family: var(--font-sans);
    font-weight: 500;
}

/* The warning is a band inside the card, red while the project runs or is about to start, orange before. */
.home-warning[b-lzlx33cuh0] {
    align-items: flex-start;
    border: 1px solid;
    border-radius: var(--radius-md);
    display: flex;
    font-size: 13px;
    gap: 10px;
    line-height: 1.45;
    margin: 0;
    padding: 10px 12px;
}

.home-warning svg[b-lzlx33cuh0] {
    flex: none;
    margin-top: 1px;
}

.home-warning span[b-lzlx33cuh0] {
    flex: 1;
    min-width: 0;
}

.home-warning-soon[b-lzlx33cuh0] {
    background: var(--warning-100);
    border-color: var(--warning-500);
    color: var(--text-strong);
}

.home-warning-soon svg[b-lzlx33cuh0] {
    color: var(--warning-text);
}

.home-warning-critical[b-lzlx33cuh0] {
    background: var(--danger-100);
    border-color: var(--danger-500);
    color: var(--text-strong);
}

.home-warning-critical svg[b-lzlx33cuh0] {
    color: var(--danger-text);
}

.home-warning a[b-lzlx33cuh0],
.home-unassigned a[b-lzlx33cuh0] {
    font-weight: var(--fw-semibold);
    position: relative;
    z-index: 1;
}

.home-warning a[b-lzlx33cuh0] {
    white-space: nowrap;
}

.home-unassigned[b-lzlx33cuh0] {
    color: var(--text-muted);
    font-size: 12.5px;
    line-height: 1.45;
    margin: 0;
}

/* "Dringend": one line per piece of evidence, the way to it on the right. */
.home-nothing[b-lzlx33cuh0] {
    color: var(--text-strong);
    font-size: 14.5px;
    font-weight: var(--fw-semibold);
    margin: 0;
    padding: 22px 20px;
}

.home-urgent[b-lzlx33cuh0] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.home-urgent-row[b-lzlx33cuh0] {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 12px 20px;
}

.home-urgent-row + .home-urgent-row[b-lzlx33cuh0] {
    border-top: 1px solid var(--border-subtle);
}

.home-urgent-text[b-lzlx33cuh0] {
    flex: 1;
    min-width: 0;
}

.home-urgent-title[b-lzlx33cuh0] {
    align-items: center;
    color: var(--text-strong);
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    gap: 8px;
}

.home-separator[b-lzlx33cuh0] {
    color: var(--text-subtle);
}

.home-urgent-sub[b-lzlx33cuh0] {
    color: var(--text-muted);
    font-size: 12.5px;
    line-height: 1.45;
    margin-top: 3px;
}

.home-urgent-row .btn-secondary[b-lzlx33cuh0] {
    flex: none;
    white-space: nowrap;
}

@media (max-width: 40rem) {
    .home-projects[b-lzlx33cuh0] {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-urgent-row[b-lzlx33cuh0] {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .home-urgent-row .btn-secondary[b-lzlx33cuh0] {
        align-self: flex-end;
    }
}
/* /Components/Pages/ContractorStart.razor.rz.scp.css */
.onboarding-head[b-mxuxaiww1u] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
}

.onboarding-head h2[b-mxuxaiww1u],
.onboarding-head p[b-mxuxaiww1u] {
    margin: 0;
}

.onboarding-head progress[b-mxuxaiww1u] {
    flex: 1 1 12rem;
    max-width: 24rem;
    height: 0.5rem;
    accent-color: var(--accent);
}

.onboarding-steps[b-mxuxaiww1u] {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.onboarding-step[b-mxuxaiww1u] {
    display: grid;
    grid-template-columns: 2.25rem 1fr auto;
    align-items: start;
    gap: 0.75rem 1rem;
}

.onboarding-step-next[b-mxuxaiww1u] {
    border-color: var(--accent);
    box-shadow: 0 0 0 1px var(--accent);
}

.onboarding-step-waiting[b-mxuxaiww1u],
.onboarding-step-blocked[b-mxuxaiww1u] {
    opacity: 0.7;
}

.onboarding-number[b-mxuxaiww1u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: var(--radius-pill);
    border: 1px solid var(--border-default);
    font-weight: 600;
}

.onboarding-step-done .onboarding-number[b-mxuxaiww1u] {
    background: var(--accent);
    color: var(--accent-contrast);
    border-color: var(--accent);
}

.onboarding-body h3[b-mxuxaiww1u] {
    margin: 0 0 0.25rem;
    font-size: 1rem;
}

.onboarding-body p[b-mxuxaiww1u] {
    margin: 0 0 0.5rem;
}

.onboarding-actions[b-mxuxaiww1u] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 640px) {
    .onboarding-step[b-mxuxaiww1u] {
        grid-template-columns: 2.25rem 1fr;
    }

    .onboarding-actions[b-mxuxaiww1u] {
        grid-column: 2;
        justify-content: flex-start;
    }
}
/* /Components/Pages/Disclosures.razor.rz.scp.css */
.intro[b-ow81rgwi5s] {
    max-width: 48rem;
    color: var(--text-muted);
    margin: 0 0 1.25rem;
}

.export-form[b-ow81rgwi5s] {
    display: grid;
    gap: 1.25rem;
    max-width: 40rem;
    padding: 1.25rem;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
}

.field-label[b-ow81rgwi5s] {
    display: block;
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.export-format[b-ow81rgwi5s] {
    border: 0;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.4rem;
}

.export-actions[b-ow81rgwi5s] {
    display: flex;
    justify-content: flex-end;
}

.export-result[b-ow81rgwi5s] {
    max-width: 40rem;
    margin-top: 1.5rem;
    padding: 1.25rem;
    border-left: 4px solid var(--accent);
    background: var(--surface-sunken);
}

.export-result h2[b-ow81rgwi5s] {
    margin: 0 0 0.4rem;
    font-size: 1.1rem;
}

.export-links[b-ow81rgwi5s] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.export-history[b-ow81rgwi5s] {
    margin-top: 2rem;
}

.export-history h2[b-ow81rgwi5s] {
    margin: 0 0 0.75rem;
    font-size: 1.1rem;
}

.export-history .cell-actions[b-ow81rgwi5s] {
    display: flex;
    gap: 0.75rem;
}
/* /Components/Pages/Expiries.razor.rz.scp.css */
/* NF: the firm's evidence and its people's as two sections, each with what is
   missing and what runs out. */
.expiry-section[b-k63rdylypy] {
    margin-top: var(--space-6);
}

.expiry-section > .panel-title[b-k63rdylypy] {
    font-size: 17px;
    margin: 0 0 var(--space-3);
}

.expiry-section > .panel-subtitle[b-k63rdylypy] {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.06em;
    margin: var(--space-4) 0 var(--space-2);
    text-transform: uppercase;
}

/* G12: the principal's sections carry their number beside the title. */
.expiry-section > .panel-title .segment-count[b-k63rdylypy] {
    color: var(--text-muted);
    font-weight: var(--fw-regular);
    margin-left: 6px;
}
/* /Components/Pages/Home.razor.rz.scp.css */
.start[b-ph1pdt4jfo] {
    max-width: 1180px;
}

.start h1[b-ph1pdt4jfo] {
    font-size: var(--text-xl);
    margin: 0 0 var(--space-3) 0;
}

.start p[b-ph1pdt4jfo] {
    color: var(--text-muted);
    margin: 0;
    max-width: 40rem;
}

.start-alarms[b-ph1pdt4jfo] {
    margin-top: var(--space-5);
}

.start-alarms h2[b-ph1pdt4jfo] {
    font-size: var(--text-md);
    margin: 0 0 var(--space-2) 0;
}

.start-alarm-list[b-ph1pdt4jfo] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-2);
}

.start-alarm a[b-ph1pdt4jfo] {
    display: grid;
    gap: var(--space-1);
    padding: var(--space-3);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    color: inherit;
    text-decoration: none;
}

.start-alarm-critical a[b-ph1pdt4jfo] {
    border-color: var(--danger-500);
}

.start-alarm-name[b-ph1pdt4jfo] {
    font-weight: 600;
}

/* The alarm is a grid, which would stretch the chip across the card. */
.start-alarm .countdown[b-ph1pdt4jfo] {
    justify-self: start;
}

.start-alarm-facts[b-ph1pdt4jfo] {
    color: var(--text-muted);
    font-size: var(--text-sm);
}
/* /Components/Pages/Invitations.razor.rz.scp.css */
.segment-danger[b-cwm1sdxq8q] {
    color: var(--danger-text);
}

.segment-danger.segment-active[b-cwm1sdxq8q] {
    background: var(--danger-100);
}

.invitation-row[b-cwm1sdxq8q] {
    cursor: pointer;
}

.invitation-row:hover td[b-cwm1sdxq8q] {
    background: var(--gray-50);
}

.cell-action[b-cwm1sdxq8q] {
    text-align: right;
}


.expiry-warning[b-cwm1sdxq8q] {
    color: var(--warning-text);
    font-size: var(--text-xs);
    font-weight: var(--fw-semibold);
}

.expiry-danger[b-cwm1sdxq8q] {
    color: var(--danger-text);
    font-size: var(--text-xs);
    font-weight: var(--fw-semibold);
}

.history-row td[b-cwm1sdxq8q] {
    background: var(--gray-50);
    padding: var(--space-3) var(--space-6);
}

.contact-choice[b-cwm1sdxq8q] {
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin: 0 0 var(--space-3);
    padding: var(--space-3);
}

.contact-choice legend[b-cwm1sdxq8q] {
    color: var(--text-subtle);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-eyebrow);
    padding: 0 var(--space-1);
    text-transform: uppercase;
}

.contact-option[b-cwm1sdxq8q] {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: var(--space-2);
}

.contact-detail[b-cwm1sdxq8q] {
    padding-left: var(--space-6);
}

.invitation-actions[b-cwm1sdxq8q] {
    gap: var(--space-2);
}

.invitation-recipient[b-cwm1sdxq8q] {
    align-items: flex-start;
    display: flex;
    gap: 10px;
}

.invitation-chevron[b-cwm1sdxq8q] {
    color: var(--text-muted);
    display: inline-block;
    font-size: 16px;
    line-height: 1.2;
    transition: transform 0.15s;
}

.invitation-chevron-open[b-cwm1sdxq8q] {
    transform: rotate(90deg);
}

.invitation-contact[b-cwm1sdxq8q] {
    display: block;
}

.invitation-address[b-cwm1sdxq8q] {
    color: var(--text-muted);
    font-size: 12.5px;
}

.expiry-warning[b-cwm1sdxq8q],
.expiry-danger[b-cwm1sdxq8q] {
    font-family: var(--font-mono);
}
/* /Components/Pages/MinimumWageOverview.razor.rz.scp.css */
.wage-overview[b-inbs51c3pw]{padding:24px;margin-top:24px}.wage-controls[b-inbs51c3pw],.wage-person[b-inbs51c3pw]{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.wage-person[b-inbs51c3pw]{justify-content:space-between;border-top:1px solid var(--border,#e7e9ed);padding:20px 0}.wage-person p[b-inbs51c3pw]{margin:8px 0}.wage-remind[b-inbs51c3pw]{display:grid;gap:8px;max-width:100%}.wage-controls input[b-inbs51c3pw]{padding:10px;border:1px solid #cfd4dc;border-radius:8px;font:inherit;max-width:100%;box-sizing:border-box}.cell-sub[b-inbs51c3pw]{margin-top:20px}
/* /Components/Pages/MyProfile.razor.rz.scp.css */
.my-profile-cards[b-umpl7mtqyb] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0 0 1.25rem;
}

/* The principal's page in two columns - the details beside sign-in, role and
   notifications - and in one below that: the order of the markup is the order
   a narrow window reads them in. */
.my-profile-columns[b-umpl7mtqyb] {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr);
}

.my-profile-column[b-umpl7mtqyb] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

@media (min-width: 70rem) {
    .my-profile-columns[b-umpl7mtqyb] {
        align-items: start;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.my-profile-inline[b-umpl7mtqyb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.my-profile-inline input[b-umpl7mtqyb] {
    min-width: 12rem;
}

/* The head of the own account as a card of its own, the way a person's
   profile opens: round initials beside name and role, the way to the photo. */
.my-profile-head-card[b-umpl7mtqyb] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    margin-bottom: var(--space-5);
    padding: 24px 28px;
}

@media (max-width: 640px) {
    .my-profile-head-card[b-umpl7mtqyb] {
        padding: var(--space-4);
    }
}

.profile-head[b-umpl7mtqyb] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
}

.profile-avatar[b-umpl7mtqyb] {
    align-items: center;
    background: var(--navy-900);
    border-radius: var(--radius-pill);
    color: var(--text-on-dark);
    display: flex;
    flex: none;
    font-size: var(--text-md);
    font-weight: var(--fw-semibold);
    height: 52px;
    justify-content: center;
    width: 52px;
}

.profile-title h1[b-umpl7mtqyb] {
    font-size: var(--text-xl);
    margin: 0;
}

.profile-sub[b-umpl7mtqyb] {
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.profile-actions[b-umpl7mtqyb] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-4);
}

/* The account's own photo stands where the initials stood, cut to the circle. */
.profile-photo[b-umpl7mtqyb] {
    object-fit: cover;
}

/* What the reader is responsible for, one entry to a project or firm. */
.profile-scope-title[b-umpl7mtqyb] {
    color: var(--text-muted);
    font-size: var(--text-sm);
    font-weight: var(--fw-medium);
    margin: var(--space-4) 0 var(--space-2);
}

.profile-scope[b-umpl7mtqyb] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    list-style: none;
    margin: 0;
    padding: 0;
}

.profile-scope li[b-umpl7mtqyb] {
    background: var(--gray-100);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    font-size: var(--text-sm);
    padding: var(--space-1) var(--space-3);
}

.profile-scope small[b-umpl7mtqyb] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.photo-pick[b-umpl7mtqyb] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin: var(--space-3) 0;
}

/* Stands above the page on the same edge as the head card and the cards. */
.login-confirm[b-umpl7mtqyb] {
    margin: 0 0 var(--space-4);
}

/* An address is one long word: it breaks inside the card instead of pushing
   past its edge where the facts stand in two columns. */
[data-login][b-umpl7mtqyb] {
    overflow-wrap: anywhere;
}
/* /Components/Pages/Notifications.razor.rz.scp.css */
/* NG13 / G13: the inbox as a feed in one table - the head stays for a screen
   reader, each row the kind's glyph, the message and when. The row stays a
   table row: a grid would take its cells out of the table's widths. */
.inbox-tools[b-6jgzz3y0t3] {
    justify-content: flex-end;
    margin-bottom: var(--space-2);
}

.inbox-head[b-6jgzz3y0t3] {
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    padding: 0 !important;
    position: absolute;
    width: 1px;
}

.inbox-item[b-6jgzz3y0t3] {
    cursor: pointer;
}

.inbox-item td[b-6jgzz3y0t3] {
    padding-bottom: 14px;
    padding-top: 14px;
    vertical-align: top;
}

.inbox-item-unread td[b-6jgzz3y0t3] {
    background: var(--info-100);
}

.inbox-icon-cell[b-6jgzz3y0t3] {
    width: 52px;
}

.inbox-icon[b-6jgzz3y0t3] {
    align-items: center;
    background: var(--gray-100);
    border-radius: 50%;
    color: var(--gray-600);
    display: flex;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.inbox-icon-warning[b-6jgzz3y0t3] {
    background: var(--warning-100);
    color: var(--warning-text);
}

.inbox-icon-danger[b-6jgzz3y0t3] {
    background: var(--danger-100);
    color: var(--danger-text);
}

.inbox-icon-ok[b-6jgzz3y0t3] {
    background: var(--success-100);
    color: var(--success-text);
}

.inbox-title[b-6jgzz3y0t3] {
    color: var(--text-strong);
    font-weight: var(--fw-medium);
    margin: 0;
}

.inbox-item-unread .inbox-title[b-6jgzz3y0t3] {
    font-weight: var(--fw-semibold);
}

/* The title reads as the text around it; it is a button so the keyboard can reach it. */
.inbox-open[b-6jgzz3y0t3] {
    background: none;
    border: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
    padding: 0;
    text-align: left;
}

.inbox-open:hover[b-6jgzz3y0t3] {
    text-decoration: underline;
}

.inbox-open:focus-visible[b-6jgzz3y0t3] {
    border-radius: var(--radius-sm);
    outline: 2px solid var(--border-focus);
    outline-offset: 2px;
}

.inbox-kind-tag[b-6jgzz3y0t3] {
    background: var(--gray-100);
    border-radius: var(--radius-pill);
    color: var(--gray-600);
    font-size: 10px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.06em;
    margin-left: 8px;
    padding: 2px 8px;
    text-transform: uppercase;
    vertical-align: 1px;
    white-space: nowrap;
}

.inbox-sub[b-6jgzz3y0t3] {
    color: var(--text-body);
    font-size: var(--text-sm);
    margin: 4px 0 0;
}

.inbox-place[b-6jgzz3y0t3] {
    align-items: center;
    color: var(--text-muted);
    display: flex;
    font-size: var(--text-xs);
    gap: 4px;
    margin: 6px 0 0;
}

.inbox-when[b-6jgzz3y0t3] {
    text-align: right;
    white-space: nowrap;
    width: 9rem;
}

.inbox-time[b-6jgzz3y0t3] {
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
}

.inbox-dot[b-6jgzz3y0t3] {
    background: var(--info-500);
    border-radius: 999px;
    display: inline-block;
    height: 8px;
    margin-left: 8px;
    vertical-align: middle;
    width: 8px;
}

@media (max-width: 640px) {
    .inbox-icon-cell[b-6jgzz3y0t3] {
        width: 44px;
    }

    .inbox-when[b-6jgzz3y0t3] {
        width: auto;
    }
}
/* /Components/Pages/PersonalProfile.razor.rz.scp.css */
.personal-facts[b-h640kjrkpd] {
    margin: 0;
}

.personal-fact[b-h640kjrkpd] {
    border-bottom: 1px solid #edf0f5;
    display: grid;
    gap: 2px;
    padding: 10px 0;
}

.personal-fact:last-child[b-h640kjrkpd] {
    border-bottom: none;
}

.personal-fact dt[b-h640kjrkpd] {
    align-items: center;
    color: #778296;
    display: flex;
    font-size: 12px;
    gap: 8px;
    justify-content: space-between;
}


.personal-fact dd[b-h640kjrkpd] {
    color: #1c2330;
    display: flex;
    flex-direction: column;
    font-size: 15px;
    gap: 4px;
    margin: 0;
    overflow-wrap: anywhere;
}

/* The firm's facts as one card (SPEC-A8): rows edge to edge. */
.personal-facts-card[b-h640kjrkpd] {
    margin: 0 0 12px;
    padding: 0;
}

.personal-facts-card .personal-facts[b-h640kjrkpd] {
    padding: 0 15px;
}

.personal-profile-actions .btn-secondary[b-h640kjrkpd],
.personal-profile-actions form[b-h640kjrkpd] {
    width: 100%;
}

.personal-profile-actions form button[b-h640kjrkpd] {
    color: var(--danger-text, #a43041);
    width: 100%;
}
/* /Components/Pages/PersonalSetup.razor.rz.scp.css */
.personal-step[b-87hvj3261e] {
    color: var(--text-subtle, #8a93a5);
    font-family: var(--font-mono, monospace);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .09em;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.personal-setup-logout[b-87hvj3261e],
.personal-setup-later[b-87hvj3261e] {
    margin-top: 12px;
}

/* The voluntary portrait, dashed so it does not read like one more document owed. */
.personal-setup-portrait[b-87hvj3261e] {
    align-items: center;
    border-style: dashed;
    color: inherit;
    display: flex;
    gap: 12px;
    margin-top: 14px;
    padding: 14px;
    text-decoration: none;
}

.personal-setup-portrait > span:nth-child(2)[b-87hvj3261e] {
    flex: 1;
}

.personal-setup-portrait strong[b-87hvj3261e] {
    display: block;
    font-size: 14px;
    font-weight: 600;
}


.personal-setup-portrait-icon[b-87hvj3261e] {
    align-items: center;
    background: #f1f3f7;
    border-radius: 50%;
    color: #8993a4;
    display: flex;
    flex: none;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.personal-setup-back[b-87hvj3261e] {
    display: block;
    font-size: 14px;
    margin-top: 14px;
    text-align: center;
}
/* /Components/Pages/PersonInvitationEntry.razor.rz.scp.css */
.upload-card[b-8ve94t4950] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    border-top: 3px solid var(--accent);
    box-shadow: var(--shadow-sm);
    box-sizing: border-box;
    max-width: 30rem;
    padding: var(--space-6);
    width: 100%;
}
.upload-card h1[b-8ve94t4950] {
    font-size: var(--text-lg);
    margin: 0 0 var(--space-3);
}
.upload-muted[b-8ve94t4950] {
    color: var(--text-muted);
    font-size: var(--text-sm);
    margin: 0 0 var(--space-5);
}
.upload-wide[b-8ve94t4950] {
    min-height: 44px;
    width: 100%;
}

.upload-note[b-8ve94t4950] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    margin: var(--space-4) 0 0;
}
/* /Components/Pages/Persons.razor.rz.scp.css */
/* N3: the contractor's person with the initials beside the name, the firm beneath. */
.person-cell[b-kg6hm720xm] {
    align-items: center;
    display: flex;
    gap: 10px;
}

.person-cell .cell-sub[b-kg6hm720xm] {
    display: block;
}

.person-avatar[b-kg6hm720xm] {
    align-items: center;
    background: var(--gray-100);
    border-radius: 50%;
    color: var(--gray-700);
    display: flex;
    flex: none;
    font-size: 11px;
    font-weight: var(--fw-semibold);
    height: 32px;
    justify-content: center;
    width: 32px;
}

.account-invited[b-kg6hm720xm] {
    color: var(--warning-text);
    margin-right: var(--space-2);
}

/* P3 keeps company and search together, in their reading order. */
.project-persons-list[b-kg6hm720xm]  .segment-filter {
    margin-left: 0;
    min-width: 220px;
    max-width: 100%;
}

.project-persons-list[b-kg6hm720xm]  .search-input {
    flex-basis: 260px;
}

.project-persons-list[b-kg6hm720xm]  .data-table th,
.project-persons-list[b-kg6hm720xm]  .data-table td {
    padding-left: 12px;
    padding-right: 12px;
}

/* The same row and standing on every screen; extra columns scroll inside
   the card on a phone. Name and standing stay first, with working headers. */
.project-persons-list[b-kg6hm720xm]  .person-name-cell,
.project-persons-list[b-kg6hm720xm]  .person-evidence {
    min-width: 160px;
}

@media (max-width: 1080px) {
    .project-persons-list[b-kg6hm720xm]  .person-presence {
        display: none;
    }
}

@media (max-width: 640px) {
    .project-persons-list[b-kg6hm720xm]  .search-input {
        flex-basis: 100%;
    }

    .project-persons-list[b-kg6hm720xm]  .person-row > td {
        white-space: nowrap;
    }

    .project-persons-list[b-kg6hm720xm]  .person-name-lines {
        max-width: 150px;
    }

    .project-persons-list[b-kg6hm720xm]  .person-name-lines > * {
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
/* /Components/Pages/PersonStatus.razor.rz.scp.css */
/* The holder's status page, shaped after A6 · Kontolose Variante: one
   fluid column, 430 px at most, the card carrying who it is and the rows
   underneath. The numbers here are A6's; only the tokens are this
   repository's, and they carry the same names as the design system's. */

.status-page[b-lqwm9s26mt] {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 430px;
    width: 100%;
}

.status-h1[b-lqwm9s26mt] {
    color: var(--text-strong);
    font: 600 19px/1.3 var(--font-sans);
    letter-spacing: -0.01em;
    margin: 0;
}

.status-lead[b-lqwm9s26mt] {
    color: var(--text-muted);
    font: 400 13.5px/1.5 var(--font-sans);
    margin: 9px 0 18px;
}

.status-banner[b-lqwm9s26mt] {
    align-items: flex-start;
    border-radius: 10px;
    display: flex;
    font: 400 12.5px/1.45 var(--font-sans);
    gap: 9px;
    margin-bottom: 16px;
    padding: 11px 12px;
}

.status-banner svg[b-lqwm9s26mt] {
    flex: none;
    margin-top: 1px;
}

.status-banner-ok[b-lqwm9s26mt] {
    background: var(--success-100);
    color: var(--success-text);
}

.status-banner-open[b-lqwm9s26mt] {
    background: var(--warning-100);
    color: var(--warning-text);
}

.status-card[b-lqwm9s26mt] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    box-sizing: border-box;
    padding: 16px;
}

.status-holder[b-lqwm9s26mt] {
    color: var(--text-strong);
    font: 600 16px var(--font-sans);
}

.status-sub[b-lqwm9s26mt] {
    color: var(--text-subtle);
    font: 400 12.5px var(--font-mono);
    margin-top: 3px;
}

.status-row[b-lqwm9s26mt] {
    border-top: 1px solid var(--gray-100);
    display: flex;
    gap: 11px;
    padding: 13px 0;
}

.status-thumb[b-lqwm9s26mt] {
    align-items: center;
    background: var(--gray-100);
    border-radius: 8px;
    color: var(--gray-400);
    display: flex;
    flex: none;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.status-main[b-lqwm9s26mt] {
    flex: 1;
    min-width: 0;
}

.status-rowhead[b-lqwm9s26mt] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.status-title[b-lqwm9s26mt] {
    color: var(--text-strong);
    font: 600 14px var(--font-sans);
}

.status-badge[b-lqwm9s26mt] {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font: 600 11px var(--font-sans);
    gap: 5px;
    padding: 3px 9px;
    white-space: nowrap;
}

.status-dot[b-lqwm9s26mt] {
    background: currentColor;
    border-radius: 999px;
    flex: none;
    height: 6px;
    width: 6px;
}

.status-b-missing[b-lqwm9s26mt] {
    background: var(--danger-100);
    color: var(--danger-text);
}

.status-b-expiring[b-lqwm9s26mt] {
    background: var(--warning-100);
    color: var(--warning-text);
}

.status-b-review[b-lqwm9s26mt] {
    background: var(--info-100);
    color: var(--info-text);
}

.status-b-valid[b-lqwm9s26mt] {
    background: var(--success-100);
    color: var(--success-text);
}

.status-note[b-lqwm9s26mt] {
    color: var(--text-muted);
    font: 400 12.5px/1.45 var(--font-sans);
    margin: 3px 0 0;
}

/* A hint is listed like the rest and weighs less than the rest: the chip is
   the whole difference the person sees between a forklift licence and a
   health-insurance notice. */
.status-hint[b-lqwm9s26mt] {
    background: var(--gray-100);
    border-radius: var(--radius-xs);
    color: var(--text-subtle);
    display: inline-block;
    font: 600 10px var(--font-mono);
    letter-spacing: 0.06em;
    margin-top: 6px;
    padding: 2px 6px;
    text-transform: uppercase;
}

.status-foot[b-lqwm9s26mt] {
    color: var(--text-muted);
    font: 400 12.5px/1.5 var(--font-sans);
    margin: 22px 0 0;
}

/* The neutral answer, A6's own: a revoked sheet and one that never existed
   get this page and nothing that tells them apart. */
.status-neutral[b-lqwm9s26mt] {
    box-sizing: border-box;
    padding: 24px 0 60px;
}

.status-n-icon[b-lqwm9s26mt] {
    align-items: center;
    background: var(--gray-100);
    border-radius: 999px;
    color: var(--text-subtle);
    display: flex;
    height: 46px;
    justify-content: center;
    margin-bottom: 14px;
    width: 46px;
}

.status-n-title[b-lqwm9s26mt] {
    color: var(--text-strong);
    font: 600 18px/1.3 var(--font-sans);
}

.status-n-text[b-lqwm9s26mt] {
    color: var(--text-muted);
    font: 400 13.5px/1.5 var(--font-sans);
    margin-top: 8px;
}

@media print { .status-foot[b-lqwm9s26mt] { display:none; } }

/* The questions a reader answers before the page shows (V102): the same card,
   no name on it, the fields and buttons at thumb size. */
.status-challenge[b-lqwm9s26mt] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    box-sizing: border-box;
    padding: 16px;
}

.status-wide[b-lqwm9s26mt] {
    min-height: 44px;
    width: 100%;
}
/* /Components/Pages/PersonUpload.razor.rz.scp.css */
.upload-card[b-pvhbscif30] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    border-top: 3px solid var(--accent);
    box-shadow: var(--shadow-sm);
    box-sizing: border-box;
    max-width: 30rem;
    padding: var(--space-6);
    width: 100%;
}

.upload-card h1[b-pvhbscif30] {
    font-size: var(--text-lg);
    margin: 0 0 var(--space-3);
}

.upload-muted[b-pvhbscif30] {
    color: var(--text-muted);
    font-size: var(--text-sm);
    margin: 0 0 var(--space-5);
}

.upload-banner[b-pvhbscif30] {
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    margin: 0 0 var(--space-4);
    padding: var(--space-3) var(--space-4);
}

.upload-banner-ok[b-pvhbscif30] {
    background: var(--success-100);
    color: var(--success-text);
}

.upload-banner-error[b-pvhbscif30] {
    background: var(--danger-100);
    color: var(--danger-text);
}

.upload-list[b-pvhbscif30] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    list-style: none;
    margin: 0;
    padding: 0;
}

.upload-row[b-pvhbscif30] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: var(--space-4);
}

.upload-row-head[b-pvhbscif30] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1) var(--space-3);
    justify-content: space-between;
}

.upload-row-label[b-pvhbscif30] {
    color: var(--text-strong);
    flex: 1;
    font-weight: var(--fw-semibold);
    min-width: 0;
}

.upload-row-head .badge[b-pvhbscif30] {
    flex: none;
}

/* The note that a label stands in German takes its own line under the label,
   so the state stays beside the name in every language. */
.upload-row-head small[b-pvhbscif30] {
    color: var(--text-muted);
    flex-basis: 100%;
    font-size: var(--text-xs);
    order: 3;
}
/* /Components/Pages/ProjectDetail.razor.rz.scp.css */
/* The project head: the site's icon, name and standing on the left, the
   two readiness ratios on the right - the design's project context. */
.profile-head[b-sej7y5eelw] {
    align-items: center;
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    display: flex;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
    padding: var(--space-5) var(--space-6);
}

.profile-avatar[b-sej7y5eelw] {
    align-items: center;
    background: var(--navy-900);
    border-radius: var(--radius-pill);
    color: var(--amber-500);
    display: flex;
    flex: none;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.profile-title[b-sej7y5eelw] {
    flex: 1;
    min-width: 0;
}

.profile-title h1[b-sej7y5eelw] {
    font-size: var(--text-xl);
    margin: 0;
}

.profile-sub[b-sej7y5eelw] {
    align-items: center;
    color: var(--text-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--text-sm);
    gap: var(--space-2);
    margin-top: var(--space-2);
}

.profile-dot[b-sej7y5eelw] {
    color: var(--text-subtle);
}

.profile-sub[b-sej7y5eelw]  .countdown {
    border-radius: var(--radius-pill);
    display: inline-block;
    font-family: var(--font-mono);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    padding: 3px 8px;
}

.profile-sub[b-sej7y5eelw]  .countdown-neutral { background: var(--gray-100); color: var(--gray-600); }
.profile-sub[b-sej7y5eelw]  .countdown-warning { background: var(--warning-100); color: var(--warning-text); }
.profile-sub[b-sej7y5eelw]  .countdown-danger { background: var(--danger-100); color: var(--danger-text); }

/* The areas of a project are addresses, and the shell lists them while a
   reader is in one - so the page keeps no rail of its own and the panel
   has the whole width. */
.profile-body[b-sej7y5eelw] {
    display: grid;
    gap: var(--space-6);
    grid-template-columns: minmax(0, 1fr);
}

.tab-panel[b-sej7y5eelw] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

.tab-panel[b-sej7y5eelw]  .start-cards {
    margin-top: 0;
}

/* The actions belong to the first pair of cards, with a smaller gap than
   the one between the page's sections. */
.project-overview-start[b-sej7y5eelw] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
}

.project-head-actions[b-sej7y5eelw] {
    margin-bottom: 0;
}

.project-head-actions .hero-actions[b-sej7y5eelw] {
    justify-content: space-between;
    margin-left: 0;
    width: 100%;
}

/* Three tiles in one row, however narrow the panel. */
.tab-panel[b-sej7y5eelw]  .start-card {
    flex: 1 1 0;
    min-width: 8rem;
}

.panel[b-sej7y5eelw] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: var(--space-5) var(--space-6);
}

.panel[b-sej7y5eelw]  .data-table {
    border: none;
    box-shadow: none;
}

.panel-title[b-sej7y5eelw] {
    color: var(--text-muted);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: 0.07em;
    margin: 0 0 var(--space-4);
    text-transform: uppercase;
}

.facts[b-sej7y5eelw] {
    display: grid;
    gap: var(--space-2) var(--space-5);
    grid-template-columns: max-content 1fr;
    margin: 0;
}

.facts dt[b-sej7y5eelw] {
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.facts dd[b-sej7y5eelw] {
    color: var(--text-strong);
    font-size: var(--text-sm);
    margin: 0;
}

/* The chain: each level one step further in. */
.chain-indent[b-sej7y5eelw] {
    display: inline-block;
    width: calc(var(--depth, 0) * 1.25rem);
}

@media (max-width: 56rem) {
    .profile-body[b-sej7y5eelw] {
        grid-template-columns: 1fr;
    }

    .profile-head[b-sej7y5eelw] {
        flex-wrap: wrap;
    }
}

/* ==== The project's data and its contacts ============================
   Side by side while there is room, one under the other on a phone. */
.project-cards[b-sej7y5eelw] {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
}

@media (max-width: 1100px) {
    .project-cards[b-sej7y5eelw] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* The site's actions, side by side and wrapping on a narrow screen. */
.quick-actions[b-sej7y5eelw] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}
/* /Components/Pages/ProjectRequirements.razor.rz.scp.css */
/* The minimum staffing card (E-199 (5)): planned and today side by side, short numbers red. */
.staffing-table th[b-zo7ng6b0b3] {
    color: var(--text-subtle);
    font-size: 12px;
    font-weight: var(--fw-semibold);
    padding: 0 8px 6px;
    text-align: left;
}

.staffing-short[b-zo7ng6b0b3] {
    color: var(--danger-text);
    font-weight: var(--fw-semibold);
}

.staffing-confirm[b-zo7ng6b0b3] {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* U3: one narrow sheet of cards, each with its small-caps label and the sentence that says what it holds. */
.requirement-sheet[b-zo7ng6b0b3] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 52rem;
}

.requirement-card[b-zo7ng6b0b3] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: 22px 24px;
}

.requirement-card-label[b-zo7ng6b0b3] {
    color: var(--text-subtle);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.08em;
    margin: 0 0 4px;
    text-transform: uppercase;
}

.requirement-card-intro[b-zo7ng6b0b3] {
    color: var(--text-muted);
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 12px;
}

.requirement-card-note[b-zo7ng6b0b3] {
    color: var(--text-muted);
    font-size: 12.5px;
    margin: 12px 0 0;
}

.requirement-table[b-zo7ng6b0b3] {
    border-collapse: collapse;
    width: 100%;
}

.requirement-table td[b-zo7ng6b0b3] {
    border-bottom: 1px solid var(--border-subtle);
    font-size: 13.5px;
    padding: 12px 8px;
    vertical-align: middle;
}

.requirement-table tr:last-child td[b-zo7ng6b0b3] {
    border-bottom: none;
}

.requirement-scope[b-zo7ng6b0b3] {
    display: block;
}

.requirement-kind[b-zo7ng6b0b3] {
    background: var(--gray-100);
    border-radius: var(--radius-pill);
    color: var(--gray-600);
    font-size: 11.5px;
    font-weight: var(--fw-semibold);
    margin-right: 6px;
    padding: 3px 10px;
}

[data-requirement-card="staffing"] > button[b-zo7ng6b0b3] {
    margin-top: 12px;
}

.requirement-done[b-zo7ng6b0b3] {
    display: flex;
    justify-content: flex-end;
}

/* The way from the firms' sets to where they are kept. */
.requirement-card-link[b-zo7ng6b0b3] {
    align-items: center;
    display: inline-flex;
    font-size: 13px;
    gap: 4px;
    margin-top: 12px;
}
/* /Components/Pages/Projects.razor.rz.scp.css */
.cell-action[b-82hn5c6ht9] {
    text-align: right;
}

/* The two filter groups wrap when the screen is narrow. Never wider
   than the row: a group longer than a phone scrolls inside its own pill
   instead of pushing the page sideways. */
.hero-filters[b-82hn5c6ht9] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    max-width: 100%;
    min-width: 0;
}

/* The releases opened beneath an engagement row read as part of that row, not as a second entry. */
.row-detail > td[b-82hn5c6ht9] {
    background: var(--gray-50);
    padding-top: 0;
}


.owned-projects[b-82hn5c6ht9]  .data-table td {
    white-space: nowrap;
}

.project-name[b-82hn5c6ht9] {
    align-items: center;
    display: flex;
    gap: 9px;
}

.project-name .dot[b-82hn5c6ht9] {
    flex: none;
    margin: 0;
}

.project-dot[b-82hn5c6ht9] {
    border: none;
    cursor: pointer;
    padding: 0;
}

.project-name-lines[b-82hn5c6ht9] {
    display: flex;
    flex-direction: column;
}

.owned-projects .numeric[b-82hn5c6ht9] {
    text-align: right;
}

.project-action[b-82hn5c6ht9] {
    text-align: right;
    white-space: nowrap;
}

.project-chain[b-82hn5c6ht9] {
    margin-right: 14px;
}

@media (max-width: 640px) {
    .owned-projects[b-82hn5c6ht9]  .project-readiness {
        display: none;
    }
}
/* /Components/Pages/Requirements.razor.rz.scp.css */
/* The four blocks of the catalog stand one below the other, the statutory core first. */
.requirements-catalog[b-l26893nmzo] { display: flex; flex-direction: column; gap: var(--space-6); }
.panel-title .badge[b-l26893nmzo] { margin-left: var(--space-2); vertical-align: middle; }
/* /Components/Pages/Review.razor.rz.scp.css */
/* The row is the way into the mask: the pointer says so, the action beside it says it for the keyboard. */
.row-link[b-3xt115h8so] {
    cursor: pointer;
}

.row-link:hover[b-3xt115h8so] {
    background: var(--gray-50);
}

/* The areas as a pill group of their own above the queue's head (U4, P4). */
.review-tabs[b-3xt115h8so] { margin-bottom: 1.5rem; }
.review-tabs a[b-3xt115h8so] { text-decoration: none; }

.review-filters[b-3xt115h8so] { justify-content: flex-start; }
.review-filters .segment-filter[b-3xt115h8so] { margin-left: 0; }

.review-firm[b-3xt115h8so] { white-space: nowrap; }
.review-firm-name[b-3xt115h8so] { display: inline-block; max-width: 13rem; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
.review-firm-released[b-3xt115h8so] { margin-left: 6px; vertical-align: middle; }

.review-holder[b-3xt115h8so] {
    background: none;
    border: none;
    color: var(--text-strong);
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: inherit;
    font-weight: var(--fw-semibold);
    padding: 0;
    text-align: left;
}

.review-holder:hover[b-3xt115h8so] { text-decoration: underline; }

.review-kind-tag[b-3xt115h8so] {
    background: var(--gray-100);
    border-radius: var(--radius-pill);
    color: var(--gray-600);
    font-size: 10px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.06em;
    margin-left: 8px;
    padding: 2px 8px;
    text-transform: uppercase;
}

.review-type[b-3xt115h8so] { margin-right: 6px; }

/* U4 (E-179 (2)): the firm's evidence and its people's as two sections, each with its number. */
.review-section[b-3xt115h8so] {
    margin-top: var(--space-6);
}

.review-section > .panel-title[b-3xt115h8so] {
    font-size: 17px;
    margin: 0 0 var(--space-3);
}

.review-section > .panel-title .segment-count[b-3xt115h8so] {
    color: var(--text-muted);
    font-weight: var(--fw-regular);
    margin-left: 6px;
}

/* A name leads to its profile; the row around it still opens the mask. */
.review-link[b-3xt115h8so] {
    color: var(--text-strong);
    font-weight: var(--fw-semibold);
    text-decoration: none;
}

.review-link:hover[b-3xt115h8so] { text-decoration: underline; }

/* The evidence's label is the keyboard's way into the mask; it reads as the label. */
.review-holder.review-type[b-3xt115h8so] {
    color: inherit;
    font-weight: inherit;
}
/* /Components/Pages/Roles.razor.rz.scp.css */
.role-matrix-heading[b-52822s2y39] { font-size: 16px; font-weight: 600; margin: 0 0 12px; }
.role-matrix-legend[b-52822s2y39] { color: #69768d; font-size: 12px; margin-bottom: 18px; }
.role-matrix-legend span[b-52822s2y39] { margin-left: 20px; }
.role-matrix-scroll[b-52822s2y39] { overflow-x: auto; border: 1px solid #dce0e8; border-radius: 14px; background: white; }
.role-matrix-scroll table[b-52822s2y39] { margin: 0; }
.role-matrix-scroll th[b-52822s2y39] { background: #f6f7fa; }
.role-matrix-scroll th:first-child[b-52822s2y39], .role-matrix-scroll td:first-child[b-52822s2y39] { position: sticky; left: 0; background: white; z-index: 1; min-width: 200px; }
.role-matrix-scroll th:first-child[b-52822s2y39] { background: #f6f7fa; }
/* /Components/Pages/SiteOverview.razor.rz.scp.css */
.site-staffing-band[b-6qk0ivsg6i] {
    align-items: center;
    background: var(--danger-100);
    border: 1px solid var(--danger-500);
    border-radius: var(--radius-md);
    color: var(--danger-text);
    display: flex;
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    gap: var(--space-2);
    margin: var(--space-2) 0 var(--space-3);
    padding: var(--space-2) var(--space-3);
}

.site-staffing-band span:nth-child(2)[b-6qk0ivsg6i] {
    flex: 1;
}
/* /Components/Pages/SiteToday.razor.rz.scp.css */
.site-today-rules[b-qfv18njoox],
.site-today-people[b-qfv18njoox] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-today-rule[b-qfv18njoox] {
    align-items: center;
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    display: flex;
    gap: var(--space-2);
    margin-bottom: var(--space-2);
    padding: var(--space-3) var(--space-4);
}

.site-today-rule-name[b-qfv18njoox] {
    flex: 1;
    font-weight: var(--fw-semibold);
}

.site-today-rule-short .site-today-rule-count[b-qfv18njoox] {
    color: var(--danger-text);
    font-weight: var(--fw-semibold);
}

.site-today-person[b-qfv18njoox] {
    align-items: center;
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    justify-content: space-between;
    margin-bottom: var(--space-2);
    padding: var(--space-3) var(--space-4);
}

.site-today-pills[b-qfv18njoox] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-2);
}

.site-today-remove[b-qfv18njoox] {
    align-items: center;
    color: var(--text-subtle);
    display: inline-flex;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
}

.site-today-confirm[b-qfv18njoox] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    width: 100%;
}

.site-today-confirm form[b-qfv18njoox] {
    margin: 0;
}

.site-today-add[b-qfv18njoox] {
    display: block;
    margin-top: var(--space-3);
    text-align: center;
}
/* /Components/Pages/Users.razor.rz.scp.css */
.users-heading[b-zdh91h3v0v] { display: flex; align-items: baseline; gap: 16px; margin-bottom: 18px; }
.users-heading h2[b-zdh91h3v0v] { font-size: 16px; margin: 0; font-weight: 600; }
.users-page[b-zdh91h3v0v]  .search-row { align-items: flex-end; gap: 12px; margin-bottom: 16px; }
.users-page[b-zdh91h3v0v]  .search-input { flex: 1 1 240px; max-width: 416px; }
.users-filter[b-zdh91h3v0v] { display: flex; flex-direction: column; gap: 5px; color: #69768d; font-size: 11px; margin: 0; }
.users-filter select[b-zdh91h3v0v] { min-width: 150px; margin: 0; }
.users-page[b-zdh91h3v0v]  .data-table th { background: #f6f7fa; }
.users-page[b-zdh91h3v0v]  .data-table td { padding-top: 13px; padding-bottom: 13px; vertical-align: middle; }
.user-identity[b-zdh91h3v0v] { display: flex; align-items: center; gap: 12px; min-width: 0; }
.user-identity strong[b-zdh91h3v0v], .user-card-head strong[b-zdh91h3v0v] { font-size: 13px; font-weight: 600; }
.user-avatar[b-zdh91h3v0v] { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 50%; background: #edf0f5; color: #536078; font-size: 11px; font-weight: 600; }
.user-contact-list[b-zdh91h3v0v] { margin-top: 3px; }
.user-contact[b-zdh91h3v0v] { display: block; color: #69768d; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.user-contact[b-zdh91h3v0v]  a { color: #69768d; }
.user-role[b-zdh91h3v0v] { display: inline-block; background: #eef0f5; color: #536078; padding: 4px 9px; border-radius: 12px; font-size: 11px; white-space: nowrap; }
.user-scopes[b-zdh91h3v0v] { display: grid; gap: 8px; font-size: 12px; max-width: 260px; overflow-wrap: anywhere; }
.user-scopes small[b-zdh91h3v0v] { display: block; color: #69768d; margin-top: 2px; font-size: 11px; }
.user-scope-empty[b-zdh91h3v0v] { color: #69768d; font-size: 12px; }
.user-last-active[b-zdh91h3v0v] { display: block; color: #69768d; font-size: 11px; line-height: 1.5; margin-top: 4px; }
.user-card[b-zdh91h3v0v] { display: grid; gap: 12px; padding: 18px; }
.user-card-head[b-zdh91h3v0v] { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.user-card > .user-role[b-zdh91h3v0v] { justify-self: start; }
.user-card > button[b-zdh91h3v0v] { min-height: 44px; }
.user-card-scope[b-zdh91h3v0v] { border-top: 1px solid #e5e8ee; padding-top: 12px; }
.user-card-label[b-zdh91h3v0v] { display: block; font-size: 11px; color: #69768d; margin-bottom: 5px; }
.users-visually-hidden[b-zdh91h3v0v] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 900px) { .users-heading[b-zdh91h3v0v] { align-items: flex-start; flex-direction: column; gap: 6px; } }
@media (max-width: 639px) {
    .users-page[b-zdh91h3v0v]  .search-row { display: flex; flex-wrap: wrap; }
    .users-page[b-zdh91h3v0v]  .search-input { flex-basis: 100%; width: 100%; max-width: none; }
    .users-filter[b-zdh91h3v0v] { flex: 1 1 120px; min-width: 0; }
    .users-filter select[b-zdh91h3v0v] { width: 100%; min-width: 0; }
}

@media (max-width: 639px) {
    .user-card[b-zdh91h3v0v] { background: white; border: 1px solid #dce0e8; border-radius: 14px; }
    .users-page[b-zdh91h3v0v]  .card-list { display: grid; gap: 12px; }
}
/* /Components/Ui/CaseInbox.razor.rz.scp.css */
.case-summary[b-t7d8fyvluj] { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 28rem; margin-top: .35rem; white-space: pre-wrap; }

.case-company[b-t7d8fyvluj] { display: block; margin-top: .35rem; color: var(--text-muted); font-size: var(--text-xs); }
/* /Components/Ui/CaseReviewDialog.razor.rz.scp.css */
.case-context[b-ri9jaugcxs] { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; padding: 1rem 0; border-bottom: 1px solid var(--border-subtle); }
.case-detail-grid[b-ri9jaugcxs] { display: grid; grid-template-columns: 1.4fr 1fr; gap: 2rem; padding-top: 1rem; }
.case-history[b-ri9jaugcxs] { padding-left: 1.25rem; }
.case-history li[b-ri9jaugcxs] { padding: 0 0 1.25rem .25rem; }
.case-history small[b-ri9jaugcxs] { display: block; margin-top: .3rem; color: var(--text-muted); overflow-wrap: anywhere; }
.case-history p[b-ri9jaugcxs] { white-space: pre-wrap; overflow-wrap: anywhere; }
.case-detail-grid label[b-ri9jaugcxs] { display: block; margin: .75rem 0 .35rem; }
.case-detail-grid textarea[b-ri9jaugcxs], .case-detail-grid input[b-ri9jaugcxs] { box-sizing: border-box; width: 100%; }
.case-hint[b-ri9jaugcxs] { font-size: .85rem; color: var(--text-muted); }
.case-actions[b-ri9jaugcxs] { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
@media (max-width: 640px) { .case-detail-grid[b-ri9jaugcxs] { grid-template-columns: 1fr; gap: 1rem; } }

.case-detail-grid textarea[b-ri9jaugcxs] { border: 1px solid var(--border-default); border-radius: var(--radius-sm); padding: .75rem; font: inherit; resize: vertical; }
/* /Components/Ui/CompanyAdministrators.razor.rz.scp.css */
/* A card of its own on the canvas, beside the collaboration card. */
.company-admins[b-pck38hqyxp] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: 18px 20px;
}

/* The title in a head row above a hairline, as the card beside it draws it. */
.panel-title[b-pck38hqyxp] {
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-strong);
    font-size: 15px;
    font-weight: var(--fw-semibold);
    margin: -18px -20px 18px;
    padding: 16px 20px;
}

/* Whom to call at the firm: a round avatar, the name, what the person is to
   the firm, and phone and mail as links beneath one another. */
.admins[b-pck38hqyxp] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.admin[b-pck38hqyxp] {
    align-items: flex-start;
    display: flex;
    gap: 12px;
}

.admin-avatar[b-pck38hqyxp] {
    align-items: center;
    background: var(--navy-900);
    border-radius: 50%;
    color: var(--text-on-dark);
    display: flex;
    flex: none;
    font-size: 12.5px;
    font-weight: var(--fw-semibold);
    height: 36px;
    justify-content: center;
    width: 36px;
}

.admin-avatar-firm[b-pck38hqyxp] {
    background: var(--gray-100);
    color: var(--gray-600);
}

.admin-text[b-pck38hqyxp] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.admin-name[b-pck38hqyxp] {
    color: var(--text-strong);
    font-size: 14.5px;
    font-weight: var(--fw-semibold);
}

.admin-role[b-pck38hqyxp] {
    color: var(--text-muted);
    font-size: 12.5px;
    margin-top: 1px;
}

.admin-ways[b-pck38hqyxp] {
    display: flex;
    flex-direction: column;
    font-size: 13.5px;
    gap: 4px;
    margin-top: 8px;
}

.admin-way[b-pck38hqyxp] {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    overflow-wrap: anywhere;
}

.admins-empty[b-pck38hqyxp] {
    color: var(--text-muted);
    font-size: 13.5px;
    margin: 0;
}
/* /Components/Ui/CompanyContactCard.razor.rz.scp.css */
/* One person or the firm to reach (E-225): name and role, then mail and
   phone as text, the buttons beneath. */
.company-contact[b-h9j9nilpcb] {
    border-top: 1px solid #edf0f5;
    padding: 12px 0 4px;
}

.company-contact-name[b-h9j9nilpcb] {
    margin: 0;
}

.personal-fields .company-contact-name[b-h9j9nilpcb] {
    color: #1c2330;
    font-size: 15px;
}

.company-contact-role[b-h9j9nilpcb] {
    color: #778296;
    font-size: 12px;
    margin-left: 6px;
}

.personal-fields .company-contact-detail[b-h9j9nilpcb] {
    color: #1c2330;
    margin: 2px 0 0;
    overflow-wrap: anywhere;
}

.company-contact-actions[b-h9j9nilpcb] {
    margin-top: 6px;
}
/* /Components/Ui/CompanyEvidenceExemptionEditor.razor.rz.scp.css */
/* The design's card: title and what it means on the left, the switch on
   the right; switched on, the end date beside the note and the buttons
   beneath them. */
.exemption-editor[b-583lgjm5m8] {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.exemption-head[b-583lgjm5m8] {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.exemption-text[b-583lgjm5m8] {
    min-width: 0;
}

.exemption-title[b-583lgjm5m8] {
    color: var(--text-strong);
    font-size: 15px;
    font-weight: var(--fw-semibold);
}

.exemption-sub[b-583lgjm5m8] {
    color: var(--text-muted);
    font-size: 13px;
    line-height: 1.5;
    margin-top: 4px;
}

.exemption-head .toggle[b-583lgjm5m8] {
    flex: none;
}

.exemption-form[b-583lgjm5m8] {
    border-top: 1px solid var(--border-subtle);
    display: grid;
    gap: 14px 18px;
    grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
    padding-top: 16px;
}

.exemption-field[b-583lgjm5m8] {
    color: var(--text-strong);
    display: flex;
    flex-direction: column;
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    gap: var(--space-1);
}

.exemption-field textarea[b-583lgjm5m8] {
    background-color: var(--surface-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    color: var(--text-strong);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-regular);
    padding: 9px 10px;
    resize: vertical;
    width: 100%;
}

.exemption-field textarea:focus[b-583lgjm5m8] {
    border-color: var(--amber-500);
    box-shadow: 0 0 0 3px var(--ring);
    outline: none;
}

.exemption-buttons[b-583lgjm5m8] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    grid-column: 1 / -1;
    justify-content: flex-end;
}

.modal-error[b-583lgjm5m8] {
    margin: 0;
}

@media (max-width: 640px) {
    .exemption-form[b-583lgjm5m8] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Ui/CompanyHistory.razor.rz.scp.css */
/* The firm's history as a card whose table runs to its edges. */
.company-history[b-gp231u3cxg] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.panel-title[b-gp231u3cxg] {
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-strong);
    font-size: 15px;
    font-weight: var(--fw-semibold);
    margin: 0;
    padding: 18px 20px;
}
/* /Components/Ui/CompanyOverview.razor.rz.scp.css */
/* G3: the firm's head as a card of its own - avatar, name, trade, whom it
   works under, how it is maintained, and its company evidence at the right -
   the tabs free beneath it, and the tab's cards on the canvas below. */
.profile[b-rcczphvhb3] {
    background: none;
}

.profile-head[b-rcczphvhb3] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: 20px 22px;
}

.profile-head-row[b-rcczphvhb3] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.profile-identity[b-rcczphvhb3] {
    align-items: center;
    display: flex;
    flex: 1 1 20rem;
    gap: 14px;
    min-width: 0;
}

.profile-avatar[b-rcczphvhb3] {
    align-items: center;
    background: var(--amber-500);
    border-radius: var(--radius-md);
    color: var(--navy-900);
    display: flex;
    flex: none;
    font-size: 16px;
    font-weight: var(--fw-semibold);
    height: 46px;
    justify-content: center;
    width: 46px;
}

.profile-title[b-rcczphvhb3] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.profile-title h1[b-rcczphvhb3],
.profile-title h2[b-rcczphvhb3] {
    color: var(--text-strong);
    font-size: 20px;
    font-weight: var(--fw-semibold);
    line-height: 1.25;
    margin: 0;
}

.profile-sub[b-rcczphvhb3] {
    align-items: center;
    color: var(--text-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    gap: 4px 10px;
}

.profile-sub a[b-rcczphvhb3] {
    font-weight: var(--fw-semibold);
}

/* How the firm is maintained: a quiet chip beneath its name. */
.management-chip[b-rcczphvhb3] {
    align-self: flex-start;
    border-radius: var(--radius-pill);
    font-size: 12px;
    font-weight: var(--fw-semibold);
    margin-top: 4px;
    padding: 2px 10px;
}

.management-chip-neutral[b-rcczphvhb3] {
    background: var(--gray-100);
    color: var(--gray-600);
}

.management-chip-info[b-rcczphvhb3] {
    background: var(--info-100);
    color: var(--info-text);
}

.management-chip-warning[b-rcczphvhb3] {
    background: var(--warning-100);
    color: var(--warning-text);
}

.profile-head-side[b-rcczphvhb3] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: flex-end;
    margin-left: auto;
}

/* The company evidence at a glance: a label over one chip per standing, the
   whole tile the way to the documents. */
.evidence-tile[b-rcczphvhb3] {
    align-items: flex-start;
    background: var(--surface-sunken);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    color: inherit;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    font-family: var(--font-sans);
    gap: 6px;
    max-width: 32rem;
    padding: 10px 14px;
    text-align: left;
    text-decoration: none;
}

.evidence-tile:hover[b-rcczphvhb3] {
    border-color: var(--border-strong);
    box-shadow: var(--shadow-xs);
    text-decoration: none;
}

.evidence-tile:focus-visible[b-rcczphvhb3] {
    outline: 2px solid var(--border-focus);
    outline-offset: 2px;
}

.evidence-tile-label[b-rcczphvhb3] {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.evidence-tile-label > span[b-rcczphvhb3] {
    color: var(--text-link);
    font-size: 14px;
    letter-spacing: 0;
    margin-left: 4px;
}

.evidence-tile-chips[b-rcczphvhb3] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.evidence-tile-note[b-rcczphvhb3] {
    color: var(--text-body);
    font-size: 12.5px;
}

/* One standing among the required evidence: a pill with a dot in its tone. */
.evidence-chip[b-rcczphvhb3] {
    align-items: center;
    border-radius: var(--radius-pill);
    display: inline-flex;
    font-size: 12px;
    font-weight: var(--fw-semibold);
    gap: 6px;
    padding: 3px 9px;
    white-space: nowrap;
}

.evidence-chip[b-rcczphvhb3]::before {
    background: currentColor;
    border-radius: 50%;
    content: "";
    height: 6px;
    width: 6px;
}

.evidence-chip-ok[b-rcczphvhb3] {
    background: var(--success-100);
    color: var(--success-text);
}

.evidence-chip-warn[b-rcczphvhb3] {
    background: var(--warning-100);
    color: var(--warning-text);
}

.evidence-chip-bad[b-rcczphvhb3] {
    background: var(--danger-100);
    color: var(--danger-text);
}

.evidence-chip-neutral[b-rcczphvhb3] {
    background: var(--gray-100);
    color: var(--gray-600);
}

/* The tabs beneath the head card, the open one underlined. The line is a
   shadow inside the rail, as in TabRail: the rail scrolls, and a border
   beneath would cut the underline in half. */
.profile-tabs[b-rcczphvhb3] {
    box-shadow: inset 0 -1px 0 var(--border-subtle);
    display: flex;
    flex: none;
    flex-direction: row;
    gap: 2px;
    margin-top: 18px;
    overflow-x: auto;
}

.profile-tab[b-rcczphvhb3] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--text-muted);
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: 13.5px;
    font-weight: var(--fw-medium);
    padding: 12px 13px;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
}

.profile-tab:hover[b-rcczphvhb3] {
    color: var(--text-strong);
    text-decoration: none;
}

.profile-tab-on[b-rcczphvhb3],
.profile-tab-on:hover[b-rcczphvhb3] {
    border-bottom-color: var(--amber-500);
    color: var(--text-strong);
    font-weight: var(--fw-semibold);
}

.profile-tab:focus-visible[b-rcczphvhb3] {
    outline: 2px solid var(--border-focus);
    outline-offset: -2px;
}

.profile-body[b-rcczphvhb3] {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
    min-height: 20rem;
}

.profile-panel[b-rcczphvhb3] {
    flex: 1;
    min-width: 0;
}

/* Each part of a tab is a card of its own on the canvas, its title in a
   head row of its own above a hairline, as the design's cards draw it. */
.panel[b-rcczphvhb3] {
    --panel-pad-x: 20px;
    --panel-pad-y: 18px;
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    margin-bottom: 20px;
    padding: var(--panel-pad-y) var(--panel-pad-x);
}

.panel:not(.panel-flush) > .panel-title[b-rcczphvhb3],
.panel:not(.panel-flush) > .panel-title-row[b-rcczphvhb3] {
    border-bottom: 1px solid var(--border-subtle);
    margin: calc(-1 * var(--panel-pad-y)) calc(-1 * var(--panel-pad-x)) 18px;
    padding: 16px var(--panel-pad-x);
}

.panel:not(.panel-flush) > .panel-title-row .panel-title[b-rcczphvhb3] {
    margin: 0;
}

.panel:last-child[b-rcczphvhb3] {
    margin-bottom: 0;
}

/* A card whose table runs to its edges, the title above it inset. */
.panel-flush[b-rcczphvhb3] {
    padding: 0;
}

.panel-flush > .panel-title[b-rcczphvhb3],
.panel-flush > .panel-title-row[b-rcczphvhb3] {
    border-bottom: 1px solid var(--border-subtle);
    margin: 0;
    padding: 18px 20px;
}

.panel-flush > .panel-title-row .panel-title[b-rcczphvhb3] {
    margin: 0;
}

.panel-flush > .empty-note[b-rcczphvhb3] {
    margin: 0;
    padding: 24px 20px;
}

.panel-title[b-rcczphvhb3] {
    color: var(--text-strong);
    font-size: 15px;
    font-weight: var(--fw-semibold);
    margin: 0 0 16px;
}

.panel-count[b-rcczphvhb3] {
    color: var(--text-muted);
    font-size: 12.5px;
    font-weight: var(--fw-medium);
    margin-left: 6px;
}

/* In the profile's tables the way to the details is drawn in the link colour, as the design draws it. */
.row-arrow[b-rcczphvhb3] {
    color: var(--text-link);
}

.panel-title-row[b-rcczphvhb3] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: space-between;
}

.panel-title-row .panel-title[b-rcczphvhb3] {
    margin-bottom: 10px;
}

.panel-link[b-rcczphvhb3] {
    font-size: 13px;
    font-weight: var(--fw-semibold);
    white-space: nowrap;
}

.panel .data-table[b-rcczphvhb3] {
    box-shadow: none;
}

/* G3's master data: three columns of label over value, a hairline between them. */
.facts-columns[b-rcczphvhb3] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.facts-column[b-rcczphvhb3] {
    display: flex;
    flex-direction: column;
    gap: 17px;
    margin: 0;
    min-width: 0;
    padding: 2px 26px;
}

.facts-column:first-child[b-rcczphvhb3] {
    padding-left: 0;
}

.facts-column:last-child[b-rcczphvhb3] {
    padding-right: 0;
}

.facts-column + .facts-column[b-rcczphvhb3] {
    border-left: 1px solid var(--border-subtle);
}

.fact dt[b-rcczphvhb3] {
    color: var(--text-muted);
    font-size: 12px;
    margin-bottom: 3px;
}

.fact dd[b-rcczphvhb3] {
    color: var(--text-strong);
    font-size: 14px;
    line-height: 1.45;
    margin: 0;
    overflow-wrap: anywhere;
}

/* Beneath the data: whom to call and the collaboration, side by side. */
.profile-cards[b-rcczphvhb3] {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-cards > .panel[b-rcczphvhb3] {
    margin-bottom: 0;
}

/* The principal's controls over the firm - its relationship and its
   requirement set - in one card. Each control lays out its own row; a card
   none of them renders into takes no room. */
.profile-controls[b-rcczphvhb3] {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.panel.profile-controls > .panel-title-row[b-rcczphvhb3] {
    align-items: center;
    align-self: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 0;
}

/* No element but the head row, only whitespace between the components that
   rendered nothing - :empty would not match that. */
.profile-controls:not(:has(> :not(.panel-title-row)))[b-rcczphvhb3] {
    display: none;
}

/* Why the reader can put nothing in for this firm. */
.maintenance-off[b-rcczphvhb3] {
    background: var(--gray-50);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    color: var(--text-body);
    font-size: 13.5px;
    margin: 0 0 16px;
    padding: 12px 16px;
}

/* The same under the head of the firm's people and of the own firm's voluntary
   evidence (N5), as a muted line in the card. */
.persons-hint[b-rcczphvhb3],
.evidence-hint[b-rcczphvhb3] {
    color: var(--text-muted);
    font-size: 12.5px;
    line-height: 1.5;
    margin: 0;
    padding: 14px 20px 0;
}

.evidence-reason[b-rcczphvhb3] {
    color: var(--danger-text);
    font-size: 12.5px;
    line-height: 1.45;
    margin-top: 4px;
}

.evidence-actions[b-rcczphvhb3] {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.cell-action[b-rcczphvhb3] {
    text-align: right;
    white-space: nowrap;
}

/* A project line's engagement menu and the arrow stand side by side, as in the firm list. */
.project-line-actions[b-rcczphvhb3] {
    align-items: center;
    display: inline-flex;
    gap: 14px;
    justify-content: flex-end;
}

/* The project the profile is read in, first and without a way further. */
.project-current td[b-rcczphvhb3] {
    background: var(--surface-sunken);
}

.this-project[b-rcczphvhb3] {
    background: var(--gray-100);
    border-radius: var(--radius-pill);
    color: var(--gray-600);
    font-size: 10.5px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.05em;
    margin-left: 8px;
    padding: 2px 8px;
    text-transform: uppercase;
}

.row-selected td[b-rcczphvhb3] {
    background: var(--gray-50);
}

/* A person's name opens the person beside the list: it reads as the name, not as a link. */
/* On the principal's profile the person's portrait or initials stand beside the name (INGO-308). */
.person-name-cell[b-rcczphvhb3] {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.person-avatar[b-rcczphvhb3] {
    align-items: center;
    background: var(--gray-100);
    border: 1px solid var(--border-subtle);
    border-radius: 50%;
    color: var(--gray-600);
    display: inline-flex;
    flex: none;
    font-size: 10px;
    font-weight: var(--fw-semibold);
    height: 28px;
    justify-content: center;
    width: 28px;
}

.person-photo[b-rcczphvhb3] {
    object-fit: cover;
}

.person-name[b-rcczphvhb3] {
    background: none;
    border: 0;
    color: var(--text-strong);
    cursor: pointer;
    font: inherit;
    font-weight: var(--fw-semibold);
    padding: 0;
    text-align: left;
}

.person-name:hover:not(:disabled)[b-rcczphvhb3] {
    text-decoration: underline;
}

.person-name:disabled[b-rcczphvhb3] {
    cursor: default;
}

@media (max-width: 900px) {
    .facts-columns[b-rcczphvhb3],
    .profile-cards[b-rcczphvhb3] {
        grid-template-columns: minmax(0, 1fr);
    }

    .facts-column[b-rcczphvhb3] {
        padding: 0;
    }

    .facts-column + .facts-column[b-rcczphvhb3] {
        border-left: none;
        border-top: 1px solid var(--border-subtle);
        margin-top: 17px;
        padding-top: 17px;
    }
}

@media (max-width: 640px) {
    .profile-head[b-rcczphvhb3] { padding: var(--space-4); }
    .profile-identity[b-rcczphvhb3] { flex-basis: 100%; }
    .profile-head-side[b-rcczphvhb3] { justify-content: flex-start; margin-left: 0; width: 100%; }
    .evidence-tile[b-rcczphvhb3] { max-width: 100%; }
    .profile-title h1[b-rcczphvhb3], .profile-title h2[b-rcczphvhb3] { overflow-wrap: anywhere; }
    .profile-tabs[b-rcczphvhb3] { scrollbar-width: thin; }
    .profile-tab[b-rcczphvhb3] { flex: none; }
    .panel-flush[b-rcczphvhb3] { padding: 0; }
}

/* N5 - the own firm's page: the data as a list of rows on the left, the
   firm's own cards on the right. */
.own-company-grid[b-rcczphvhb3] {
    align-items: start;
    display: grid;
    gap: var(--space-4);
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
}

.own-company-aside[b-rcczphvhb3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
}

.facts-list[b-rcczphvhb3] {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
}

.facts-list .fact[b-rcczphvhb3] {
    align-items: baseline;
    display: grid;
    gap: var(--space-4);
    grid-template-columns: minmax(0, 12rem) minmax(0, 1fr);
    padding: 8px 0;
}

.facts-list .fact dt[b-rcczphvhb3] {
    color: var(--text-muted);
    font-size: var(--text-sm);
    margin: 0;
}

.facts-list .fact dd[b-rcczphvhb3] {
    font-size: var(--text-sm);
}

@media (max-width: 900px) {
    .own-company-grid[b-rcczphvhb3] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    .facts-list .fact[b-rcczphvhb3] {
        grid-template-columns: minmax(0, 1fr);
        gap: 2px;
    }
}
/* /Components/Ui/CompanyRelationshipActions.razor.rz.scp.css */
/* The relationship's note, its button and the question before it changes:
   text and buttons never touch, and the buttons wrap as a whole. */
p[b-8rtk9dehky] {
    margin: 0;
}

.relationship-confirm[b-8rtk9dehky] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    font-size: var(--text-sm);
    max-width: 44rem;
}

.relationship-buttons[b-8rtk9dehky] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.relationship-ending[b-8rtk9dehky] {
    margin: 0 0 12px;
    padding-left: 20px;
}
/* /Components/Ui/CompanyRequirementSetEditor.razor.rz.scp.css */
/* Label over its select and the save button beside it; when the row runs
   out of room the button moves to the next line whole. */
.company-requirement-set[b-o81lz424au] {
    align-items: flex-end;
    align-self: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-3);
}

.requirement-set-field[b-o81lz424au] {
    color: var(--text-strong);
    display: flex;
    flex-direction: column;
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    gap: var(--space-1);
    min-width: 0;
}

.requirement-set-field select[b-o81lz424au] {
    font-weight: var(--fw-regular);
    max-width: 100%;
    min-width: 16rem;
}

@media (max-width: 640px) {
    .requirement-set-field[b-o81lz424au],
    .requirement-set-field select[b-o81lz424au] {
        min-width: 0;
        width: 100%;
    }
}
/* /Components/Ui/ContractorProjectCompanies.razor.rz.scp.css */
.companies-head[b-0v0juvqq3u] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.companies-head-left[b-0v0juvqq3u] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.companies-count[b-0v0juvqq3u] {
    color: var(--text-muted);
    font-size: 12.5px;
}

.add-firm[b-0v0juvqq3u] {
    display: inline-block;
}

.add-firm button:disabled[b-0v0juvqq3u] {
    pointer-events: none;
}

.chain-full[b-0v0juvqq3u] {
    color: var(--text-muted);
    font-size: 12.5px;
    margin: -6px 0 14px;
}

/* Liste · Baum, as the design's segmented switch. */
.view-switch[b-0v0juvqq3u] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: 999px;
    display: inline-flex;
    gap: 3px;
    padding: 4px;
}

.view-switch-option[b-0v0juvqq3u] {
    border-radius: 999px;
    color: var(--gray-600);
    font-size: 12.5px;
    font-weight: var(--fw-semibold);
    padding: 7px 15px;
    white-space: nowrap;
}

.view-switch-option:hover[b-0v0juvqq3u] {
    color: var(--text-strong);
    text-decoration: none;
}

.view-switch-option.on[b-0v0juvqq3u] {
    background: var(--navy-900);
    color: #fff;
}

.companies-card[b-0v0juvqq3u] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.companies-empty[b-0v0juvqq3u] {
    padding: 36px 20px;
    text-align: center;
}

.companies-empty p[b-0v0juvqq3u] {
    color: var(--text-muted);
    font-size: 14px;
    margin: 0 0 14px;
}

.table-wrap[b-0v0juvqq3u] {
    overflow-x: auto;
}

.companies-table[b-0v0juvqq3u] {
    border-collapse: collapse;
    width: 100%;
}

.companies-table th[b-0v0juvqq3u] {
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-muted);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.05em;
    padding: 10px 16px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.companies-table td[b-0v0juvqq3u] {
    border-bottom: 1px solid var(--border-subtle);
    font-size: 13.5px;
    padding: 12px 16px;
    vertical-align: middle;
}

.companies-table tr:last-child td[b-0v0juvqq3u] {
    border-bottom: none;
}

.companies-table .cell-right[b-0v0juvqq3u] {
    text-align: right;
}

.companies-table .firm-own td[b-0v0juvqq3u] {
    background: var(--surface-sunken);
}

/* Each level of the branch a step further in, joined to the one above by an elbow. */
.firm[b-0v0juvqq3u] {
    align-items: center;
    display: flex;
    gap: 10px;
    padding-left: calc(var(--indent, 0) * 24px);
}

.elbow[b-0v0juvqq3u] {
    border-bottom: 2px solid var(--border-strong);
    border-bottom-left-radius: 4px;
    border-left: 2px solid var(--border-strong);
    flex: none;
    height: 14px;
    margin-top: -10px;
    width: 14px;
}

.firm-name[b-0v0juvqq3u] {
    color: var(--text-strong);
    font-weight: var(--fw-semibold);
}

.firm-name a[b-0v0juvqq3u] {
    color: var(--text-strong);
}

.firm-sub[b-0v0juvqq3u] {
    color: var(--text-muted);
    font-size: 12px;
    margin-top: 1px;
}

.own-tag[b-0v0juvqq3u] {
    background: var(--gray-100);
    border-radius: var(--radius-pill);
    color: var(--gray-600);
    font-size: 10px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.05em;
    margin-left: 6px;
    padding: 2px 7px;
    text-transform: uppercase;
}

.invitation[b-0v0juvqq3u] {
    color: var(--text-body);
    font-size: 13px;
    white-space: nowrap;
}

.invitation-open[b-0v0juvqq3u] {
    color: var(--warning-text);
    font-size: 13px;
    font-weight: var(--fw-semibold);
    white-space: nowrap;
}

.dash[b-0v0juvqq3u] {
    color: var(--text-subtle);
}

/* Baum: the own firm at the root, every firm a card under the one that engaged it. */
.company-tree[b-0v0juvqq3u] {
    overflow-x: auto;
    padding: 24px 16px 32px;
}

.tree[b-0v0juvqq3u] {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    min-width: max-content;
}

.tree-col[b-0v0juvqq3u] {
    align-items: center;
    display: flex;
    flex-direction: column;
    position: relative;
}

.tree-branch > .tree-col[b-0v0juvqq3u]::before {
    background: var(--border-strong);
    content: "";
    height: 22px;
    left: 50%;
    position: absolute;
    top: -22px;
    width: 2px;
}

.tree-stub[b-0v0juvqq3u] {
    background: var(--border-strong);
    height: 22px;
    width: 2px;
}

.tree-branch[b-0v0juvqq3u] {
    --node-w: 210px;
    display: flex;
    gap: 22px;
    justify-content: center;
    padding-top: 22px;
    position: relative;
}

.tree-branch[b-0v0juvqq3u]::before {
    background: var(--border-strong);
    content: "";
    height: 2px;
    left: calc(var(--node-w) / 2);
    position: absolute;
    right: calc(var(--node-w) / 2);
    top: 0;
}

.tree-node[b-0v0juvqq3u] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-xs);
    box-sizing: border-box;
    padding: 12px 13px;
    width: 210px;
}

.tree-node-root[b-0v0juvqq3u] {
    border-color: var(--navy-900);
}

.tree-node-open[b-0v0juvqq3u] {
    border-style: dashed;
}

.tree-node-head[b-0v0juvqq3u] {
    align-items: flex-start;
    display: flex;
    gap: 9px;
    margin-bottom: 9px;
}

.tree-avatar[b-0v0juvqq3u] {
    align-items: center;
    background: var(--navy-900);
    border-radius: var(--radius-sm);
    color: #fff;
    display: flex;
    flex: none;
    font-size: 11.5px;
    font-weight: var(--fw-semibold);
    height: 30px;
    justify-content: center;
    width: 30px;
}

.tree-avatar-own[b-0v0juvqq3u] {
    background: var(--amber-500);
    color: var(--navy-900);
}

.tree-name[b-0v0juvqq3u] {
    color: var(--text-strong);
    font-size: 12.5px;
    font-weight: var(--fw-semibold);
    line-height: 1.3;
}

.tree-trade[b-0v0juvqq3u] {
    color: var(--text-muted);
    font-size: 11px;
    margin-top: 1px;
}

.tree-fact[b-0v0juvqq3u] {
    align-items: center;
    color: var(--text-muted);
    display: flex;
    font-size: 11.5px;
    gap: 8px;
    justify-content: space-between;
    margin-top: 6px;
}

.tree-fact[b-0v0juvqq3u]  .standing-badge {
    font-size: 11px;
    padding: 2px 7px;
}

.tree-invitation[b-0v0juvqq3u] {
    background: var(--warning-100);
    border-radius: 999px;
    color: var(--warning-text);
    display: inline-block;
    font-size: 10.5px;
    font-weight: var(--fw-semibold);
    margin-top: 8px;
    padding: 2px 8px;
}

@media (max-width: 860px) {
    .col-people[b-0v0juvqq3u] {
        display: none;
    }
}
/* /Components/Ui/ContractorProjectList.razor.rz.scp.css */
.contractor-project-segments[b-n0npo8drt3] {
    margin-bottom: var(--space-3);
}

.contractor-project-row td[b-n0npo8drt3] {
    vertical-align: middle;
}

.contractor-project-row .badge[b-n0npo8drt3] {
    margin-left: var(--space-2);
}

.contractor-project-row .cell-sub[b-n0npo8drt3] {
    display: block;
    margin-top: 2px;
}

.contractor-project-nobody[b-n0npo8drt3] {
    color: var(--warning-text);
    font-size: var(--text-sm);
}

.contractor-project-card-facts[b-n0npo8drt3] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-2);
    font-size: var(--text-sm);
}
/* /Components/Ui/ContractorProjectOverview.razor.rz.scp.css */
/* The cards, "Stand" and the hints one under the other, a step apart. */
.contractor-overview[b-h6y9cbg88n] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* The project's data and the principal's contacts side by side, three to two,
   one under the other where there is no room (NP1). */
.project-cards[b-h6y9cbg88n] {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
}

.project-cards[b-h6y9cbg88n]  .fact-line {
    display: block;
}

.project-cards[b-h6y9cbg88n]  .fact-muted {
    color: var(--text-muted);
    font-size: 12.5px;
}

.project-extra[b-h6y9cbg88n] {
    background: var(--surface-sunken);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    color: var(--text-body);
    font-size: 13.5px;
    margin-top: 16px;
    padding: 10px 14px;
}

.project-extra strong[b-h6y9cbg88n] {
    color: var(--text-strong);
    font-weight: var(--fw-semibold);
}

.contacts-none[b-h6y9cbg88n] {
    color: var(--text-muted);
    font-size: 13.5px;
    margin: 0;
}

@media (max-width: 1100px) {
    .project-cards[b-h6y9cbg88n] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Ui/ContractorProjectPersons.razor.rz.scp.css */
.persons-summary[b-24m7bck3lf] {
    color: var(--text-muted);
    font-size: 13.5px;
    margin: 0 0 16px;
}

.persons-summary strong[b-24m7bck3lf] {
    color: var(--text-strong);
}

.persons-sections[b-24m7bck3lf] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.persons-branch:not(:empty)[b-24m7bck3lf] {
    margin-top: 20px;
}

.persons-empty[b-24m7bck3lf] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    color: var(--text-muted);
    font-size: 13.5px;
    padding: 28px 20px;
    text-align: center;
}

.persons-empty p[b-24m7bck3lf] {
    margin: 0 0 8px;
}

.persons-empty a[b-24m7bck3lf] {
    font-weight: var(--fw-semibold);
}

.persons-sections[b-24m7bck3lf]  .col-person {
    width: 40%;
}

.persons-sections[b-24m7bck3lf]  .col-check {
    width: 36px;
}

.persons-sections[b-24m7bck3lf]  .col-check input {
    cursor: pointer;
    height: 16px;
    margin: 0;
    width: 16px;
}

.persons-sections[b-24m7bck3lf]  .choosable:hover td {
    background: var(--gray-50);
}

.persons-sections[b-24m7bck3lf]  .choosable.on td {
    background: var(--surface-sunken);
}

.person[b-24m7bck3lf] {
    align-items: center;
    display: flex;
    gap: 10px;
}

.person-avatar[b-24m7bck3lf] {
    align-items: center;
    background: var(--gray-100);
    border-radius: 50%;
    color: var(--gray-700);
    display: flex;
    flex: none;
    font-size: 11px;
    font-weight: var(--fw-semibold);
    height: 30px;
    justify-content: center;
    width: 30px;
}

.person-name[b-24m7bck3lf] {
    color: var(--text-strong);
    font-weight: var(--fw-semibold);
}

.text-action[b-24m7bck3lf] {
    background: none;
    border: none;
    color: var(--text-link);
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: var(--fw-semibold);
    padding: 6px 4px;
    white-space: nowrap;
}

.text-action:hover[b-24m7bck3lf] {
    text-decoration: underline;
}

.more[b-24m7bck3lf] {
    border-top: 1px solid var(--border-subtle);
    padding: 12px 16px;
}

.card-error[b-24m7bck3lf] {
    margin: 0;
    padding: 12px 16px;
}

.branch-heading[b-24m7bck3lf] {
    color: var(--text-muted);
    font-size: 13px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.06em;
    margin: 8px 0 -8px;
    text-transform: uppercase;
}


.persons-sections[b-24m7bck3lf]  .branch-note {
    color: var(--text-muted);
    font-size: 11px;
}

.confirm-text[b-24m7bck3lf] {
    color: var(--text-body);
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

.confirm-text strong[b-24m7bck3lf] {
    color: var(--text-strong);
}

/* On a phone the table's rows stack: the person first, the standing and the
   action beneath - a column cut off at the card's edge is an action nobody can
   reach. The head stays for a screen reader. */
@media (max-width: 640px) {
    .persons-sections .overview-card .card-table[b-24m7bck3lf],
    .persons-sections .overview-card .card-table tbody[b-24m7bck3lf] {
        display: block;
    }

    .persons-sections .overview-card .card-table thead[b-24m7bck3lf] {
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        width: 1px;
    }

    .persons-sections .overview-card .card-table tr[b-24m7bck3lf] {
        align-items: center;
        border-bottom: 1px solid var(--border-subtle);
        display: flex;
        flex-wrap: wrap;
        gap: 8px 12px;
        padding: 12px 16px;
    }

    .persons-sections .overview-card .card-table tbody tr:last-child[b-24m7bck3lf] {
        border-bottom: none;
    }

    .persons-sections .overview-card .card-table td[b-24m7bck3lf] {
        border: 0;
        display: block;
        min-width: 0;
        padding: 0;
    }

    .persons-sections .overview-card .card-table td:first-child[b-24m7bck3lf] {
        flex: 1 1 100%;
    }

    /* A row that starts with its choice box keeps the box beside the name. */
    .persons-sections .overview-card .card-table td.col-check[b-24m7bck3lf] {
        flex: 0 0 auto;
    }

    .persons-sections .overview-card .card-table td.col-check + td[b-24m7bck3lf] {
        flex: 1 1 0;
    }

    .persons-sections .overview-card .card-table td.col-check + td ~ td[b-24m7bck3lf] {
        flex-basis: 100%;
        padding-left: 28px;
    }

    .persons-sections .overview-card .card-table .cell-right[b-24m7bck3lf] {
        margin-left: auto;
        text-align: right;
    }
}
/* /Components/Ui/DateField.razor.rz.scp.css */
.date-field-wrap[b-dxnbneu3ub] {
    display: grid;
    gap: 4px;
}

/* In a row of controls - a table cell with a file and a button - the field
   keeps its line. */
.date-field-wrap-inline[b-dxnbneu3ub] {
    display: inline-grid;
    vertical-align: middle;
}

/* The filters' field as U10 draws it, sized for exactly one day. Held at the
   weight of a bare class, so a form that draws all its fields alike - a
   dialog, the phone pages, the site forms - draws this one with them. */
:where(.date-field)[b-dxnbneu3ub] {
    width: 148px;
    box-sizing: border-box;
    padding: 7px 10px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    color: var(--text-strong);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
}

:where(.date-field)[b-dxnbneu3ub]::placeholder {
    color: var(--text-subtle);
}

:where(.date-field:hover)[b-dxnbneu3ub] {
    border-color: var(--border-strong);
}

:where(.date-field:focus-visible)[b-dxnbneu3ub] {
    outline: 2px solid var(--border-focus);
    outline-offset: 1px;
}

/* A day that does not parse is marked whatever form the field stands in. */
.date-field-wrap .date-field-invalid[b-dxnbneu3ub],
.date-field-wrap .date-field-invalid:hover[b-dxnbneu3ub] {
    border-color: var(--danger-500);
}

.date-field-error[b-dxnbneu3ub] {
    color: var(--danger-text);
    font-size: var(--text-xs);
}

/* The calendar button sits inside the field's right edge; the text keeps
   clear of it. */
.date-field-box[b-dxnbneu3ub] {
    position: relative;
    display: grid;
}

.date-field-box > .date-field[b-dxnbneu3ub] {
    padding-right: 34px;
}

.date-field-open[b-dxnbneu3ub] {
    position: absolute;
    top: 1px;
    right: 1px;
    bottom: 1px;
    width: 30px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 0 calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0;
    background: transparent;
    color: var(--text-subtle);
    cursor: pointer;
}

.date-field-open:hover:not(:disabled)[b-dxnbneu3ub] {
    color: var(--text-strong);
}

.date-field-open:focus-visible[b-dxnbneu3ub] {
    outline: 2px solid var(--border-focus);
    outline-offset: -2px;
}

.date-field-open:disabled[b-dxnbneu3ub] {
    cursor: default;
    opacity: 0.5;
}
/* /Components/Ui/DeliveryChain.razor.rz.scp.css */
.delivery-chain[b-83lx976t8c] {
    align-items: center;
    display: flex;
    gap: 10px;
}

.chain[b-83lx976t8c] {
    align-items: center;
    display: flex;
    flex: none;
}

.chain-dot[b-83lx976t8c] {
    border-radius: 50%;
    display: inline-block;
    flex: none;
    height: 9px;
    width: 9px;
}

.chain-bar[b-83lx976t8c] {
    display: inline-block;
    flex: none;
    height: 2px;
    width: 22px;
}

.chain-dot.chain-done[b-83lx976t8c],
.chain-bar.chain-done[b-83lx976t8c] {
    background: var(--success-500);
}

.chain-dot.chain-fail[b-83lx976t8c],
.chain-bar.chain-fail[b-83lx976t8c] {
    background: var(--danger-500);
}

.chain-dot.chain-open[b-83lx976t8c] {
    background: var(--gray-300);
}

.chain-bar.chain-open[b-83lx976t8c] {
    background: var(--gray-200);
}

.chain-label[b-83lx976t8c] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    white-space: nowrap;
}
/* /Components/Ui/DispatchHistory.razor.rz.scp.css */
.dispatch-history[b-uii2rengfq] {
    margin-top: var(--space-3);
}

.dispatch-history-title[b-uii2rengfq] {
    color: var(--text-subtle);
    display: block;
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-eyebrow);
    margin-bottom: var(--space-2);
    text-transform: uppercase;
}

.dispatch-history-empty[b-uii2rengfq] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    margin: 0;
}

.dispatch-history-table[b-uii2rengfq] {
    border-collapse: collapse;
    font-size: var(--text-xs);
    width: 100%;
}

.dispatch-history-table th[b-uii2rengfq] {
    color: var(--text-subtle);
    font-weight: var(--fw-semibold);
    padding: 2px var(--space-3) 2px 0;
    text-align: left;
}

.dispatch-history-table td[b-uii2rengfq] {
    padding: 2px var(--space-3) 2px 0;
    vertical-align: top;
}

.dispatch-time[b-uii2rengfq] {
    color: var(--text-subtle);
    font-family: var(--font-mono);
    white-space: nowrap;
}

.dispatch-contact[b-uii2rengfq] {
    font-family: var(--font-mono);
}

.dispatch-reason[b-uii2rengfq] {
    color: var(--text-subtle);
}
/* /Components/Ui/EngagementActionsMenu.razor.rz.scp.css */
/* The button and, while open, the actions floating beneath it. The list is
   taken out of the row: fixed in the window, placed by js/row-menu.js
   right-aligned under the button (above it where the window ends), so
   opening it changes neither the row's height nor the list's width. */
.engagement-menu[b-p335fj846b] {
    display: inline-flex;
    position: relative;
}

.engagement-menu-toggle[b-p335fj846b] {
    align-items: center;
    display: inline-flex;
    gap: 4px;
    white-space: nowrap;
}

.engagement-menu-items[b-p335fj846b] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    font-size: var(--text-sm);
    font-weight: var(--fw-regular);
    min-width: 200px;
    padding: 4px;
    position: fixed;
    text-align: left;
    white-space: nowrap;
    z-index: calc(var(--z-overlay) - 1);
}

.engagement-menu-item[b-p335fj846b] {
    background: none;
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--text-strong);
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-medium);
    padding: 8px 12px;
    text-align: left;
}

.engagement-menu-item:hover[b-p335fj846b],
.engagement-menu-item:focus-visible[b-p335fj846b] {
    background: var(--surface-sunken);
}

.engagement-menu-item:focus-visible[b-p335fj846b] {
    outline: 2px solid var(--border-focus);
    outline-offset: -2px;
}

.engagement-end[b-p335fj846b] {
    color: var(--danger-text);
}

.engagement-menu-note[b-p335fj846b] {
    color: var(--text-muted);
    padding: 8px 12px;
}

/* In a narrow row the date may move to a second line rather than widen the list. */
.engagement-ended[b-p335fj846b] {
    color: var(--text-muted);
    font-size: 12.5px;
    white-space: normal;
}
/* /Components/Ui/EngagementEvidencePanel.razor.rz.scp.css */
/* An order's evidence rows (E-227): the one button stands at the right of its row. */
.cell-action[b-jho9a58t0z] {
    text-align: right;
    white-space: nowrap;
}

.evidence-actions[b-jho9a58t0z] {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.fact[b-jho9a58t0z]  .data-table {
    margin-top: var(--space-3);
}
/* /Components/Ui/EvidenceFacts.razor.rz.scp.css */
/* The list and its own rows in the family the page names. Rows a page adds
   below them are the page's, and its own stylesheet sets them the same way. */

/* ---- The profile's evidence detail ---- */
.facts[b-ey6ou7o2sp] {
    display: grid;
    gap: var(--space-2) var(--space-5);
    grid-template-columns: max-content 1fr;
    margin: 0;
}

.facts dt[b-ey6ou7o2sp] {
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.facts dd[b-ey6ou7o2sp] {
    color: var(--text-strong);
    font-size: var(--text-sm);
    margin: 0;
}

@media (max-width: 640px) {
    .facts[b-ey6ou7o2sp] { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    .facts dt:not(:first-child)[b-ey6ou7o2sp] { margin-top: 12px; }
    .facts dd[b-ey6ou7o2sp] { overflow-wrap: anywhere; }
}

/* ---- The review mask ---- */
.review-tuple[b-ey6ou7o2sp] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: var(--space-4);
    row-gap: var(--space-1);
    margin: 0 0 var(--space-3);
}

.review-tuple dt[b-ey6ou7o2sp] {
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.review-tuple dd[b-ey6ou7o2sp] {
    margin: 0;
}
/* /Components/Ui/EvidenceHistoryList.razor.rz.scp.css */
.evidence-history[b-ioy3k52sig] { list-style: none; padding: 0; margin: 0; }
.evidence-history > li[b-ioy3k52sig] { padding: 1rem 0; border-bottom: 1px solid var(--border, #ddd); overflow-wrap: anywhere; }
.evidence-history [data-tuple-decision][b-ioy3k52sig] { margin-top: .5rem; }
/* /Components/Ui/EvidenceReviewDialog.razor.rz.scp.css */
/* Two columns: the document on the left as the proof, everything the
   decision rests on to the right. Narrow windows stack them, the document
   first. The box itself is widened by .modal-review in app.css. */
.review-subline[b-dylg6f2tl2] {
    color: var(--text-muted);
    font-size: var(--text-sm);
    margin: 0 0 var(--space-4);
}

.review-columns[b-dylg6f2tl2] {
    display: grid;
    gap: var(--space-6);
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: start;
}

.review-document[b-dylg6f2tl2] {
    min-width: 0;
}

.review-document-note[b-dylg6f2tl2] {
    margin: 0 0 var(--space-2);
}

.review-document-none[b-dylg6f2tl2] {
    background: var(--gray-100);
    border: 1px dashed var(--border-subtle);
    border-radius: var(--radius-md);
    padding: var(--space-6);
}

.review-facts[b-dylg6f2tl2] {
    min-width: 0;
}

.review-facts .modal-section:first-child[b-dylg6f2tl2] {
    margin-top: 0;
}

/* The person or firm the check compares the document with (E-220), laid out
   like the facts above it. */
.review-holder[b-dylg6f2tl2] {
    column-gap: var(--space-4);
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    margin: 0 0 var(--space-3);
    row-gap: var(--space-1);
}

.review-holder dd[b-dylg6f2tl2] {
    overflow-wrap: anywhere;
}

.review-tuple dt[b-dylg6f2tl2] {
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.review-tuple dd[b-dylg6f2tl2] {
    margin: 0;
}

.review-hints[b-dylg6f2tl2] {
    margin: 0;
    padding-left: var(--space-5);
}

.review-hints li[b-dylg6f2tl2] {
    margin-bottom: var(--space-1);
}

.review-history[b-dylg6f2tl2] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.review-history-entry[b-dylg6f2tl2] {
    border-top: 1px solid var(--border-subtle);
    padding: var(--space-2) 0;
}

.review-history-entry > span[b-dylg6f2tl2] {
    margin-right: var(--space-2);
}

.review-four-eyes[b-dylg6f2tl2] {
    background: var(--warning-100);
    border-radius: var(--radius-md);
    color: var(--warning-text);
    margin-top: var(--space-4);
    padding: var(--space-3) var(--space-4);
}

.review-four-eyes label[b-dylg6f2tl2] {
    align-items: center;
    display: flex;
    gap: var(--space-2);
    margin-top: var(--space-2);
}

.review-correction[b-dylg6f2tl2],
.review-reject[b-dylg6f2tl2] {
    border-top: 1px solid var(--border-subtle);
    margin-top: var(--space-3);
    padding-top: var(--space-3);
}

.review-actions[b-dylg6f2tl2] {
    margin-top: var(--space-4);
}

@media (max-width: 900px) {
    .review-columns[b-dylg6f2tl2] {
        grid-template-columns: minmax(0, 1fr);
    }

}

.review-expanded[b-dylg6f2tl2] {
    grid-template-columns: minmax(0, 1fr);
}

.review-expanded .review-facts[b-dylg6f2tl2] {
    display: none;
}

.review-document-tools[b-dylg6f2tl2] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--space-2);
}

.review-correction[b-dylg6f2tl2]  input[aria-invalid="true"] {
    border-color: var(--danger-500);
}
/* /Components/Ui/EvidenceViewDialog.razor.rz.scp.css */
/* The document first, at a height that leaves the facts and the versions in
   reach below it inside the dialog. */
.evidence-view-document[b-jhydr7gcaj] {
    margin-bottom: var(--space-5);
}

.evidence-view[b-jhydr7gcaj]  .review-viewer {
    height: 50vh;
    min-height: 280px;
}
/* /Components/Ui/FactChangeHistory.razor.rz.scp.css */
.fact-history-row[b-78d0q223yd] {
    display: grid;
    gap: 4px;
    padding: 13px 15px;
}

.fact-history-row + .fact-history-row[b-78d0q223yd] {
    border-top: 1px solid var(--border-subtle, #e0e4ec);
}

.fact-history-head[b-78d0q223yd] {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.fact-history-head strong[b-78d0q223yd] {
    font-size: 14px;
    font-weight: 600;
}

.fact-history-values[b-78d0q223yd] {
    color: #1c2330;
    font-size: 13px;
    margin: 0;
    overflow-wrap: anywhere;
}

.fact-history-meta[b-78d0q223yd] {
    color: #778296;
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
}

.fact-history-status-confirmed[b-78d0q223yd] {
    background: #e0f5eb;
    color: #176948;
}

.fact-history-status-declined[b-78d0q223yd] {
    background: #fdebed;
    color: #a43041;
}
/* /Components/Ui/FactChangeRequestDialog.razor.rz.scp.css */
/* Like the review mask: the document on the left as the proof, the request
   to the right. Narrow windows stack them, the document first. Without a
   document the facts take the box alone. The box is widened by .modal-review
   in app.css. */
.request-columns[b-t7wpsu9sze] {
    display: grid;
    gap: var(--space-6);
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: start;
}

.request-facts-only[b-t7wpsu9sze] {
    grid-template-columns: minmax(0, 1fr);
}

.request-document[b-t7wpsu9sze],
.request-facts[b-t7wpsu9sze] {
    min-width: 0;
}

.request-document-note[b-t7wpsu9sze] {
    margin: 0 0 var(--space-2);
}

.request-document-none[b-t7wpsu9sze] {
    background: var(--gray-100);
    border: 1px dashed var(--border-subtle);
    border-radius: var(--radius-md);
    padding: var(--space-6);
}

.request-tuple[b-t7wpsu9sze] {
    display: grid;
    gap: var(--space-1) var(--space-4);
    grid-template-columns: max-content minmax(0, 1fr);
    margin: 0;
}

.request-tuple dt[b-t7wpsu9sze] {
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.request-tuple dd[b-t7wpsu9sze] {
    margin: 0;
    overflow-wrap: anywhere;
}

.request-values[b-t7wpsu9sze] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.request-old[b-t7wpsu9sze] {
    color: var(--text-muted);
    text-decoration: line-through;
}

@media (max-width: 900px) {
    .request-columns[b-t7wpsu9sze] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Ui/FactChangeRequestsCard.razor.rz.scp.css */
.change-requests[b-flhe3oagfy] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.change-request[b-flhe3oagfy] {
    align-items: center;
    border-bottom: 1px solid var(--border-subtle);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: space-between;
    padding: 12px 0;
}

.change-request:first-child[b-flhe3oagfy] {
    padding-top: 0;
}

.change-request:last-child[b-flhe3oagfy] {
    border-bottom: none;
    padding-bottom: 0;
}

.change-request-text[b-flhe3oagfy] {
    display: flex;
    flex: 1 1 260px;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.change-request-person[b-flhe3oagfy] {
    font-weight: var(--fw-medium);
}

.change-request-field[b-flhe3oagfy] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.change-request-values[b-flhe3oagfy] {
    color: var(--text-strong);
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    overflow-wrap: anywhere;
}

.change-request-old[b-flhe3oagfy] {
    color: var(--text-muted);
    text-decoration: line-through;
}

.change-request-sub[b-flhe3oagfy] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.change-request-actions[b-flhe3oagfy] {
    display: flex;
    flex: none;
    gap: var(--space-2);
}
/* /Components/Ui/GlobalSearch.razor.rz.scp.css */
.global-search[b-i3islrekc6] {
    flex: 0 1 320px;
    min-width: 0;
    position: relative;
}

.global-search-icon[b-i3islrekc6] {
    color: var(--text-subtle);
    display: flex;
    left: 11px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.global-search-input[b-i3islrekc6] {
    background: var(--surface-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    box-sizing: border-box;
    color: var(--text-strong);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    padding: 8px 64px 8px 34px;
    width: 100%;
}

.global-search-kbd[b-i3islrekc6] {
    background: var(--navy-50);
    border: 1px solid var(--border-default);
    border-radius: 6px;
    color: var(--text-subtle);
    font-family: var(--font-mono);
    font-size: 11px;
    line-height: 1;
    padding: 4px 6px;
    pointer-events: none;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    white-space: nowrap;
}

.global-search-input:focus ~ .global-search-kbd[b-i3islrekc6] {
    display: none;
}

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

.global-search-input:focus[b-i3islrekc6] {
    border-color: var(--amber-500);
    box-shadow: 0 0 0 3px var(--ring);
    outline: none;
}

.global-search-panel[b-i3islrekc6] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    right: 0;
    max-height: 70vh;
    overflow-y: auto;
    padding: var(--space-2) 0;
    position: absolute;
    top: calc(100% + 6px);
    width: min(30rem, 90vw);
    z-index: var(--z-overlay);
}

.global-search-group + .global-search-group[b-i3islrekc6] {
    border-top: 1px solid var(--border-subtle);
    margin-top: var(--space-1);
    padding-top: var(--space-1);
}

.global-search-group-title[b-i3islrekc6] {
    color: var(--text-muted);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: 0.1em;
    padding: 8px 16px 4px;
    text-transform: uppercase;
}

.global-search-hit[b-i3islrekc6] {
    align-items: baseline;
    color: var(--text-strong);
    display: flex;
    font-size: var(--text-sm);
    gap: var(--space-3);
    justify-content: space-between;
    padding: 8px 16px;
    text-decoration: none;
}

.global-search-hit:hover[b-i3islrekc6],
.global-search-hit.active[b-i3islrekc6] {
    background: var(--gray-50);
    color: var(--text-strong);
    text-decoration: none;
}

.global-search-hit-label[b-i3islrekc6] {
    font-weight: var(--fw-medium);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.global-search-hit-detail[b-i3islrekc6] {
    color: var(--text-muted);
    flex: none;
    font-size: var(--text-xs);
    white-space: nowrap;
}

.global-search-more[b-i3islrekc6] {
    color: var(--text-link);
    display: block;
    font-size: var(--text-xs);
    font-weight: var(--fw-semibold);
    padding: 6px 16px 8px;
    text-decoration: none;
}

.global-search-more:hover[b-i3islrekc6] {
    text-decoration: underline;
}

.global-search-note[b-i3islrekc6] {
    color: var(--text-muted);
    font-size: var(--text-sm);
    margin: 0;
    padding: 10px 16px;
}

@media (max-width: 48rem) {
    .global-search[b-i3islrekc6] {
        flex: 1 1 100%;
    }

    .global-search-panel[b-i3islrekc6] {
        width: 100%;
    }
}
/* /Components/Ui/IdentityDocumentSides.razor.rz.scp.css */
.identity-kind[b-q46srgby2u] {
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--space-5);
    margin: 0 0 var(--space-3);
    padding: var(--space-3);
}

.identity-kind legend[b-q46srgby2u] {
    color: var(--text-subtle);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-eyebrow);
    padding: 0 var(--space-1);
    text-transform: uppercase;
}

.identity-kind-option[b-q46srgby2u] {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: var(--space-2);
}
/* /Components/Ui/InvitationEventHistory.razor.rz.scp.css */
.history-title[b-7eogy2ge0p] {
    color: var(--text-subtle);
    display: block;
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-eyebrow);
    margin-bottom: var(--space-2);
    text-transform: uppercase;
}

.history-entry[b-7eogy2ge0p] {
    display: flex;
    font-size: var(--text-xs);
    gap: var(--space-4);
    padding: 2px 0;
}

.history-time[b-7eogy2ge0p] {
    color: var(--text-subtle);
    font-family: var(--font-mono);
}

.history-reason[b-7eogy2ge0p] {
    color: var(--text-subtle);
}
/* /Components/Ui/InvitationForm.razor.rz.scp.css */
/* The channel choice of an invitation into the own firm - the same look as
   the upload link's in PersonInvitationDialog, the dialog it was taken from. */
.invitation-channel[b-nlwn5lf5lu] {
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-5);
    margin: 0 0 var(--space-3);
    padding: var(--space-3);
}

.invitation-channel legend[b-nlwn5lf5lu] {
    color: var(--text-subtle);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-eyebrow);
    padding: 0 var(--space-1);
    text-transform: uppercase;
}

.invitation-channel-option[b-nlwn5lf5lu] {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: var(--space-2);
}

.invitation-channel-option.is-disabled[b-nlwn5lf5lu] {
    color: var(--text-subtle);
}

.invitation-channel-reason[b-nlwn5lf5lu] {
    color: var(--text-subtle);
    flex-basis: 100%;
    font-size: var(--text-xs);
    margin: 0;
}

/* Vorname and Nachname side by side, as in "Anlegen" and "Mehrere einladen". */
.invitation-names[b-nlwn5lf5lu] {
    column-gap: var(--space-4);
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.invitation-matches[b-nlwn5lf5lu] {
    background: var(--warning-100);
    border-radius: var(--radius-md);
    color: var(--text-strong);
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 var(--space-3);
    padding: 10px 12px;
}

.invitation-matches p[b-nlwn5lf5lu] {
    margin: 0 0 var(--space-2);
}

@media (max-width: 640px) {
    .invitation-names[b-nlwn5lf5lu] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Ui/InvitationLinesForm.razor.rz.scp.css */
.invitation-lines[b-nc4742pcm9] {
    border-collapse: collapse;
    margin: 0 0 var(--space-2);
    width: 100%;
}

.invitation-lines th[b-nc4742pcm9] {
    color: var(--text-subtle);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-eyebrow);
    padding: 0 var(--space-1) var(--space-1);
    text-align: left;
    text-transform: uppercase;
}

.invitation-lines td[b-nc4742pcm9] {
    padding: var(--space-1);
    vertical-align: middle;
}

.invitation-lines input[b-nc4742pcm9] {
    width: 100%;
}

.invitation-lines tr.is-blocking input[b-nc4742pcm9] {
    border-color: var(--danger-text);
}

.invitation-line-mark td[b-nc4742pcm9] {
    font-size: var(--text-xs);
    padding-top: 0;
}

.invitation-line-mark.is-blocking td[b-nc4742pcm9] {
    color: var(--danger-text);
}

.invitation-line-mark.is-skipped td[b-nc4742pcm9] {
    color: var(--warning-text);
}

.invitation-lines-skipped[b-nc4742pcm9] {
    margin: 0 0 var(--space-3);
    padding-left: var(--space-4);
}

@media (max-width: 640px) {
    .invitation-lines thead[b-nc4742pcm9] {
        display: none;
    }

    .invitation-lines tr[data-line][b-nc4742pcm9] {
        display: grid;
        grid-template-columns: 1fr 1fr auto;
    }

    .invitation-lines tr[data-line] td:nth-child(3)[b-nc4742pcm9] {
        grid-column: 1 / 3;
    }
}
/* /Components/Ui/MemberAdministrationNav.razor.rz.scp.css */
.member-nav[b-gtntwu51gd] { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; margin-bottom: 28px; border: 1px solid var(--line, #dce0e8); border-radius: 24px; background: white; }
.member-nav[b-gtntwu51gd]  a { padding: 8px 18px; border-radius: 20px; color: #536078; font-size: 12px; font-weight: 600; text-decoration: none; }
.member-nav[b-gtntwu51gd]  a.active { background: #1e2532; color: white; }
.member-nav[b-gtntwu51gd]  a:focus-visible { outline: 2px solid #a76b00; outline-offset: 2px; }
/* /Components/Ui/MemberDialog.razor.rz.scp.css */
.user-card-label[b-qjxf36dqdo] { display: block; font-size: 11px; color: #69768d; margin-bottom: 5px; }
.user-contact[b-qjxf36dqdo] { display: block; color: #69768d; font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.user-contact[b-qjxf36dqdo]  a { color: #69768d; }
.user-last-active[b-qjxf36dqdo] { display: block; color: #69768d; font-size: 11px; line-height: 1.5; margin-top: 4px; }
.user-dialog-summary[b-qjxf36dqdo] { display: flex; align-items: center; gap: 10px; font-size: 12px; color: #69768d; margin-bottom: 20px; }
.user-dialog-tabs[b-qjxf36dqdo] { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border: 1px solid #dce0e8; border-radius: 24px; margin-bottom: 24px; width: fit-content; }
.user-dialog-tabs button[b-qjxf36dqdo] { background: transparent; border: 0; border-radius: 20px; padding: 9px 14px; font: inherit; font-size: 12px; cursor: pointer; color: #536078; }
.user-dialog-tabs button.selected[b-qjxf36dqdo] { background: #1e2532; color: white; }
.user-account[b-qjxf36dqdo] { display: grid; gap: 24px; }
.user-account form[b-qjxf36dqdo] { display: flex; align-items: flex-end; gap: 12px; }
.user-account form label[b-qjxf36dqdo] { flex: 1; margin: 0; }
.user-account form input[b-qjxf36dqdo], .user-account form select[b-qjxf36dqdo] { margin-bottom: 0; }
.user-account form button[b-qjxf36dqdo] { flex-shrink: 0; }
.user-account-actions[b-qjxf36dqdo] { border-top: 1px solid #e5e8ee; padding-top: 20px; }
.user-account-actions h3[b-qjxf36dqdo] { margin: 0 0 12px; font-size: 14px; }
.user-account-actions p[b-qjxf36dqdo] { color: #69768d; font-size: 12px; line-height: 1.6; }
.user-account-actions button + p[b-qjxf36dqdo] { margin-top: 24px; }
@media (max-width: 639px) {
    .user-account form[b-qjxf36dqdo] { flex-direction: column; align-items: stretch; }
    .user-dialog-tabs[b-qjxf36dqdo] { width: 100%; box-sizing: border-box; }
    .user-dialog-tabs button[b-qjxf36dqdo] { flex: 1 1 130px; min-height: 44px; padding: 8px; white-space: nowrap; }
}

.user-dialog-shell[b-qjxf36dqdo]  .user-management { display: flex; flex-direction: column; max-height: calc(100dvh - 32px); overflow: hidden; }
.user-dialog-shell[b-qjxf36dqdo]  .modal-head { flex-shrink: 0; }
.user-dialog-body[b-qjxf36dqdo] { overflow-y: auto; min-height: 0; padding: 0 2px; }
.user-dialog-shell[b-qjxf36dqdo]  .modal-actions { flex-shrink: 0; padding-top: 16px; border-top: 1px solid #e5e8ee; }

.personal-link-candidate[b-qjxf36dqdo] { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border-subtle); }
.personal-link-candidate span[b-qjxf36dqdo] { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.personal-link-candidate button[b-qjxf36dqdo] { flex: none; }
/* /Components/Ui/MemberScopeList.razor.rz.scp.css */
.member-scope[b-yxwiewpi08] { margin-top: 12px; }
.member-scope-label[b-yxwiewpi08] { display: block; font-size: 11px; color: #69768d; margin-bottom: 5px; }
.member-scope ul[b-yxwiewpi08] { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 13px; overflow-wrap: anywhere; }
.member-scope-empty[b-yxwiewpi08] { margin: 0; color: #69768d; font-size: 12px; }
/* /Components/Ui/MissingEvidencePanel.razor.rz.scp.css */
.missing-evidence[b-ioiovqq9iq] {
    margin-bottom: var(--space-6);
}

.panel-subtitle[b-ioiovqq9iq] {
    font-size: var(--text-sm);
    margin: var(--space-4) 0 var(--space-2);
}

/* Inside a section of the contractor's due list (NF) the subtitle reads like the page's own "Läuft ab". */
.expiry-section .panel-subtitle[b-ioiovqq9iq] {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

/* Several "einreichen" buttons beside the one way in: they wrap rather than
   push the row wider than a phone. */
.missing-evidence[b-ioiovqq9iq]  .cell-actions,
.missing-evidence[b-ioiovqq9iq]  .list-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}
/* /Components/Ui/OnBehalfPersonForm.razor.rz.scp.css */
/* The button and, after a request, the line on where it stands - right
   aligned where the button sits in a card head. */
.on-behalf-person-action[b-fx70yp4t3p] {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.add-person[b-fx70yp4t3p] {
    font-size: 12.5px;
    padding: 8px 14px;
    white-space: nowrap;
}

.on-behalf-note[b-fx70yp4t3p] {
    color: var(--text-muted);
    font-size: 12.5px;
    margin: 0;
    text-align: right;
}

/* The two reasons as radio lines, not as the stacked fields of the dialog. */
.on-behalf-reason[b-fx70yp4t3p] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0 0 var(--space-4);
    padding: 12px 14px;
}

.on-behalf-reason label[b-fx70yp4t3p] {
    align-items: center;
    display: flex;
    font-weight: var(--fw-regular);
    gap: 8px;
    margin: 0;
}

.on-behalf-reason input[type="radio"][b-fx70yp4t3p] {
    display: inline-block;
    margin: 0;
    width: auto;
}
/* /Components/Ui/OverviewCard.razor.rz.scp.css */
/* The card of the design system's project pages (P1, NP1-NP3): a title row
   with a rule beneath it, the body with its own inset. */
.overview-card[b-f5vy8zfnyv] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.overview-card-head[b-f5vy8zfnyv] {
    align-items: center;
    border-bottom: 1px solid var(--border-subtle);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    min-height: 61px;
    padding: 14px 20px;
}

.overview-card-heading[b-f5vy8zfnyv] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.overview-card-title[b-f5vy8zfnyv] {
    color: var(--text-strong);
    font-size: 15px;
    font-weight: var(--fw-semibold);
    letter-spacing: normal;
    margin: 0;
    text-transform: none;
}

.overview-card-count[b-f5vy8zfnyv] {
    color: var(--text-muted);
    font-size: 12.5px;
    font-weight: 500;
    margin-left: 6px;
}

.overview-card-body[b-f5vy8zfnyv] {
    min-width: 0;
    padding: 18px 20px;
}

.overview-card-body.overview-card-flush[b-f5vy8zfnyv] {
    overflow-x: auto;
    padding: 0;
}

/* The facts a card reads out: label left, value right, and on a phone the
   label over its value. */
.overview-card[b-f5vy8zfnyv]  .overview-facts {
    display: grid;
    gap: 12px 16px;
    grid-template-columns: 170px minmax(0, 1fr);
    margin: 0;
}

.overview-card[b-f5vy8zfnyv]  .overview-facts dt {
    color: var(--text-muted);
    font-size: 12.5px;
    font-weight: 500;
}

.overview-card[b-f5vy8zfnyv]  .overview-facts dd {
    color: var(--text-strong);
    font-size: 14px;
    line-height: 1.45;
    margin: 0;
    overflow-wrap: anywhere;
}

.overview-card[b-f5vy8zfnyv]  .overview-facts .fact-sub {
    color: var(--text-strong);
    display: block;
    font-size: 14px;
}

.overview-card[b-f5vy8zfnyv]  .fact-empty {
    color: var(--warning-text);
}

/* A table in a card, as the design draws it: small capitals in the head, a
   rule between the rows, none under the last. */
.overview-card[b-f5vy8zfnyv]  .card-table {
    border-collapse: collapse;
    width: 100%;
}

.overview-card[b-f5vy8zfnyv]  .card-table th {
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-muted);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.05em;
    padding: 10px 16px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.overview-card[b-f5vy8zfnyv]  .card-table td {
    border-bottom: 1px solid var(--border-subtle);
    font-size: 13.5px;
    padding: 12px 16px;
    vertical-align: middle;
}

.overview-card[b-f5vy8zfnyv]  .card-table tr:last-child td {
    border-bottom: none;
}

.overview-card[b-f5vy8zfnyv]  .card-table .cell-right {
    text-align: right;
}

.overview-card[b-f5vy8zfnyv]  .card-empty {
    color: var(--text-muted);
    font-size: 13.5px;
    line-height: 1.5;
    margin: 0;
    padding: 28px 20px;
    text-align: center;
}

.overview-card[b-f5vy8zfnyv]  .overview-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.overview-card[b-f5vy8zfnyv]  .overview-form-row {
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
}

.overview-card[b-f5vy8zfnyv]  .overview-form label {
    display: flex;
    flex-direction: column;
    font-size: var(--text-sm);
    gap: 4px;
    min-width: 0;
}

.overview-card[b-f5vy8zfnyv]  .overview-form input,
.overview-card[b-f5vy8zfnyv]  .overview-form select {
    min-width: 0;
    width: 100%;
}

.overview-card[b-f5vy8zfnyv]  .overview-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    justify-content: flex-end;
}

@media (max-width: 40rem) {
    .overview-card[b-f5vy8zfnyv]  .overview-facts {
        gap: 2px 0;
        grid-template-columns: minmax(0, 1fr);
    }

    .overview-card[b-f5vy8zfnyv]  .overview-facts dd {
        margin-bottom: 10px;
    }
}
/* /Components/Ui/OwnAdministrators.razor.rz.scp.css */
.admin-list[b-4wj2s8mnl4] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.admin-row[b-4wj2s8mnl4] {
    align-items: center;
    border-bottom: 1px solid var(--border-subtle);
    display: flex;
    gap: 12px;
    padding: 12px 0;
}

.admin-row:first-child[b-4wj2s8mnl4] {
    padding-top: 0;
}

.admin-row:last-child[b-4wj2s8mnl4] {
    border-bottom: none;
    padding-bottom: 0;
}

.admin-avatar[b-4wj2s8mnl4] {
    align-items: center;
    background: var(--navy-900);
    border-radius: 50%;
    color: var(--white);
    display: flex;
    flex: none;
    font-size: 12px;
    font-weight: var(--fw-semibold);
    height: 36px;
    justify-content: center;
    width: 36px;
}

.admin-text[b-4wj2s8mnl4] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.admin-name[b-4wj2s8mnl4] {
    color: var(--text-strong);
    font-weight: var(--fw-medium);
}

.admin-you[b-4wj2s8mnl4] {
    background: var(--gray-100);
    border-radius: var(--radius-pill);
    color: var(--gray-600);
    font-size: 10px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.06em;
    margin-left: 8px;
    padding: 2px 7px;
    text-transform: uppercase;
}

.admin-sub[b-4wj2s8mnl4] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    overflow-wrap: anywhere;
}

.admin-remove[b-4wj2s8mnl4] {
    align-self: flex-start;
    margin-top: 6px;
}

.admin-last[b-4wj2s8mnl4] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    margin-top: 4px;
}
/* /Components/Ui/OwnContactForm.razor.rz.scp.css */
.personal-contact-form[b-0idcd4nrlg] {
    display: grid;
    gap: 14px;
}

.personal-contact-form label[b-0idcd4nrlg] {
    display: flex;
    flex-direction: column;
    font-size: 13px;
    gap: 6px;
}

/* On the phone a field is at least 16 px text and 44 px high (E-171 (6)). */
.personal-contact-form input[type=tel][b-0idcd4nrlg],
.personal-contact-form select[b-0idcd4nrlg] {
    background: white;
    border: 1px solid #cbd1df;
    border-radius: 9px;
    box-sizing: border-box;
    color: #1c2330;
    font: inherit;
    font-size: 16px;
    min-height: 44px;
    padding: 10px;
    width: 100%;
}

.personal-note[b-0idcd4nrlg] {
    background: #eef6ee;
    border-radius: 10px;
    color: #1d5b2a;
    font-size: 14px;
    padding: 12px;
}

/* What is kept, read before it is changed (INGO-312). */
.personal-contact-read[b-0idcd4nrlg] {
    display: grid;
    gap: 10px;
    margin: 0 0 14px;
}

.personal-contact-read dt[b-0idcd4nrlg] {
    color: #778296;
    font-size: 12px;
}

.personal-contact-read dd[b-0idcd4nrlg] {
    color: #1c2330;
    font-size: 15px;
    margin: 2px 0 0;
    overflow-wrap: anywhere;
}

.personal-contact-actions[b-0idcd4nrlg] {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
}

.personal-contact-actions .btn-primary:only-child[b-0idcd4nrlg] {
    grid-column: 1 / -1;
}
/* /Components/Ui/OwnContactPersonForm.razor.rz.scp.css */
.contact-hint[b-an1gi98r2n] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    line-height: 1.5;
    margin: 0 0 var(--space-3);
}

.contact-person[b-an1gi98r2n] {
    align-items: flex-start;
    display: flex;
    gap: 12px;
}

.contact-avatar[b-an1gi98r2n] {
    align-items: center;
    background: var(--navy-900);
    border-radius: 50%;
    color: var(--white);
    display: flex;
    flex: none;
    font-size: 12px;
    font-weight: var(--fw-semibold);
    height: 36px;
    justify-content: center;
    width: 36px;
}

.contact-text[b-an1gi98r2n] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.contact-name[b-an1gi98r2n] {
    color: var(--text-strong);
    font-weight: var(--fw-medium);
}

.contact-none[b-an1gi98r2n] {
    color: var(--text-muted);
    font-size: var(--text-sm);
    margin: 0;
}

.contact-edit[b-an1gi98r2n] {
    border-top: 1px solid var(--border-subtle);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-top: var(--space-3);
    padding-top: var(--space-3);
}

.contact-edit-actions[b-an1gi98r2n] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}
/* /Components/Ui/OwnMasterDataForm.razor.rz.scp.css */
.master-data-grid[b-i0rgpsxnqn] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3) var(--space-4);
}

.master-data-grid label[b-i0rgpsxnqn] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    min-width: 0;
}

.span-2[b-i0rgpsxnqn] {
    grid-column: span 2;
}

@media (max-width: 640px) {
    .master-data-grid[b-i0rgpsxnqn] {
        grid-template-columns: 1fr;
    }

    .span-2[b-i0rgpsxnqn] {
        grid-column: auto;
    }
}
/* /Components/Ui/PersonAccessCards.razor.rz.scp.css */
/* The code is the one thing held up to somebody else, so it gets the room a
   phone can give it and a white frame that survives glare on a site. */
.status-pass[b-8aymgt5sus] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-sizing: border-box;
    margin-top: 22px;
    padding: 16px;
}

.status-pass-title[b-8aymgt5sus] {
    color: var(--text-strong);
    font: 600 14px var(--font-sans);
}

.status-qr[b-8aymgt5sus] {
    background: #fff;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    margin: 12px auto 0;
    max-width: 13rem;
    padding: 14px;
}

.status-qr[b-8aymgt5sus]  svg {
    display: block;
    height: auto;
    width: 100%;
}

.status-pass-text[b-8aymgt5sus] {
    color: var(--text-muted);
    font: 400 12.5px/1.5 var(--font-sans);
    margin-top: 10px;
    text-align: center;
}

.status-site[b-8aymgt5sus] { border:1px solid #d9e0e5; border-radius:12px; padding:20px; margin:16px 0; }
.status-site h3[b-8aymgt5sus] { margin:0 0 10px; }
.status-site-verdict[b-8aymgt5sus] { font-weight:600; }
@media print { button[b-8aymgt5sus] { display:none; } .status-site[b-8aymgt5sus] { break-inside:avoid; } }
.status-site-ok[b-8aymgt5sus] { border-left: 3px solid var(--success-500, #1ea867); }
.status-site-warning[b-8aymgt5sus] { border-left: 3px solid var(--warning-500, #e8952e); }
.status-site-danger[b-8aymgt5sus] { border-left: 3px solid var(--danger-500, #e5484d); }
.status-site-neutral[b-8aymgt5sus] { border-left: 3px solid var(--gray-400, #9aa3b2); }
.status-site-turns[b-8aymgt5sus], .status-site-until[b-8aymgt5sus] { color: var(--text-muted); font: 400 12.5px/1.45 var(--font-sans); margin: 4px 0 0; }
.status-reasons[b-8aymgt5sus], .status-hints[b-8aymgt5sus] { list-style: none; margin: 10px 0 0; padding: 0; }
.status-reasons li[b-8aymgt5sus], .status-hints li[b-8aymgt5sus] { border-top: 1px solid var(--border-subtle); padding: 9px 0; font: 500 13px var(--font-sans); }
.status-reasons a[b-8aymgt5sus], .status-hints a[b-8aymgt5sus] { color: var(--text-body); text-decoration: none; display: block; }
.status-hints li[b-8aymgt5sus] { color: var(--text-muted); font-weight: 400; }
.status-carrier[b-8aymgt5sus] { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; color: var(--text-muted); font: 400 12.5px var(--font-sans); }
.status-chip[b-8aymgt5sus] { border-radius: 999px; padding: 3px 9px; font: 600 11px var(--font-sans); }
.status-chip-ok[b-8aymgt5sus] { background: var(--success-100, #e2f5ec); color: var(--success-text, #0d6b41); }
/* /Components/Ui/PersonAccount.razor.rz.scp.css */
.account-state[b-yt2qggxb53] {
    margin: 0 0 6px;
}

.account-sub[b-yt2qggxb53] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    line-height: 1.5;
    margin: 0 0 var(--space-3);
    overflow-wrap: anywhere;
}

.account-role[b-yt2qggxb53] {
    border-top: 1px solid var(--border-subtle);
    padding-top: var(--space-3);
}

.account-role-label[b-yt2qggxb53] {
    color: var(--text-strong);
    display: block;
    font-size: var(--text-sm);
    font-weight: var(--fw-medium);
    margin-bottom: var(--space-2);
}

.account-roles[b-yt2qggxb53] {
    margin-bottom: var(--space-2);
}

.account-actions[b-yt2qggxb53] {
    border-top: 1px solid var(--border-subtle);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    padding-top: var(--space-3);
}
/* /Components/Ui/PersonAddDialog.razor.rz.scp.css */
/* "Person hinzufügen" (DS28 PersonHinzufuegen): the firm as a fixed line or
   a required choice, then the fields two to a row. */
.person-firm[b-jrot1oeql6] {
    margin-bottom: var(--space-3);
}

.person-firm-label[b-jrot1oeql6] {
    color: var(--text-strong);
    display: block;
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    margin-bottom: var(--space-1);
}

.person-firm-fixed[b-jrot1oeql6] {
    background: var(--surface-sunken);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    color: var(--text-strong);
    font-size: var(--text-sm);
    padding: 9px 12px;
}

.person-grid[b-jrot1oeql6] {
    column-gap: var(--space-4);
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.person-grid .person-check[b-jrot1oeql6] {
    align-items: center;
    align-self: end;
    flex-direction: row;
    gap: var(--space-2);
}

.person-matches[b-jrot1oeql6] {
    background: var(--warning-100);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin: 0 0 var(--space-4);
    padding: 10px 12px;
}

.person-matches p[b-jrot1oeql6] {
    margin: 0;
}

@media (max-width: 640px) {
    .person-grid[b-jrot1oeql6] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Ui/PersonalFactsCard.razor.rz.scp.css */
.personal-facts[b-btmbadsou2] {
    margin: 0;
}

.personal-fact[b-btmbadsou2] {
    border-bottom: 1px solid #edf0f5;
    display: grid;
    gap: 2px;
    padding: 10px 0;
}

.personal-fact:last-child[b-btmbadsou2] {
    border-bottom: none;
}

.personal-fact dt[b-btmbadsou2] {
    align-items: center;
    color: #778296;
    display: flex;
    font-size: 12px;
    gap: 8px;
    justify-content: space-between;
}

.personal-fact-label[b-btmbadsou2] {
    align-items: center;
    display: inline-flex;
    gap: 5px;
}

.personal-fact dd[b-btmbadsou2] {
    color: #1c2330;
    display: flex;
    flex-direction: column;
    font-size: 15px;
    gap: 4px;
    margin: 0;
    overflow-wrap: anywhere;
}

.personal-fact-change[b-btmbadsou2] {
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.personal-fact-open[b-btmbadsou2] {
    flex: none;
}

.personal-fact-pending[b-btmbadsou2] {
    color: #8a5a00;
    font-size: 13px;
}

.personal-note[b-btmbadsou2] {
    background: #eef6ee;
    border-radius: 10px;
    color: #1d5b2a;
    font-size: 14px;
    padding: 12px;
}

.personal-change-form[b-btmbadsou2] {
    border-top: 1px solid #edf0f5;
    display: grid;
    gap: 14px;
    margin-top: 12px;
    padding-top: 14px;
}

.personal-change-form h3[b-btmbadsou2] {
    font-size: 15px;
    margin: 0;
}

.personal-change-form label[b-btmbadsou2] {
    display: flex;
    flex-direction: column;
    font-size: 13px;
    gap: 6px;
}

.personal-change-form input[type=text][b-btmbadsou2],
.personal-change-form select[b-btmbadsou2] {
    background: white;
    border: 1px solid #cbd1df;
    border-radius: 9px;
    box-sizing: border-box;
    color: #1c2330;
    font: inherit;
    min-height: 44px;
    padding: 10px;
    width: 100%;
}

/* The birth date is the shared date field (INGO-310), drawn like the fields beside it. */
.personal-change-form[b-btmbadsou2]  .date-field {
    background: white;
    border: 1px solid #cbd1df;
    border-radius: 9px;
    box-sizing: border-box;
    color: #1c2330;
    font: inherit;
    min-height: 44px;
    padding: 10px;
    width: 100%;
}

.personal-change-reason[b-btmbadsou2] {
    border: 1px solid #cbd1df;
    border-radius: 9px;
    margin: 0;
    padding: 10px 12px;
}

.personal-change-reason legend[b-btmbadsou2] {
    font-size: 13px;
    padding: 0 4px;
}

.personal-change-form .personal-change-option[b-btmbadsou2] {
    align-items: center;
    flex-direction: row;
    font-size: 14px;
    gap: 10px;
    min-height: 40px;
}

.personal-change-option input[b-btmbadsou2] {
    height: 20px;
    margin: 0;
    width: 20px;
}

.personal-change-actions[b-btmbadsou2] {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
}

.personal-change-proof[b-btmbadsou2] {
    display: grid;
    gap: 8px;
}

.personal-change-proof input[type=file][b-btmbadsou2] {
    font-size: 12px;
    max-width: 100%;
}

/* The facts as one card (SPEC-A8): rows edge to edge, the request form beneath. */
.personal-facts-card[b-btmbadsou2] {
    margin: 0 0 12px;
    padding: 0;
}

.personal-facts-card .personal-facts[b-btmbadsou2] {
    padding: 0 15px;
}

.personal-facts-card > .personal-note[b-btmbadsou2],
.personal-facts-card > .personal-error[b-btmbadsou2] {
    margin: 12px 15px 0;
}

.personal-facts-card > .personal-change-form[b-btmbadsou2] {
    margin: 0;
    padding: 14px 15px 15px;
}

.personal-change-files[b-btmbadsou2] {
    display: grid;
    gap: 8px;
}

.personal-change-proof-hint[b-btmbadsou2] {
    font-size: 13px;
    margin: 0;
}

/* The document on file chosen, nothing is uploaded; a changed name or a new
   nationality brings a new document, so the one on file is not offered then
   and the upload shows whatever is chosen (E-224 (3)). The server holds the
   same rule for a browser without these selectors. */
.personal-change-proof:has([data-proof-on-file] input:checked) [data-proof-files][b-btmbadsou2] {
    display: none;
}

.personal-change-form:has(input[data-new-document]:checked) [data-proof-on-file][b-btmbadsou2] {
    display: none;
}

.personal-change-form:has(input[data-new-document]:checked) .personal-change-proof [data-proof-files][b-btmbadsou2] {
    display: grid;
}
/* /Components/Ui/PersonalMinimumWageCard.razor.rz.scp.css */
.personal-wage[b-4x29qsookj] { padding: 18px; margin: 20px 0; }
.personal-wage-heading[b-4x29qsookj] { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; }
.personal-wage-heading h2[b-4x29qsookj] { margin: 0; font-size: 18px; }
.personal-wage-heading p[b-4x29qsookj] { margin: 5px 0 0; color: var(--text-muted, #778296); font-size: 13px; }
.personal-wage-detail[b-4x29qsookj] { font-size: 14px; line-height: 1.6; margin: 16px 0; overflow-wrap: anywhere; }
.personal-wage button[b-4x29qsookj] { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: center; gap: 8px; white-space: normal; }
/* /Components/Ui/PersonalProfileHead.razor.rz.scp.css */
.profile-head[b-07u8ocjzqe] {
    align-items: center;
    display: flex;
    gap: 14px;
    margin: 4px 0 8px;
}

.profile-head-avatar[b-07u8ocjzqe] {
    align-items: center;
    background: var(--navy-900, #1c2330);
    border-radius: 50%;
    color: white;
    display: flex;
    flex: none;
    font-size: 20px;
    font-weight: 600;
    height: 64px;
    justify-content: center;
    object-fit: cover;
    width: 64px;
}

.profile-head-main[b-07u8ocjzqe] {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.profile-head-name[b-07u8ocjzqe] {
    font-size: 21px;
    font-weight: 600;
    letter-spacing: -.01em;
    line-height: 1.25;
    margin: 0;
    overflow-wrap: anywhere;
}

.profile-head-sub[b-07u8ocjzqe] {
    color: var(--text-muted, #778296);
    font-size: 13px;
    margin: 0;
}

.profile-head-portrait[b-07u8ocjzqe] {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    justify-self: start;
    margin-top: 4px;
}
/* /Components/Ui/PersonalSignIn.razor.rz.scp.css */
.sign-in-row[b-897im5171k] {
    display: grid;
    gap: 3px;
    padding: 13px 15px;
}

.sign-in-label[b-897im5171k] {
    align-items: center;
    color: #778296;
    display: flex;
    font-size: 12px;
    gap: 5px;
}

.sign-in-value[b-897im5171k] {
    color: #1c2330;
    font-size: 15px;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.sign-in-password[b-897im5171k] {
    align-items: center;
    border-top: 1px solid var(--border-subtle, #e0e4ec);
    color: #1c2330;
    display: flex;
    font-size: 14px;
    justify-content: space-between;
    min-height: 48px;
    padding: 0 15px;
    text-decoration: none;
}
/* /Components/Ui/PersonDetail.razor.rz.scp.css */
/* The profile head: avatar, name and affiliation on the left, the status
   on the right, above the page content. */
.profile-head[b-etz6ri8nv4] {
    align-items: center;
    border-bottom: 1px solid var(--border-subtle);
    display: flex;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding: 0 0 var(--space-4);
}

.profile-avatar[b-etz6ri8nv4] {
    align-items: center;
    background: var(--navy-900);
    border-radius: var(--radius-pill);
    color: var(--text-on-dark);
    display: flex;
    flex: none;
    font-size: var(--text-md);
    font-weight: var(--fw-semibold);
    height: 52px;
    justify-content: center;
    width: 52px;
}

.profile-title[b-etz6ri8nv4] {
    flex: 1;
    min-width: 0;
}

.profile-title h1[b-etz6ri8nv4] {
    font-size: var(--text-xl);
    margin: 0;
}

.profile-sub[b-etz6ri8nv4] {
    align-items: baseline;
    color: var(--text-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--text-sm);
    gap: var(--space-2);
    margin-top: var(--space-1);
}

.profile-dot[b-etz6ri8nv4] {
    color: var(--text-subtle);
}

.profile-status[b-etz6ri8nv4] {
    align-items: flex-end;
    display: flex;
    flex: none;
    flex-direction: column;
    gap: var(--space-1);
}

.profile-status-sub[b-etz6ri8nv4] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

/* Whether the person may work on this site today: the answer first, big
   enough to read in a second, the grounds beneath it. */
.site-verdict[b-etz6ri8nv4] {
    border-left: 4px solid currentColor;
    border-radius: var(--radius-md);
    margin: var(--space-3) 0 var(--space-2);
    padding: var(--space-3) var(--space-4);
}

.site-verdict-title[b-etz6ri8nv4] {
    font-size: var(--text-lg);
    font-weight: var(--fw-bold);
    margin: 0;
}

.site-verdict-grounds[b-etz6ri8nv4] {
    font-size: var(--text-sm);
    margin: var(--space-1) 0 0;
    padding-left: 1.1rem;
}

.site-verdict-ok[b-etz6ri8nv4] {
    background: var(--success-100);
    color: var(--success-text);
}

.site-verdict-danger[b-etz6ri8nv4] {
    background: var(--danger-100);
    color: var(--danger-text);
}

.site-verdict-warning[b-etz6ri8nv4] {
    background: var(--warning-100);
    color: var(--warning-text);
}

.site-verdict-neutral[b-etz6ri8nv4] {
    background: var(--gray-100);
    color: var(--text-muted);
}

/* Where the person stands on the site the page was opened from: one line
   under the head, in the tone of the recorded rows. */
.site-standing[b-etz6ri8nv4] {
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    margin: 0 0 var(--space-3);
    padding: var(--space-2) var(--space-3);
}

.site-standing-cleared[b-etz6ri8nv4] {
    background: var(--success-100);
    color: var(--success-text);
}

.site-standing-blocked[b-etz6ri8nv4] {
    background: var(--danger-100);
    color: var(--danger-text);
}

.site-standing-none[b-etz6ri8nv4] {
    background: var(--gray-100);
    color: var(--gray-600);
}

/* The person's standing blocks, one line each, in the tone of a block. */
.person-blocks[b-etz6ri8nv4] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    margin: 0 0 var(--space-3);
}

.person-block[b-etz6ri8nv4] {
    align-items: center;
    background: var(--danger-100);
    border-radius: var(--radius-md);
    color: var(--danger-text);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    gap: var(--space-2);
    margin: 0;
    padding: var(--space-2) var(--space-3);
}

.person-block-text[b-etz6ri8nv4] {
    flex: 1 1 16rem;
}

/* Horizontal tabs above the content, with the related firm alongside. */
.profile-body[b-etz6ri8nv4] {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}

.tab-panel[b-etz6ri8nv4] {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    min-width: 0;
}

.panel[b-etz6ri8nv4] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: var(--space-5) var(--space-6);
}

.panel[b-etz6ri8nv4]  .data-table {
    border: none;
    box-shadow: none;
}

.panel-title[b-etz6ri8nv4] {
    color: var(--text-muted);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: 0.07em;
    margin: 0 0 var(--space-4);
    text-transform: uppercase;
}

.timeline[b-etz6ri8nv4] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    list-style: none;
    margin: 0;
    padding: 0;
}

.timeline-entry[b-etz6ri8nv4] {
    border-bottom: 1px solid var(--border-subtle);
    display: flex;
    gap: var(--space-4);
    padding: var(--space-2) 0;
}

.timeline-entry:last-child[b-etz6ri8nv4] {
    border-bottom: none;
}

.timeline-date[b-etz6ri8nv4] {
    color: var(--text-muted);
    flex: none;
    font-size: var(--text-xs);
    width: 6.5rem;
}

.timeline-text[b-etz6ri8nv4] {
    color: var(--text-strong);
    font-size: var(--text-sm);
}

@media (max-width: 56rem) {
    .profile-head[b-etz6ri8nv4] {
        flex-wrap: wrap;
    }

    .profile-status[b-etz6ri8nv4] {
        align-items: flex-start;
    }
}

/* Everything that acts on this person, in one bar under their name. The
   design puts the actions next to who they act on, not on the list row. */
.profile-actions[b-etz6ri8nv4] {
    border-bottom: 1px solid var(--border-subtle);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    padding: 0 0 var(--space-4);
}

.profile-head[b-etz6ri8nv4] { flex-wrap: wrap; }

@media (max-width: 640px) {
    .profile-head[b-etz6ri8nv4] { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px 12px; align-items: start; }
    .profile-avatar[b-etz6ri8nv4] { width: 44px; height: 44px; font-size: var(--text-base); }
    .profile-title h1[b-etz6ri8nv4] { font-size: var(--text-lg); line-height: 1.25; overflow-wrap: anywhere; }
    .profile-sub[b-etz6ri8nv4] { display: block; font-size: var(--text-xs); line-height: 1.6; }
    .profile-sub > span[b-etz6ri8nv4] { display: block; }
    .profile-sub .profile-dot[b-etz6ri8nv4] { display: none; }
    .profile-status[b-etz6ri8nv4] { grid-column: 2; align-items: flex-start; }
    .profile-actions[b-etz6ri8nv4] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .profile-actions[b-etz6ri8nv4]  button { justify-content: center; padding: 8px; white-space: normal; line-height: 1.3; }
    .panel[b-etz6ri8nv4] { padding: var(--space-4); }
}

/* G7: the head as a card of its own - avatar, name, firm and standing, the
   actions, and the tabs along its lower edge with the open one underlined;
   the tab's cards and the related firm beneath it on the canvas. */
.person-head-card[b-etz6ri8nv4] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: 20px 22px;
}

.person-head-card .profile-head[b-etz6ri8nv4] {
    border-bottom: none;
    margin-bottom: 0;
    padding: 0;
}

.person-head-card .profile-title h1[b-etz6ri8nv4] {
    font-size: 21px;
    font-weight: var(--fw-semibold);
    line-height: 1.25;
}

.profile-firm-link[b-etz6ri8nv4] {
    background: none;
    border: none;
    color: var(--text-link);
    cursor: pointer;
    font: inherit;
    font-weight: var(--fw-medium);
    padding: 0;
}

.profile-firm-link:hover[b-etz6ri8nv4] {
    text-decoration: underline;
}

.profile-firm-link:focus-visible[b-etz6ri8nv4] {
    outline: 2px solid var(--border-focus);
    outline-offset: 2px;
}

.person-head-card .profile-actions[b-etz6ri8nv4] {
    border-bottom: none;
    padding: 18px 0 0;
}

/* A card's title as the design sets it: plain words, not small capitals. */
.panel-title[b-etz6ri8nv4] {
    color: var(--text-strong);
    font-size: 15px;
    letter-spacing: 0;
    text-transform: none;
}

@media (max-width: 640px) {
    .person-head-card[b-etz6ri8nv4] { padding: var(--space-4); }
    .person-head-card .profile-title h1[b-etz6ri8nv4] { font-size: var(--text-lg); }
}

/* N3P - the contractor's own person: the principal's verdict in the head,
   the facts as rows under two headings, the account beside the page. */
.profile-standing-line[b-etz6ri8nv4] {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.person-aside[b-etz6ri8nv4] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
}

.facts-heading[b-etz6ri8nv4] {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.06em;
    margin: var(--space-4) 0 var(--space-2);
    text-transform: uppercase;
}

.facts-rows[b-etz6ri8nv4] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.person-facts-card .panel-title-row[b-etz6ri8nv4] {
    align-items: center;
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
}

.person-facts-card .panel-title-row .panel-title[b-etz6ri8nv4] {
    margin: 0;
}

.facts-rows .fact[b-etz6ri8nv4] {
    align-items: baseline;
    display: grid;
    gap: var(--space-4);
    grid-template-columns: minmax(0, 12rem) minmax(0, 1fr);
    padding: 7px 0;
}

.facts-rows dt[b-etz6ri8nv4] {
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.facts-rows dd[b-etz6ri8nv4] {
    color: var(--text-strong);
    font-size: var(--text-sm);
    margin: 0;
}

@media (max-width: 640px) {
    .facts-rows .fact[b-etz6ri8nv4] {
        gap: 2px;
        grid-template-columns: minmax(0, 1fr);
    }
}

.fact-lock[b-etz6ri8nv4] {
    color: var(--text-muted);
    display: inline-flex;
    margin-left: 6px;
    vertical-align: -1px;
}


.profile-change-hint[b-etz6ri8nv4] {
    align-items: center;
    background: var(--warning-100);
    border: none;
    border-radius: var(--radius-pill);
    color: var(--warning-text);
    cursor: pointer;
    display: inline-flex;
    font-size: var(--text-xs);
    font-weight: var(--fw-medium);
    gap: 6px;
    margin-top: var(--space-2);
    padding: 4px 10px;
}

.person-profile-body[b-etz6ri8nv4] {
    min-width: 0;
}

/* "Zugang" beside "Qualifikationen" under the person's data (E-196 (4)). */
.person-overview-pair[b-etz6ri8nv4] {
    align-items: start;
    display: grid;
    gap: var(--space-5);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.person-access-line[b-etz6ri8nv4] {
    align-items: center;
    display: flex;
    font-size: var(--text-sm);
    gap: 8px;
    margin: 0 0 var(--space-2);
}

/* A card that runs its table to the edges: the title and its number in the head. */
.card-head[b-etz6ri8nv4] {
    border-bottom: 1px solid var(--border-subtle);
    margin: 0;
    padding: 18px 20px;
}

.card-head-row[b-etz6ri8nv4] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.card-head-row .panel-title[b-etz6ri8nv4] {
    margin: 0;
}

/* What the card offers stands on the right of its head, as a small outlined button (E-244). */
.card-head-action[b-etz6ri8nv4] {
    margin-left: auto;
}

.card-count[b-etz6ri8nv4] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-weight: var(--fw-medium);
    margin-left: 6px;
}

.card-empty[b-etz6ri8nv4] {
    margin: 0;
    padding: 24px 20px;
}

.evidence-link-row[b-etz6ri8nv4] {
    margin: 0;
}

/* The project the profile is read in, first and without a way further (E-179 (5)). */
.project-current td[b-etz6ri8nv4] {
    background: var(--surface-sunken);
}

.this-project[b-etz6ri8nv4] {
    background: var(--gray-100);
    border-radius: var(--radius-pill);
    color: var(--gray-600);
    font-size: 10.5px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.05em;
    margin-left: 8px;
    padding: 2px 8px;
    text-transform: uppercase;
}

/* The clearance's "⋯" keeps its column as narrow as the button (E-217, as the firm list since INGO-278):
   the decisions open beneath it and wrap there, so the projects stay inside their card. */
.clearance-action[b-etz6ri8nv4] {
    text-align: right;
    width: 1%;
}

.firm-panel-kicker[b-etz6ri8nv4] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-weight: var(--fw-semibold);
    letter-spacing: 0.05em;
    margin: 0 0 var(--space-2);
    text-transform: uppercase;
}

.carrier-blocked[b-etz6ri8nv4] {
    margin: var(--space-3) 20px 18px;
}

.carrier-actions[b-etz6ri8nv4] {
    padding: 0 20px 18px;
}

@media (max-width: 56rem) {
    .person-overview-pair[b-etz6ri8nv4] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* A card whose table runs to its edges: the head carries the padding, the table none. */
.panel-flush[b-etz6ri8nv4] {
    overflow: hidden;
    padding: 0;
}
/* /Components/Ui/PersonEvidenceCard.razor.rz.scp.css */
/* A person's evidence card: the title with its number and what it says
   beside it, then the table to the card's edges. */
.evidence-card-head[b-4zqwennj2i] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--border-subtle);
    gap: var(--space-2) var(--space-3);
    padding: 14px 20px;
}

.evidence-card-head .panel-title[b-4zqwennj2i] {
    margin: 0;
}

.evidence-card-count[b-4zqwennj2i] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-weight: var(--fw-medium);
    margin-left: 6px;
}

.evidence-card-note[b-4zqwennj2i] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.evidence-card-actions[b-4zqwennj2i] {
    display: inline-flex;
    gap: var(--space-2);
    margin-left: auto;
}

.evidence-actions[b-4zqwennj2i] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    justify-content: flex-end;
}

.person-evidence-card[b-4zqwennj2i] {
    overflow: hidden;
    padding: 0;
}

/* The same columns in every card, so the three tables line up beneath each other. */
.evidence-col-name[b-4zqwennj2i] {
    width: 38%;
}

.evidence-col-standing[b-4zqwennj2i] {
    width: 22%;
}

.evidence-col-until[b-4zqwennj2i] {
    width: 14%;
}

.evidence-col-action[b-4zqwennj2i] {
    width: 26%;
}
/* /Components/Ui/PersonFactsCard.razor.rz.scp.css */
/* "Personendaten": the card's head with its action, then the facts row by
   row in two columns of label over value with a hairline between them. */
.person-facts-card[b-butc7d2gt0] {
    padding: 0;
}

.panel-title-row[b-butc7d2gt0] {
    align-items: center;
    display: flex;
    gap: var(--space-3);
    justify-content: space-between;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--border-subtle);
    padding: 16px 20px;
}

.panel-title-row .panel-title[b-butc7d2gt0] {
    margin: 0;
}

.person-facts-body[b-butc7d2gt0] {
    padding: 18px 20px;
}

.person-facts-grid[b-butc7d2gt0] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

/* Row by row: each fact names its column, the hairline runs down the second. */
.person-fact[data-column="1"][b-butc7d2gt0] {
    grid-column: 1;
    padding: 2px 26px 17px 0;
}

.person-fact[data-column="2"][b-butc7d2gt0] {
    border-left: 1px solid var(--border-subtle);
    grid-column: 2;
    padding: 2px 0 17px 26px;
}

.person-fact:last-child[b-butc7d2gt0] {
    padding-bottom: 2px;
}

.person-fact[b-butc7d2gt0] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.person-fact dt[b-butc7d2gt0] {
    align-items: center;
    color: var(--text-muted);
    display: inline-flex;
    font-size: var(--text-xs);
}

.person-fact dd[b-butc7d2gt0] {
    color: var(--text-strong);
    font-size: var(--text-sm);
    margin: 0;
    overflow-wrap: anywhere;
}

.fact-lock[b-butc7d2gt0] {
    color: var(--text-muted);
    display: inline-flex;
    margin-left: 6px;
}

.person-facts-missing[b-butc7d2gt0] {
    color: var(--warning-text);
    font-size: var(--text-sm);
    margin: var(--space-4) 0 0;
}

@media (max-width: 56rem) {
    .person-facts-grid[b-butc7d2gt0] {
        grid-template-columns: minmax(0, 1fr);
    }

    .person-fact[data-column="1"][b-butc7d2gt0],
    .person-fact[data-column="2"][b-butc7d2gt0] {
        border-left: none;
        grid-column: 1;
        padding: 0 0 17px;
    }

    .person-fact:last-child[b-butc7d2gt0] {
        padding-bottom: 0;
    }
}
/* /Components/Ui/PersonFactsDialog.razor.rz.scp.css */
.facts-form[b-f32ruc803n] {
    display: grid;
    gap: var(--space-3) var(--space-4);
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.facts-label[b-f32ruc803n] {
    align-items: center;
    display: inline-flex;
    gap: 6px;
}

.facts-lock[b-f32ruc803n] {
    color: var(--text-muted);
    display: inline-flex;
}

.facts-lock-note[b-f32ruc803n] {
    align-items: center;
    display: flex;
    gap: 6px;
}

.facts-reason[b-f32ruc803n] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    margin: var(--space-3) 0 0;
    padding: var(--space-3) var(--space-4);
}

.facts-reason legend[b-f32ruc803n] {
    font-size: var(--text-sm);
    font-weight: var(--fw-medium);
    padding: 0 4px;
}

.facts-reason-option[b-f32ruc803n] {
    align-items: center;
    display: flex;
    flex-direction: row;
    font-weight: var(--fw-regular);
    gap: var(--space-2);
    margin: 6px 0;
}

.facts-reason-option input[b-f32ruc803n] {
    flex: none;
    height: 16px;
    margin: 0;
    padding: 0;
    width: 16px;
}

.facts-check[b-f32ruc803n] {
    align-items: center;
    align-self: end;
    display: flex;
    flex-direction: row;
    gap: var(--space-2);
}

.facts-form [data-employment-derived][b-f32ruc803n] {
    grid-column: 1 / -1;
    margin: 0;
}
/* /Components/Ui/PersonInvitationDialog.razor.rz.scp.css */
.person-invitation-title[b-er0qgbhptn] {
    color: var(--text-strong);
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    margin: var(--space-5) 0 var(--space-2);
}

.person-invitation-history[b-er0qgbhptn] {
    color: var(--text-muted);
    display: flex;
    flex-direction: column;
    font-size: var(--text-sm);
    gap: var(--space-2);
    list-style: none;
    margin: 0;
    padding: 0;
}

.person-invitation-channel[b-er0qgbhptn] {
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: row;
    gap: var(--space-5);
    margin: 0 0 var(--space-3);
    padding: var(--space-3);
}

.person-invitation-channel legend[b-er0qgbhptn] {
    color: var(--text-subtle);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-eyebrow);
    padding: 0 var(--space-1);
    text-transform: uppercase;
}

.person-invitation-option[b-er0qgbhptn] {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: var(--space-2);
}

.person-invitation-reason[b-er0qgbhptn] {
    color: var(--danger-text);
    font-size: var(--text-xs);
}
/* /Components/Ui/PersonPortrait.razor.rz.scp.css */
/* The head's portrait: the picture or the initials in the avatar's square,
   the way to store one beneath it. */
.head-portrait[b-05d0bb6o4n] {
    align-items: center;
    display: flex;
    flex: none;
    flex-direction: column;
    gap: 6px;
    max-width: 96px;
    min-width: 60px;
}

.head-portrait-photo[b-05d0bb6o4n],
.head-portrait-initials[b-05d0bb6o4n] {
    border-radius: var(--radius-md);
    height: 60px;
    width: 60px;
}

.head-portrait-photo[b-05d0bb6o4n] {
    object-fit: cover;
}

.head-portrait-initials[b-05d0bb6o4n] {
    align-items: center;
    background: var(--navy-900);
    color: var(--text-on-dark);
    display: flex;
    font-size: 20px;
    font-weight: var(--fw-medium);
    justify-content: center;
}

/* Storing or replacing the picture is an action: a small outlined button
   beneath it (E-244), its words wrapping within the column. */
.portrait-choose[b-05d0bb6o4n] {
    line-height: 1.25;
    overflow: hidden;
    padding: 5px 8px;
    position: relative;
    text-align: center;
}

.portrait-choose:focus-within[b-05d0bb6o4n] {
    outline: 2px solid var(--border-focus);
    outline-offset: 2px;
}

.portrait-choose[b-05d0bb6o4n]  input[type=file] {
    cursor: pointer;
    inset: 0;
    opacity: 0;
    position: absolute;
}

.portrait-error[b-05d0bb6o4n] {
    color: var(--danger-text, #a43041);
    font-size: var(--text-xs);
    margin: 0;
    max-width: 10rem;
}

@media (max-width: 640px) {
    .head-portrait[b-05d0bb6o4n] {
        max-width: 84px;
        min-width: 44px;
    }

    .head-portrait-photo[b-05d0bb6o4n],
    .head-portrait-initials[b-05d0bb6o4n] {
        font-size: var(--text-base);
        height: 44px;
        width: 44px;
    }
}
/* /Components/Ui/PersonProjectsCell.razor.rz.scp.css */
.person-project-link[b-swwkc6lgt4],
.person-projects-many[b-swwkc6lgt4] {
    display: inline-block;
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
}

.person-projects-many[b-swwkc6lgt4] {
    cursor: help;
    text-decoration: underline dotted;
}
/* /Components/Ui/PersonQualifications.razor.rz.scp.css */
.qualification-list[b-7mr7j0qc79] { list-style: none; padding: 0; }
.qualification-list li[b-7mr7j0qc79] { margin-block: var(--space-3); }
h3[b-7mr7j0qc79] { font-size: var(--text-sm); margin-top: var(--space-4); }
.badge[b-7mr7j0qc79], .qualification-decision[b-7mr7j0qc79] { margin-left: var(--space-2); }
/* /Components/Ui/PersonRow.razor.rz.scp.css */
.person-name-cell[b-oju5b37vad] {
    align-items: center;
    display: flex;
    gap: 10px;
}

.person-initials[b-oju5b37vad] {
    align-items: center;
    background: var(--gray-100);
    border: 1px solid var(--border-subtle);
    border-radius: 50%;
    color: var(--gray-600);
    display: inline-flex;
    flex: none;
    font-size: 11px;
    font-weight: var(--fw-semibold);
    height: 30px;
    justify-content: center;
    width: 30px;
}

/* The portrait in the initials' circle, cut to fill it. */
.person-photo[b-oju5b37vad] {
    background: var(--gray-100);
    object-fit: cover;
}

.person-name-lines[b-oju5b37vad] {
    display: flex;
    flex-direction: column;
}


.presence-chip[b-oju5b37vad] {
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    color: var(--text-body);
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    padding: 3px 10px;
    white-space: nowrap;
}

.presence-chip-waiver[b-oju5b37vad] {
    background: var(--warning-50, #fff8ec);
    border-color: var(--warning-500);
    color: var(--warning-text);
}

.person-action[b-oju5b37vad] {
    text-align: right;
}

.person-site-verdict[b-oju5b37vad] {
    display: block;
}

.person-site-blocked[b-oju5b37vad] {
    color: var(--danger-text);
}

.person-standing-note[b-oju5b37vad] {
    display: block;
}
/* /Components/Ui/PersonUploadDocumentForm.razor.rz.scp.css */
.upload-form[b-176we2ag9z] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-top: var(--space-3);
}

.upload-pick[b-176we2ag9z] {
    color: var(--text-muted);
    display: flex;
    flex-direction: column;
    font-size: var(--text-sm);
    gap: var(--space-1);
}

.upload-pick-types[b-176we2ag9z] {
    font-size: var(--text-xs);
}

.upload-pick input[b-176we2ag9z] {
    font-size: var(--text-sm);
    max-width: 100%;
}

.upload-wide[b-176we2ag9z] {
    min-height: 44px;
    width: 100%;
}

.upload-wide:disabled[b-176we2ag9z] {
    cursor: not-allowed;
    opacity: 0.5;
}

.upload-pick input[type="file"][b-176we2ag9z] {
    width: 100%;
    box-sizing: border-box;
    padding: var(--space-2);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-card);
    font-family: var(--font-sans);
}

.upload-pick input:focus-visible[b-176we2ag9z] {
    outline: none;
    border-color: var(--amber-500);
    box-shadow: 0 0 0 3px var(--ring);
}

.upload-pick input[b-176we2ag9z]::file-selector-button {
    padding: var(--space-2) var(--space-3);
    margin-right: var(--space-2);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--surface-sunken);
    font: inherit;
}

.upload-kind[b-176we2ag9z] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-top: var(--space-3);
}

.upload-kind-question[b-176we2ag9z] {
    color: var(--text-strong);
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    margin: 0;
}

.upload-kind-hint[b-176we2ag9z] {
    color: var(--text-muted);
    font-size: var(--text-sm);
    margin: 0;
}

.upload-kind-choice[b-176we2ag9z] {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    text-align: center;
}

.upload-kind-change[b-176we2ag9z] {
    font-size: var(--text-sm);
}

.upload-form-error[b-176we2ag9z] {
    background: var(--danger-100);
    border-radius: var(--radius-md);
    color: var(--danger-text);
    font-size: var(--text-sm);
    margin: 0;
    padding: var(--space-3) var(--space-4);
}

.upload-form-error[hidden][b-176we2ag9z] {
    display: none;
}
/* /Components/Ui/PrincipalBlockCards.razor.rz.scp.css */
/* A block card reads like the site cards beside it (PersonAccessCards). */
.status-site[b-95orf343en] { border:1px solid #d9e0e5; border-radius:12px; padding:20px; margin:16px 0; }
.status-site h3[b-95orf343en] { margin:0 0 10px; }
.status-site-verdict[b-95orf343en] { font-weight:600; }
@media print { .status-site[b-95orf343en] { break-inside:avoid; } }
.status-site-danger[b-95orf343en] { border-left: 3px solid var(--danger-500, #e5484d); }
.status-reasons[b-95orf343en] { list-style: none; margin: 10px 0 0; padding: 0; }
.status-reasons li[b-95orf343en] { border-top: 1px solid var(--border-subtle); padding: 9px 0; font: 500 13px var(--font-sans); }
/* /Components/Ui/ProjectContactEntry.razor.rz.scp.css */
.contact-entry[b-j6nfx24kvu] {
    border-bottom: 1px solid var(--border-subtle);
    padding: 14px 0;
}

.contact-entry:first-child[b-j6nfx24kvu] {
    padding-top: 0;
}

.contact-entry:last-child[b-j6nfx24kvu] {
    border-bottom: none;
    padding-bottom: 0;
}

.contact-role[b-j6nfx24kvu] {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.08em;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.contact-holder + .contact-holder[b-j6nfx24kvu] {
    margin-top: 12px;
}

.contact-name[b-j6nfx24kvu] {
    color: var(--text-strong);
    display: block;
    font-size: 14.5px;
    font-weight: var(--fw-semibold);
    margin-bottom: 6px;
}

.contact-ways[b-j6nfx24kvu] {
    display: flex;
    flex-direction: column;
    font-size: 13.5px;
    gap: 4px;
}

.contact-way[b-j6nfx24kvu] {
    align-items: center;
    display: flex;
    gap: 8px;
}

.contact-way[b-j6nfx24kvu]  svg {
    color: var(--text-muted);
    flex: none;
}

.contact-none[b-j6nfx24kvu] {
    color: var(--text-muted);
    font-size: 12.5px;
}

.fact-empty[b-j6nfx24kvu] {
    color: var(--warning-text);
}

/* "Anrufen" is a phone's affordance: on a desk the number already dials. */
.contact-call[b-j6nfx24kvu] {
    display: none;
}

@media (max-width: 40rem) {
    .contact-call[b-j6nfx24kvu] {
        display: inline-flex;
        margin-top: 10px;
    }
}
/* /Components/Ui/ProjectCreateDialog.razor.rz.scp.css */
.project-selected-contact[b-5d17qqck5k] {
    align-items: baseline;
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    color: var(--text-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 12.5px;
    gap: 6px 14px;
    margin-top: 12px;
    overflow-wrap: anywhere;
    padding: 9px 12px;
}

.project-contact-caption[b-5d17qqck5k] {
    color: var(--text-subtle);
    font-size: 10px;
    font-weight: var(--fw-semibold);
    letter-spacing: .06em;
    text-transform: uppercase;
}
/* /Components/Ui/ProjectFormDialog.razor.rz.scp.css */
.project-form-host[b-o7708nz177]  .project-form-dialog {
    display: flex;
    flex-direction: column;
    max-width: 760px;
    max-height: 90dvh;
    overflow: hidden;
    padding: 0;
}

.project-form-host[b-o7708nz177]  .modal-head {
    border-bottom: 1px solid var(--border-subtle);
    flex: none;
    margin: 0;
    padding: 20px 24px;
}

.project-form-host[b-o7708nz177]  .modal-head h2 {
    font-size: 18px;
}

.project-form-host[b-o7708nz177]  .modal-close {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 32px;
    min-width: 32px;
}

.project-form-host[b-o7708nz177]  form {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.project-form-host[b-o7708nz177]  .project-dialog-body {
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 22px 24px;
}

.project-form-host[b-o7708nz177]  .project-form-section {
    border-top: 1px solid var(--border-subtle);
    margin: 20px 0 0;
    padding-top: 18px;
}

.project-form-host[b-o7708nz177]  .project-form-section:first-child {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
}

.project-form-host[b-o7708nz177]  .project-section-title {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: .08em;
    margin: 0 0 12px;
    text-transform: uppercase;
}

.project-form-host[b-o7708nz177]  .project-fields {
    border: 0;
    margin: 16px 0 0;
    min-width: 0;
    padding: 0;
}

.project-form-host[b-o7708nz177]  .project-field {
    display: flex;
    flex-direction: column;
    font-size: 12px;
    font-weight: var(--fw-semibold);
    gap: 6px;
    margin: 0;
    min-width: 0;
}

.project-form-host[b-o7708nz177]  .project-field input,
.project-form-host[b-o7708nz177]  .project-field select {
    font-size: 14px;
    margin: 0;
    min-width: 0;
    padding: 9px 12px;
}

.project-form-host[b-o7708nz177]  .project-field select {
    padding-right: 28px;
}

.project-form-host[b-o7708nz177]  .project-field input[readonly],
.project-form-host[b-o7708nz177]  .project-fields:disabled input,
.project-form-host[b-o7708nz177]  .project-fields:disabled select {
    background-color: var(--surface-sunken);
    color: var(--text-muted);
    opacity: 1;
}

.project-form-host[b-o7708nz177]  .project-field-row {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 16px;
}

.project-form-host[b-o7708nz177]  .project-fields > .project-field-row:first-child {
    margin-top: 0;
}

.project-form-host[b-o7708nz177]  .project-form-hint {
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.5;
    margin: 12px 0 0;
}

.project-form-host[b-o7708nz177]  .project-dialog-footer {
    align-items: center;
    background: var(--surface-card);
    border-top: 1px solid var(--border-subtle);
    display: flex;
    flex: none;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    padding: 16px 24px;
}

.project-form-host[b-o7708nz177]  .project-dialog-footer .modal-error,
.project-form-host[b-o7708nz177]  .project-validation {
    flex-basis: 100%;
    margin: 0;
}

.project-form-host[b-o7708nz177]  .quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.project-form-host[b-o7708nz177]  .quick-actions a {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.project-form-host[b-o7708nz177]  .project-lifecycle summary {
    align-items: center;
    color: var(--text-muted);
    cursor: pointer;
    font-size: 13px;
    font-weight: var(--fw-semibold);
}

.project-form-host[b-o7708nz177]  .project-lifecycle summary .badge {
    margin-left: 8px;
}

.project-form-host[b-o7708nz177]  .project-lifecycle .quick-actions {
    margin-top: 12px;
}

.project-form-host[b-o7708nz177]  .project-archive {
    color: var(--danger-text);
}

.project-form-host[b-o7708nz177]  .project-lifecycle .modal-error {
    margin: 12px 0 0;
}

@media (max-width: 640px) {
    .project-form-host[b-o7708nz177]  .project-field-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .project-form-host[b-o7708nz177]  .modal-head,
    .project-form-host[b-o7708nz177]  .project-dialog-body,
    .project-form-host[b-o7708nz177]  .project-dialog-footer {
        padding: 16px;
    }

    .project-form-host[b-o7708nz177]  .project-dialog-footer .btn-primary {
        flex: 1;
    }
}

.project-form-host[b-o7708nz177]  .project-validation:empty {
    display: none;
}

.project-form-host[b-o7708nz177]  .project-validation ul {
    margin: 0;
    padding-left: 18px;
}

.project-form-host[b-o7708nz177]  .project-field-row-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 640px) {
    .project-form-host[b-o7708nz177]  .project-field-row-two {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Ui/ProjectHints.razor.rz.scp.css */
.hint-list[b-7dwjsuhfkr] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* One box per cause in its tone; the link at the right stretches over the
   whole box, so the box itself is the way there. */
.hint[b-7dwjsuhfkr] {
    align-items: center;
    background: var(--danger-100);
    border: 1px solid var(--danger-500);
    border-radius: var(--radius-md);
    color: var(--text-strong);
    display: flex;
    flex-wrap: wrap;
    font-size: 13.5px;
    gap: 6px 14px;
    justify-content: space-between;
    padding: 13px 16px;
    position: relative;
}

.hint:hover[b-7dwjsuhfkr] {
    box-shadow: var(--shadow-sm);
}

.hint-warning[b-7dwjsuhfkr] {
    background: var(--warning-100);
    border-color: var(--warning-500);
}

.hint-neutral[b-7dwjsuhfkr] {
    background: var(--surface-sunken);
    border-color: var(--border-strong);
}

.hint-text[b-7dwjsuhfkr] {
    flex: 1 1 16rem;
    min-width: 0;
}

.hint-action[b-7dwjsuhfkr] {
    color: var(--text-link);
    font-weight: var(--fw-semibold);
    white-space: nowrap;
}

a.hint-action[b-7dwjsuhfkr]::after {
    content: "";
    inset: 0;
    position: absolute;
}

a.hint-action:hover[b-7dwjsuhfkr] {
    text-decoration: none;
}

.hint-note[b-7dwjsuhfkr] {
    color: var(--text-muted);
    font-size: 12.5px;
}
/* /Components/Ui/ProjectResponsibilitiesCard.razor.rz.scp.css */
.responsibility-holder[b-c5nchkn70t] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.responsibility-holder + .responsibility-holder[b-c5nchkn70t] {
    margin-top: var(--space-2);
}

.responsibility-reach[b-c5nchkn70t] {
    display: flex;
    flex-wrap: wrap;
    font-size: var(--text-xs);
    gap: 2px var(--space-3);
}
/* /Components/Ui/ProjectRoleCard.razor.rz.scp.css */
.project-role[b-r4zaxklvp9] {
    background: var(--surface-sunken);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    margin-bottom: 12px;
    padding: 12px 14px;
}

.project-role-heading[b-r4zaxklvp9] {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 3px;
}

.project-role h4[b-r4zaxklvp9] {
    color: var(--text-strong);
    font-size: 13px;
    font-weight: var(--fw-semibold);
    margin: 0;
}

.project-role-required[b-r4zaxklvp9] {
    background: var(--warning-100);
    border-radius: var(--radius-pill);
    color: var(--warning-text);
    font-size: 10px;
    font-weight: var(--fw-semibold);
    letter-spacing: .04em;
    padding: 2px 7px;
    text-transform: uppercase;
}
/* /Components/Ui/ProjectStanding.razor.rz.scp.css */
.standing-tiles[b-gl4t9g988t] {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
/* /Components/Ui/QualificationNotesCard.razor.rz.scp.css */
.qualification-notes-scroll[b-mwnrfcljsj] {
    max-width: 100%;
    overflow-x: auto;
}

.qualification-notes-info[b-mwnrfcljsj] {
    color: var(--text-muted);
    vertical-align: middle;
    cursor: help;
}

.qualification-note-expired[b-mwnrfcljsj] {
    color: var(--danger-text);
    font-weight: 600;
}

.qualification-note-validity[b-mwnrfcljsj] {
    border: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: var(--space-3);
    align-items: center;
    flex-wrap: wrap;
}

.qualification-note-confirm[b-mwnrfcljsj] {
    display: inline-flex;
    gap: var(--space-2);
    align-items: center;
    flex-wrap: wrap;
}
/* /Components/Ui/ReadyRatio.razor.rz.scp.css */
.ready-ratio[b-4mizcvz779] {
    border-bottom: 1px dotted currentColor;
    cursor: help;
    font-family: var(--font-mono);
    font-size: 12.5px;
    font-variant-numeric: tabular-nums;
    font-weight: var(--fw-semibold);
    white-space: nowrap;
}

.ready-ratio-ok[b-4mizcvz779] { color: var(--success-text); }
.ready-ratio-neutral[b-4mizcvz779] { color: var(--gray-600); }
.ready-ratio-bad[b-4mizcvz779] { color: var(--danger-text); }
.ready-ratio-empty[b-4mizcvz779] { color: var(--text-subtle); }
/* /Components/Ui/RegistrationBadge.razor.rz.scp.css */
.registration-badge[b-2i3bldv0dj] {
    align-items: center;
    border-radius: var(--radius-pill);
    display: inline-flex;
    font-size: 12px;
    font-weight: var(--fw-semibold);
    gap: 6px;
    padding: 3px 9px;
    white-space: nowrap;
}

.registration-badge[b-2i3bldv0dj]::before {
    background: currentColor;
    border-radius: 50%;
    content: "";
    height: 6px;
    width: 6px;
}

.registration-badge-ok[b-2i3bldv0dj] { background: var(--success-100); color: var(--success-text); }
.registration-badge-warn[b-2i3bldv0dj] { background: var(--warning-100); color: var(--warning-text); }
.registration-badge-bad[b-2i3bldv0dj] { background: var(--danger-100); color: var(--danger-text); }
.registration-badge-neutral[b-2i3bldv0dj] { background: var(--gray-100); color: var(--gray-600); }

.registration-unknown[b-2i3bldv0dj] {
    color: var(--text-subtle);
}
/* /Components/Ui/RegistrationCell.razor.rz.scp.css */
.registration-cell[b-1qnhfb0vy5] {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
}

.registration-word[b-1qnhfb0vy5] {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    white-space: nowrap;
}

.registration-resend[b-1qnhfb0vy5] {
    align-self: flex-start;
    font-size: var(--text-xs);
}
/* /Components/Ui/RelatedCompanyCard.razor.rz.scp.css */
/* The firm's steckbrief inside the side panel: its lines, and the two ways on at the foot. */
.related-company p[b-1qdx2fb549] {
    font-size: var(--text-sm);
    margin: 0 0 var(--space-2);
}

.related-company-actions[b-1qdx2fb549] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-4);
}
/* /Components/Ui/RequiredMark.razor.rz.scp.css */
.required-mark[b-5fjiiyryn2] {
    color: var(--danger-500, #e5484d);
    margin-left: 2px;
}
/* /Components/Ui/RequiredSetCard.razor.rz.scp.css */
.required-row[b-ha6i5gp9sg] {
    display: flex;
    gap: 11px;
    padding: 15px 12px;
}

.required-row + .required-row[b-ha6i5gp9sg] {
    border-top: 1px solid var(--border-subtle, #e0e4ec);
}

.required-icon[b-ha6i5gp9sg] {
    align-items: center;
    background: #f1f3f7;
    border-radius: 9px;
    color: #8993a4;
    display: flex;
    flex: none;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.required-main[b-ha6i5gp9sg] {
    display: grid;
    flex: 1;
    gap: 6px;
    min-width: 0;
}

.required-head[b-ha6i5gp9sg] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.required-head strong[b-ha6i5gp9sg] {
    font-size: 14px;
    font-weight: 600;
}

.required-reason[b-ha6i5gp9sg] {
    color: #778296;
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
}

/* Missing reads as missing here: the person is about to hand it in. */
.required-state-missing[b-ha6i5gp9sg] {
    background: #fdebed;
    color: #a43041;
}

.required-upload[b-ha6i5gp9sg] {
    align-items: center;
    display: inline-flex;
    gap: 7px;
    justify-self: start;
    margin-top: 4px;
}
/* /Components/Ui/ReviewDocument.razor.rz.scp.css */
.review-viewer[b-1g2zqdtebp] {
    background: var(--gray-100);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    height: 70vh;
    min-height: 360px;
    overflow: hidden;
}
.review-viewer-tools[b-1g2zqdtebp] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
    padding: var(--space-2);
}
.review-viewer [data-viewer-status][b-1g2zqdtebp] { padding: 0 var(--space-3); }
.review-viewer-scroll[b-1g2zqdtebp] { flex: 1; min-height: 0; overflow: auto; padding: 8px; }
canvas[b-1g2zqdtebp] { display: block; margin: 0 auto; background: white; }
canvas[hidden][b-1g2zqdtebp] { display: none; }
@media (max-width: 900px) { .review-viewer[b-1g2zqdtebp] { height: 50vh; } }
@media print { .review-viewer[b-1g2zqdtebp] { display: none; } }
/* /Components/Ui/ReviewDocumentSides.razor.rz.scp.css */
/* The side tabs sit over the viewer they switch; a missing side takes the
   viewer's place and size, so the mask does not jump between the tabs. */
.review-document-sides[b-pnsv9e0i6q]  .segments {
    margin-bottom: var(--space-2);
}

.review-side-missing[b-pnsv9e0i6q] {
    align-items: center;
    background: var(--gray-100);
    border: 1px dashed var(--border-subtle);
    border-radius: var(--radius-md);
    color: var(--text-muted);
    display: flex;
    height: 70vh;
    justify-content: center;
    min-height: 360px;
    padding: var(--space-6);
    text-align: center;
}

@media (max-width: 900px) {
    .review-side-missing[b-pnsv9e0i6q] { height: 50vh; }
}
/* /Components/Ui/ReviewDraftsPanel.razor.rz.scp.css */
.drafts-panel[b-w1vqbw0vnq] { padding: 1rem 1.25rem; margin: 1rem 0 1.5rem; border: 1px solid var(--line, #dce3e8); border-radius: .5rem; }
.drafts-panel h2[b-w1vqbw0vnq] { font-size: 1rem; margin: 0 0 .5rem; }
.draft-company[b-w1vqbw0vnq] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; }
/* /Components/Ui/SelfSetupForm.razor.rz.scp.css */
.personal-setup[b-s8uefw8ka2] {
    display: grid;
    gap: 14px;
    margin: 20px 0 12px;
    padding: 16px;
}

.personal-setup h2[b-s8uefw8ka2] {
    font-size: 17px;
    margin: 0;
}

.personal-setup label[b-s8uefw8ka2] {
    display: flex;
    flex-direction: column;
    font-size: 13px;
    gap: 6px;
}

/* On the phone a field is at least 16 px text and 44 px high (E-171 (6)). */
.personal-setup input[type=text][b-s8uefw8ka2],
.personal-setup input[type=tel][b-s8uefw8ka2],
.personal-setup input[type=email][b-s8uefw8ka2],
.personal-setup select[b-s8uefw8ka2] {
    background: white;
    border: 1px solid #cbd1df;
    border-radius: 9px;
    box-sizing: border-box;
    color: #1c2330;
    font: inherit;
    font-size: 16px;
    min-height: 44px;
    padding: 10px;
    width: 100%;
}

.personal-setup input[readonly][b-s8uefw8ka2] {
    background: #f4f6fa;
    color: #4d5566;
}

/* The birth date is the shared date field (INGO-310), drawn like the fields beside it. */
.personal-setup[b-s8uefw8ka2]  .date-field {
    background: white;
    border: 1px solid #cbd1df;
    border-radius: 9px;
    box-sizing: border-box;
    color: #1c2330;
    font: inherit;
    font-size: 16px;
    min-height: 44px;
    padding: 10px;
    width: 100%;
}

.personal-setup[b-s8uefw8ka2]  .date-field[readonly] {
    background: #f4f6fa;
    color: #4d5566;
}

.personal-setup-name[b-s8uefw8ka2] {
    display: grid;
    gap: 6px;
}

/* First and last name side by side, as the passport sets them (SPEC-A7). */
.personal-setup-pair[b-s8uefw8ka2] {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
}

.personal-setup-section[b-s8uefw8ka2] {
    margin: 8px 0 -4px;
}

.personal-change-hint[b-s8uefw8ka2] {
    color: #778296;
    font-size: 13px;
    margin: 0;
}
/* /Components/Ui/SignIn.razor.rz.scp.css */
/* The split page of the design: navy brand column, light column with the way
   in. Tokens only; the numbers are the design's. */

.sign-in[b-5np3k43gax] {
    background: var(--surface-canvas);
    color: var(--text-body);
    display: grid;
    font-family: var(--font-sans);
    grid-template-columns: minmax(0, 44%) minmax(0, 56%);
    min-height: 100vh;
}

/* ==== Brand column ======================================================= */

.sign-in-brand[b-5np3k43gax] {
    background: var(--navy-900);
    display: flex;
    flex-direction: column;
    padding: 56px 56px 40px;
}

/* align-self, or the flex container stretches the image to the full width
   and the logo only looks centred. */
.sign-in-logo[b-5np3k43gax] {
    align-self: flex-start;
    display: block;
    height: 30px;
    width: auto;
}

.sign-in-claim[b-5np3k43gax] {
    color: var(--text-on-dark);
    font-size: var(--text-2xl);
    letter-spacing: var(--tracking-snug);
    line-height: var(--leading-snug);
    margin: 64px 0 16px;
    max-width: 16em;
    overflow-wrap: break-word;
}

/* Two parts of one headline: the bold line names the product, the second
   carries the claim in normal weight, both in the colour on dark. One step
   below the display size, so the long word stands whole in a laptop's
   column. */
.sign-in-claim-title[b-5np3k43gax] {
    display: block;
    font-weight: var(--fw-semibold);
}

/* One box on the line: the word goes whole to the next line rather than
   splitting behind "Digitales", and wraps inside at its soft hyphen only when
   the column is narrower than the word. */
.sign-in-claim-word[b-5np3k43gax] {
    display: inline-block;
    max-width: 100%;
}

.sign-in-claim-line[b-5np3k43gax] {
    display: block;
    font-weight: var(--fw-regular);
}

.sign-in-sub[b-5np3k43gax] {
    color: var(--navy-200);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    margin: 0;
    max-width: 32em;
}

.sign-in-points[b-5np3k43gax] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    list-style: none;
    margin: 40px 0 0;
    padding: 0;
}

.sign-in-point[b-5np3k43gax] {
    align-items: flex-start;
    color: var(--navy-100);
    display: flex;
    font-size: var(--text-sm);
    gap: 12px;
    line-height: 1.5;
}

.sign-in-point[b-5np3k43gax]  .icon {
    color: var(--amber-500);
    flex: none;
    margin-top: 3px;
    stroke-width: 2.4;
}

.sign-in-brand-foot[b-5np3k43gax] {
    color: var(--navy-400);
    font-size: var(--text-2xs);
    letter-spacing: 0.1em;
    margin: 0;
    margin-top: auto;
    padding-top: 40px;
    text-transform: uppercase;
}

/* ==== The way in ========================================================= */

.sign-in-main[b-5np3k43gax] {
    display: flex;
    justify-content: center;
    padding: 56px 56px 64px;
}

.sign-in-col[b-5np3k43gax] {
    max-width: 440px;
    width: 100%;
}

.sign-in-col h1[b-5np3k43gax] {
    font-size: var(--text-2xl);
    margin: 0 0 6px;
}

.sign-in-lead[b-5np3k43gax] {
    color: var(--text-muted);
    font-size: var(--text-sm);
    line-height: 1.55;
    margin: 0 0 32px;
}

.sign-in-eyebrow[b-5np3k43gax] {
    color: var(--amber-700);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.12em;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.sign-in-list[b-5np3k43gax] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xs);
    overflow: hidden;
}

.sign-in-card[b-5np3k43gax] {
    align-items: center;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--border-subtle);
    box-sizing: border-box;
    color: inherit;
    cursor: pointer;
    display: flex;
    font: inherit;
    gap: 14px;
    padding: 14px 16px;
    text-decoration: none;
    text-align: left;
    width: 100%;
}

.sign-in-card-form[b-5np3k43gax] {
    margin: 0;
}

.sign-in-card-form + .sign-in-card-form[b-5np3k43gax] {
    border-top: 1px solid var(--border-subtle);
}

.sign-in-card-form .sign-in-card[b-5np3k43gax] {
    border-top: 0;
}

.sign-in-card:first-child[b-5np3k43gax] {
    border-top: none;
}

.sign-in-card:hover[b-5np3k43gax] {
    background: var(--gray-50);
    text-decoration: none;
}

.sign-in-card:focus-visible[b-5np3k43gax] {
    outline: 2px solid var(--border-focus);
    outline-offset: -2px;
}

.sign-in-avatar[b-5np3k43gax] {
    align-items: center;
    background: var(--navy-800);
    border-radius: var(--radius-pill);
    color: var(--text-on-dark);
    display: flex;
    flex: none;
    font-size: var(--text-xs);
    font-weight: var(--fw-semibold);
    height: 38px;
    justify-content: center;
    letter-spacing: 0.02em;
    width: 38px;
}

.sign-in-who[b-5np3k43gax] {
    flex: 1;
    min-width: 0;
}

.sign-in-name[b-5np3k43gax] {
    color: var(--text-strong);
    display: block;
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
}

.sign-in-meta[b-5np3k43gax] {
    color: var(--text-muted);
    display: block;
    font-size: var(--text-xs);
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sign-in-user[b-5np3k43gax] {
    color: var(--text-subtle);
    flex: none;
    font-family: var(--font-mono);
    font-size: var(--text-2xs);
}

.sign-in-card[b-5np3k43gax]  .icon {
    color: var(--gray-400);
    flex: none;
}

/* ==== Another login: a disclosure, open by itself on a first visit ====== */

.sign-in-other[b-5np3k43gax] {
    margin-top: 18px;
}

.sign-in-other-toggle[b-5np3k43gax] {
    align-items: center;
    color: var(--text-muted);
    cursor: pointer;
    display: flex;
    font-size: var(--text-sm);
    gap: 8px;
    list-style: none;
    padding: 6px 0;
}

.sign-in-other-toggle[b-5np3k43gax]::-webkit-details-marker {
    display: none;
}

.sign-in-other-toggle:hover[b-5np3k43gax] {
    color: var(--text-strong);
}

.sign-in-other[open] .sign-in-other-toggle[b-5np3k43gax]  .icon {
    transform: rotate(180deg);
}

.sign-in-box[b-5np3k43gax] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    margin: 0;
    padding: 18px;
}

.sign-in-other .sign-in-box[b-5np3k43gax] {
    margin-top: 10px;
}

.sign-in-label[b-5np3k43gax] {
    color: var(--text-body);
    display: block;
    font-size: var(--text-xs);
    font-weight: var(--fw-semibold);
    margin-bottom: 6px;
}

.sign-in-input[b-5np3k43gax] {
    background: var(--surface-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    box-sizing: border-box;
    color: var(--text-strong);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    padding: 10px 12px;
    width: 100%;
}

.sign-in-input:focus[b-5np3k43gax] {
    border-color: var(--amber-500);
    box-shadow: 0 0 0 3px var(--ring);
    outline: none;
}

.sign-in-hint[b-5np3k43gax] {
    color: var(--text-subtle);
    font-size: var(--text-2xs);
    line-height: 1.55;
    margin: 9px 0 0;
}

.sign-in-button[b-5np3k43gax] {
    background: var(--navy-900);
    border: none;
    border-radius: var(--radius-md);
    color: var(--text-on-dark);
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-semibold);
    margin-top: 14px;
    padding: 11px 16px;
    width: 100%;
}

.sign-in-button:hover[b-5np3k43gax] {
    background: var(--navy-800);
}

.sign-in-button:focus-visible[b-5np3k43gax] {
    outline: 2px solid var(--border-focus);
    outline-offset: 2px;
}

.sign-in-link[b-5np3k43gax] {
    color: var(--text-link);
    display: block;
    font-size: var(--text-xs);
    line-height: 1.5;
    margin-top: 14px;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ==== Narrow: the columns stack, the brand column shrinks ================ */

@media (max-width: 1023px) {
    .sign-in[b-5np3k43gax] {
        grid-template-columns: 1fr;
    }

    .sign-in-brand[b-5np3k43gax] {
        padding: 32px 24px 28px;
    }

    .sign-in-claim[b-5np3k43gax] {
        font-size: var(--text-xl);
        margin: 28px 0 12px;
    }

    .sign-in-points[b-5np3k43gax] {
        margin-top: 24px;
    }

    .sign-in-brand-foot[b-5np3k43gax] {
        padding-top: 26px;
    }

    .sign-in-main[b-5np3k43gax] {
        padding: 32px 24px 48px;
    }
}

@media (max-width: 520px) {
    .sign-in-user[b-5np3k43gax] {
        display: none;
    }
}

/* On a phone the way in comes first: a reader who opens the page wants to
   sign in, and the brand column would push the form below the first screen. */
@media (max-width: 639px) {
    .sign-in-main[b-5np3k43gax] {
        order: -1;
    }
}

/* The line above the way in when a sign-in did not arrive whole. It states a
   fact and asks for one more try, so it is a note and not an alarm. */
.sign-in-notice[b-5np3k43gax] {
    background: var(--surface-sunken);
    border-left: 3px solid var(--border-strong);
    border-radius: var(--radius-sm);
    color: var(--text-muted);
    font-size: var(--text-sm);
    margin-bottom: var(--space-4);
    padding: var(--space-3) var(--space-4);
}
/* /Components/Ui/SiteClearanceActions.razor.rz.scp.css */
.clearance-menu[b-w6d2i1hsal] {
    align-items: flex-end;
    display: inline-flex;
    flex-direction: column;
    gap: 6px;
}

.clearance-menu-items[b-w6d2i1hsal] {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* In a narrow column an action may take two lines rather than widen the list. */
.clearance-menu-item[b-w6d2i1hsal] {
    text-align: right;
    white-space: normal;
}

/* The reach of a block: two choices, the project preselected. */
.block-scope[b-w6d2i1hsal] {
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin: 0 0 var(--space-3);
    padding: var(--space-3);
}

.block-scope legend[b-w6d2i1hsal] {
    color: var(--text-subtle);
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-eyebrow);
    padding: 0 var(--space-1);
    text-transform: uppercase;
}

.block-scope-option[b-w6d2i1hsal] {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: var(--space-2);
}
/* /Components/Ui/SiteWorkDialog.razor.rz.scp.css */
.site-work-grid[b-heasd3bh1s] {
    column-gap: var(--space-4);
    display: grid;
    grid-template-columns: 1fr 1fr;
}

@media (max-width: 640px) {
    .site-work-grid[b-heasd3bh1s] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Ui/SiteWorkPanel.razor.rz.scp.css */
.site-work-switch[b-c3wn1mxfc7] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.site-work-switch input[b-c3wn1mxfc7] {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
}
/* /Components/Ui/StandingBadge.razor.rz.scp.css */
.standing-badge[b-jekxkc6epn] {
    align-items: center;
    border-radius: var(--radius-pill);
    display: inline-flex;
    font-size: 12px;
    font-weight: var(--fw-semibold);
    gap: 6px;
    padding: 3px 9px;
    white-space: nowrap;
}

.standing-badge[b-jekxkc6epn]::before {
    background: currentColor;
    border-radius: 50%;
    content: "";
    height: 6px;
    width: 6px;
}

.standing-badge-ok[b-jekxkc6epn] { background: var(--success-100); color: var(--success-text); }
.standing-badge-warn[b-jekxkc6epn] { background: var(--warning-100); color: var(--warning-text); }
.standing-badge-bad[b-jekxkc6epn] { background: var(--danger-100); color: var(--danger-text); }
.standing-badge-neutral[b-jekxkc6epn] { background: var(--gray-100); color: var(--gray-600); }

.standing-reason[b-jekxkc6epn] {
    color: var(--text-muted);
    display: block;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 4px;
    white-space: normal;
}

.standing-unknown[b-jekxkc6epn] {
    color: var(--text-subtle);
}

.standing-badge-plain[b-jekxkc6epn] {
    background: none;
    color: var(--text-body);
    font-size: 13px;
    font-weight: var(--fw-regular);
    padding: 0;
}

.standing-badge-plain.standing-badge-ok[b-jekxkc6epn]::before { background: var(--success-500); }
.standing-badge-plain.standing-badge-warn[b-jekxkc6epn]::before { background: var(--warning-500); }
.standing-badge-plain.standing-badge-bad[b-jekxkc6epn]::before { background: var(--danger-500); }
.standing-badge-plain.standing-badge-neutral[b-jekxkc6epn]::before { background: var(--gray-400); }
/* /Components/Ui/StandingTile.razor.rz.scp.css */
.standing-tile[b-cpdp6ko1du] {
    background: var(--surface-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    color: inherit;
    display: flex;
    flex-direction: column;
    padding: 16px 18px;
    text-decoration: none;
}

.standing-tile:hover[b-cpdp6ko1du] {
    border-color: var(--border-strong);
    box-shadow: var(--shadow-sm);
    color: inherit;
    text-decoration: none;
}

.standing-head[b-cpdp6ko1du] {
    color: var(--text-muted);
    display: flex;
    font-size: 12.5px;
    font-weight: 500;
    justify-content: space-between;
}

.standing-arrow[b-cpdp6ko1du] {
    color: var(--text-link);
    font-weight: var(--fw-semibold);
}

.standing-count[b-cpdp6ko1du] {
    margin: 4px 0 6px;
}

.standing-number[b-cpdp6ko1du] {
    color: var(--text-strong);
    font-size: 26px;
    font-weight: var(--fw-semibold);
}

.standing-caption[b-cpdp6ko1du] {
    color: var(--text-muted);
    font-size: 14px;
    font-weight: 500;
    margin-left: 6px;
}

.standing-tile[b-cpdp6ko1du]  .standing-detail {
    color: var(--text-muted);
    display: block;
    font-size: 12.5px;
}
/* /Components/Ui/SubcontractorAddDialog.razor.rz.scp.css */
/* "Firma hinzufügen" (DS28 NachunternehmerHinzufuegen): the switch with the
   way to a known firm beside it, the boxes that stop or redirect, and the
   fields two to a row. */
.add-head[b-decmsnjzdt] {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-4);
    justify-content: space-between;
}

.add-known[b-decmsnjzdt] {
    font-size: 13px;
    white-space: nowrap;
}

.add-grid[b-decmsnjzdt] {
    column-gap: var(--space-4);
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.add-wide[b-decmsnjzdt] {
    grid-column: 1 / -1;
}

.add-more[b-decmsnjzdt] {
    font-size: 13px;
    margin-bottom: var(--space-3);
}

.add-error[b-decmsnjzdt] {
    color: var(--danger-text);
    display: block;
    font-size: 12px;
    font-weight: var(--fw-regular);
    margin-top: 4px;
}

.field-error[b-decmsnjzdt] {
    border-color: var(--danger-500) !important;
}

.add-box[b-decmsnjzdt] {
    background: var(--warning-100);
    border-radius: var(--radius-md);
    color: var(--text-strong);
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    gap: 6px 12px;
    line-height: 1.5;
    margin: 0 0 var(--space-4);
    padding: 10px 12px;
}

.add-box-stop[b-decmsnjzdt] {
    background: var(--danger-100);
}

.add-box a[b-decmsnjzdt],
.add-box .btn-link[b-decmsnjzdt] {
    color: var(--text-strong);
    font-weight: var(--fw-semibold);
    text-decoration: underline;
}

.add-box p[b-decmsnjzdt] {
    margin: 0;
    width: 100%;
}

.known-firm[b-decmsnjzdt] {
    align-items: center;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    cursor: pointer;
    display: flex;
    font-weight: var(--fw-regular);
    gap: 12px;
    margin-bottom: 8px;
    padding: 11px 14px;
}

.known-firm:hover[b-decmsnjzdt] {
    border-color: var(--border-strong);
}

.known-firm.on[b-decmsnjzdt] {
    background: var(--surface-sunken);
    border-color: var(--navy-900);
}

.known-firm input[b-decmsnjzdt] {
    margin: 0;
    width: auto;
}

.known-name[b-decmsnjzdt] {
    color: var(--text-strong);
    display: block;
    font-size: 13.5px;
    font-weight: var(--fw-semibold);
}

.known-sub[b-decmsnjzdt] {
    color: var(--text-muted);
    display: block;
    font-size: 12px;
    margin-top: 2px;
}

.known-standing[b-decmsnjzdt] {
    margin-left: auto;
}

.add-back[b-decmsnjzdt] {
    margin-right: auto;
}

@media (max-width: 640px) {
    .add-grid[b-decmsnjzdt] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Ui/TabRail.razor.rz.scp.css */
/* The rail of a profile's tabs, as both profiles draw it: free beneath the
   head card, the open tab underlined. The rail is the component's; the
   classes are the page's, so a profile may add to them.
   The rail scrolls sideways on a narrow screen, and a scrolling box clips
   at its inner edge: its line is drawn inside, as a shadow, so the open
   tab's 2 px underline lies over it whole instead of half cut off. */
.profile-tabs[b-yn1z1ts56s] {
    box-shadow: inset 0 -1px 0 var(--border-subtle);
    display: flex;
    flex: none;
    flex-direction: row;
    gap: 2px;
    margin-top: 18px;
    overflow-x: auto;
}

/* The person profile leaves room beneath its rail; the firm's body brings its own. */
.profile-tabs-spaced[b-yn1z1ts56s] {
    gap: 0;
    margin: 20px 0;
}

.profile-tab[b-yn1z1ts56s] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--text-muted);
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: 13.5px;
    font-weight: var(--fw-medium);
    padding: 12px 13px;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
}

.profile-tabs-spaced .profile-tab[b-yn1z1ts56s] {
    font-size: 14px;
    padding: 12px 16px 11px;
}

.profile-tab:hover[b-yn1z1ts56s] {
    color: var(--text-strong);
    text-decoration: none;
}

.profile-tab-on[b-yn1z1ts56s],
.profile-tab-on:hover[b-yn1z1ts56s] {
    border-bottom-color: var(--amber-500);
    color: var(--text-strong);
    font-weight: var(--fw-semibold);
}

.profile-tab:focus-visible[b-yn1z1ts56s] {
    outline: 2px solid var(--border-focus);
    outline-offset: -2px;
}

@media (max-width: 640px) {
    .profile-tabs[b-yn1z1ts56s] { scrollbar-width: thin; }
    .profile-tab[b-yn1z1ts56s] { flex: none; }
}
/* /Components/Ui/TenantCatalog.razor.rz.scp.css */
.catalog-page[b-5nb32j0ky3] { display: flex; flex-direction: column; gap: var(--space-6); }
.catalog-toolbar[b-5nb32j0ky3] { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; margin-bottom: var(--space-4); }
.catalog-set[b-5nb32j0ky3] { display: flex; align-items: center; gap: var(--space-3); font-size: var(--text-sm); color: var(--text-muted); }
.catalog-set-companies[b-5nb32j0ky3] { font-size: var(--text-sm); color: var(--text-muted); white-space: nowrap; }
.catalog-toolbar .page-actions[b-5nb32j0ky3] { margin-left: auto; }
.catalog-version[b-5nb32j0ky3] { margin: 0 0 var(--space-3); color: var(--text-muted); font-size: var(--text-sm); }
.catalog-version strong[b-5nb32j0ky3] { color: var(--text-strong); }
.position-input[b-5nb32j0ky3] { width: 100%; max-width: 12rem; box-sizing: border-box; padding: 5px 10px; border: 1px solid var(--border-default); border-radius: var(--radius-md); background: var(--surface-card); color: var(--text-strong); font: inherit; font-size: var(--text-sm); }
.position-input:hover[b-5nb32j0ky3] { border-color: var(--border-strong); }
.position-input:focus-visible[b-5nb32j0ky3] { outline: 2px solid var(--border-focus); outline-offset: 1px; }

/* The templates belong to the evidence types and sit inside their block, below the list, not as a card of their own. */
.catalog-page[b-5nb32j0ky3]  [data-template-editor] { margin-top: var(--space-5); padding: var(--space-5) 0 0; border: 0; border-top: 1px solid var(--border-subtle); border-radius: 0; box-shadow: none; }
.briefings-head[b-5nb32j0ky3] { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
.briefings-head .panel-title[b-5nb32j0ky3] { margin: 0; }
.briefings .data-table[b-5nb32j0ky3] { width: 100%; }
/* /Components/Ui/Tooltip.razor.rz.scp.css */
/* The symbol keeps its look: the button around it draws nothing but the focus
   ring. The text is a small dark card, fixed in the window so that neither a
   scrolling box clips it nor, hidden, it widens the page; the script places it
   below or above the symbol. A mouse hover opens it only where the device
   hovers - on a touch screen the first tap would otherwise stick as a hover. */
.tooltip[b-426k1uv6ef] {
    display: inline-flex;
    vertical-align: middle;
}

.tooltip-trigger[b-426k1uv6ef] {
    align-items: center;
    background: none;
    border: 0;
    border-radius: var(--radius-xs);
    color: inherit;
    cursor: help;
    display: inline-flex;
    font: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0;
}

.tooltip-trigger:focus-visible[b-426k1uv6ef] {
    outline: 2px solid var(--border-focus);
    outline-offset: 2px;
}

.tooltip-bubble[b-426k1uv6ef] {
    background: var(--surface-inverse);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-md);
    color: var(--text-on-dark);
    font-size: var(--text-xs);
    font-weight: var(--fw-regular);
    letter-spacing: normal;
    line-height: 1.4;
    max-width: min(18rem, calc(100vw - 2rem));
    padding: 6px 10px;
    pointer-events: none;
    position: fixed;
    text-align: left;
    text-transform: none;
    visibility: hidden;
    white-space: normal;
    width: max-content;
    z-index: calc(var(--z-modal) + 10);
}

/* The gap between symbol and text belongs to the text, so the pointer can cross it. */
.tooltip-bubble[b-426k1uv6ef]::before {
    content: "";
    inset: -8px 0;
    position: absolute;
}

.tooltip[data-open]:not([data-dismissed]) .tooltip-bubble[b-426k1uv6ef],
.tooltip:not([data-dismissed]) .tooltip-trigger:focus-visible + .tooltip-bubble[b-426k1uv6ef] {
    pointer-events: auto;
    visibility: visible;
}

@media (hover: hover) {
    .tooltip:not([data-dismissed]):hover .tooltip-bubble[b-426k1uv6ef] {
        pointer-events: auto;
        visibility: visible;
    }
}
/* /Components/Ui/TopbarHeading.razor.rz.scp.css */
/* The heading the page names, in the desk's top bar. The site channel draws
   the same heading in its own family, styled with the site shell. */
.topbar-eyebrow[b-tar2si5onn] {
    color: var(--amber-700);
    margin: 0;
    font-size: var(--text-2xs);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-eyebrow);
    text-transform: uppercase;
}

/* Where the eyebrow is the whole heading it is set larger, in place of the
   title it would otherwise only repeat. */
.topbar-eyebrow-alone[b-tar2si5onn] {
    font-size: var(--text-base);
    letter-spacing: 0.08em;
}

/* The path over a page deep in a context: the first step the way back,
   the last the page itself. */
.topbar-trail[b-tar2si5onn] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 20px;
    min-width: 0;
}

.trail-step[b-tar2si5onn] {
    color: var(--text-muted);
    font-size: 13.5px;
    font-weight: 500;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

a.trail-step:hover[b-tar2si5onn] {
    color: var(--text-strong);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.trail-back[b-tar2si5onn]::before {
    content: "\2190";
    font-size: 15px;
    line-height: 1;
    margin-right: 8px;
}

.trail-here[b-tar2si5onn] {
    color: var(--text-strong);
    font-weight: var(--fw-semibold);
}

.trail-separator[b-tar2si5onn] {
    color: var(--border-default);
    font-size: 14px;
    line-height: 1;
}

.topbar-title[b-tar2si5onn] {
    color: var(--text-strong);
    font-size: var(--text-xl);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-snug);
    margin: 0;
}

.topbar-heading h1[b-tar2si5onn],
.topbar-eyebrow[b-tar2si5onn] {
    overflow-wrap: anywhere;
}

/* The NU's phone header keeps the heading to one short row. */
@media (max-width: 640px) {
    .contractor-shell .topbar-title[b-tar2si5onn] { font-size: var(--text-lg); line-height: 1.2; }
    .contractor-shell .topbar-eyebrow[b-tar2si5onn] { font-size: 10px; letter-spacing: .08em; }
}
/* /Components/Ui/UploadLanguageSwitch.razor.rz.scp.css */
/* The language codes at the top right of the card, the active one filled (A6). */
.upload-languages[b-aegazybq2s] {
    margin: calc(-1 * var(--space-2)) 0 var(--space-4);
}

.upload-languages form[b-aegazybq2s] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    justify-content: flex-end;
}

.upload-languages button[b-aegazybq2s] {
    background: none;
    border: 0;
    border-radius: var(--radius-sm);
    color: var(--text-muted);
    cursor: pointer;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.04em;
    min-height: 32px;
    min-width: 36px;
}

.upload-languages button[aria-pressed="true"][b-aegazybq2s] {
    background: var(--navy-900);
    color: var(--white);
}

.upload-languages button:focus-visible[b-aegazybq2s] {
    box-shadow: 0 0 0 3px var(--ring);
    outline: none;
}
/* /Components/Ui/UpperContractorMaintenance.razor.rz.scp.css */
.maintenance-row[b-6sdp84p7y3] {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: var(--space-4);
    justify-content: space-between;
}

.maintenance-text[b-6sdp84p7y3] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.maintenance-label[b-6sdp84p7y3] {
    color: var(--text-strong);
    font-weight: var(--fw-medium);
}

.maintenance-hint[b-6sdp84p7y3] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    line-height: 1.5;
}

.maintenance-row input[b-6sdp84p7y3] {
    flex: none;
}
