/* _content/Platform.Shell/Components/PlatformCookieConsentDrawer.razor.rz.scp.css */
/* The box is the shared platform drawer's now. This component is what that drawer was extracted
   from, so what remains here is only the two things that differ from its defaults: this sits below
   the modal layer, and it is borderless. Specification section 5.2. */
.pui-cookie-consent-drawer__backdrop[b-dpj8ie6uji],
.pui-cookie-consent-drawer__shell[b-dpj8ie6uji] {
    --pui-drawer-z: 1300;
}

.pui-cookie-consent-drawer[b-dpj8ie6uji] {
    border: 0;
}

@media (max-width: 1024px) {
    .pui-cookie-consent-drawer[b-dpj8ie6uji] {
        width: min(100%, 36rem);
    }
}

@media (max-width: 768px) {
    .pui-cookie-consent-drawer__shell[b-dpj8ie6uji] {
        justify-content: stretch;
        align-items: flex-end;
    }

    .pui-cookie-consent-drawer[b-dpj8ie6uji] {
        width: 100%;
        height: auto;
        max-height: 50dvh;
        padding: var(--pui-space-4);
        border-top-left-radius: var(--pui-radius-lg, 16px);
        border-top-right-radius: var(--pui-radius-lg, 16px);
        box-shadow: 0 -12px 32px rgba(15, 23, 42, 0.24);
    }
}
/* _content/Platform.Shell/Components/PlatformCookieConsentPanel.razor.rz.scp.css */
.pui-cookie-consent[b-252awvuzd8] {
    display: flex;
    flex-direction: column;
    gap: var(--pui-space-6);
    color: var(--pui-color-text-primary);
}

.pui-cookie-consent__header[b-252awvuzd8] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--pui-space-5);
}

.pui-cookie-consent__heading-group[b-252awvuzd8] {
    display: flex;
    flex-direction: column;
    gap: var(--pui-space-4);
}

.pui-cookie-consent__eyebrow[b-252awvuzd8] {
    margin: 0;
    color: var(--pui-color-text-muted);
    font-size: var(--pui-font-size-caption);
    font-weight: var(--pui-font-weight-bold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pui-cookie-consent__heading-group h2[b-252awvuzd8] {
    margin: 0;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    line-height: var(--pui-line-height-tight);
}

.pui-cookie-consent__intro[b-252awvuzd8] {
    max-width: 58ch;
    margin: 0;
    color: var(--pui-color-text-muted);
}

.pui-cookie-consent__close[b-252awvuzd8] {
    flex: 0 0 auto;
}

.pui-cookie-consent__primary-actions[b-252awvuzd8] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--pui-space-4);
}

.pui-cookie-consent__primary-actions[b-252awvuzd8] (.pui-button) {
    width: min(100%, 17rem);
    justify-content: center;
}

.pui-cookie-consent__divider[b-252awvuzd8] {
    height: 1px;
    background: var(--pui-color-border-default);
}

.pui-cookie-consent__section[b-252awvuzd8] {
    display: flex;
    flex-direction: column;
    gap: var(--pui-space-5);
}

.pui-cookie-consent__section-copy[b-252awvuzd8] {
    display: flex;
    flex-direction: column;
    gap: var(--pui-space-3);
}

.pui-cookie-consent__section-copy h3[b-252awvuzd8],
.pui-cookie-consent__section-header h3[b-252awvuzd8],
.pui-cookie-consent__details-section h4[b-252awvuzd8] {
    margin: 0;
}

.pui-cookie-consent__section-copy p[b-252awvuzd8],
.pui-cookie-consent__section-header p[b-252awvuzd8],
.pui-cookie-consent__details-section p[b-252awvuzd8],
.pui-cookie-consent__saved-meta[b-252awvuzd8] {
    margin: 0;
    color: var(--pui-color-text-muted);
}

.pui-cookie-consent__section-header[b-252awvuzd8] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: flex-start;
    gap: var(--pui-space-3) var(--pui-space-5);
}

.pui-cookie-consent__section-header h3[b-252awvuzd8] {
    grid-column: 1;
}

.pui-cookie-consent__section-header > p[b-252awvuzd8] {
    grid-column: 1 / -1;
}

.pui-cookie-consent__state-pill[b-252awvuzd8] {
    grid-column: 2;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    padding: var(--pui-space-2) var(--pui-space-5);
    border-radius: 999px;
    background: var(--pui-color-success-soft);
    color: var(--pui-color-success-strong);
    font-size: var(--pui-font-size-caption);
    font-weight: var(--pui-font-weight-bold);
    white-space: nowrap;
}

.pui-cookie-consent__toggle-row[b-252awvuzd8] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--pui-space-5);
    padding: var(--pui-space-5) 0;
    border-top: 1px solid var(--pui-color-border-default);
}

.pui-cookie-consent__toggle-row input[b-252awvuzd8] {
    width: 1.15rem;
    height: 1.15rem;
    margin-top: 0.2rem;
    accent-color: var(--pui-color-action-primary);
}

.pui-cookie-consent__toggle-copy[b-252awvuzd8] {
    display: flex;
    flex-direction: column;
    gap: var(--pui-space-2);
    color: var(--pui-color-text-muted);
}

.pui-cookie-consent__toggle-label[b-252awvuzd8] {
    color: var(--pui-color-text-primary);
    font-weight: var(--pui-font-weight-bold);
}

.pui-cookie-consent__toggle-state[b-252awvuzd8] {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    color: var(--pui-color-success-strong);
    font-size: var(--pui-font-size-caption);
    font-weight: var(--pui-font-weight-bold);
}

.pui-cookie-consent__details-toggle[b-252awvuzd8] {
    align-self: flex-start;
    min-height: var(--pui-touch-target-min);
    padding: 0;
    border: 0;
    background: none;
    color: var(--pui-color-action-primary);
    font: inherit;
    font-weight: var(--pui-font-weight-bold);
    text-decoration: underline;
    text-underline-offset: 0.2rem;
    cursor: pointer;
}

.pui-cookie-consent__details[b-252awvuzd8] {
    display: flex;
    flex-direction: column;
    gap: var(--pui-space-5);
    padding: var(--pui-space-5);
    border: 1px solid var(--pui-color-border-default);
    border-radius: var(--pui-radius-md);
    background: var(--pui-color-surface-muted);
}

.pui-cookie-consent__details-section[b-252awvuzd8] {
    display: flex;
    flex-direction: column;
    gap: var(--pui-space-4);
}

.pui-cookie-consent__details-table[b-252awvuzd8] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--pui-font-size-body-sm);
}

.pui-cookie-consent__details-table th[b-252awvuzd8],
.pui-cookie-consent__details-table td[b-252awvuzd8] {
    padding: var(--pui-space-4);
    border-bottom: 1px solid var(--pui-color-border-default);
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
}

/* The settings on a page, wide enough for a table: a cell breaks only between words, so a cookie's name, its provider
   and "First party" stay whole and the purpose takes the room left. Breaking anywhere, the short columns shrank until
   every one split mid-word at any width. The drawer and the stacked layout below 769px still break anywhere, so a long
   name cannot push past a phone's width. */
@media (min-width: 769px) {
    .pui-cookie-consent--inline .pui-cookie-consent__details-table th[b-252awvuzd8],
    .pui-cookie-consent--inline .pui-cookie-consent__details-table td[b-252awvuzd8] {
        overflow-wrap: normal;
    }
}

.pui-cookie-consent__details-table th[b-252awvuzd8] {
    color: var(--pui-color-text-primary);
    font-size: var(--pui-font-size-caption);
    font-weight: var(--pui-font-weight-bold);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pui-cookie-consent__footer[b-252awvuzd8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--pui-space-4) var(--pui-space-5);
}

.pui-cookie-consent__message[b-252awvuzd8] {
    margin: 0;
    padding: var(--pui-space-4) var(--pui-space-5);
    border: 1px solid var(--pui-color-border-default);
    border-radius: var(--pui-radius-md);
}

.pui-cookie-consent__message--error[b-252awvuzd8] {
    border-color: rgba(220, 38, 38, 0.28);
    background: var(--pui-color-danger-soft);
    color: var(--pui-color-danger-strong);
}

.pui-cookie-consent__message--success[b-252awvuzd8] {
    border-color: rgba(22, 163, 74, 0.22);
    background: var(--pui-color-success-soft);
    color: var(--pui-color-success-strong);
}

.pui-cookie-consent:not(.pui-cookie-consent--inline) .pui-cookie-consent__details-table[b-252awvuzd8],
.pui-cookie-consent:not(.pui-cookie-consent--inline) .pui-cookie-consent__details-table thead[b-252awvuzd8],
.pui-cookie-consent:not(.pui-cookie-consent--inline) .pui-cookie-consent__details-table tbody[b-252awvuzd8],
.pui-cookie-consent:not(.pui-cookie-consent--inline) .pui-cookie-consent__details-table tr[b-252awvuzd8],
.pui-cookie-consent:not(.pui-cookie-consent--inline) .pui-cookie-consent__details-table th[b-252awvuzd8],
.pui-cookie-consent:not(.pui-cookie-consent--inline) .pui-cookie-consent__details-table td[b-252awvuzd8] {
    display: block;
}

.pui-cookie-consent:not(.pui-cookie-consent--inline) .pui-cookie-consent__details-table thead[b-252awvuzd8] {
    display: none;
}

.pui-cookie-consent:not(.pui-cookie-consent--inline) .pui-cookie-consent__details-table tr[b-252awvuzd8] {
    padding: var(--pui-space-4) 0;
    border-bottom: 1px solid var(--pui-color-border-default);
}

.pui-cookie-consent:not(.pui-cookie-consent--inline) .pui-cookie-consent__details-table td[b-252awvuzd8] {
    display: grid;
    grid-template-columns: minmax(0, 6.75rem) minmax(0, 1fr);
    gap: var(--pui-space-4);
    padding: var(--pui-space-2) 0;
    border-bottom: 0;
}

.pui-cookie-consent:not(.pui-cookie-consent--inline) .pui-cookie-consent__details-table td[b-252awvuzd8]::before {
    content: attr(data-label);
    color: var(--pui-color-text-muted);
    font-size: var(--pui-font-size-caption);
    font-weight: var(--pui-font-weight-bold);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .pui-cookie-consent__header[b-252awvuzd8],
    .pui-cookie-consent__footer[b-252awvuzd8] {
        flex-direction: column;
        align-items: stretch;
    }

    .pui-cookie-consent__section-header[b-252awvuzd8] {
        grid-template-columns: minmax(0, 1fr);
    }

    .pui-cookie-consent__state-pill[b-252awvuzd8],
    .pui-cookie-consent__section-header > p[b-252awvuzd8] {
        grid-column: 1;
    }

    .pui-cookie-consent__state-pill[b-252awvuzd8] {
        grid-row: auto;
        justify-self: start;
    }

    .pui-cookie-consent__primary-actions[b-252awvuzd8] {
        flex-direction: column;
    }

    .pui-cookie-consent__primary-actions[b-252awvuzd8] (.pui-button),
    .pui-cookie-consent__footer[b-252awvuzd8] (.pui-button) {
        width: 100%;
    }

    .pui-cookie-consent__toggle-row[b-252awvuzd8] {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .pui-cookie-consent__toggle-state[b-252awvuzd8] {
        grid-column: 2;
    }

    .pui-cookie-consent__details-table[b-252awvuzd8],
    .pui-cookie-consent__details-table thead[b-252awvuzd8],
    .pui-cookie-consent__details-table tbody[b-252awvuzd8],
    .pui-cookie-consent__details-table tr[b-252awvuzd8],
    .pui-cookie-consent__details-table th[b-252awvuzd8],
    .pui-cookie-consent__details-table td[b-252awvuzd8] {
        display: block;
    }

    .pui-cookie-consent__details-table thead[b-252awvuzd8] {
        display: none;
    }

    .pui-cookie-consent__details-table tr[b-252awvuzd8] {
        padding: var(--pui-space-4) 0;
        border-bottom: 1px solid var(--pui-color-border-default);
    }

    .pui-cookie-consent__details-table td[b-252awvuzd8] {
        display: grid;
        grid-template-columns: minmax(0, 6.75rem) minmax(0, 1fr);
        gap: var(--pui-space-4);
        padding: var(--pui-space-2) 0;
        border-bottom: 0;
    }

    .pui-cookie-consent__details-table td[b-252awvuzd8]::before {
        content: attr(data-label);
        color: var(--pui-color-text-muted);
        font-size: var(--pui-font-size-caption);
        font-weight: var(--pui-font-weight-bold);
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }
}
/* _content/Platform.Shell/Components/PlatformShellThemeToggle.razor.rz.scp.css */
/* The wrapper exists only to anchor the failure message to the button. It adds no box of its own,
   so the header's spacing and the button's global styles in platform-shell.css are unchanged. */
.theme-toggle[b-1ozm0halr3] {
    position: relative;
    display: inline-flex;
}

/* Shown only after a theme change was refused, and only until the next attempt. It uses the same
   danger tokens as the cookie consent panel's error, so the estate has one look for "that did not
   work". Right aligned because the toggle sits at the end of the header, so the message grows
   inward rather than off the screen. */
.theme-toggle__status[b-1ozm0halr3] {
    position: absolute;
    top: calc(100% + var(--pui-space-3, 0.5rem));
    right: 0;
    z-index: 10;
    width: max-content;
    max-width: min(18rem, calc(100vw - 2rem));
    padding: var(--pui-space-3, 0.5rem) var(--pui-space-4, 0.75rem);
    border: 1px solid rgba(220, 38, 38, 0.28);
    border-radius: var(--pui-radius-md, 0.75rem);
    background: var(--pui-color-danger-soft, #fee2e2);
    color: var(--pui-color-danger-strong, #991b1b);
    font-size: var(--pui-font-size-caption, 0.8rem);
    line-height: 1.4;
    box-shadow: var(--pui-shadow-soft, 0 1px 3px rgba(15, 23, 42, 0.05), 0 8px 24px rgba(15, 23, 42, 0.06));
}
