/* Center web UI only. PDF templates intentionally keep their own geometry. */
:root {
    --pc-header-height: 72px;
    --pc-gutter: 16px;
    --color-text-explanitory: #616262;
}
html { scroll-padding-top: calc(var(--pc-header-height) + 16px); }
.pc-layout .pc-main { padding: calc(var(--pc-header-height) + 16px) var(--pc-gutter) 16px; min-width: 0; }
.pc-content.mud-container { max-width: 2560px; padding: 0; margin-inline: auto; min-width: 0; }
.pc-content-column { display: flex; flex-direction: column; min-height: calc(100dvh - var(--pc-header-height) - 32px); }
.pc-content-column > .mb-auto { min-width: 0; }
.pc-content-column > .mt-auto { padding-top: 24px; overflow-wrap: anywhere; }
.pc-appbar .mud-toolbar-appbar { gap: 8px; padding: 8px var(--pc-gutter); }
.pc-breadcrumbs { flex: 1 1 160px; min-width: 0; padding: 0; }
.pc-breadcrumbs .mud-breadcrumb-item, .pc-breadcrumbs a { min-width: 0; }
.pc-breadcrumbs .mud-typography { overflow-wrap: anywhere; font-size: 1.125rem; }
.pc-company { display: flex; align-items: center; min-width: 0; max-width: 40%; gap: 4px; }
.pc-company-name { min-width: 0; overflow-wrap: anywhere; text-align: start; }
.pc-account { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; flex-shrink: 0; }
.pc-profile-activator { padding: 0 20px 0 0; max-width: 260px; }
.pc-profile-activator .mud-button-label { min-width: 0; }
.pc-profile-activator .mud-typography { overflow-wrap: anywhere; }
.pc-layout .mud-drawer { top: var(--pc-header-height); height: calc(100dvh - var(--pc-header-height)); }
.pc-layout .mud-button-root, .pc-dialog .mud-button-root { min-height: 44px; height: auto; white-space: normal; }
.pc-layout .mud-icon-button, .pc-dialog .mud-icon-button { min-width: 44px; min-height: 44px; }
.pc-layout :focus-visible, .pc-dialog :focus-visible { outline: 3px solid #1A80E5; outline-offset: 3px; }
.pc-layout .mud-typography, .pc-dialog .mud-typography { overflow-wrap: anywhere; }
.pc-layout .mud-table-container { max-width: 100%; }
.pc-list { width: 100%; margin: 0; min-width: 0; }
.pc-toolbar { gap: 8px; align-items: center; }
.pc-toolbar > * { min-width: 0; }
.pc-toolbar .mud-input-control { flex: 1 1 220px; }
.pc-toolbar .mud-chip { max-width: 100%; height: auto; min-height: 32px; }
.pc-toolbar .mud-chip-content { white-space: normal; overflow-wrap: anywhere; }
.pc-list .mud-table-cell { overflow-wrap: anywhere; max-width: 40ch; }
.pc-layout .mud-table-pagination-toolbar { flex-wrap: wrap; height: auto; gap: 4px; }
.pc-mobile-details { display: none; }
.pc-details-fields { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; padding: 12px; }
.pc-details-fields dt { font-weight: 700; font-size: .875rem; }
.pc-details-fields dd { margin: 0; overflow-wrap: anywhere; }
.pc-form { width: 100%; max-width: 720px; margin-inline: auto; container-type: inline-size; }
.pc-auth-form { width: 100%; max-width: 420px; margin-inline: auto; }
.pc-form .pc-form-half { flex-basis: 100%; max-width: 100%; }
.pc-company-form { max-width: 960px; }
@container (min-width: 640px) {
    .pc-form .pc-form-half { flex-basis: 50%; max-width: 50%; }
}
.pc-cards.mud-grid { margin: 0 auto; width: 100%; max-width: 1440px; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 24px; }
.pc-cards > .mud-grid-item { padding: 0; max-width: none; width: 100%; flex-basis: auto; min-width: 0; }
.pc-dashboard-identities { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); gap: 24px; }
.pc-dashboard-identities > .mud-grid-item { padding: 0; width: 100%; max-width: none; min-width: 0; }
.pc-dashboard-identities .mud-button-root { width: 100%; }
.pc-terms-link { text-decoration: underline; }
.pc-cards > .mud-grid-item > .mud-button-root { display: flex; width: 100%; height: 100%; padding: 0; text-transform: none; }
.pc-cards .mud-button-label { display: flex; width: 100%; height: 100%; }
.pc-card { width: 100%; height: 100%; min-height: 260px; }
.pc-card .mud-card-header { min-height: 64px; }
.pc-card .mud-card-content { gap: 16px; }
.pc-card-icon { width: clamp(80px,10vw,130px); height: clamp(80px,10vw,130px); align-self: center; }
.pc-dashboard-identity { min-width: 0; }
.pc-dashboard-identity > div { min-width: 0; }
.pc-payment, .pc-invoice { width: 100%; max-width: 600px; margin-inline: auto; overflow-wrap: anywhere; }
.pc-payment-header { min-height: 64px; height: auto; padding: 16px 48px; position: relative; }
.pc-payment .mud-radio-group { flex-wrap: wrap; }
.pc-payment .mud-radio { max-width: 100%; }
.pc-payment .mud-radio-content { overflow-wrap: anywhere; }
.mud-dialog-container:has(.pc-dialog) { top: var(--pc-viewport-top,0px); height: var(--pc-viewport-height,100dvh); left: var(--pc-viewport-left,0px); width: var(--pc-viewport-width,100%); box-sizing: border-box; }
.pc-dialog.mud-dialog { display: flex; flex-direction: column; max-height: calc(var(--pc-viewport-height,100dvh) - 32px); min-width: 0; }
.pc-dialog .mud-dialog-content { overflow-y: auto; min-height: 0; overscroll-behavior: contain; }
.pc-dialog .mud-dialog-actions { flex-shrink: 0; flex-wrap: wrap; gap: 8px; background: var(--mud-palette-surface); }
.pc-dialog .mud-dialog-actions > .mud-container { display: flex; flex-wrap: wrap; gap: 8px; }
.pc-dialog-body { padding-bottom: 16px; }
.pc-company-tabs { width: 100%; min-width: 0; }
.pc-company-section { display: none; }
.pc-company-tools { gap: 8px; padding-block: 16px; min-width: 0; }
.pc-company-tools > * { min-width: 0; max-width: 100%; }
.pc-company-user-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.pc-company-role-options .mud-list-item-icon { color: var(--mud-palette-success); }
.pc-chat-support { display: none; }
.pc-chat-support.pc-pingo-support { display: inline-flex; }
.pc-company-tabs .mud-tab { max-width: 32ch; white-space: normal; height: auto; min-height: 44px; }
.pc-company-page { width: 100%; min-width: 0; }
.pc-company-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 16px; }
.pc-message { padding: 24px; margin: 16px auto; max-width: 70ch; width: 100%; }
.pc-comparison { max-width: 100%; overflow-x: auto; }
.pc-comparison table { min-width: 640px; }
.pc-legal { max-width: 80ch; margin-inline: auto; overflow-wrap: anywhere; }
@media screen {
    .pc-legal .legal-document { padding: 0; margin: 0; max-width: none; }
    .pc-legal table { max-width: 100%; }
}
@media (min-width: 600px) { :root { --pc-gutter: 24px; } }
@media (min-width: 960px) { :root { --pc-gutter: 32px; } }
/* MudDataGrid Sm stacks through 960px in 9.7.0; keep detail disclosure aligned. */
@media (max-width: 960px) {
    /* A full-width spacer ends the heading/action row before the first filter. */
    .pc-toolbar > .pc-filter-break { flex: 0 0 100%; height: 0; }
    .pc-mobile-details { display: block; }
    .pc-details-row { display: table-row; }
    .pc-list .mud-table-cell:before { max-width: 45%; white-space: normal; overflow-wrap: anywhere; }
    .pc-list .mud-table-cell { max-width: none; height: auto; min-height: 44px; }
    .pc-list .pc-secondary-cell { display: none; }
    .pc-company-user-filters { flex-basis: 100%; gap: 4px; }
    .pc-company-user-filters .pc-filter-chip .mud-chip { padding-inline: 8px; }
    :is(.pc-company-users-grid, .pc-company-devices-grid) .mud-table-cell { gap: 12px; }
    :is(.pc-company-users-grid, .pc-company-devices-grid) .mud-table-cell::before { flex: 0 0 88px; max-width: 88px; padding-right: 0; overflow-wrap: normal; }
    .pc-company-users-grid .pc-mobile-details { flex-direction: column; align-items: stretch; text-align: start; }
    .pc-company-users-grid .pc-mobile-details::before { display: none; }
    .pc-company-users-grid .pc-details-fields { padding: 8px 0; margin: 0; }
}
@media (min-width: 960.01px) { .pc-details-row { display: none; } }
@media (max-width: 1279.98px) {
    .pc-company-section { display: block; padding: 8px; }
    .pc-company-tabs > .mud-tabs-tabbar { display: none; }
    html[data-pc-chat-ready="true"] .pc-chat-support { display: inline-flex; }
    .pc-company { order: 4; flex: 1 1 100%; max-width: 100%; }
    .pc-company-name { flex: 1; }
    .pc-layout .mud-appbar { width: 100%; margin-left: 0; }
    .pc-layout .pc-main { margin-left: 0; }
}
@media (max-width: 599.98px), (max-height: 599.98px) {
    .pc-public-header .mud-toolbar-appbar > a { flex: 1 1 auto; min-width: 0; }
    .pc-public-header .mud-toolbar-appbar > .mud-spacer { display: none; }
    .pc-appbar .mud-toolbar-appbar { gap: 4px; }
    .pc-account { max-width: 100%; }
    .pc-toolbar > .mud-button-root { width: 100%; margin-left: 0; }
    .pc-company-tools > .mud-button-root, .pc-company-tools > .mud-tooltip-root,
    .pc-company-tools > .mud-tooltip-root .mud-button-root { width: 100%; }
    .mud-dialog-container:has(.pc-dialog) { align-items: start; padding: 0; top: var(--pc-viewport-top,0px); height: var(--pc-viewport-height,100dvh); }
    .pc-dialog.mud-dialog { margin: 0; width: 100%; max-width: 100%; max-height: var(--pc-viewport-height,100dvh); border-radius: 0; }
    .pc-dialog .mud-dialog-content { padding-inline: 16px; }
    .pc-card { min-height: 220px; }
    .pc-card-icon { width: 80px; height: 80px; }
}
.pc-mobile-sort { display: none; width: 100%; }
.pc-sort-options { display: grid; gap: 8px; padding-block: 8px; }
.pc-sort-option { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.pc-sort-option > span:first-child { flex: 1 1 120px; }
.pc-list .mud-table-toolbar:has(.pc-mobile-sort) { display: none; }
.pc-identity-button .mud-button-label { display: flex; gap: 8px; text-align: start; align-items: center; min-width: 0; }
.pc-identity-button .mud-button-label > div { min-width: 0; }
.pc-list summary { cursor: pointer; min-height: 44px; padding: 10px 4px; }
@media (max-width: 960px) {
    .pc-mobile-sort { display: block; }
    .pc-list .mud-table-toolbar:has(.pc-mobile-sort) { display: flex; height: auto; padding: 8px 16px; }
    .pc-list .mud-table-cell-hide { display: none; }
}
.pc-layout .mud-button-filled-primary, .pc-dialog .mud-button-filled-primary { background-color: #268120; color: white; }
.pc-layout .mud-button-filled-primary:hover, .pc-dialog .mud-button-filled-primary:hover { background-color: #206d1b; }
.pc-layout .mud-button-filled-primary:disabled, .pc-dialog .mud-button-filled-primary:disabled { background-color: var(--mud-palette-action-disabled-background); color: var(--mud-palette-action-disabled); }
.pc-payment-header, .pc-billing-header { background-color: #268120; }
.pc-layout .mud-input-label, .pc-dialog .mud-input-label { white-space: normal; overflow-wrap: anywhere; height: auto; }
.pc-layout .mud-input-helper-text, .pc-dialog .mud-input-helper-text { white-space: normal; }
.pc-form .mud-grid { width: 100%; margin: 0; }
.pc-form .mud-grid-item { padding-inline: 8px; min-width: 0; }
.pc-cards .mud-card-media { max-width: 100%; }
@media (max-width: 960px) {
    .pc-list .mud-table-head .pc-secondary-cell { display: none; }
}
@media (min-width: 1280px) {
    .pc-shell[data-navigation="mini"] .pc-main { margin-left: var(--mud-drawer-width-mini-left,56px); }
    .pc-shell[data-navigation="expanded"] .pc-main { margin-left: var(--mud-drawer-width-left,240px); }
}
@media (max-height: 599.98px) {
    /* A short landscape viewport must be able to scroll its header away. */
    .pc-appbar.mud-appbar { position: static; }
    .pc-layout .pc-main { padding-top: 16px; }
    .pc-layout .mud-drawer { top: 0; height: 100dvh; }
}
.pc-page-start > .mud-grid:not(.pc-cards) { margin: 0; width: 100%; }
/* Navigation focuses this non-interactive landmark; controls keep their visible ring. */
.pc-page-start:focus-visible { outline: none; }
.pc-layout .mud-fab-primary, .pc-dialog .mud-fab-primary { background-color: #268120; color: white; }
.pc-layout .mud-fab-primary:disabled, .pc-dialog .mud-fab-primary:disabled { background-color: var(--mud-palette-action-disabled-background); color: var(--mud-palette-action-disabled); }
/* MudBlazor 9.7 wraps content/actions in a form and focus trap. Let the body shrink
   through those wrappers so the action bar stays inside the visual viewport. */
.pc-dialog > .mud-form, .pc-dialog .mud-focus-trap, .pc-dialog .mud-focus-trap-child-container {
    display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; max-height: inherit;
}
.pc-dialog .mud-dialog-content { flex: 1 1 auto; }
.pc-toolbar .mud-chip, .filter-popover .mud-chip { min-height: 44px; }
.filter-popover .mud-chip, .filter-popover .mud-icon-button { min-width: 44px; }
.filter-popover .mud-icon-button { min-height: 44px; }
.filter-popover :focus-visible { outline: 3px solid #1A80E5; outline-offset: 3px; }

/* Do not animate a main-content margin across a switch to an overlay drawer. */
.pc-layout .pc-main { transition: none; }

.pc-payment-field { width: 100%; min-width: 0; }
.pc-payment-field > :first-child { flex: 0 0 40%; min-width: 0; }
.pc-payment-field > :last-child { flex: 1 1 0; min-width: 0; }
@media (max-width: 599.98px) {
    .pc-payment-field { flex-direction: column; gap: 4px; }
    .pc-payment-field > :first-child, .pc-payment-field > :last-child { flex: 0 1 auto; margin-left: 0; }
}

.pc-layout .mud-button-text-primary, .pc-dialog .mud-button-text-primary { color: #268120; }
.pc-layout .mud-button-text-primary:disabled, .pc-dialog .mud-button-text-primary:disabled { color: var(--mud-palette-action-disabled); }

/* Initial WASM loading also appears during Friday's OIDC sign-in. */
#app > .bg { padding: 24px 16px; min-height: 100vh; min-height: 100dvh; box-sizing: border-box; }
#app > .bg > .loading_container { width: min(100%, 456px); height: auto; margin-top: clamp(32px, 10vh, 96px); }
#app > .bg .loading_container.card { width: 100%; height: auto; min-height: 160px; padding: 32px; margin-top: 32px; box-sizing: border-box; align-items: center; }
/* Shared filter appearance follows Friday; state and query callbacks stay in the app. */
.pc-filter-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    gap: 2px;
}
.pc-filter-chip .mud-chip {
    min-height: 44px;
    height: auto;
    margin: 0;
    max-width: 100%;
    border-radius: 24px;
    padding: 8px 14px;
}
.pc-filter-chip .mud-chip-content {
    white-space: normal;
    overflow-wrap: anywhere;
}
.pc-filter-chip .base-mud-chip-selected {
    background: #d5eed3;
    color: #22771d;
    padding-right: 14px;
}
.pc-filter-chip .mud-icon-button,
.pc-filter-chip .unselect-mud-chip-style {
    flex-shrink: 0;
    min-width: 44px;
    min-height: 44px;
    margin-left: 0;
    padding: 8px;
    color: #22771d;
}
.pc-filter-active { background: #d5eed3; border-radius: 24px; }
.pc-filter-operators { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.pc-filter-operator.mud-button-root { min-width: 44px; min-height: 44px; padding: 6px 10px; }
.filter-popover .mud-chip { min-width: 44px; min-height: 44px; height: auto; }
.filter-popover .close-button { margin-right: 0; }
.pc-action.mud-button-root { min-width: 112px; min-height: 44px; margin: 0; }
.pc-layout .pc-action-secondary, .pc-dialog .pc-action-secondary { color: #268120; border-color: #268120; }
.pc-loading-shell { padding: 16px; box-sizing: border-box; min-height: 60dvh; }
.pc-app-loading { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 32px 24px; width: 100%; max-width: 560px; margin: clamp(32px, 10dvh, 96px) auto 24px; text-align: center; box-sizing: border-box; font-family: Mulish, Arial, sans-serif; background: var(--mud-palette-surface, #fff); border: 1px solid var(--mud-palette-lines-default, #d9ded8); border-radius: 24px; }
.pc-loading-status { margin: 0; font-size: 1rem; line-height: 1.5; }

.pc-loading-title { font-size: 1.75rem; line-height: 1.3; font-weight: 800; margin: 0; }
.pc-loading-tip { margin: 0; font-size: .875rem; line-height: 1.5; max-width: 440px; }
.pc-loading-ring { position: relative; flex: 0 0 auto; width: 96px; height: 96px; margin: 8px 0; color: #268120; }
.pc-loading-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.pc-loading-ring circle { fill: none; stroke-width: 3; }
.pc-loading-track { stroke: #d5eed3; }
.pc-loading-arc { stroke: currentColor; stroke-dasharray: 126; stroke-dashoffset: calc(126 * (1 - var(--pc-loading-fraction, 0))); transition: stroke-dashoffset .2s; }
.pc-loading-preparing .pc-loading-arc { stroke-dasharray: 80 126; stroke-dashoffset: 0; }
.pc-loading-preparing svg { animation: pc-loading-spin 1.1s linear infinite; }
@keyframes pc-loading-spin { from { transform: rotate(-90deg); } to { transform: rotate(270deg); } }
.pc-boot-percentage { position: absolute; inset: 0; display: grid; place-items: center; color: var(--mud-palette-text-primary, #22771d); font-size: 1.1rem; font-weight: 700; }
.pc-boot-progress .pc-boot-percentage::after { content: var(--pc-loading-percentage-text, "0%"); }
@media (prefers-reduced-motion: reduce) { .pc-loading-arc { transition: none; } .pc-loading-preparing svg { animation: none; } }

/* The shell launcher stays out of dialog action bars at every screen size. */
html[data-pc-chat-ready="true"] .pc-chat-support { display: inline-flex; }
.pc-loading-preparing .pc-boot-percentage { display: none; }
.pc-filter-popover { width: min(320px, calc(100vw - 32px)); }
.pc-filter-editor { padding: 16px 8px 8px; min-width: 0; }
.pc-filter-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; }
.pc-filter-dialog .mud-dialog-actions { padding: 12px 16px; }
.pc-filter-editor .pc-filter-operators, .pc-filter-dialog .pc-filter-operators { gap: 4px; }
.pc-filter-options { max-height: min(320px, 45dvh); overflow-y: auto; overflow-x: hidden; }
.pc-filter-options .mud-checkbox-content { overflow-wrap: anywhere; }
.pc-contragent-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 16px; }
.pc-contragent-select { max-width: 100%; text-align: start; text-transform: none; min-height: 44px; }
.pc-contragent-select[aria-pressed="true"] { background: #d5eed3; color: #22771d; }
@media (max-width: 599.98px) { .pc-contragent-actions > .mud-button-root { flex: 1 1 100%; } }

.pc-company-registration > .mud-tabs-tabbar { display: none; }

/* The current Chatlio v5 light-DOM widget: anchor the open window to the shell.
   Its native close control remains in the window header; suppress the bottom chip. */
html[data-pc-chat-expanded="true"] #chatlio-widget .chatlio-title-bar { display: none; }
html[data-pc-chat-expanded="true"] #chatlio-widget .chatlio-widget-body.chatlio-open {
    --pc-chat-top: clamp(calc(var(--pc-viewport-top, 0px) + 8px), calc(var(--pc-header-height, 64px) + 8px), calc(var(--pc-viewport-top, 0px) + var(--pc-viewport-height, 100dvh) - 128px));
    position: fixed;
    top: var(--pc-chat-top);
    bottom: auto;
    left: var(--pc-chat-left, 8px);
    right: auto;
    width: min(370px, calc(100vw - 16px));
    max-height: calc(var(--pc-viewport-top, 0px) + var(--pc-viewport-height, 100dvh) - var(--pc-chat-top) - 8px);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    transform-origin: top right;
    animation: pc-chat-open 160ms ease-out;
}
html[data-pc-chat-expanded="true"] .pc-chat-support { background-color: #d5eed3; }
@keyframes pc-chat-open { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
    html[data-pc-chat-expanded="true"] #chatlio-widget .chatlio-widget-body.chatlio-open { animation: none; }
}

html[data-pc-chat-expanded="true"] #chatlio-widget .chatlio-chat-header {
    position: sticky;
    top: 0;
    flex-shrink: 0;
    z-index: 1;
    background: #fff;
}

html[data-pc-chat-expanded="true"] #chatlio-widget .chatlio-chat-header__minimize-button {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
}

/* Compact labels on narrow screens; the grid retains its configured breakpoint. */
.pc-tax-config-value { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 599.98px) {
    .pc-tax-configurations .mud-table-body,
    .pc-tax-configurations .mud-table-body .mud-table-row { display: block; width: 100%; }
    .pc-tax-configurations .mud-table-body .mud-table-cell {
        display: flex; width: 100%; box-sizing: border-box; gap: 12px;
        align-items: flex-start; justify-content: space-between;
    }
    .pc-tax-configurations .mud-table-body .mud-table-cell::before {
        flex: 0 0 35%; max-width: 35%; padding-right: 0;
    }
    .pc-tax-configurations .pc-tax-config-value { flex: 1 1 0; text-align: end; }
}

/* Shared SVG symbols contain a white backplate; keep their letters green when selected. */
.pc-filter-operator .pc-filter-symbol { color: #22771d; }
.pc-contragent-title { overflow-wrap: anywhere; }
.pc-filter-actions.pc-contragent-actions { padding: 0; justify-content: flex-start; }
.pc-contragent-actions .pc-action-primary { margin-left: auto; }
@media (max-width: 599.98px) {
    .pc-filter-actions.pc-contragent-actions > .mud-button-root { flex: 0 1 auto; }
}

.pc-permissions-options .mud-list-item-icon { color: var(--mud-palette-success); }
.pc-company-skeleton-photo { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.pc-company-skeleton-photo .mud-skeleton-rectangle { max-width: 320px; }
.pc-company-skeleton-tabs { display: flex; }
@media (max-width: 959.98px) { .pc-company-skeleton-tabs { display: none; } }
@media (prefers-reduced-motion: reduce) { .pc-company-skeleton .mud-skeleton { animation: none; } }
.pc-loading-detail { margin: 0; max-width: 440px; font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
.pc-loading-compact { min-height: 0; padding: 0; }
.pc-loading-compact .pc-app-loading { min-height: 160px; margin: 16px auto; }

/* Shared list geometry matches the standard Friday grid/pager presentation. */
.pc-list-toolbar { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.pc-list-toolbar + .pc-list { border-top-left-radius: 0; border-top-right-radius: 0; }
.pc-dialog-heading { display: flex; align-items: flex-start; gap: 16px; }
.pc-dialog-heading > .mud-typography { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; }
.pc-dialog-heading > .mud-icon-button { flex: 0 0 auto; }
.pc-list .mud-table-head .mud-table-cell { vertical-align: bottom; }
.pc-actions-heading { display: block; margin-inline: auto; }
.pc-list .mud-table-pagination-caption { white-space: nowrap; }
.pc-list .mud-table-pagination-select { flex: 0 0 auto; min-width: 64px; }
.pc-contragent-select .mud-button-label { justify-content: flex-start; text-align: start; }
.pc-contragent-details { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); margin: 0; }
@media (min-width: 960.01px) {
    .pc-list .mud-table-body .pc-row-actions { display: table-cell; vertical-align: middle; text-align: center; }
    .pc-list .data-grid-settings-col { width: 64px; min-width: 64px; }
    .pc-contragent-grid .pc-contragent-name { width: 40%; }
}
@media (max-width: 599.98px) {
    .pc-list .mud-table-pagination-toolbar { justify-content: center; padding-block: 8px; }
}

/* Active dialog actions take precedence over previously queued notifications. */
@media screen {
    body:has(.mud-dialog-container) #mud-snackbar-container { z-index: calc(var(--mud-zindex-dialog, 1400) - 1); }
}

/* MudSelect adds an outer flex container: constrain that wrapper, not just its input. */
.pc-list .mud-table-pagination-toolbar > .mud-select { flex: 0 0 6rem; max-width: 6rem; }
/* MudBlazor 9.7 sets both pager margins and .mud-select-input padding with !important. */
.pc-list .mud-table-pagination-select { margin-top: 0 !important; margin-inline: 0 !important; min-width: 0; }
.pc-list .mud-table-pagination-select .mud-input-adornment { padding: 0 !important; }

.pc-list .mud-table-pagination-spacer { flex-basis: 0; }
.pc-list .mud-table-pagination-toolbar > .mud-select { margin-inline: 0; }
.pc-list .mud-table-pagination .mud-table-pagination-actions .mud-button-root:is(:first-child, :last-child) { display: inline-flex; }

/* Company selection stays bounded and readable alongside the mobile row labels. */
.pc-company-selection .pc-contragent-select { min-width: 0; }
.pc-company-selection .mud-button-label { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 960px) {
    .pc-company-selection .mud-table-cell { gap: 8px; align-items: center; }
    .pc-company-selection .mud-table-cell::before { flex: 0 0 64px; padding-right: 0; white-space: nowrap; }
    .pc-company-selection .pc-contragent-select { flex: 1 1 0; }
}

/* Compact signed-in mobile shell: all actions remain available without hover. */
.center-petroffsoft-brand { display: block; max-width: 100%; object-fit: contain; margin-bottom: 16px; }
.center-profile-grid .pc-identity-button .mud-typography-body1 { font-size: .875rem; line-height: 1.5; }
.center-profile-grid .pc-identity-button .mud-avatar { flex-shrink: 0; }
.center-profile-grid .pc-identity-button .mud-button-label > div { min-width: 0; }
.center-management-grid .center-dashboard-exit { width: auto; min-height: 44px; padding: 8px 16px; }
.pc-profile-mobile-context { display: none; }
.pc-profile-menu-content { max-width: min(360px, calc(100vw - 24px)); }
.pc-profile-menu-content .mud-list-item { min-height: 44px; white-space: normal; }
.pc-profile-summary { margin: 8px 16px; overflow-wrap: anywhere; }
.pc-profile-summary-name { font-size: 1.125rem; line-height: 1.4; font-weight: 600; }
.center-management-grid .mud-button-root:has(.center-management-card) { --mud-button-borderradius: 16px; border-radius: 16px; }
.center-management-card.mud-paper { border-radius: 16px; }
.mud-popover:has(.pc-profile-menu-content) { max-height: calc(var(--pc-viewport-height, 100dvh) - 80px); overflow-y: auto; }
@media (max-width: 599.98px) {
    .pc-appbar .mud-toolbar-appbar { flex-wrap: nowrap; gap: 0; padding: 8px; }
    .pc-appbar .mud-toolbar-appbar > .mud-spacer, .pc-appbar .pc-company { display: none; }
    .pc-appbar .pc-breadcrumbs { flex: 1 1 0; min-width: 0; margin-inline: 4px; }
    .pc-appbar .pc-breadcrumbs .mud-icon-root { display: none; }
    .pc-appbar .pc-breadcrumbs .mud-typography { font-size: .875rem; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .pc-appbar .pc-account { flex-wrap: nowrap; gap: 0; flex: 0 0 auto; }
    .pc-appbar .pc-account .mud-icon-button { padding: 8px; }
    .pc-appbar .pc-profile-activator { width: 44px; min-width: 44px; padding: 0; }
    .pc-appbar .pc-profile-activator .mud-avatar { margin: 0 !important; }
    .pc-appbar .pc-profile-name { display: none; }
    .pc-profile-mobile-context { display: block; }
    .center-dashboard .center-profile-grid { display: none; }
}

.pc-profile-activator { display: flex; align-items: center; min-height: 44px; }
.pc-profile-activator .mud-avatar { flex-shrink: 0; }
.pc-profile-activator .pc-profile-name { min-width: 0; }
.pc-profile-paper.mud-paper { padding: 24px; border-radius: 24px; }
.pc-company-page.mud-paper { padding: 24px; border-radius: 24px; }
.pc-company-title { font-weight: 800; overflow-wrap: anywhere; }
.pc-company-group-title { font-weight: 700; }
.pc-company-details-actions { max-width: 960px; justify-content: flex-end; }
.pc-profile-title { margin-bottom: 20px; font-weight: 800; }
.pc-profile-photo { max-width: 280px; margin: 0 auto 20px; text-align: center; }
/* Profile only: override the legacy uploader's inline 150px avatar size. */
.pc-profile-photo .mud-avatar { width: 84px !important; height: 84px !important; }
.pc-profile-photo .mud-avatar .mud-typography { font-size: 1.75rem; }
.pc-credit-balance { display: flex; align-items: center; gap: 6px; border-radius: 4px; color: var(--mud-palette-success-darken); font-weight: 700; line-height: 1; }
.pc-company > .mud-tooltip-root:has(.pc-credit-balance) { display: flex; align-items: center; align-self: stretch; }
.pc-credit-balance:focus-visible { outline: 2px solid var(--mud-palette-text-primary); outline-offset: 4px; }
/* Local presentation adapter for the shared coin SVG, whose published color is fixed. */
.pc-credit-icon { display: inline-flex; align-items: center; flex-shrink: 0; color: var(--mud-palette-success-darken); line-height: 1; }
.pc-credit-icon svg { display: block; }
.pc-credit-balance, .pc-credit-icon,
.center-management-card .mud-icon-root, .pc-dashboard-identity .mud-icon-root {
    color: var(--mud-palette-success-darken);
    color: color-mix(in srgb, var(--mud-palette-success) 65%, var(--mud-palette-text-primary));
}
.pc-credit-value { font-size: .875rem; }
.pc-credit-icon svg path[stroke] { stroke: currentColor; }
.pc-credit-icon svg path[fill] { fill: currentColor; }
.pc-profile-company-title { overflow-wrap: anywhere; font-weight: 700; }
.pc-profile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 0; max-width: 720px; margin-inline: auto; }
.pc-profile-password { margin-left: auto; }
.pc-password-form, .pc-password-actions { max-width: 520px; }
.pc-password-clear { margin-left: auto; }
.pc-password-form .mud-input-adornment .mud-icon-button { color: var(--mud-palette-text-primary); }
@media (max-width: 599.98px), (max-height: 479.98px) and (max-width: 959.98px) {
    .pc-profile-form { padding-bottom: 128px; }
    .pc-profile-paper.mud-paper { padding: 16px; }
    .pc-company-page.mud-paper { padding: 16px; }
    .pc-company-details-form { padding-bottom: 88px; }
    .pc-profile-actions { position: fixed; bottom: var(--pc-keyboard-inset, 0px); left: var(--pc-gutter); right: var(--pc-gutter); z-index: 1100; padding: 12px 16px max(12px, env(safe-area-inset-bottom)); border: 1px solid var(--mud-palette-lines-default); border-radius: 16px 16px 0 0; background: var(--mud-palette-surface); box-shadow: 0 -2px 12px #00000012; gap: 8px; }
    .pc-profile-actions .pc-action { flex: 1 1 0; min-width: 0; }
    .pc-profile-password { flex: 1 1 100%; margin: 0; }
    .pc-password-form { padding-bottom: 160px; }
    .pc-password-actions .pc-action-primary { flex: 1 1 100%; }
    .pc-password-clear { margin: 0; }
}
@media (max-width: 599.98px) {
    .center-dashboard > .center-credits { margin-top: 0; }
}

/* Filter summaries stay compact; the editor retains the complete query. */
.pc-toolbar { min-width: 0; max-width: 100%; }
.pc-filter-chip { max-width: min(24rem, calc(100vw - 48px)); }
.pc-filter-chip > .mud-chip-container { display: flex; min-width: 0; max-width: 100%; flex-shrink: 1; }
.pc-filter-chip .mud-chip { min-width: 0; flex-shrink: 1; overflow: hidden; }
.pc-filter-chip .mud-chip-content { min-width: 0; overflow: hidden; white-space: nowrap; overflow-wrap: normal; }
.pc-filter-summary { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 599.98px) {
    .pc-roles-grid .mud-table-cell { gap: 12px; }
    .pc-roles-grid .mud-table-cell::before { flex: 0 0 88px; max-width: 88px; padding-right: 0; overflow-wrap: normal; }
    .pc-roles-grid .pc-mobile-details { flex-direction: column; align-items: stretch; text-align: start; }
    .pc-roles-grid .pc-mobile-details::before { display: none; }
    .pc-roles-grid .pc-details-fields { margin: 0; padding: 8px 0; }
}

@media (max-width: 599.98px) {
    :is(.pc-tax-configurations, .pc-tax-configuration-items) .mud-table-body .mud-table-cell::before { flex: 0 0 88px; max-width: 88px; padding-right: 0; overflow-wrap: normal; }
    :is(.pc-tax-configurations, .pc-tax-configuration-items) .mud-table-body .mud-table-cell.pc-row-actions { align-items: center; }
}

/* Render the flag in its own viewport, without MudIcon's nested SVG viewport. */
.pc-language-flag { display: flex; align-items: center; justify-content: center; }
.pc-language-flag > svg { display: block; width: 24px; height: 24px; }
.pc-credit-balance-text { color: var(--mud-palette-success-darken); font-weight: 700; }
@supports (color: color-mix(in srgb, green, black)) {
    .pc-credit-balance-text { color: color-mix(in srgb, var(--mud-palette-success) 65%, var(--mud-palette-text-primary) 35%); }
}
@media (max-width: 599.98px) {
    .pc-taxes-list .mud-table-cell::before { flex: 0 0 88px; }
    .pc-taxes-list .pc-mobile-details::before { content: none; }
}

@media (max-width: 959.98px) {
    .pc-list .pc-mobile-details::before { display: none; }
}
@media (max-width: 599.98px) {
    .pc-configurations-list .mud-table-cell::before { flex: 0 0 88px; max-width: 88px; }
}

.pc-invoice { max-width: 1100px; }
.pc-credential-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 12px 24px; padding: 16px; margin: 0; }
.pc-credential-details > div { display: block; min-width: 0; }
.pc-credential-details dd { margin: 4px 0 0; }

@media (max-width: 599.98px) {
    :is(.pc-requests-grid, .pc-credentials-grid) .mud-table-root,
    :is(.pc-requests-grid, .pc-credentials-grid) .mud-table-body,
    :is(.pc-requests-grid, .pc-credentials-grid) .mud-table-body > .mud-table-row { display: block; width: 100%; }
    :is(.pc-requests-grid, .pc-credentials-grid) .mud-table-child-content { display: block; min-width: 0; }
    .pc-requests-grid .pc-comparison { width: 100%; min-width: 0; }
    .pc-credentials-grid .mud-table-cell::before { flex: 0 0 88px; max-width: 88px; padding-right: 0; }
}

.pc-companies-pager .mud-input-control { flex: 0 0 76px; width: 76px; }
.pc-cards .mud-avatar.pc-card-icon { width: clamp(80px,10vw,130px); height: clamp(80px,10vw,130px); }

.pc-payment > .pc-billing-header, .pc-invoice > .pc-payment-header { border-top-left-radius: inherit; border-top-right-radius: inherit; }

/* Approved screen review: compact presentation; touch targets and data contracts remain intact. */
.pc-phone-copy { display: none; }
.pc-section-heading { margin: 16px 0 8px; font-weight: 600; }
.pc-value-preview { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; max-width: 60ch; }
.pc-note-disclosure summary { cursor: pointer; }
.pc-disclosure-hint { display: block; color: var(--mud-palette-success-darken); font-size: .875rem; margin-top: 4px; }
.pc-auth-recovery, .pc-payment-result { width: 100%; max-width: 600px; margin: 24px auto; border-radius: 24px; text-align: center; box-sizing: border-box; }
.pc-signup-step { width: 100%; max-width: 720px; margin: 12px auto; }
.pc-integration-help details > summary { cursor: pointer; font-weight: 600; }
.pc-transactions-credit-positive { color: var(--mud-palette-success-darken); font-weight: 700; }
.pc-transactions-credit-negative { color: var(--mud-palette-error-darken); font-weight: 700; }
@media (max-width: 599.98px) {
    .pc-phone-copy { display: inline; }
    .pc-desktop-copy { display: none; }
    .center-credits { margin: 16px 0; padding: 16px; }
    .center-credits h2 { font-size: 20px !important; margin-bottom: 8px; }
    .center-credits > p { font-size: .875rem; margin-bottom: 8px; }
    .center-credit-grid { gap: 10px; margin: 12px 0; }
    .center-credit-card { display: grid; grid-template-columns: minmax(0,1fr) auto; text-align: start; align-items: center; }
    .center-credit-card .mud-card-content { padding: 12px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 8px; }
    .center-credit-card h3 { font-size: 16px !important; margin: 0; grid-column: 1 / -1; }
    .center-credit-amount { font-size: 22px; justify-content: flex-start; gap: 4px; }
    .center-credit-card .pc-credit-icon svg { width: 22px; height: 22px; }
    .center-credit-unit { font-size: 12px; margin: 0; grid-row: 3; }
    .center-credit-price { font-size: 18px; margin: 0; align-self: center; }
    .center-credit-price span { font-size: 12px; }
    .center-credit-card .mud-card-actions { padding: 8px; }
    .center-credit-card .mud-button-root { font-size: .875rem; padding-inline: 12px; }
    .center-credit-terms { font-size: 12px; gap: 4px; }
    .pc-toolbar { padding-block: 8px !important; gap: 4px; }
    .pc-list .mud-table-toolbar { min-height: 44px; height: auto; padding-block: 4px; }
    .pc-list .mud-table-row { position: relative; }
    .pc-list .mud-table-cell.pc-row-actions { position: absolute; top: 4px; right: 8px; width: 44px; min-height: 44px; padding: 0; background: transparent; z-index: 1; }
    .pc-list .mud-table-cell.pc-row-actions::before { display: none; }
    .pc-list .mud-table-cell.pc-row-actions .mud-menu { margin: 0; }
    :is(.pc-requests-grid, .pc-credentials-grid, .pc-contragent-grid) .mud-table-body > .mud-table-row > .mud-table-cell:first-child:not(.pc-row-actions) { justify-content: flex-start; min-height: 48px; }
    :is(.pc-requests-grid, .pc-credentials-grid, .pc-contragent-grid) .mud-table-body > .mud-table-row > .mud-table-cell:first-child:not(.pc-row-actions)::before { display: none; }
    .pc-list .mud-table-cell:not(.pc-row-actions) { padding-block: 8px; }
    .pc-list .mud-table-cell.pc-row-actions + .mud-table-cell,
    .pc-list .mud-table-cell.pc-row-actions + .mud-table-cell-hide + .mud-table-cell { padding-right: 64px; min-height: 52px; }
    .pc-list .pc-mobile-details { padding-block: 8px; }
    .pc-compact-editor .mud-dialog-content { padding: 12px 16px; }
    .pc-compact-editor .pc-dialog-body { padding: 8px 0; }
    .pc-compact-editor .mud-grid-item { padding-top: 12px; }
    .pc-payment-header { padding: 12px 44px; min-height: 64px; }
    .pc-payment .mud-container { gap: 12px !important; }
    .pc-payment-field { gap: 2px; }
    .pc-invoice .gap-y-5 { row-gap: 4px; }
    .pc-invoice .mud-grid-item { padding-block: 8px; }
}

.pc-more-filters > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; padding-inline: 12px; color: var(--mud-palette-success-darken); }
.pc-more-filter-items { display: flex; gap: 8px; flex-wrap: wrap; }
.pc-value-disclosure summary { cursor: pointer; white-space: nowrap; }
.pc-difference-label { font-weight: 600; }
@media (min-width: 600px) and (max-width: 1279.98px) {
    .pc-appbar .mud-toolbar-appbar { flex-wrap: nowrap; }
    .pc-appbar .pc-company { display: none; }
    .pc-profile-mobile-context { display: block; }
    .pc-appbar .pc-breadcrumbs { flex: 1 1 0; min-width: 0; }
    .pc-appbar .pc-account { flex-wrap: nowrap; flex-shrink: 0; }
    .pc-appbar .pc-profile-name { display: none; }
    .pc-appbar .pc-profile-activator { min-width: 44px; width: 44px; padding: 0; }
    .pc-appbar .pc-profile-activator .mud-avatar { margin: 0 !important; }
}
@media (max-width: 599.98px) {
    .pc-more-filters { flex-basis: 100%; }
    .pc-more-filter-items { gap: 4px; }
    .pc-comparison .pc-difference-table { min-width: 0 !important; width: 100%; }
    .pc-difference-table, .pc-difference-table tbody { display: block; }
    .pc-difference-table colgroup { display: none; }
    .pc-difference-table tr { display: grid; grid-template-columns: minmax(0,1fr); gap: 4px; padding: 12px; border-bottom: 1px solid var(--mud-palette-lines-default); }
    .pc-difference-table tr:has(> th) { display: none; }
    .pc-difference-table td { display: block; width: auto; overflow-wrap: anywhere; }
    .pc-difference-table td[data-label]::before { content: attr(data-label) ": "; display: block; font-size: .75rem; color: var(--mud-palette-text-secondary); }
    .pc-dialog-heading .mud-typography { font-size: 1rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
}

.center-credits-toggle.mud-button-root { padding: 8px 12px; text-transform: none; text-align: start; font: inherit; color: var(--mud-palette-text-primary); border-radius: 8px; }
.center-credits-toggle .mud-button-label { justify-content: space-between; gap: 12px; min-height: 44px; }
.center-credits-toggle .mud-button-label > span { min-width: 0; flex: 1 1 0; overflow-wrap: normal; }
.center-credits-toggle .mud-icon-root { flex: 0 0 auto; }
.center-credits-company { margin-block: 8px 12px; }
.center-credit-description { margin-block: 8px 12px; }
.center-credit-amount strong { white-space: nowrap; }
@media (max-width: 599.98px) {
    .center-credit-card .mud-card-content { display: flex; flex-direction: column; gap: 6px; padding: 12px; min-width: 0; }
    .center-credit-card h3 { overflow-wrap: normal; }
    .center-credit-amount { flex-wrap: nowrap; font-size: 22px; white-space: nowrap; }
    .center-credit-amount small { font-size: 12px; font-weight: 400; }
    .center-credit-card .mud-card-actions { max-width: 110px; }
    .center-credit-card .mud-button-root { min-width: 64px; }
    .center-credit-price { align-self: flex-start; }
    .center-credit-description { font-size: .875rem; }
    .center-credits-company { font-size: .875rem; margin-bottom: 8px; }
}

.pc-selection-summary { max-width: 100%; margin: 0 0 12px; }
.pc-selection-summary .mud-chip-content, .pc-selection-summary .mud-chip-content > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-payment-summary { padding: 20px 16px; min-height: 136px; }
@media (max-width: 599.98px) {
    .pc-payment-summary { min-height: 116px; padding: 16px; }
    .pc-payment-summary .mud-typography-h4 { font-size: 1.75rem; }
    .pc-configurations-list .pc-value-disclosure::before { display: none; }
    .pc-difference-table .mud-image { max-width: 96px; max-height: 96px; object-fit: contain; }
}

@media (max-width: 599.98px) {
    .center-credit-card .mud-card-content { display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px 12px; }
    .center-credit-card h3 { flex-basis: 100%; }
    .center-credit-card .center-credit-amount { flex: 0 0 auto; }
    .center-credit-card .center-credit-amount small { display: none; }
    .center-credit-card .center-credit-price { flex: 0 0 auto; align-self: center; white-space: nowrap; }
}

.pc-legal-navigation { max-width: 72ch; margin: 0 auto 8px; }
/* Checkout layout stays independent of invoice/payment-detail label rules. */
.pc-checkout.mud-paper { max-width: 720px; border-radius: 24px; }
.pc-checkout-heading { display: flex; align-items: center; gap: 12px; padding: 16px 24px; border-bottom: 1px solid var(--mud-palette-lines-default); }
.pc-checkout-heading .mud-typography { flex: 1 1 0; min-width: 0; font-weight: 700; }
.pc-checkout-body { padding: 24px; display: flex; flex-direction: column; gap: 24px; }
.pc-checkout-summary { margin: 0; padding: 16px; border: 1px solid var(--mud-palette-lines-default); border-radius: 12px; background: var(--mud-palette-background-gray); }
.pc-checkout-summary > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: baseline; }
.pc-checkout-summary dt { font-weight: 600; }
.pc-checkout-summary dd { margin: 0; text-align: end; overflow-wrap: anywhere; }
.pc-checkout-summary .pc-checkout-total { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--mud-palette-lines-default); grid-template-columns: minmax(0,1fr) auto; }
.pc-checkout-total dd { font-weight: 800; font-size: 1.5rem; color: var(--mud-palette-success-darken); white-space: nowrap; }
.pc-checkout-methods { margin-top: 12px; }
.pc-checkout .pc-checkout-methods .mud-radio-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; align-items: stretch; }
.pc-checkout-methods .mud-radio-group > .mud-input-control { margin: 0; }
.pc-checkout-methods .mud-radio { margin: 0; padding: 8px; border: 1px solid var(--mud-palette-lines-default); border-radius: 12px; min-height: 64px; height: 100%; width: 100%; align-items: center; }
.pc-checkout-methods .mud-radio:has(input:checked) { border-color: var(--mud-palette-success); background: var(--mud-palette-success-hover); }
.pc-checkout-methods .mud-radio > .mud-typography { display: flex; align-items: center; gap: 8px; min-width: 0; }
.pc-checkout-methods .mud-radio > .mud-typography > img, .pc-checkout-methods .mud-radio > .mud-typography > .mud-icon-root { flex-shrink: 0; }
.pc-checkout-consents { display: flex; flex-direction: column; gap: 8px; padding-top: 16px; border-top: 1px solid var(--mud-palette-lines-default); }
.pc-checkout-consents .mud-checkbox { margin: 0; align-items: flex-start; }
.pc-checkout-consents .mud-checkbox > .mud-button-root { flex-shrink: 0; }
.pc-checkout-consents .mud-checkbox .mud-typography { padding-block: 10px; min-width: 0; line-height: 1.5; }
.pc-checkout-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; padding-bottom: 8px; }
.pc-checkout-actions .mud-button-root { min-width: 180px; }
.pc-checkout-policy { max-width: 720px; margin: 24px auto; padding: 0 16px; text-align: center; }
.pc-terms-dialog.mud-dialog { height: min(800px,calc(var(--pc-viewport-height,100dvh) - 32px)); }
.pc-terms-dialog .mud-dialog-content { scroll-behavior: auto; }
.pc-terms-dialog .pc-legal { max-width: 80ch; }
@media (max-width: 599px) {
    .pc-checkout-heading { padding: 12px; gap: 8px; }
    .pc-checkout-heading .mud-typography { font-size: 1.25rem; }
    .pc-checkout-body { padding: 16px; gap: 20px; }
    .pc-checkout-summary { padding: 12px; }
    .pc-checkout-total dd { font-size: 1.25rem; }
    .pc-checkout .pc-checkout-methods .mud-radio-group { grid-template-columns: minmax(0,1fr); gap: 8px; }
    .pc-checkout-methods .mud-radio { min-height: 56px; }
    .pc-checkout-actions .mud-button-root { width: 100%; }
    .pc-terms-dialog.mud-dialog { height: var(--pc-viewport-height,100dvh); }
}
.pc-tax-type-select { min-width: 0; max-width: 100%; }
.pc-tax-type-select div.mud-input-slot { white-space: normal; overflow-wrap: anywhere; }
.pc-tax-type-options { max-width: calc(var(--pc-viewport-width,100vw) - 32px); max-height: min(240px,45dvh); overflow-y: auto; }
.pc-tax-type-options .mud-list-item-text .mud-typography { white-space: normal; overflow-wrap: anywhere; }
.pc-dialog .mud-form { min-width: 0; max-width: 100%; }
/* Desktop business pages scroll inside the workspace; mobile retains document flow. */
@media screen and (min-width: 1280px) and (min-height: 600px) {
    .pc-shell { height: 100dvh; min-height: 0; overflow: hidden; }
    .pc-shell .pc-main { height: 100%; overflow-y: auto; overscroll-behavior-y: contain; scroll-padding-top: calc(var(--pc-header-height) + 16px); }
    body:has(.mud-dialog-container, .mud-overlay) .pc-shell .pc-main { overflow-y: hidden; }
}

.pc-payment-details-fields { display: flex; flex-direction: column; gap: 20px; }
.pc-payment-details-fields .mud-button-root { align-self: stretch; }
.pc-tax-item-editor.mud-dialog { width: min(720px, calc(var(--pc-viewport-width, 100vw) - 32px)); }
.pc-tax-item-editor .mud-container { min-width: 0; }
.pc-balance-cell { text-align: left; }
.pc-balance-cell .column-header { justify-content: flex-start; }

@media screen and (max-width: 599.98px) {
    /* A block row anchors absolute action cells on iOS Safari, unlike table-row. */
    .pc-list.mud-sm-table .mud-table-body > .mud-table-row { display: block; }
}
