/*
 * Paleta de cores da plataforma — ÚNICA fonte de cores usada por todo o CSS (app + PrimeNG).
 * Se uma cor não está declarada aqui, ela não deve ser usada em lugar nenhum. Para adicionar uma
 * variável tematizável por empresa, ver `CompanyThemeVariableNames.cs` (backend) e
 * `THEME_VARIABLE_FIELDS` em `dto.ts` (frontend).
 */
:root {
    --text-color: #495057;
    --text-color-secondary: #6c757d;
    /* Texto de destaque/hover (cabeçalhos, títulos) — próximo de --text-color mas papel distinto */
    --text-color-emphasis: #343a40;
    --primary-color: #055bd8;
    --primary-color-contrast: #ffffff;
    --font-family: Multi, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji,
        Segoe UI Symbol;
    --border-radius: 6px;
    /* Base neutra de sombras/glows — preto no claro, branco no escuro (ver bloco
       [data-theme-mode="dark"] abaixo, setado por ThemeService a partir da luminância de
       --surface-card). Nunca usar rgba(0,0,0,X)/rgba(255,255,255,X) direto num box-shadow —
       usar color-mix(in srgb, var(--shadow-color) X%, transparent) pra acompanhar o modo. */
    --shadow-color: #000000;
    /* Mesmo valor usado pelo .p-card do PrimeNG — reaproveitado para o utilitário .card da app. */
    --card-shadow: 0 2px 1px -1px color-mix(in srgb, var(--shadow-color) 20%, transparent),
        0 1px 1px 0 color-mix(in srgb, var(--shadow-color) 14%, transparent), 0 1px 3px 0 color-mix(in srgb, var(--shadow-color) 12%, transparent);
    --surface-ground: #eff3f8;
    --surface-card: #ffffff;
    --surface-hover: color-mix(in srgb, var(--shadow-color) 10%, color-mix(in srgb, var(--primary-color) 15%, var(--surface-card)));
    --surface-table: color-mix(in srgb, var(--shadow-color) 5%, color-mix(in srgb, var(--primary-color) 10%, var(--surface-card)));
    /*
     * --surface-border/--input-border não são tenant-themeable (ver CompanyThemeVariableNames.cs)
     * — calculadas a partir de --surface-card (garante contraste em qualquer fundo escolhido,
     * inclusive escuro) + --shadow-color (escurece no claro, clareia no escuro — mesmo mecanismo
     * do modo escuro) + uma pitada de --primary-color (fica com uma leve identidade de marca em
     * vez de cinza genérico). --input-border usa mistura mais forte que --surface-border de
     * propósito — é uma borda interativa (input/dropdown/checkbox/radio/switch), então pode ser
     * um pouco mais evidente que a borda estática de card/tabela. Ambas verificadas ≥3:1 contra
     * --surface-card (WCAG 1.4.11).
     */
    --surface-border: color-mix(in srgb, var(--shadow-color) 10%, color-mix(in srgb, var(--primary-color) 70%, var(--surface-card)));
    --input-border: color-mix(in srgb, var(--shadow-color) 20%, color-mix(in srgb, var(--primary-color) 14%, var(--surface-card)));
    /* Cria um "vão" entre a borda colorida do foco e o anel — usa --surface-card pra continuar
       parecendo um vão em vez de um halo quando o fundo for escuro. */
    --focus-ring: 0 0 0 0.2rem var(--surface-card);
    /* Scrim por trás de modal/overlay — fica escuro nos dois modos; dimming de fundo é sempre
       preto, claro ou escuro, é assim que todo design system faz. */
    --maskbg: rgba(0, 0, 0, 0.4);
    /* Fundo de item "selecionado"/destacado (ex: linha de tabela, item de dropdown) — derivado de
       --primary-color em vez de hex fixo, então acompanha a cor de marca da empresa automaticamente. */
    --highlight-bg: color-mix(in srgb, var(--primary-color) 8%, white);

    --accent-gradient-color: #07f872;
    --side-bar-bg: linear-gradient(180deg, var(--primary-color) 27%, var(--accent-gradient-color) 160%);

    /* Cores de severidade — tematizáveis por empresa, usadas por TODA a plataforma (botão, tag,
       badge, toast/message, badges de sistema do topbar), não só botões. Evitam colisão visual
       quando a cor de marca de uma empresa coincide com uma cor semântica.
       Tons calibrados pra manter ≥4.5:1 de contraste (WCAG) contra --primary-color-contrast
       (usada como texto em botão/tag/badge sólidos) em todos os estados — base/hover/active/
       badge. Tenant que troque a cor por conta própria não tem essa garantia automática. */
    --color-secondary: #475569;
    --color-success: #15803d;
    --color-info: #1d4ed8;
    --color-warning: #f3710e;
    --color-danger: #b91c1c;

    color-scheme: light;
}

/*
 * Setado em runtime pelo ThemeService (ver theme.service.ts, `applyThemeMode`) a partir da
 * luminância relativa de --surface-card (tenant-themeable) — não é algo que o tenant configura
 * diretamente. Se a empresa escolher um fundo escuro para --surface-card, sombras/glows
 * recalculados a partir de --shadow-color se adaptam sozinhos, sem configuração manual extra.
 * Seletor sem `:root` de propósito — o preview ao vivo do modal de tema aplica esse mesmo
 * atributo num container escopado (não no <html>), pra sombras/foco também se adaptarem lá.
 */
[data-theme-mode='dark'] {
    --shadow-color: #ffffff;
    color-scheme: dark;
}

/*
 * Compat com a paleta do PrimeFlex (--red-400, --gray-500, --primary-500 etc.) — o próprio
 * pacote (node_modules/primeflex) referencia essas custom properties dentro de suas classes
 * utilitárias (.text-red-400, .bg-gray-50, .text-primary-500, ...), então precisam existir aqui
 * com um valor real ou a classe fica sem cor nenhuma. Só as famílias com correspondência
 * semântica real no tema entram — pink/purple/teal/bluegray/cyan/indigo não têm variável própria;
 * uso incidental de qualquer uma delas deve referenciar direto uma das famílias abaixo (ver
 * notfound.component para um exemplo). --gray-* não tem cor de marca própria — deriva de
 * --shadow-color (preto ou branco, que já inverte sozinho no modo escuro via [data-theme-mode]).
 */
:root {
    --blue-50: color-mix(in srgb, var(--color-info) 10%, white);
    --blue-100: color-mix(in srgb, var(--color-info) 20%, white);
    --blue-200: color-mix(in srgb, var(--color-info) 32%, white);
    --blue-300: color-mix(in srgb, var(--color-info) 46%, white);
    --blue-400: color-mix(in srgb, var(--color-info) 62%, white);
    --blue-500: var(--color-info);
    --blue-600: color-mix(in srgb, var(--color-info) 88%, black);
    --blue-700: color-mix(in srgb, var(--color-info) 76%, black);
    --blue-800: color-mix(in srgb, var(--color-info) 64%, black);
    --blue-900: color-mix(in srgb, var(--color-info) 52%, black);
    --green-50: color-mix(in srgb, var(--color-success) 10%, white);
    --green-100: color-mix(in srgb, var(--color-success) 20%, white);
    --green-200: color-mix(in srgb, var(--color-success) 32%, white);
    --green-300: color-mix(in srgb, var(--color-success) 46%, white);
    --green-400: color-mix(in srgb, var(--color-success) 62%, white);
    --green-500: var(--color-success);
    --green-600: color-mix(in srgb, var(--color-success) 88%, black);
    --green-700: color-mix(in srgb, var(--color-success) 76%, black);
    --green-800: color-mix(in srgb, var(--color-success) 64%, black);
    --green-900: color-mix(in srgb, var(--color-success) 52%, black);
    --orange-50: color-mix(in srgb, var(--color-warning) 10%, white);
    --orange-100: color-mix(in srgb, var(--color-warning) 20%, white);
    --orange-200: color-mix(in srgb, var(--color-warning) 32%, white);
    --orange-300: color-mix(in srgb, var(--color-warning) 46%, white);
    --orange-400: color-mix(in srgb, var(--color-warning) 62%, white);
    --orange-500: var(--color-warning);
    --orange-600: color-mix(in srgb, var(--color-warning) 88%, black);
    --orange-700: color-mix(in srgb, var(--color-warning) 76%, black);
    --orange-800: color-mix(in srgb, var(--color-warning) 64%, black);
    --orange-900: color-mix(in srgb, var(--color-warning) 52%, black);
    --primary-50: color-mix(in srgb, var(--primary-color) 10%, white);
    --primary-100: color-mix(in srgb, var(--primary-color) 20%, white);
    --primary-200: color-mix(in srgb, var(--primary-color) 32%, white);
    --primary-300: color-mix(in srgb, var(--primary-color) 46%, white);
    --primary-400: color-mix(in srgb, var(--primary-color) 62%, white);
    --primary-500: var(--primary-color);
    --primary-600: color-mix(in srgb, var(--primary-color) 88%, black);
    --primary-700: color-mix(in srgb, var(--primary-color) 76%, black);
    --primary-800: color-mix(in srgb, var(--primary-color) 64%, black);
    --primary-900: color-mix(in srgb, var(--primary-color) 52%, black);
    --red-50: color-mix(in srgb, var(--color-danger) 10%, white);
    --red-100: color-mix(in srgb, var(--color-danger) 20%, white);
    --red-200: color-mix(in srgb, var(--color-danger) 32%, white);
    --red-300: color-mix(in srgb, var(--color-danger) 46%, white);
    --red-400: color-mix(in srgb, var(--color-danger) 62%, white);
    --red-500: var(--color-danger);
    --red-600: color-mix(in srgb, var(--color-danger) 88%, black);
    --red-700: color-mix(in srgb, var(--color-danger) 76%, black);
    --red-800: color-mix(in srgb, var(--color-danger) 64%, black);
    --red-900: color-mix(in srgb, var(--color-danger) 52%, black);
    --yellow-50: color-mix(in srgb, var(--color-warning) 10%, white);
    --yellow-100: color-mix(in srgb, var(--color-warning) 20%, white);
    --yellow-200: color-mix(in srgb, var(--color-warning) 32%, white);
    --yellow-300: color-mix(in srgb, var(--color-warning) 46%, white);
    --yellow-400: color-mix(in srgb, var(--color-warning) 62%, white);
    --yellow-500: var(--color-warning);
    --yellow-600: color-mix(in srgb, var(--color-warning) 88%, black);
    --yellow-700: color-mix(in srgb, var(--color-warning) 76%, black);
    --yellow-800: color-mix(in srgb, var(--color-warning) 64%, black);
    --yellow-900: color-mix(in srgb, var(--color-warning) 52%, black);
    --gray-50: color-mix(in srgb, var(--shadow-color) 4%, transparent);
    --gray-100: color-mix(in srgb, var(--shadow-color) 8%, transparent);
    --gray-200: color-mix(in srgb, var(--shadow-color) 14%, transparent);
    --gray-300: color-mix(in srgb, var(--shadow-color) 22%, transparent);
    --gray-400: color-mix(in srgb, var(--shadow-color) 35%, transparent);
    --gray-500: var(--text-color-secondary);
    --gray-600: color-mix(in srgb, var(--shadow-color) 62%, transparent);
    --gray-700: color-mix(in srgb, var(--shadow-color) 74%, transparent);
    --gray-800: color-mix(in srgb, var(--shadow-color) 87%, transparent);
    --gray-900: color-mix(in srgb, var(--shadow-color) 95%, transparent);
    --surface-0: color-mix(in srgb, var(--shadow-color) 0%, transparent);
    --surface-50: var(--gray-50);
    --surface-100: var(--gray-100);
    --surface-200: var(--gray-200);
    --surface-300: var(--gray-300);
    --surface-400: var(--gray-400);
    --surface-500: var(--gray-500);
    --surface-600: var(--gray-600);
    --surface-700: var(--gray-700);
    --surface-800: var(--gray-800);
    --surface-900: var(--gray-900);
}




.font-dosis {
    font-family: Dosis;
}

/* Caminho absoluto: o inlineCritical do Angular copia esta regra para um <style> no index.html,
   onde url() relativa passa a resolver contra o documento (/) em vez de contra este arquivo. */
@font-face {
    font-family: Multi;
    src: url(/assets/layout/fonts/Muli-Regular.ttf);
}

* {
    box-sizing: border-box;
}

.p-component {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
        'Segoe UI Symbol';
    font-size: 1rem;
    font-weight: normal;
}

.p-component-overlay {
    background-color: var(--maskbg);
    transition-duration: 0.2s;
}

.p-disabled,
.p-component:disabled {
    opacity: 0.6;
}

.p-error {
    color: var(--color-danger);
}

.p-text-secondary {
    color: var(--text-color-secondary);
}

.pi {
    font-size: 1rem;
}

.p-icon {
    width: 1rem;
    height: 1rem;
}

.p-link {
    font-size: 1rem;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
        'Segoe UI Symbol';
    border-radius: 6px;
}
.p-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}

.p-component-overlay-enter {
    animation: p-component-overlay-enter-animation 150ms forwards;
}

.p-component-overlay-leave {
    animation: p-component-overlay-leave-animation 150ms forwards;
}

@keyframes p-component-overlay-enter-animation {
    from {
        background-color: transparent;
    }
    to {
        background-color: var(--maskbg);
    }
}
@keyframes p-component-overlay-leave-animation {
    from {
        background-color: var(--maskbg);
    }
    to {
        background-color: transparent;
    }
}

.p-autocomplete .p-autocomplete-loader {
    right: 0.75rem;
}
.p-autocomplete.p-autocomplete-dd .p-autocomplete-loader {
    right: 3.75rem;
}
.p-autocomplete .p-autocomplete-multiple-container {
    padding: 0.375rem 0.75rem;
    gap: 0.5rem;
}
.p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover {
    border-color: var(--primary-color);
}
.p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
    border-color: var(--primary-color);
}
.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token {
    padding: 0.375rem 0;
}
.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
        'Segoe UI Symbol';
    font-size: 1rem;
    color: var(--text-color);
    padding: 0;
    margin: 0;
}
.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token {
    padding: 0.375rem 0.75rem;
    background: var(--primary-600);
    color: var(--primary-color-contrast);
    border-radius: 6px;
}
.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon {
    margin-left: 0.5rem;
}

p-autocomplete.ng-dirty.ng-invalid > .p-autocomplete > .p-inputtext {
    border-color: var(--color-danger);
}

.p-autocomplete-panel {
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}
.p-autocomplete-panel .p-autocomplete-items {
    padding: 0.75rem 0;
}
.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item {
    margin: 0;
    padding: 0.75rem 1.25rem;
    border: 0 none;
    color: var(--text-color);
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 0;
}
.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover {
    color: var(--text-color);
    background: var(--surface-hover);
}
.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-600);
}
.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-empty-message {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    background: transparent;
}
.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: var(--text-color-emphasis);
    background: var(--surface-card);
    font-weight: 700;
}

p-autocomplete.p-autocomplete-clearable .p-inputtext {
    padding-right: 2.5rem;
}
p-autocomplete.p-autocomplete-clearable .p-autocomplete-clear-icon {
    color: var(--text-color-secondary);
    right: 0.75rem;
}

p-autocomplete.p-autocomplete-clearable .p-autocomplete-dd .p-autocomplete-clear-icon {
    color: var(--text-color-secondary);
    right: 3.75rem;
}

p-calendar.ng-dirty.ng-invalid > .p-calendar > .p-inputtext {
    border-color: var(--color-danger);
}

.p-datepicker {
    padding: 0.5rem;
    background: var(--surface-card);
    color: var(--text-color);
    border: 1px solid var(--input-border);
    border-radius: 6px;
}
.p-datepicker:not(.p-datepicker-inline) {
    background: var(--surface-card);
    border: 0 none;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}
.p-datepicker:not(.p-datepicker-inline) .p-datepicker-header {
    background: var(--surface-card);
}
.p-datepicker .p-datepicker-header {
    padding: 0.5rem;
    color: var(--text-color);
    background: var(--surface-card);
    font-weight: 600;
    margin: 0;
    border-bottom: 1px solid var(--surface-border);
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-datepicker .p-datepicker-header .p-datepicker-prev,
.p-datepicker .p-datepicker-header .p-datepicker-next {
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover,
.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-datepicker .p-datepicker-header .p-datepicker-prev:focus,
.p-datepicker .p-datepicker-header .p-datepicker-next:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-datepicker .p-datepicker-header .p-datepicker-title {
    line-height: 2rem;
}
.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year,
.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month {
    color: var(--text-color);
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    font-weight: 600;
    padding: 0.5rem;
}
.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover,
.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover {
    color: var(--primary-color);
}
.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month {
    margin-right: 0.5rem;
}
.p-datepicker table {
    font-size: 1rem;
    margin: 0.5rem 0;
}
.p-datepicker table th {
    padding: 0.5rem;
}
.p-datepicker table th > span {
    width: 2.5rem;
    height: 2.5rem;
}
.p-datepicker table td {
    padding: 0.5rem;
}
.p-datepicker table td > span {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    transition: box-shadow 0.2s;
    border: 1px solid transparent;
}
.p-datepicker table td > span.p-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-600);
}
.p-datepicker table td > span:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-datepicker table td.p-datepicker-today > span {
    background: var(--input-border);
    color: var(--text-color);
    border-color: transparent;
}
.p-datepicker table td.p-datepicker-today > span.p-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-600);
}
.p-datepicker .p-datepicker-buttonbar {
    padding: 1rem 0;
    border-top: 1px solid var(--surface-border);
}
.p-datepicker .p-datepicker-buttonbar .p-button {
    width: auto;
}
.p-datepicker .p-timepicker {
    border-top: 1px solid var(--surface-border);
    padding: 0.5rem;
}
.p-datepicker .p-timepicker button {
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-datepicker .p-timepicker button:enabled:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-datepicker .p-timepicker button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-datepicker .p-timepicker button:last-child {
    margin-top: 0.2em;
}
.p-datepicker .p-timepicker span {
    font-size: 1.25rem;
}
.p-datepicker .p-timepicker > div {
    padding: 0 0.5rem;
}
.p-datepicker.p-datepicker-timeonly .p-timepicker {
    border-top: 0 none;
}
.p-datepicker .p-monthpicker {
    margin: 0.5rem 0;
}
.p-datepicker .p-monthpicker .p-monthpicker-month {
    padding: 0.5rem;
    transition: box-shadow 0.2s;
    border-radius: 6px;
}
.p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-600);
}
.p-datepicker .p-yearpicker {
    margin: 0.5rem 0;
}
.p-datepicker .p-yearpicker .p-yearpicker-year {
    padding: 0.5rem;
    transition: box-shadow 0.2s;
    border-radius: 6px;
}
.p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-600);
}
.p-datepicker.p-datepicker-multiple-month .p-datepicker-group {
    border-left: 1px solid var(--surface-border);
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    padding-top: 0;
    padding-bottom: 0;
}
.p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child {
    padding-left: 0;
    border-left: 0 none;
}
.p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child {
    padding-right: 0;
}
.p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover {
    background: var(--surface-hover);
}
.p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover {
    background: var(--surface-hover);
}
.p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover {
    background: var(--surface-hover);
}
.p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}

p-calendar.p-calendar-clearable .p-inputtext {
    padding-right: 2.5rem;
}
p-calendar.p-calendar-clearable .p-calendar-clear-icon {
    color: var(--text-color-secondary);
    right: 0.75rem;
}

p-calendar.p-calendar-clearable.p-calendar-w-btn .p-calendar-clear-icon {
    color: var(--text-color-secondary);
    right: 3.75rem;
}

@media screen and (max-width: 769px) {
    .p-datepicker table th,
    .p-datepicker table td {
        padding: 0;
    }
}
.p-cascadeselect {
    background: var(--surface-card);
    border: 1px solid var(--input-border);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
}
.p-cascadeselect:not(.p-disabled):hover {
    border-color: var(--primary-color);
}
.p-cascadeselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
    border-color: var(--primary-color);
}
.p-cascadeselect .p-cascadeselect-label {
    background: transparent;
    border: 0 none;
    padding: 0.75rem 0.75rem;
}
.p-cascadeselect .p-cascadeselect-label.p-placeholder {
    color: var(--text-color-secondary);
}
.p-cascadeselect .p-cascadeselect-label:enabled:focus {
    outline: 0 none;
    box-shadow: none;
}
.p-cascadeselect .p-cascadeselect-trigger {
    background: transparent;
    color: var(--text-color-secondary);
    width: 3rem;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

.p-cascadeselect-panel {
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}
.p-cascadeselect-panel .p-cascadeselect-items {
    padding: 0.75rem 0;
}
.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item {
    margin: 0;
    border: 0 none;
    color: var(--text-color);
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 0;
}
.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content {
    padding: 0.75rem 1.25rem;
}
.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-600);
}
.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover {
    color: var(--text-color);
    background: var(--surface-hover);
}
.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon {
    font-size: 0.875rem;
}
.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-icon {
    width: 0.875rem;
    height: 0.875rem;
}

p-cascadeselect.ng-dirty.ng-invalid > .p-cascadeselect {
    border-color: var(--color-danger);
}

.p-input-filled .p-cascadeselect {
    background: var(--surface-hover);
}
.p-input-filled .p-cascadeselect:not(.p-disabled):hover {
    background-color: var(--surface-hover);
}
.p-input-filled .p-cascadeselect:not(.p-disabled).p-focus {
    background-color: var(--surface-card);
}

p-cascadeselect.p-cascadeselect-clearable .p-cascadeselect-label {
    padding-right: 0.75rem;
}
p-cascadeselect.p-cascadeselect-clearable .p-cascadeselect-clear-icon {
    color: var(--text-color-secondary);
    right: 3rem;
}

.p-overlay-modal .p-cascadeselect-sublist .p-cascadeselect-panel {
    box-shadow: none;
    border-radius: 0;
    padding: 0.25rem 0 0.25rem 0.5rem;
}
.p-overlay-modal .p-cascadeselect-item-active > .p-cascadeselect-item-content .p-cascadeselect-group-icon {
    transform: rotate(90deg);
}

.p-checkbox {
    width: 22px;
    height: 22px;
}
.p-checkbox .p-checkbox-box {
    border: 2px solid var(--input-border);
    background: var(--surface-card);
    width: 22px;
    height: 22px;
    color: var(--text-color);
    border-radius: 6px;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.p-checkbox .p-checkbox-box .p-checkbox-icon {
    transition-duration: 0.2s;
    color: var(--primary-color-contrast);
    font-size: 14px;
}
.p-checkbox .p-checkbox-box .p-icon {
    width: 14px;
    height: 14px;
}
.p-checkbox .p-checkbox-box.p-highlight {
    border-color: var(--primary-color);
    background: var(--primary-color);
}
.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover {
    border-color: var(--primary-color);
}
.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
    border-color: var(--primary-color);
}
.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover {
    border-color: var(--primary-color-contrast);
    background: var(--primary-color-contrast);
    color: var(--primary-color-contrast);
}

p-checkbox.ng-dirty.ng-invalid > .p-checkbox > .p-checkbox-box {
    border-color: var(--color-danger);
}

.p-input-filled .p-checkbox .p-checkbox-box {
    background-color: var(--surface-hover);
}
.p-input-filled .p-checkbox .p-checkbox-box.p-highlight {
    background: var(--primary-color);
}
.p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover {
    background-color: var(--surface-hover);
}
.p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover {
    background: var(--primary-color-contrast);
}

.p-checkbox-label {
    margin-left: 0.5rem;
}

.p-chips .p-chips-multiple-container {
    padding: 0.375rem 0.75rem;
    gap: 0.5rem;
}
.p-chips .p-chips-multiple-container:not(.p-disabled):hover {
    border-color: var(--primary-color);
}
.p-chips .p-chips-multiple-container:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
    border-color: var(--primary-color);
}
.p-chips .p-chips-multiple-container .p-chips-token {
    padding: 0.375rem 0.75rem;
    background: var(--primary-600);
    color: var(--primary-color-contrast);
    border-radius: 6px;
}
.p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon {
    margin-left: 0.5rem;
}
.p-chips .p-chips-multiple-container .p-chips-input-token {
    padding: 0.375rem 0;
}
.p-chips .p-chips-multiple-container .p-chips-input-token input {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
        'Segoe UI Symbol';
    font-size: 1rem;
    color: var(--text-color);
    padding: 0;
    margin: 0;
}

p-chips.ng-dirty.ng-invalid > .p-chips > .p-inputtext {
    border-color: var(--color-danger);
}

p-chips.p-chips-clearable .p-inputtext {
    padding-right: 1.75rem;
}
p-chips.p-chips-clearable .p-chips-clear-icon {
    color: var(--text-color-secondary);
    right: 0.75rem;
}

.p-colorpicker-preview,
.p-fluid .p-colorpicker-preview.p-inputtext {
    width: 2rem;
    height: 2rem;
}

.p-colorpicker-panel {
    background: var(--surface-card);
    border: 1px solid var(--surface-border);
}
/* Marcador de posição sobre o gradiente de matiz/saturação (cores arbitrárias, não o tema) —
   precisa ser um anel neutro de alto contraste, não var(--surface-card): com um --surface-card
   escuro o suficiente, o anel sumiria justamente onde o usuário precisa vê-lo. */
.p-colorpicker-panel .p-colorpicker-color-handle,
.p-colorpicker-panel .p-colorpicker-hue-handle {
    border-color: #ffffff;
}

.p-colorpicker-overlay-panel {
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}

.p-dropdown {
    background: var(--surface-card);
    border: 1px solid var(--input-border);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
}
.p-dropdown:not(.p-disabled):hover {
    border-color: var(--primary-color);
}
.p-dropdown:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
    border-color: var(--primary-color);
}
.p-dropdown.p-dropdown-clearable .p-dropdown-label {
    padding-right: 1.75rem;
}
.p-dropdown .p-dropdown-label {
    background: transparent;
    border: 0 none;
}
.p-dropdown .p-dropdown-label.p-placeholder {
    color: var(--text-color-secondary);
}
.p-dropdown .p-dropdown-label:enabled:focus {
    outline: 0 none;
    box-shadow: none;
}
.p-dropdown .p-dropdown-trigger {
    background: transparent;
    color: var(--text-color-secondary);
    width: 3rem;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}
.p-dropdown .p-dropdown-clear-icon {
    color: var(--text-color-secondary);
    right: 3rem;
}

.p-dropdown-panel {
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}
.p-dropdown-panel .p-dropdown-header {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--surface-border);
    color: var(--text-color-emphasis);
    background: var(--surface-hover);
    margin: 0;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-dropdown-panel .p-dropdown-header .p-dropdown-filter {
    padding-right: 1.75rem;
    margin-right: -1.75rem;
}
.p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon {
    right: 0.75rem;
    color: var(--text-color-secondary);
}
.p-dropdown-panel .p-dropdown-items {
    padding: 0.75rem 0;
}
.p-dropdown-panel .p-dropdown-items .p-dropdown-item {
    margin: 0;
    padding: 0.75rem 1.25rem;
    border: 0 none;
    color: var(--text-color);
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 0;
}
.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-400);
}
.p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover {
    color: var(--text-color);
    background: var(--surface-hover);
}
.p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    background: transparent;
}
.p-dropdown-panel .p-dropdown-items .p-dropdown-item-group {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: var(--text-color-emphasis);
    background: var(--surface-card);
    font-weight: 700;
}

p-dropdown.ng-dirty.ng-invalid > .p-dropdown {
    border-color: var(--color-danger);
}

.p-input-filled .p-dropdown {
    background: var(--surface-hover);
}
.p-input-filled .p-dropdown:not(.p-disabled):hover {
    background-color: var(--surface-hover);
}
.p-input-filled .p-dropdown:not(.p-disabled).p-focus {
    background-color: var(--surface-card);
}
.p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext {
    background-color: transparent;
}

.p-editor-container .p-editor-toolbar {
    background: var(--surface-hover);
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-editor-container .p-editor-toolbar.ql-snow {
    border: 1px solid var(--surface-border);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {
    stroke: var(--text-color-secondary);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-fill {
    fill: var(--text-color-secondary);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label {
    border: 0 none;
    color: var(--text-color-secondary);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover {
    color: var(--text-color);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke {
    stroke: var(--text-color);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill {
    fill: var(--text-color);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
    color: var(--text-color);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
    stroke: var(--text-color);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
    fill: var(--text-color);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
    background: var(--surface-card);
    border: 0 none;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
    border-radius: 6px;
    padding: 0.75rem 0;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item {
    color: var(--text-color);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover {
    color: var(--text-color);
    background: var(--surface-hover);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item {
    padding: 0.75rem 1.25rem;
}
.p-editor-container .p-editor-content {
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
}
.p-editor-container .p-editor-content.ql-snow {
    border: 1px solid var(--surface-border);
}
.p-editor-container .p-editor-content .ql-editor {
    background: var(--surface-card);
    color: var(--text-color);
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
}
.p-editor-container .ql-snow.ql-toolbar button:hover,
.p-editor-container .ql-snow.ql-toolbar button:focus {
    color: var(--text-color);
}
.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke,
.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke {
    stroke: var(--text-color);
}
.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill,
.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill {
    fill: var(--text-color);
}
.p-editor-container .ql-snow.ql-toolbar button.ql-active,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected {
    color: var(--primary-color);
}
.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke {
    stroke: var(--primary-color);
}
.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill {
    fill: var(--primary-color);
}
.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label {
    color: var(--primary-color);
}

.p-inputgroup-addon {
    background: var(--surface-hover);
    color: var(--text-color-secondary);
    border-top: 1px solid var(--input-border);
    border-left: 1px solid var(--input-border);
    border-bottom: 1px solid var(--input-border);
    padding: 0.75rem 0.75rem;
    min-width: 3rem;
}
.p-inputgroup-addon:last-child {
    border-right: 1px solid var(--input-border);
}

.p-inputgroup > .p-component,
.p-inputgroup > .p-element,
.p-inputgroup > .p-inputwrapper > .p-component > .p-inputtext,
.p-inputgroup > .p-float-label > .p-component {
    border-radius: 0;
    margin: 0;
}
.p-inputgroup > .p-component + .p-inputgroup-addon,
.p-inputgroup > .p-element + .p-inputgroup-addon,
.p-inputgroup > .p-inputwrapper > .p-component > .p-inputtext + .p-inputgroup-addon,
.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon {
    border-left: 0 none;
}
.p-inputgroup > .p-component:focus,
.p-inputgroup > .p-element:focus,
.p-inputgroup > .p-inputwrapper > .p-component > .p-inputtext:focus,
.p-inputgroup > .p-float-label > .p-component:focus {
    z-index: 1;
}
.p-inputgroup > .p-component:focus ~ label,
.p-inputgroup > .p-element:focus ~ label,
.p-inputgroup > .p-inputwrapper > .p-component > .p-inputtext:focus ~ label,
.p-inputgroup > .p-float-label > .p-component:focus ~ label {
    z-index: 1;
}

.p-inputgroup-addon:first-child,
.p-inputgroup button:first-child,
.p-inputgroup input:first-child,
.p-inputgroup > .p-inputwrapper:first-child > .p-component,
.p-inputgroup > .p-inputwrapper:first-child > .p-component > .p-inputtext {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.p-inputgroup .p-float-label:first-child input {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.p-inputgroup-addon:last-child,
.p-inputgroup button:last-child,
.p-inputgroup input:last-child,
.p-inputgroup > .p-inputwrapper:last-child > .p-component,
.p-inputgroup > .p-inputwrapper:last-child > .p-component > .p-inputtext {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

.p-inputgroup .p-float-label:last-child input {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

.p-fluid .p-inputgroup .p-button {
    width: auto;
}
.p-fluid .p-inputgroup .p-button.p-button-icon-only {
    width: 3rem;
}

p-inputmask.ng-dirty.ng-invalid > .p-inputtext {
    border-color: var(--color-danger);
}

p-inputmask.p-inputmask-clearable .p-inputtext {
    padding-right: 2.5rem;
}
p-inputmask.p-inputmask-clearable .p-inputmask-clear-icon {
    color: var(--text-color-secondary);
    right: 0.75rem;
}

p-inputnumber.ng-dirty.ng-invalid > .p-inputnumber > .p-inputtext {
    border-color: var(--color-danger);
}

p-inputnumber.p-inputnumber-clearable .p-inputnumber-input {
    padding-right: 2.5rem;
}
p-inputnumber.p-inputnumber-clearable .p-inputnumber-clear-icon {
    color: var(--text-color-secondary);
    right: 0.75rem;
}

p-inputnumber.p-inputnumber-clearable .p-inputnumber-buttons-stacked .p-inputnumber-clear-icon {
    right: 3.75rem;
}
p-inputnumber.p-inputnumber-clearable .p-inputnumber-buttons-horizontal .p-inputnumber-clear-icon {
    right: 3.75rem;
}

.p-inputswitch {
    width: 3rem;
    height: 1.75rem;
}
.p-inputswitch .p-inputswitch-slider {
    background: var(--input-border);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 30px;
}
.p-inputswitch .p-inputswitch-slider:before {
    background: var(--surface-card);
    width: 1.25rem;
    height: 1.25rem;
    left: 0.25rem;
    margin-top: -0.625rem;
    border-radius: 50%;
    transition-duration: 0.2s;
}
.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before {
    transform: translateX(1.25rem);
}
.p-inputswitch.p-focus .p-inputswitch-slider {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider {
    background: color-mix(in srgb, var(--input-border) 80%, black);
}
.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider {
    background: var(--primary-color);
}
.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before {
    background: var(--surface-card);
}
.p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider {
    background: var(--primary-color);
}

p-inputswitch.ng-dirty.ng-invalid > .p-inputswitch {
    border-color: var(--color-danger);
}

.p-inputtext {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
        'Segoe UI Symbol';
    font-size: 1rem;
    color: var(--text-color);
    background: var(--surface-card);
    padding: 0.75rem 0.75rem;
    border: 1px solid var(--input-border);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    appearance: none;
    border-radius: 6px;
}
.p-inputtext:enabled:hover {
    border-color: var(--primary-color);
}
.p-inputtext:enabled:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
    border-color: var(--primary-color);
}
.p-inputtext.ng-dirty.ng-invalid {
    border-color: var(--color-danger);
}
.p-inputtext.p-inputtext-sm {
    font-size: 0.875rem;
    padding: 0.65625rem 0.65625rem;
}
.p-inputtext.p-inputtext-lg {
    font-size: 1.25rem;
    padding: 0.9375rem 0.9375rem;
}

.p-float-label > label {
    left: 0.75rem;
    color: var(--text-color-secondary);
    transition-duration: 0.2s;
}

.p-float-label > .ng-invalid.ng-dirty + label {
    color: var(--color-danger);
}

.p-input-icon-left > .p-icon-wrapper.p-icon,
.p-input-icon-left > i:first-of-type {
    left: 0.75rem;
    color: var(--text-color-secondary);
}

.p-input-icon-left > .p-inputtext {
    padding-left: 2.5rem;
}

.p-input-icon-left.p-float-label > label {
    left: 2.5rem;
}

.p-input-icon-right > .p-icon-wrapper,
.p-input-icon-right > i:last-of-type {
    right: 0.75rem;
    color: var(--text-color-secondary);
}

.p-input-icon-right > .p-inputtext {
    padding-right: 2.5rem;
}

::-webkit-input-placeholder {
    color: var(--text-color-secondary);
}

:-moz-placeholder {
    color: var(--text-color-secondary);
}

::-moz-placeholder {
    color: var(--text-color-secondary);
}

:-ms-input-placeholder {
    color: var(--text-color-secondary);
}

.p-input-filled .p-inputtext {
    background-color: var(--surface-hover);
}
.p-input-filled .p-inputtext:enabled:hover {
    background-color: var(--surface-hover);
}
.p-input-filled .p-inputtext:enabled:focus {
    background-color: var(--surface-card);
}

.p-inputtext-sm .p-inputtext {
    font-size: 0.875rem;
    padding: 0.65625rem 0.65625rem;
}

.p-inputtext-lg .p-inputtext {
    font-size: 1.25rem;
    padding: 0.9375rem 0.9375rem;
}

.p-listbox {
    background: var(--surface-card);
    color: var(--text-color);
    border: 1px solid var(--input-border);
    border-radius: 6px;
}
.p-listbox .p-listbox-header {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--surface-border);
    color: var(--text-color-emphasis);
    background: var(--surface-hover);
    margin: 0;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-listbox .p-listbox-header .p-listbox-filter {
    padding-right: 1.75rem;
}
.p-listbox .p-listbox-header .p-listbox-filter-icon {
    right: 0.75rem;
    color: var(--text-color-secondary);
}
.p-listbox .p-listbox-header .p-checkbox {
    margin-right: 0.5rem;
}
.p-listbox .p-listbox-list {
    padding: 0.75rem 0;
}
.p-listbox .p-listbox-list .p-listbox-item {
    margin: 0;
    padding: 0.75rem 1.25rem;
    border: 0 none;
    color: var(--text-color);
    transition: box-shadow 0.2s;
    border-radius: 0;
}
.p-listbox .p-listbox-list .p-listbox-item.p-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-600);
}
.p-listbox .p-listbox-list .p-listbox-item:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-listbox .p-listbox-list .p-listbox-item .p-checkbox {
    margin-right: 0.5rem;
}
.p-listbox .p-listbox-list .p-listbox-item-group {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: var(--text-color-emphasis);
    background: var(--surface-card);
    font-weight: 700;
}
.p-listbox .p-listbox-list .p-listbox-empty-message {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    background: transparent;
}
.p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover {
    color: var(--text-color);
    background: var(--surface-hover);
}

p-listbox.ng-dirty.ng-invalid > .p-listbox {
    border-color: var(--color-danger);
}

.p-multiselect {
    background: var(--surface-card);
    border: 1px solid var(--input-border);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
}
.p-multiselect:not(.p-disabled):hover {
    border-color: var(--primary-color);
}
.p-multiselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
    border-color: var(--primary-color);
}
.p-multiselect .p-multiselect-label {
    padding: 0.75rem 0.75rem;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.p-multiselect .p-multiselect-label.p-placeholder {
    color: var(--text-color-secondary);
}
.p-multiselect.p-multiselect-chip .p-multiselect-label {
    gap: 0.5rem;
}
.p-multiselect.p-multiselect-chip .p-multiselect-token {
    padding: 0.375rem 0.75rem;
    background: var(--primary-600);
    color: var(--primary-color-contrast);
    border-radius: 6px;
}
.p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon {
    margin-left: 0.5rem;
}
.p-multiselect .p-multiselect-trigger {
    background: transparent;
    color: var(--text-color-secondary);
    width: 3rem;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

.p-inputwrapper-filled .p-multiselect.p-multiselect-chip .p-multiselect-label {
    padding: 0.375rem 0.75rem;
}

.p-multiselect-panel {
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}
.p-multiselect-panel .p-multiselect-header {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--surface-border);
    color: var(--text-color-emphasis);
    background: var(--surface-hover);
    margin: 0;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext {
    padding-right: 1.75rem;
}
.p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon {
    right: 0.75rem;
    color: var(--text-color-secondary);
}
.p-multiselect-panel .p-multiselect-header .p-checkbox {
    margin-right: 0.5rem;
}
.p-multiselect-panel .p-multiselect-header .p-multiselect-close {
    margin-left: 0.5rem;
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-multiselect-panel .p-multiselect-items {
    padding: 0.75rem 0;
}
.p-multiselect-panel .p-multiselect-items .p-multiselect-item {
    margin: 0;
    padding: 0.75rem 1.25rem;
    border: 0 none;
    color: var(--text-color);
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 0;
}
.p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-600);
}
.p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover {
    color: var(--text-color);
    background: var(--surface-hover);
}
.p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox {
    margin-right: 0.5rem;
}
.p-multiselect-panel .p-multiselect-items .p-multiselect-item-group {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: var(--text-color-emphasis);
    background: var(--surface-card);
    font-weight: 700;
}
.p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    background: transparent;
}

p-multiselect.ng-dirty.ng-invalid > .p-multiselect {
    border-color: var(--color-danger);
}

.p-input-filled .p-multiselect {
    background: var(--surface-hover);
}
.p-input-filled .p-multiselect:not(.p-disabled):hover {
    background-color: var(--surface-hover);
}
.p-input-filled .p-multiselect:not(.p-disabled).p-focus {
    background-color: var(--surface-card);
}

p-multiselect.p-multiselect-clearable .p-multiselect-label-container {
    padding-right: 1.75rem;
}
p-multiselect.p-multiselect-clearable .p-multiselect-clear-icon {
    color: var(--text-color-secondary);
    right: 3rem;
}

p-password.ng-invalid.ng-dirty > .p-password > .p-inputtext {
    border-color: var(--color-danger);
}

.p-password-panel {
    padding: 1.25rem;
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
    border-radius: 6px;
}
.p-password-panel .p-password-meter {
    margin-bottom: 0.5rem;
    background: var(--surface-border);
}
.p-password-panel .p-password-meter .p-password-strength.weak {
    background: var(--color-danger);
}
.p-password-panel .p-password-meter .p-password-strength.medium {
    background: var(--color-warning);
}
.p-password-panel .p-password-meter .p-password-strength.strong {
    background: var(--color-success);
}

p-password.p-password-clearable .p-password-input {
    padding-right: 2.5rem;
}
p-password.p-password-clearable .p-password-clear-icon {
    color: var(--text-color-secondary);
    right: 0.75rem;
}

p-password.p-password-clearable.p-password-mask .p-password-input {
    padding-right: 4.25rem;
}
p-password.p-password-clearable.p-password-mask .p-password-clear-icon {
    color: var(--text-color-secondary);
    right: 2.5rem;
}

.p-radiobutton {
    width: 22px;
    height: 22px;
}
.p-radiobutton .p-radiobutton-box {
    border: 2px solid var(--input-border);
    background: var(--surface-card);
    width: 22px;
    height: 22px;
    color: var(--text-color);
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover {
    border-color: var(--primary-color);
}
.p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
    border-color: var(--primary-color);
}
.p-radiobutton .p-radiobutton-box .p-radiobutton-icon {
    width: 12px;
    height: 12px;
    transition-duration: 0.2s;
    background-color: var(--surface-card);
}
.p-radiobutton .p-radiobutton-box.p-highlight {
    border-color: var(--primary-color-contrast);
    background: var(--primary-color);
}
.p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover {
    border-color: var(--primary-color-contrast);
    background: var(--primary-color);
    color: var(--primary-color-contrast);
}

p-radiobutton.ng-dirty.ng-invalid > .p-radiobutton > .p-radiobutton-box {
    border-color: var(--color-danger);
}

.p-input-filled .p-radiobutton .p-radiobutton-box {
    background-color: var(--surface-hover);
}
.p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover {
    background-color: var(--surface-hover);
}
.p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight {
    background: var(--primary-color);
    color: var(--primary-color);
}
.p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover {
    background: var(--primary-color);
    color: var(--primary-color);
}

.p-radiobutton-label {
    margin-left: 0.5rem;
}

.p-rating {
    gap: 0.5rem;
}
.p-rating .p-rating-icon {
    color: var(--text-color);
    margin-left: 0.5rem;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    font-size: 1.143rem;
}
.p-rating .p-rating-icon.p-icon {
    width: 1.143rem;
    height: 1.143rem;
}
.p-rating .p-rating-icon.p-rating-cancel {
    color: var(--color-danger);
}
.p-rating .p-rating-icon:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-rating .p-rating-icon:first-child {
    margin-left: 0;
}
.p-rating .p-rating-icon.p-rating-icon-active {
    color: var(--primary-color);
}
.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-icon:hover {
    color: var(--primary-color);
}
.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-icon.p-rating-cancel:hover {
    color: var(--color-danger);
}

.p-selectbutton .p-button {
    background: var(--surface-card);
    border: 1px solid var(--input-border);
    color: var(--text-color);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.p-selectbutton .p-button .p-button-icon-left,
.p-selectbutton .p-button .p-button-icon-right {
    color: var(--text-color-secondary);
}
.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover {
    background: var(--surface-hover);
    border-color: var(--input-border);
    color: var(--text-color);
}
.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left,
.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right {
    color: var(--text-color-emphasis);
}
.p-selectbutton .p-button.p-highlight {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--primary-color-contrast);
}
.p-selectbutton .p-button.p-highlight .p-button-icon-left,
.p-selectbutton .p-button.p-highlight .p-button-icon-right {
    color: var(--primary-color-contrast);
}
.p-selectbutton .p-button.p-highlight:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--primary-color-contrast);
}
.p-selectbutton .p-button.p-highlight:hover .p-button-icon-left,
.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right {
    color: var(--primary-color-contrast);
}

p-selectbutton.ng-dirty.ng-invalid > .p-selectbutton > .p-button {
    border-color: var(--color-danger);
}

.p-slider {
    background: var(--surface-border);
    border: 0 none;
    border-radius: 6px;
}
.p-slider.p-slider-horizontal {
    height: 0.286rem;
}
.p-slider.p-slider-horizontal .p-slider-handle {
    margin-top: -0.5715rem;
    margin-left: -0.5715rem;
}
.p-slider.p-slider-vertical {
    width: 0.286rem;
}
.p-slider.p-slider-vertical .p-slider-handle {
    margin-left: -0.5715rem;
    margin-bottom: -0.5715rem;
}
.p-slider .p-slider-handle {
    height: 1.143rem;
    width: 1.143rem;
    background: var(--surface-card);
    border: 2px solid var(--primary-color);
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.p-slider .p-slider-handle:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-slider .p-slider-range {
    background: var(--primary-color);
}
.p-slider:not(.p-disabled) .p-slider-handle:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
}
.p-slider.p-slider-animate.p-slider-horizontal .p-slider-handle {
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s, left 0.2s;
}
.p-slider.p-slider-animate.p-slider-horizontal .p-slider-range {
    transition: width 0.2s;
}
.p-slider.p-slider-animate.p-slider-vertical .p-slider-handle {
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s, bottom 0.2s;
}
.p-slider.p-slider-animate.p-slider-vertical .p-slider-range {
    transition: height 0.2s;
}

.p-togglebutton.p-button {
    background: var(--surface-card);
    border: 1px solid var(--input-border);
    color: var(--text-color);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.p-togglebutton.p-button .p-button-icon-left,
.p-togglebutton.p-button .p-button-icon-right {
    color: var(--text-color-secondary);
}
.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover {
    background: var(--surface-hover);
    border-color: var(--input-border);
    color: var(--text-color);
}
.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left,
.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right {
    color: var(--text-color-emphasis);
}
.p-togglebutton.p-button.p-highlight {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--primary-color-contrast);
}
.p-togglebutton.p-button.p-highlight .p-button-icon-left,
.p-togglebutton.p-button.p-highlight .p-button-icon-right {
    color: var(--primary-color-contrast);
}
.p-togglebutton.p-button.p-highlight:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--primary-color-contrast);
}
.p-togglebutton.p-button.p-highlight:hover .p-button-icon-left,
.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right {
    color: var(--primary-color-contrast);
}

p-togglebutton.ng-dirty.ng-invalid > .p-togglebutton.p-button {
    border-color: var(--color-danger);
}

.p-treeselect {
    background: var(--surface-card);
    border: 1px solid var(--input-border);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
}
.p-treeselect:not(.p-disabled):hover {
    border-color: var(--primary-color);
}
.p-treeselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
    border-color: var(--primary-color);
}
.p-treeselect .p-treeselect-label {
    padding: 0.75rem 0.75rem;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.p-treeselect .p-treeselect-label.p-placeholder {
    color: var(--text-color-secondary);
}
.p-treeselect.p-treeselect-chip .p-treeselect-token {
    padding: 0.375rem 0.75rem;
    margin-right: 0.5rem;
    background: var(--surface-border);
    color: var(--text-color);
    border-radius: 16px;
}
.p-treeselect .p-treeselect-trigger {
    background: transparent;
    color: var(--text-color-secondary);
    width: 3rem;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

p-treeselect.ng-invalid.ng-dirty > .p-treeselect {
    border-color: var(--color-danger);
}

.p-inputwrapper-filled .p-treeselect.p-treeselect-chip .p-treeselect-label {
    padding: 0.375rem 0.75rem;
}

.p-treeselect-panel {
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}
.p-treeselect-panel .p-treeselect-header {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--surface-border);
    color: var(--text-color-emphasis);
    background: var(--surface-hover);
    margin: 0;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container {
    margin-right: 0.5rem;
}
.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter {
    padding-right: 1.75rem;
}
.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon {
    right: 0.75rem;
    color: var(--text-color-secondary);
}
.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter {
    padding-right: 3.5rem;
}
.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon {
    right: 2.5rem;
}
.p-treeselect-panel .p-treeselect-header .p-treeselect-close {
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-treeselect-panel .p-treeselect-items-wrapper .p-tree {
    border: 0 none;
}
.p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    background: transparent;
}

.p-input-filled .p-treeselect {
    background: var(--surface-hover);
}
.p-input-filled .p-treeselect:not(.p-disabled):hover {
    background-color: var(--surface-hover);
}
.p-input-filled .p-treeselect:not(.p-disabled).p-focus {
    background-color: var(--surface-card);
}

p-treeselect.p-treeselect-clearable .p-treeselect-label-container {
    padding-right: 1.75rem;
}
p-treeselect.p-treeselect-clearable .p-treeselect-clear-icon {
    color: var(--text-color-secondary);
    right: 3rem;
}

.p-button {
    color: var(--primary-color-contrast);
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    padding: 0.75rem 1.25rem;
    font-size: 1rem;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
}
.p-button:enabled:hover {
    background: var(--primary-400);
    color: var(--primary-color-contrast);
    border-color: var(--primary-400);
}
.p-button:enabled:active {
    background: var(--primary-color-contrast);
    color: var(--primary-color);
    border-color: var(--primary-color);
}
.p-button.p-button-outlined {
    background-color: transparent;
    color: var(--primary-color);
    border: 1px solid;
}
.p-button.p-button-outlined:enabled:hover {
    background: color-mix(in srgb, var(--primary-color) 4%, transparent);
    color: var(--primary-color);
    border: 1px solid;
}
.p-button.p-button-outlined:enabled:active {
    background: color-mix(in srgb, var(--primary-color) 16%, transparent);
    color: var(--primary-color);
    border: 1px solid;
}
.p-button.p-button-outlined.p-button-plain {
    color: var(--text-color-secondary);
    border-color: var(--text-color-secondary);
}
.p-button.p-button-outlined.p-button-plain:enabled:hover {
    background: var(--surface-hover);
    color: var(--text-color-secondary);
}
.p-button.p-button-outlined.p-button-plain:enabled:active {
    background: var(--surface-border);
    color: var(--text-color-secondary);
}
.p-button.p-button-text {
    background-color: transparent;
    color: var(--primary-color);
    border-color: transparent;
}
.p-button.p-button-text:enabled:hover {
    background: color-mix(in srgb, var(--primary-color) 4%, transparent);
    color: var(--primary-color);
    border-color: transparent;
}
.p-button.p-button-text:enabled:active {
    background: color-mix(in srgb, var(--primary-color) 16%, transparent);
    color: var(--primary-color);
    border-color: transparent;
}
.p-button.p-button-text.p-button-plain {
    color: var(--text-color-secondary);
}
.p-button.p-button-text.p-button-plain:enabled:hover {
    background: var(--surface-hover);
    color: var(--text-color-secondary);
}
.p-button.p-button-text.p-button-plain:enabled:active {
    background: var(--surface-border);
    color: var(--text-color-secondary);
}
.p-button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-button .p-button-label {
    transition-duration: 0.2s;
}
.p-button .p-button-icon-left {
    margin-right: 0.5rem;
}
.p-button .p-button-icon-right {
    margin-left: 0.5rem;
}
.p-button .p-button-icon-bottom {
    margin-top: 0.5rem;
}
.p-button .p-button-icon-top {
    margin-bottom: 0.5rem;
}
.p-button .p-badge {
    margin-left: 0.5rem;
    min-width: 1rem;
    height: 1rem;
    line-height: 1rem;
    color: var(--primary-color);
    background-color: var(--surface-card);
}
.p-button.p-button-raised {
    box-shadow: 0 3px 1px -2px color-mix(in srgb, var(--shadow-color) 20%, transparent), 0 2px 2px 0 color-mix(in srgb, var(--shadow-color) 14%, transparent), 0 1px 5px 0 color-mix(in srgb, var(--shadow-color) 12%, transparent);
}
.p-button.p-button-rounded {
    border-radius: 2rem;
}
.p-button.p-button-icon-only {
    width: 3rem;
    padding: 0.75rem 0;
}
.p-button.p-button-icon-only .p-button-icon-left,
.p-button.p-button-icon-only .p-button-icon-right {
    margin: 0;
}
.p-button.p-button-icon-only.p-button-rounded {
    border-radius: 50%;
    height: 3rem;
}
.p-button.p-button-sm {
    font-size: 0.875rem;
    padding: 0.65625rem 1.09375rem;
}
.p-button.p-button-sm .p-button-icon {
    font-size: 0.875rem;
}
.p-button.p-button-lg {
    font-size: 1.25rem;
    padding: 0.9375rem 1.5625rem;
}
.p-button.p-button-lg .p-button-icon {
    font-size: 1.25rem;
}
.p-button.p-button-loading-label-only .p-button-label {
    margin-left: 0.5rem;
}
.p-button.p-button-loading-label-only .p-button-loading-icon {
    margin-right: 0;
}

.p-fluid .p-button {
    width: 100%;
}
.p-fluid .p-button-icon-only {
    width: 3rem;
}
.p-fluid .p-buttonset {
    display: flex;
}
.p-fluid .p-buttonset .p-button {
    flex: 1;
}

.p-button.p-button-secondary,
.p-buttonset.p-button-secondary > .p-button,
.p-splitbutton.p-button-secondary > .p-button {
    color: var(--primary-color-contrast);
    background: var(--color-secondary);
    border: 1px solid var(--color-secondary);
}
.p-button.p-button-secondary:enabled:hover,
.p-buttonset.p-button-secondary > .p-button:enabled:hover,
.p-splitbutton.p-button-secondary > .p-button:enabled:hover {
    background: color-mix(in srgb, var(--color-secondary) 85%, black);
    color: var(--primary-color-contrast);
    border-color: color-mix(in srgb, var(--color-secondary) 85%, black);
}
.p-button.p-button-secondary:enabled:focus,
.p-buttonset.p-button-secondary > .p-button:enabled:focus,
.p-splitbutton.p-button-secondary > .p-button:enabled:focus {
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-secondary) 30%, white);
}
.p-button.p-button-secondary:enabled:active,
.p-buttonset.p-button-secondary > .p-button:enabled:active,
.p-splitbutton.p-button-secondary > .p-button:enabled:active {
    background: color-mix(in srgb, var(--color-secondary) 70%, black);
    color: var(--primary-color-contrast);
    border-color: color-mix(in srgb, var(--color-secondary) 70%, black);
}
.p-button.p-button-secondary.p-button-outlined,
.p-buttonset.p-button-secondary > .p-button.p-button-outlined,
.p-splitbutton.p-button-secondary > .p-button.p-button-outlined {
    background-color: transparent;
    color: var(--color-secondary);
    border: 1px solid;
}
.p-button.p-button-secondary.p-button-outlined:enabled:hover,
.p-buttonset.p-button-secondary > .p-button.p-button-outlined:enabled:hover,
.p-splitbutton.p-button-secondary > .p-button.p-button-outlined:enabled:hover {
    background: color-mix(in srgb, var(--color-secondary) 4%, transparent);
    color: var(--color-secondary);
    border: 1px solid;
}
.p-button.p-button-secondary.p-button-outlined:enabled:active,
.p-buttonset.p-button-secondary > .p-button.p-button-outlined:enabled:active,
.p-splitbutton.p-button-secondary > .p-button.p-button-outlined:enabled:active {
    background: color-mix(in srgb, var(--color-secondary) 16%, transparent);
    color: var(--color-secondary);
    border: 1px solid;
}
.p-button.p-button-secondary.p-button-text,
.p-buttonset.p-button-secondary > .p-button.p-button-text,
.p-splitbutton.p-button-secondary > .p-button.p-button-text {
    background-color: transparent;
    color: var(--color-secondary);
    border-color: transparent;
}
.p-button.p-button-secondary.p-button-text:enabled:hover,
.p-buttonset.p-button-secondary > .p-button.p-button-text:enabled:hover,
.p-splitbutton.p-button-secondary > .p-button.p-button-text:enabled:hover {
    background: color-mix(in srgb, var(--color-secondary) 4%, transparent);
    border-color: transparent;
    color: var(--color-secondary);
}
.p-button.p-button-secondary.p-button-text:enabled:active,
.p-buttonset.p-button-secondary > .p-button.p-button-text:enabled:active,
.p-splitbutton.p-button-secondary > .p-button.p-button-text:enabled:active {
    background: color-mix(in srgb, var(--color-secondary) 16%, transparent);
    border-color: transparent;
    color: var(--color-secondary);
}

.p-button.p-button-info,
.p-buttonset.p-button-info > .p-button,
.p-splitbutton.p-button-info > .p-button {
    color: var(--primary-color-contrast);
    background: var(--color-info);
    border: 1px solid var(--color-info);
}
.p-button.p-button-info:enabled:hover,
.p-buttonset.p-button-info > .p-button:enabled:hover,
.p-splitbutton.p-button-info > .p-button:enabled:hover {
    background: color-mix(in srgb, var(--color-info) 85%, black);
    color: var(--primary-color-contrast);
    border-color: color-mix(in srgb, var(--color-info) 85%, black);
}
.p-button.p-button-info:enabled:focus,
.p-buttonset.p-button-info > .p-button:enabled:focus,
.p-splitbutton.p-button-info > .p-button:enabled:focus {
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-info) 30%, white);
}
.p-button.p-button-info:enabled:active,
.p-buttonset.p-button-info > .p-button:enabled:active,
.p-splitbutton.p-button-info > .p-button:enabled:active {
    background: color-mix(in srgb, var(--color-info) 70%, black);
    color: var(--primary-color-contrast);
    border-color: color-mix(in srgb, var(--color-info) 70%, black);
}
.p-button.p-button-info.p-button-outlined,
.p-buttonset.p-button-info > .p-button.p-button-outlined,
.p-splitbutton.p-button-info > .p-button.p-button-outlined {
    background-color: transparent;
    color: var(--color-info);
    border: 1px solid;
}
.p-button.p-button-info.p-button-outlined:enabled:hover,
.p-buttonset.p-button-info > .p-button.p-button-outlined:enabled:hover,
.p-splitbutton.p-button-info > .p-button.p-button-outlined:enabled:hover {
    background: color-mix(in srgb, var(--color-info) 4%, transparent);
    color: var(--color-info);
    border: 1px solid;
}
.p-button.p-button-info.p-button-outlined:enabled:active,
.p-buttonset.p-button-info > .p-button.p-button-outlined:enabled:active,
.p-splitbutton.p-button-info > .p-button.p-button-outlined:enabled:active {
    background: color-mix(in srgb, var(--color-info) 16%, transparent);
    color: var(--color-info);
    border: 1px solid;
}
.p-button.p-button-info.p-button-text,
.p-buttonset.p-button-info > .p-button.p-button-text,
.p-splitbutton.p-button-info > .p-button.p-button-text {
    background-color: transparent;
    color: var(--color-info);
    border-color: transparent;
}
.p-button.p-button-info.p-button-text:enabled:hover,
.p-buttonset.p-button-info > .p-button.p-button-text:enabled:hover,
.p-splitbutton.p-button-info > .p-button.p-button-text:enabled:hover {
    background: color-mix(in srgb, var(--color-info) 4%, transparent);
    border-color: transparent;
    color: var(--color-info);
}
.p-button.p-button-info.p-button-text:enabled:active,
.p-buttonset.p-button-info > .p-button.p-button-text:enabled:active,
.p-splitbutton.p-button-info > .p-button.p-button-text:enabled:active {
    background: color-mix(in srgb, var(--color-info) 16%, transparent);
    border-color: transparent;
    color: var(--color-info);
}

.p-button.p-button-success,
.p-buttonset.p-button-success > .p-button,
.p-splitbutton.p-button-success > .p-button {
    color: var(--primary-color-contrast);
    background: var(--color-success);
    border: 1px solid var(--color-success);
}
.p-button.p-button-success:enabled:hover,
.p-buttonset.p-button-success > .p-button:enabled:hover,
.p-splitbutton.p-button-success > .p-button:enabled:hover {
    background: color-mix(in srgb, var(--color-success) 85%, black);
    color: var(--primary-color-contrast);
    border-color: color-mix(in srgb, var(--color-success) 85%, black);
}
.p-button.p-button-success:enabled:focus,
.p-buttonset.p-button-success > .p-button:enabled:focus,
.p-splitbutton.p-button-success > .p-button:enabled:focus {
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-success) 30%, white);
}
.p-button.p-button-success:enabled:active,
.p-buttonset.p-button-success > .p-button:enabled:active,
.p-splitbutton.p-button-success > .p-button:enabled:active {
    background: color-mix(in srgb, var(--color-success) 70%, black);
    color: var(--primary-color-contrast);
    border-color: color-mix(in srgb, var(--color-success) 70%, black);
}
.p-button.p-button-success.p-button-outlined,
.p-buttonset.p-button-success > .p-button.p-button-outlined,
.p-splitbutton.p-button-success > .p-button.p-button-outlined {
    background-color: transparent;
    color: var(--color-success);
    border: 1px solid;
}
.p-button.p-button-success.p-button-outlined:enabled:hover,
.p-buttonset.p-button-success > .p-button.p-button-outlined:enabled:hover,
.p-splitbutton.p-button-success > .p-button.p-button-outlined:enabled:hover {
    background: color-mix(in srgb, var(--color-success) 4%, transparent);
    color: var(--color-success);
    border: 1px solid;
}
.p-button.p-button-success.p-button-outlined:enabled:active,
.p-buttonset.p-button-success > .p-button.p-button-outlined:enabled:active,
.p-splitbutton.p-button-success > .p-button.p-button-outlined:enabled:active {
    background: color-mix(in srgb, var(--color-success) 16%, transparent);
    color: var(--color-success);
    border: 1px solid;
}
.p-button.p-button-success.p-button-text,
.p-buttonset.p-button-success > .p-button.p-button-text,
.p-splitbutton.p-button-success > .p-button.p-button-text {
    background-color: transparent;
    color: var(--color-success);
    border-color: transparent;
}
.p-button.p-button-success.p-button-text:enabled:hover,
.p-buttonset.p-button-success > .p-button.p-button-text:enabled:hover,
.p-splitbutton.p-button-success > .p-button.p-button-text:enabled:hover {
    background: color-mix(in srgb, var(--color-success) 4%, transparent);
    border-color: transparent;
    color: var(--color-success);
}
.p-button.p-button-success.p-button-text:enabled:active,
.p-buttonset.p-button-success > .p-button.p-button-text:enabled:active,
.p-splitbutton.p-button-success > .p-button.p-button-text:enabled:active {
    background: color-mix(in srgb, var(--color-success) 16%, transparent);
    border-color: transparent;
    color: var(--color-success);
}

.p-button.p-button-warning,
.p-buttonset.p-button-warning > .p-button,
.p-splitbutton.p-button-warning > .p-button {
    color: var(--primary-color-contrast);
    background: var(--color-warning);
    border: 1px solid var(--color-warning);
}
.p-button.p-button-warning:enabled:hover,
.p-buttonset.p-button-warning > .p-button:enabled:hover,
.p-splitbutton.p-button-warning > .p-button:enabled:hover {
    background: color-mix(in srgb, var(--color-warning) 85%, black);
    color: var(--primary-color-contrast);
    border-color: color-mix(in srgb, var(--color-warning) 85%, black);
}
.p-button.p-button-warning:enabled:focus,
.p-buttonset.p-button-warning > .p-button:enabled:focus,
.p-splitbutton.p-button-warning > .p-button:enabled:focus {
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-warning) 30%, white);
}
.p-button.p-button-warning:enabled:active,
.p-buttonset.p-button-warning > .p-button:enabled:active,
.p-splitbutton.p-button-warning > .p-button:enabled:active {
    background: color-mix(in srgb, var(--color-warning) 70%, black);
    color: var(--primary-color-contrast);
    border-color: color-mix(in srgb, var(--color-warning) 70%, black);
}
.p-button.p-button-warning.p-button-outlined,
.p-buttonset.p-button-warning > .p-button.p-button-outlined,
.p-splitbutton.p-button-warning > .p-button.p-button-outlined {
    background-color: transparent;
    color: var(--color-warning);
    border: 1px solid;
}
.p-button.p-button-warning.p-button-outlined:enabled:hover,
.p-buttonset.p-button-warning > .p-button.p-button-outlined:enabled:hover,
.p-splitbutton.p-button-warning > .p-button.p-button-outlined:enabled:hover {
    background: color-mix(in srgb, var(--color-warning) 4%, transparent);
    color: var(--color-warning);
    border: 1px solid;
}
.p-button.p-button-warning.p-button-outlined:enabled:active,
.p-buttonset.p-button-warning > .p-button.p-button-outlined:enabled:active,
.p-splitbutton.p-button-warning > .p-button.p-button-outlined:enabled:active {
    background: color-mix(in srgb, var(--color-warning) 16%, transparent);
    color: var(--color-warning);
    border: 1px solid;
}
.p-button.p-button-warning.p-button-text,
.p-buttonset.p-button-warning > .p-button.p-button-text,
.p-splitbutton.p-button-warning > .p-button.p-button-text {
    background-color: transparent;
    color: var(--color-warning);
    border-color: transparent;
}
.p-button.p-button-warning.p-button-text:enabled:hover,
.p-buttonset.p-button-warning > .p-button.p-button-text:enabled:hover,
.p-splitbutton.p-button-warning > .p-button.p-button-text:enabled:hover {
    background: color-mix(in srgb, var(--color-warning) 4%, transparent);
    border-color: transparent;
    color: var(--color-warning);
}
.p-button.p-button-warning.p-button-text:enabled:active,
.p-buttonset.p-button-warning > .p-button.p-button-text:enabled:active,
.p-splitbutton.p-button-warning > .p-button.p-button-text:enabled:active {
    background: color-mix(in srgb, var(--color-warning) 16%, transparent);
    border-color: transparent;
    color: var(--color-warning);
}

.p-button.p-button-help,
.p-buttonset.p-button-help > .p-button,
.p-splitbutton.p-button-help > .p-button {
    color: var(--primary-color-contrast);
    background: var(--color-secondary);
    border: 1px solid var(--color-secondary);
}
.p-button.p-button-help:enabled:hover,
.p-buttonset.p-button-help > .p-button:enabled:hover,
.p-splitbutton.p-button-help > .p-button:enabled:hover {
    background: color-mix(in srgb, var(--color-secondary) 85%, black);
    color: var(--primary-color-contrast);
    border-color: color-mix(in srgb, var(--color-secondary) 85%, black);
}
.p-button.p-button-help:enabled:focus,
.p-buttonset.p-button-help > .p-button:enabled:focus,
.p-splitbutton.p-button-help > .p-button:enabled:focus {
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-secondary) 30%, white);
}
.p-button.p-button-help:enabled:active,
.p-buttonset.p-button-help > .p-button:enabled:active,
.p-splitbutton.p-button-help > .p-button:enabled:active {
    background: color-mix(in srgb, var(--color-secondary) 70%, black);
    color: var(--primary-color-contrast);
    border-color: color-mix(in srgb, var(--color-secondary) 70%, black);
}
.p-button.p-button-help.p-button-outlined,
.p-buttonset.p-button-help > .p-button.p-button-outlined,
.p-splitbutton.p-button-help > .p-button.p-button-outlined {
    background-color: transparent;
    color: var(--color-secondary);
    border: 1px solid;
}
.p-button.p-button-help.p-button-outlined:enabled:hover,
.p-buttonset.p-button-help > .p-button.p-button-outlined:enabled:hover,
.p-splitbutton.p-button-help > .p-button.p-button-outlined:enabled:hover {
    background: color-mix(in srgb, var(--color-secondary) 4%, transparent);
    color: var(--color-secondary);
    border: 1px solid;
}
.p-button.p-button-help.p-button-outlined:enabled:active,
.p-buttonset.p-button-help > .p-button.p-button-outlined:enabled:active,
.p-splitbutton.p-button-help > .p-button.p-button-outlined:enabled:active {
    background: color-mix(in srgb, var(--color-secondary) 16%, transparent);
    color: var(--color-secondary);
    border: 1px solid;
}
.p-button.p-button-help.p-button-text,
.p-buttonset.p-button-help > .p-button.p-button-text,
.p-splitbutton.p-button-help > .p-button.p-button-text {
    background-color: transparent;
    color: var(--color-secondary);
    border-color: transparent;
}
.p-button.p-button-help.p-button-text:enabled:hover,
.p-buttonset.p-button-help > .p-button.p-button-text:enabled:hover,
.p-splitbutton.p-button-help > .p-button.p-button-text:enabled:hover {
    background: color-mix(in srgb, var(--color-secondary) 4%, transparent);
    border-color: transparent;
    color: var(--color-secondary);
}
.p-button.p-button-help.p-button-text:enabled:active,
.p-buttonset.p-button-help > .p-button.p-button-text:enabled:active,
.p-splitbutton.p-button-help > .p-button.p-button-text:enabled:active {
    background: color-mix(in srgb, var(--color-secondary) 16%, transparent);
    border-color: transparent;
    color: var(--color-secondary);
}

.p-button.p-button-danger,
.p-buttonset.p-button-danger > .p-button,
.p-splitbutton.p-button-danger > .p-button {
    color: var(--primary-color-contrast);
    background: var(--color-danger);
    border: 1px solid var(--color-danger);
}
.p-button.p-button-danger:enabled:hover,
.p-buttonset.p-button-danger > .p-button:enabled:hover,
.p-splitbutton.p-button-danger > .p-button:enabled:hover {
    background: color-mix(in srgb, var(--color-danger) 85%, black);
    color: var(--primary-color-contrast);
    border-color: color-mix(in srgb, var(--color-danger) 85%, black);
}
.p-button.p-button-danger:enabled:focus,
.p-buttonset.p-button-danger > .p-button:enabled:focus,
.p-splitbutton.p-button-danger > .p-button:enabled:focus {
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-danger) 30%, white);
}
.p-button.p-button-danger:enabled:active,
.p-buttonset.p-button-danger > .p-button:enabled:active,
.p-splitbutton.p-button-danger > .p-button:enabled:active {
    background: color-mix(in srgb, var(--color-danger) 70%, black);
    color: var(--primary-color-contrast);
    border-color: color-mix(in srgb, var(--color-danger) 70%, black);
}
.p-button.p-button-danger.p-button-outlined,
.p-buttonset.p-button-danger > .p-button.p-button-outlined,
.p-splitbutton.p-button-danger > .p-button.p-button-outlined {
    background-color: transparent;
    color: var(--color-danger);
    border: 1px solid;
}
.p-button.p-button-danger.p-button-outlined:enabled:hover,
.p-buttonset.p-button-danger > .p-button.p-button-outlined:enabled:hover,
.p-splitbutton.p-button-danger > .p-button.p-button-outlined:enabled:hover {
    background: color-mix(in srgb, var(--color-danger) 4%, transparent);
    color: var(--color-danger);
    border: 1px solid;
}
.p-button.p-button-danger.p-button-outlined:enabled:active,
.p-buttonset.p-button-danger > .p-button.p-button-outlined:enabled:active,
.p-splitbutton.p-button-danger > .p-button.p-button-outlined:enabled:active {
    background: color-mix(in srgb, var(--color-danger) 16%, transparent);
    color: var(--color-danger);
    border: 1px solid;
}
.p-button.p-button-danger.p-button-text,
.p-buttonset.p-button-danger > .p-button.p-button-text,
.p-splitbutton.p-button-danger > .p-button.p-button-text {
    background-color: transparent;
    color: var(--color-danger);
    border-color: transparent;
}
.p-button.p-button-danger.p-button-text:enabled:hover,
.p-buttonset.p-button-danger > .p-button.p-button-text:enabled:hover,
.p-splitbutton.p-button-danger > .p-button.p-button-text:enabled:hover {
    background: color-mix(in srgb, var(--color-danger) 4%, transparent);
    border-color: transparent;
    color: var(--color-danger);
}
.p-button.p-button-danger.p-button-text:enabled:active,
.p-buttonset.p-button-danger > .p-button.p-button-text:enabled:active,
.p-splitbutton.p-button-danger > .p-button.p-button-text:enabled:active {
    background: color-mix(in srgb, var(--color-danger) 16%, transparent);
    border-color: transparent;
    color: var(--color-danger);
}

.p-button.p-button-link {
    color: var(--primary-color-contrast);
    background: transparent;
    border: transparent;
}
.p-button.p-button-link:enabled:hover {
    background: transparent;
    color: var(--primary-color-contrast);
    border-color: transparent;
}
.p-button.p-button-link:enabled:hover .p-button-label {
    text-decoration: underline;
}
.p-button.p-button-link:enabled:focus {
    background: transparent;
    box-shadow: var(--focus-ring);
    border-color: transparent;
}
.p-button.p-button-link:enabled:active {
    background: transparent;
    color: var(--primary-color-contrast);
    border-color: transparent;
}

.p-speeddial-button.p-button.p-button-icon-only {
    width: 4rem;
    height: 4rem;
}
.p-speeddial-button.p-button.p-button-icon-only .p-button-icon {
    font-size: 1.3rem;
}
.p-speeddial-button.p-button.p-button-icon-only .p-icon {
    width: 1.3rem;
    height: 1.3rem;
}

.p-speeddial-action {
    width: 3rem;
    height: 3rem;
    background: var(--text-color);
    color: var(--primary-color-contrast);
}
.p-speeddial-action:hover {
    background: color-mix(in srgb, var(--primary-color) 70%, black);
    color: var(--primary-color-contrast);
}

.p-speeddial-direction-up .p-speeddial-item {
    margin: 0.25rem 0;
}
.p-speeddial-direction-up .p-speeddial-item:first-child {
    margin-bottom: 0.5rem;
}

.p-speeddial-direction-down .p-speeddial-item {
    margin: 0.25rem 0;
}
.p-speeddial-direction-down .p-speeddial-item:first-child {
    margin-top: 0.5rem;
}

.p-speeddial-direction-left .p-speeddial-item {
    margin: 0 0.25rem;
}
.p-speeddial-direction-left .p-speeddial-item:first-child {
    margin-right: 0.5rem;
}

.p-speeddial-direction-right .p-speeddial-item {
    margin: 0 0.25rem;
}
.p-speeddial-direction-right .p-speeddial-item:first-child {
    margin-left: 0.5rem;
}

.p-speeddial-circle .p-speeddial-item,
.p-speeddial-semi-circle .p-speeddial-item,
.p-speeddial-quarter-circle .p-speeddial-item {
    margin: 0;
}
.p-speeddial-circle .p-speeddial-item:first-child,
.p-speeddial-circle .p-speeddial-item:last-child,
.p-speeddial-semi-circle .p-speeddial-item:first-child,
.p-speeddial-semi-circle .p-speeddial-item:last-child,
.p-speeddial-quarter-circle .p-speeddial-item:first-child,
.p-speeddial-quarter-circle .p-speeddial-item:last-child {
    margin: 0;
}

.p-speeddial-mask {
    background-color: var(--maskbg);
}

.p-splitbutton {
    border-radius: 6px;
}
.p-splitbutton.p-button-outlined > .p-button {
    background-color: transparent;
    color: var(--primary-color);
    border: 1px solid;
}
.p-splitbutton.p-button-outlined > .p-button:enabled:hover,
.p-splitbutton.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--primary-color) 4%, transparent);
    color: var(--primary-color);
}
.p-splitbutton.p-button-outlined > .p-button:enabled:active,
.p-splitbutton.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--primary-color) 16%, transparent);
    color: var(--primary-color);
}
.p-splitbutton.p-button-outlined.p-button-plain > .p-button {
    color: var(--text-color-secondary);
    border-color: var(--text-color-secondary);
}
.p-splitbutton.p-button-outlined.p-button-plain > .p-button:enabled:hover,
.p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: var(--surface-hover);
    color: var(--text-color-secondary);
}
.p-splitbutton.p-button-outlined.p-button-plain > .p-button:enabled:active,
.p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(button):not(a):not(.p-disabled):active {
    background: var(--surface-border);
    color: var(--text-color-secondary);
}
.p-splitbutton.p-button-text > .p-button {
    background-color: transparent;
    color: var(--primary-color);
    border-color: transparent;
}
.p-splitbutton.p-button-text > .p-button:enabled:hover,
.p-splitbutton.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--primary-color) 4%, transparent);
    color: var(--primary-color);
    border-color: transparent;
}
.p-splitbutton.p-button-text > .p-button:enabled:active,
.p-splitbutton.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--primary-color) 16%, transparent);
    color: var(--primary-color);
    border-color: transparent;
}
.p-splitbutton.p-button-text.p-button-plain > .p-button {
    color: var(--text-color-secondary);
}
.p-splitbutton.p-button-text.p-button-plain > .p-button:enabled:hover,
.p-splitbutton.p-button-text.p-button-plain > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: var(--surface-hover);
    color: var(--text-color-secondary);
}
.p-splitbutton.p-button-text.p-button-plain > .p-button:enabled:active,
.p-splitbutton.p-button-text.p-button-plain > .p-button:not(button):not(a):not(.p-disabled):active {
    background: var(--surface-border);
    color: var(--text-color-secondary);
}
.p-splitbutton.p-button-raised {
    box-shadow: 0 3px 1px -2px color-mix(in srgb, var(--shadow-color) 20%, transparent), 0 2px 2px 0 color-mix(in srgb, var(--shadow-color) 14%, transparent), 0 1px 5px 0 color-mix(in srgb, var(--shadow-color) 12%, transparent);
}
.p-splitbutton.p-button-rounded {
    border-radius: 2rem;
}
.p-splitbutton.p-button-rounded > .p-button {
    border-radius: 2rem;
}
.p-splitbutton.p-button-sm > .p-button {
    font-size: 0.875rem;
    padding: 0.65625rem 1.09375rem;
}
.p-splitbutton.p-button-sm > .p-button .p-button-icon {
    font-size: 0.875rem;
}
.p-splitbutton.p-button-lg > .p-button {
    font-size: 1.25rem;
    padding: 0.9375rem 1.5625rem;
}
.p-splitbutton.p-button-lg > .p-button .p-button-icon {
    font-size: 1.25rem;
}

.p-splitbutton.p-button-secondary.p-button-outlined > .p-button {
    background-color: transparent;
    color: var(--color-secondary);
    border: 1px solid;
}
.p-splitbutton.p-button-secondary.p-button-outlined > .p-button:enabled:hover,
.p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--color-secondary) 4%, transparent);
    color: var(--color-secondary);
}
.p-splitbutton.p-button-secondary.p-button-outlined > .p-button:enabled:active,
.p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--color-secondary) 16%, transparent);
    color: var(--color-secondary);
}
.p-splitbutton.p-button-secondary.p-button-text > .p-button {
    background-color: transparent;
    color: var(--color-secondary);
    border-color: transparent;
}
.p-splitbutton.p-button-secondary.p-button-text > .p-button:enabled:hover,
.p-splitbutton.p-button-secondary.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--color-secondary) 4%, transparent);
    border-color: transparent;
    color: var(--color-secondary);
}
.p-splitbutton.p-button-secondary.p-button-text > .p-button:enabled:active,
.p-splitbutton.p-button-secondary.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--color-secondary) 16%, transparent);
    border-color: transparent;
    color: var(--color-secondary);
}

.p-splitbutton.p-button-info.p-button-outlined > .p-button {
    background-color: transparent;
    color: var(--color-info);
    border: 1px solid;
}
.p-splitbutton.p-button-info.p-button-outlined > .p-button:enabled:hover,
.p-splitbutton.p-button-info.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--color-info) 4%, transparent);
    color: var(--color-info);
}
.p-splitbutton.p-button-info.p-button-outlined > .p-button:enabled:active,
.p-splitbutton.p-button-info.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--color-info) 16%, transparent);
    color: var(--color-info);
}
.p-splitbutton.p-button-info.p-button-text > .p-button {
    background-color: transparent;
    color: var(--color-info);
    border-color: transparent;
}
.p-splitbutton.p-button-info.p-button-text > .p-button:enabled:hover,
.p-splitbutton.p-button-info.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--color-info) 4%, transparent);
    border-color: transparent;
    color: var(--color-info);
}
.p-splitbutton.p-button-info.p-button-text > .p-button:enabled:active,
.p-splitbutton.p-button-info.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--color-info) 16%, transparent);
    border-color: transparent;
    color: var(--color-info);
}

.p-splitbutton.p-button-success.p-button-outlined > .p-button {
    background-color: transparent;
    color: var(--color-success);
    border: 1px solid;
}
.p-splitbutton.p-button-success.p-button-outlined > .p-button:enabled:hover,
.p-splitbutton.p-button-success.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--color-success) 4%, transparent);
    color: var(--color-success);
}
.p-splitbutton.p-button-success.p-button-outlined > .p-button:enabled:active,
.p-splitbutton.p-button-success.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--color-success) 16%, transparent);
    color: var(--color-success);
}
.p-splitbutton.p-button-success.p-button-text > .p-button {
    background-color: transparent;
    color: var(--color-success);
    border-color: transparent;
}
.p-splitbutton.p-button-success.p-button-text > .p-button:enabled:hover,
.p-splitbutton.p-button-success.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--color-success) 4%, transparent);
    border-color: transparent;
    color: var(--color-success);
}
.p-splitbutton.p-button-success.p-button-text > .p-button:enabled:active,
.p-splitbutton.p-button-success.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--color-success) 16%, transparent);
    border-color: transparent;
    color: var(--color-success);
}

.p-splitbutton.p-button-warning.p-button-outlined > .p-button {
    background-color: transparent;
    color: var(--color-warning);
    border: 1px solid;
}
.p-splitbutton.p-button-warning.p-button-outlined > .p-button:enabled:hover,
.p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--color-warning) 4%, transparent);
    color: var(--color-warning);
}
.p-splitbutton.p-button-warning.p-button-outlined > .p-button:enabled:active,
.p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--color-warning) 16%, transparent);
    color: var(--color-warning);
}
.p-splitbutton.p-button-warning.p-button-text > .p-button {
    background-color: transparent;
    color: var(--color-warning);
    border-color: transparent;
}
.p-splitbutton.p-button-warning.p-button-text > .p-button:enabled:hover,
.p-splitbutton.p-button-warning.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--color-warning) 4%, transparent);
    border-color: transparent;
    color: var(--color-warning);
}
.p-splitbutton.p-button-warning.p-button-text > .p-button:enabled:active,
.p-splitbutton.p-button-warning.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--color-warning) 16%, transparent);
    border-color: transparent;
    color: var(--color-warning);
}

.p-splitbutton.p-button-help.p-button-outlined > .p-button {
    background-color: transparent;
    color: var(--color-secondary);
    border: 1px solid;
}
.p-splitbutton.p-button-help.p-button-outlined > .p-button:enabled:hover,
.p-splitbutton.p-button-help.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--color-secondary) 4%, transparent);
    color: var(--color-secondary);
}
.p-splitbutton.p-button-help.p-button-outlined > .p-button:enabled:active,
.p-splitbutton.p-button-help.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--color-secondary) 16%, transparent);
    color: var(--color-secondary);
}
.p-splitbutton.p-button-help.p-button-text > .p-button {
    background-color: transparent;
    color: var(--color-secondary);
    border-color: transparent;
}
.p-splitbutton.p-button-help.p-button-text > .p-button:enabled:hover,
.p-splitbutton.p-button-help.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--color-secondary) 4%, transparent);
    border-color: transparent;
    color: var(--color-secondary);
}
.p-splitbutton.p-button-help.p-button-text > .p-button:enabled:active,
.p-splitbutton.p-button-help.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--color-secondary) 16%, transparent);
    border-color: transparent;
    color: var(--color-secondary);
}

.p-splitbutton.p-button-danger.p-button-outlined > .p-button {
    background-color: transparent;
    color: var(--color-danger);
    border: 1px solid;
}
.p-splitbutton.p-button-danger.p-button-outlined > .p-button:enabled:hover,
.p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--color-danger) 4%, transparent);
    color: var(--color-danger);
}
.p-splitbutton.p-button-danger.p-button-outlined > .p-button:enabled:active,
.p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--color-danger) 16%, transparent);
    color: var(--color-danger);
}
.p-splitbutton.p-button-danger.p-button-text > .p-button {
    background-color: transparent;
    color: var(--color-danger);
    border-color: transparent;
}
.p-splitbutton.p-button-danger.p-button-text > .p-button:enabled:hover,
.p-splitbutton.p-button-danger.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
    background: color-mix(in srgb, var(--color-danger) 4%, transparent);
    border-color: transparent;
    color: var(--color-danger);
}
.p-splitbutton.p-button-danger.p-button-text > .p-button:enabled:active,
.p-splitbutton.p-button-danger.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
    background: color-mix(in srgb, var(--color-danger) 16%, transparent);
    border-color: transparent;
    color: var(--color-danger);
}

.p-carousel .p-carousel-content .p-carousel-prev,
.p-carousel .p-carousel-content .p-carousel-next {
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    margin: 0.5rem;
}
.p-carousel .p-carousel-content .p-carousel-prev:enabled:hover,
.p-carousel .p-carousel-content .p-carousel-next:enabled:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-carousel .p-carousel-content .p-carousel-prev:focus,
.p-carousel .p-carousel-content .p-carousel-next:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-carousel .p-carousel-indicators {
    padding: 1rem;
}
.p-carousel .p-carousel-indicators .p-carousel-indicator {
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}
.p-carousel .p-carousel-indicators .p-carousel-indicator button {
    background-color: var(--input-border);
    width: 2rem;
    height: 0.5rem;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 0;
}
.p-carousel .p-carousel-indicators .p-carousel-indicator button:hover {
    background: var(--input-border);
}
.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button {
    background: var(--primary-600);
    color: var(--primary-color-contrast);
}

.p-datatable .p-paginator-top {
    border-width: 0 0 0px 0;
    border-radius: 0;
}
.p-datatable .p-paginator-bottom {
    border-width: 0 0 0px 0;
    border-radius: 0;
}
.p-datatable .p-datatable-header {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
    border: 1px solid var(--surface-border);
    border-width: 1px 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
}
.p-datatable .p-datatable-footer {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
    border: 1px solid var(--surface-border);
    border-width: 0 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
}
.p-datatable .p-datatable-thead > tr > th {
    text-align: left;
    padding: 1rem 1rem;
    border: 1px solid var(--surface-border);
    border-width: 0 0 1px 0;
    font-weight: 700;
    color: var(--text-color-emphasis);
    background: var(--surface-hover);
    transition: box-shadow 0.2s;
}
.p-datatable .p-datatable-tfoot > tr > td {
    text-align: left;
    padding: 1rem 1rem;
    border: 1px solid var(--surface-border);
    border-width: 0 0 1px 0;
    font-weight: 700;
    color: var(--text-color-emphasis);
    background: var(--surface-hover);
}
.p-datatable .p-sortable-column .p-sortable-column-icon {
    color: var(--text-color-emphasis);
    margin-left: 0.5rem;
}
.p-datatable .p-sortable-column .p-sortable-column-badge {
    border-radius: 50%;
    height: 1.143rem;
    min-width: 1.143rem;
    line-height: 1.143rem;
    color: var(--primary-color-contrast);
    background: var(--primary-600);
    margin-left: 0.5rem;
}
.p-datatable .p-sortable-column:not(.p-highlight):hover {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
}
.p-datatable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon {
    color: var(--text-color-emphasis);
}
.p-datatable .p-sortable-column.p-highlight {
    background: var(--primary-600);
    color: var(--primary-color);
}
.p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon {
    color: var(--primary-color);
}
.p-datatable .p-sortable-column.p-highlight:hover {
    background: var(--primary-600);
    color: var(--primary-color);
}
.p-datatable .p-sortable-column.p-highlight:hover .p-sortable-column-icon {
    color: var(--primary-color);
}
.p-datatable .p-sortable-column:focus {
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
    outline: 0 none;
}
.p-datatable .p-datatable-tbody > tr {
    background: var(--surface-card);
    color: var(--text-color);
    transition: box-shadow 0.2s;
}
.p-datatable .p-datatable-tbody > tr > td {
    text-align: left;
    border: 1px solid var(--surface-border);
    border-width: 0 0 1px 0;
    padding: 1rem 1rem;
}
.p-datatable .p-datatable-tbody > tr > td .p-row-toggler,
.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init,
.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save,
.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel {
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover,
.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover,
.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover,
.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus,
.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus,
.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus,
.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save {
    margin-right: 0.5rem;
}
.p-datatable .p-datatable-tbody > tr:focus {
    outline: 0.15rem solid color-mix(in srgb, var(--primary-color) 40%, white);
    outline-offset: 0.15rem;
}
.p-datatable .p-datatable-tbody > tr.p-highlight {
    background: var(--primary-600);
    color: var(--primary-color-contrast);
}
.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td {
    box-shadow: inset 0 2px 0 0 color-mix(in srgb, var(--primary-color) 8%, white);
}
.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {
    box-shadow: inset 0 -2px 0 0 color-mix(in srgb, var(--primary-color) 8%, white);
}
.p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):hover {
    background: var(--surface-hover);
    color: var(--text-color);
}
.p-datatable .p-column-resizer-helper {
    background: var(--primary-color);
}
.p-datatable .p-datatable-scrollable-header,
.p-datatable .p-datatable-scrollable-footer {
    background: var(--surface-hover);
}
.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead,
.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot,
.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-scroller-viewport > .p-scroller > .p-datatable-table > .p-datatable-thead,
.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-scroller-viewport > .p-scroller > .p-datatable-table > .p-datatable-tfoot {
    background-color: var(--surface-hover);
}
.p-datatable .p-datatable-loading-icon {
    font-size: 2rem;
}
.p-datatable.p-datatable-gridlines .p-datatable-header {
    border-width: 1px 1px 0 1px;
}
.p-datatable.p-datatable-gridlines .p-datatable-footer {
    border-width: 0 1px 1px 1px;
}
.p-datatable.p-datatable-gridlines .p-paginator-top {
    border-width: 0 1px 0 1px;
}
.p-datatable.p-datatable-gridlines .p-paginator-bottom {
    border-width: 0 1px 1px 1px;
}
.p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th {
    border-width: 1px 0 1px 1px;
}
.p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child {
    border-width: 1px;
}
.p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td {
    border-width: 1px 0 0 1px;
}
.p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child {
    border-width: 1px 1px 0 1px;
}
.p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td {
    border-width: 1px 0 1px 1px;
}
.p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child {
    border-width: 1px;
}
.p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td {
    border-width: 1px 0 1px 1px;
}
.p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child {
    border-width: 1px 1px 1px 1px;
}
.p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td {
    border-width: 0 0 1px 1px;
}
.p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child {
    border-width: 0 1px 1px 1px;
}
.p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td {
    border-width: 0 0 1px 1px;
}
.p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child {
    border-width: 0 1px 1px 1px;
}
.p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td {
    border-width: 0 0 0 1px;
}
.p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child {
    border-width: 0 1px 0 1px;
}
.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(even) {
    background: var(--surface-table);
}
.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(even).p-highlight {
    background: var(--primary-600);
    color: var(--primary-color-contrast);
}
.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(even).p-highlight .p-row-toggler {
    color: var(--primary-color-contrast);
}
.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(even).p-highlight .p-row-toggler:hover {
    color: var(--primary-color-contrast);
}
.p-datatable.p-datatable-sm .p-datatable-header {
    padding: 0.5rem 0.5rem;
}
.p-datatable.p-datatable-sm .p-datatable-thead > tr > th {
    padding: 0.5rem 0.5rem;
}
.p-datatable.p-datatable-sm .p-datatable-tbody > tr > td {
    padding: 0.5rem 0.5rem;
}
.p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td {
    padding: 0.5rem 0.5rem;
}
.p-datatable.p-datatable-sm .p-datatable-footer {
    padding: 0.5rem 0.5rem;
}
.p-datatable.p-datatable-lg .p-datatable-header {
    padding: 1.25rem 1.25rem;
}
.p-datatable.p-datatable-lg .p-datatable-thead > tr > th {
    padding: 1.25rem 1.25rem;
}
.p-datatable.p-datatable-lg .p-datatable-tbody > tr > td {
    padding: 1.25rem 1.25rem;
}
.p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td {
    padding: 1.25rem 1.25rem;
}
.p-datatable.p-datatable-lg .p-datatable-footer {
    padding: 1.25rem 1.25rem;
}

.p-dataview .p-paginator-top {
    border-width: 0 0 1px 0;
    border-radius: 0;
}
.p-dataview .p-paginator-bottom {
    border-width: 0 0 1px 0;
    border-radius: 0;
}
.p-dataview .p-dataview-header {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
    border: 1px solid var(--surface-border);
    border-width: 1px 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
}
.p-dataview .p-dataview-content {
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    padding: 0;
}
.p-dataview.p-dataview-list .p-dataview-content > .p-grid > div {
    border: solid var(--surface-border);
    border-width: 0 0 1px 0;
}
.p-dataview .p-dataview-footer {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
    border: 1px solid var(--surface-border);
    border-width: 0 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}
.p-dataview .p-dataview-loading-icon {
    font-size: 2rem;
}
.p-dataview .p-dataview-emptymessage {
    padding: 1.25rem;
}

.p-column-filter-row .p-column-filter-menu-button,
.p-column-filter-row .p-column-filter-clear-button {
    margin-left: 0.5rem;
}

.p-column-filter-menu-button {
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-column-filter-menu-button:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-column-filter-menu-button.p-column-filter-menu-button-open,
.p-column-filter-menu-button.p-column-filter-menu-button-open:hover {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
}
.p-column-filter-menu-button.p-column-filter-menu-button-active,
.p-column-filter-menu-button.p-column-filter-menu-button-active:hover {
    background: var(--primary-600);
    color: var(--primary-color-contrast);
}
.p-column-filter-menu-button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}

.p-column-filter-clear-button {
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-column-filter-clear-button:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-column-filter-clear-button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}

.p-column-filter-overlay {
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
    min-width: 12.5rem;
}
.p-column-filter-overlay .p-column-filter-row-items {
    padding: 0.75rem 0;
}
.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item {
    margin: 0;
    padding: 0.75rem 1.25rem;
    border: 0 none;
    color: var(--text-color);
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 0;
}
.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-600);
}
.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover {
    color: var(--text-color);
    background: var(--surface-hover);
}
.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator {
    border-top: 1px solid var(--surface-border);
    margin: 0.25rem 0;
}

.p-column-filter-overlay-menu .p-column-filter-operator {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--surface-border);
    color: var(--text-color-emphasis);
    background: var(--surface-hover);
    margin: 0;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-column-filter-overlay-menu .p-column-filter-constraint {
    padding: 1.25rem;
    border-bottom: 1px solid var(--surface-border);
}
.p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown {
    margin-bottom: 0.5rem;
}
.p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button {
    margin-top: 0.5rem;
}
.p-column-filter-overlay-menu .p-column-filter-constraint:last-child {
    border-bottom: 0 none;
}
.p-column-filter-overlay-menu .p-column-filter-add-rule {
    padding: 0.75rem 1.25rem;
}
.p-column-filter-overlay-menu .p-column-filter-buttonbar {
    padding: 1.25rem;
}

.fc.fc-unthemed .fc-view-container th {
    background: var(--surface-hover);
    border: 1px solid var(--surface-border);
    color: var(--text-color-emphasis);
}
.fc.fc-unthemed .fc-view-container td.fc-widget-content {
    background: var(--surface-card);
    border: 1px solid var(--surface-border);
    color: var(--text-color);
}
.fc.fc-unthemed .fc-view-container td.fc-head-container {
    border: 1px solid var(--surface-border);
}
.fc.fc-unthemed .fc-view-container .fc-row {
    border-right: 1px solid var(--surface-border);
}
.fc.fc-unthemed .fc-view-container .fc-event {
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    color: var(--primary-color-contrast);
}
.fc.fc-unthemed .fc-view-container .fc-divider {
    background: var(--surface-hover);
    border: 1px solid var(--surface-border);
}
.fc.fc-unthemed .fc-toolbar .fc-button {
    color: var(--primary-color-contrast);
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    font-size: 1rem;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
    display: flex;
    align-items: center;
}
.fc.fc-unthemed .fc-toolbar .fc-button:enabled:hover {
    background: var(--primary-400);
    color: var(--primary-color-contrast);
    border-color: var(--primary-400);
}
.fc.fc-unthemed .fc-toolbar .fc-button:enabled:active {
    background: var(--primary-color-contrast);
    color: var(--primary-color-contrast);
    border-color: var(--primary-color-contrast);
}
.fc.fc-unthemed .fc-toolbar .fc-button:enabled:active:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.fc.fc-unthemed .fc-toolbar .fc-button .fc-icon-chevron-left {
    font-family: 'PrimeIcons' !important;
    text-indent: 0;
    font-size: 1rem;
}
.fc.fc-unthemed .fc-toolbar .fc-button .fc-icon-chevron-left:before {
    content: '\e900';
}
.fc.fc-unthemed .fc-toolbar .fc-button .fc-icon-chevron-right {
    font-family: 'PrimeIcons' !important;
    text-indent: 0;
    font-size: 1rem;
}
.fc.fc-unthemed .fc-toolbar .fc-button .fc-icon-chevron-right:before {
    content: '\e901';
}
.fc.fc-unthemed .fc-toolbar .fc-button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button,
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button,
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button {
    background: var(--surface-card);
    border: 1px solid var(--input-border);
    color: var(--text-color);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button:hover,
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button:hover,
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button:hover {
    background: var(--surface-hover);
    border-color: var(--input-border);
    color: var(--text-color);
}
.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active,
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active,
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--primary-color-contrast);
}
.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active:hover,
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active:hover,
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active:hover {
    background: var(--primary-400);
    border-color: var(--primary-400);
    color: var(--primary-color-contrast);
}
.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button:focus,
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button:focus,
.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
    z-index: 1;
}
.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button {
    border-radius: 0;
}
.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button:first-child {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}
.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button:last-child {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}
.fc.fc-theme-standard .fc-view-harness .fc-scrollgrid {
    border-color: var(--surface-border);
}
.fc.fc-theme-standard .fc-view-harness th {
    background: var(--surface-hover);
    border-color: var(--surface-border);
    color: var(--text-color-emphasis);
}
.fc.fc-theme-standard .fc-view-harness td {
    color: var(--text-color);
    border-color: var(--surface-border);
}
.fc.fc-theme-standard .fc-view-harness .fc-view {
    background: var(--surface-card);
}
.fc.fc-theme-standard .fc-view-harness .fc-popover {
    background: none;
    border: 0 none;
}
.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header {
    border: 1px solid var(--surface-border);
    padding: 1.25rem;
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
}
.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header .fc-popover-close {
    opacity: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-family: 'PrimeIcons' !important;
    font-size: 1rem;
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header .fc-popover-close:before {
    content: '\e90b';
}
.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header .fc-popover-close:enabled:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header .fc-popover-close:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-body {
    padding: 1.25rem;
    border: 1px solid var(--surface-border);
    background: var(--surface-card);
    color: var(--text-color);
    border-top: 0 none;
}
.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-block-event {
    color: var(--primary-color-contrast);
    background: var(--primary-color);
    border-color: var(--primary-color);
}
.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-block-event .fc-event-main {
    color: var(--primary-color-contrast);
}
.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-dot-event .fc-daygrid-event-dot {
    background: var(--primary-color);
    border-color: var(--primary-color);
}
.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-dot-event:hover {
    background: var(--surface-hover);
    color: var(--text-color);
}
.fc.fc-theme-standard .fc-view-harness .fc-cell-shaded {
    background: var(--surface-hover);
}
.fc.fc-theme-standard .fc-toolbar .fc-button {
    color: var(--primary-color-contrast);
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    font-size: 1rem;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
}
.fc.fc-theme-standard .fc-toolbar .fc-button:enabled:hover {
    background: var(--primary-400);
    color: var(--primary-color-contrast);
    border-color: var(--primary-400);
}
.fc.fc-theme-standard .fc-toolbar .fc-button:enabled:active {
    background: var(--primary-color-contrast);
    color: var(--primary-color-contrast);
    border-color: var(--primary-color-contrast);
}
.fc.fc-theme-standard .fc-toolbar .fc-button:enabled:active:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.fc.fc-theme-standard .fc-toolbar .fc-button:disabled {
    opacity: 0.6;
    color: var(--primary-color-contrast);
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
}
.fc.fc-theme-standard .fc-toolbar .fc-button .fc-icon-chevron-left {
    font-family: 'PrimeIcons' !important;
    text-indent: 0;
    font-size: 1rem;
}
.fc.fc-theme-standard .fc-toolbar .fc-button .fc-icon-chevron-left:before {
    content: '\e900';
}
.fc.fc-theme-standard .fc-toolbar .fc-button .fc-icon-chevron-right {
    font-family: 'PrimeIcons' !important;
    text-indent: 0;
    font-size: 1rem;
}
.fc.fc-theme-standard .fc-toolbar .fc-button .fc-icon-chevron-right:before {
    content: '\e901';
}
.fc.fc-theme-standard .fc-toolbar .fc-button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button,
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button,
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button {
    background: var(--surface-card);
    border: 1px solid var(--input-border);
    color: var(--text-color);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button:hover,
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button:hover,
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button:hover {
    background: var(--surface-hover);
    border-color: var(--input-border);
    color: var(--text-color);
}
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active,
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active,
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--primary-color-contrast);
}
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active:hover,
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active:hover,
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active:hover {
    background: var(--primary-400);
    border-color: var(--primary-400);
    color: var(--primary-color-contrast);
}
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button:not(:disabled):focus,
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button:not(:disabled):focus,
.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button:not(:disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
    z-index: 1;
}
.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button {
    border-radius: 0;
}
.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button:first-child {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}
.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button:last-child {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}
.fc.fc-theme-standard a {
    color: var(--text-color);
}
.fc.fc-theme-standard .fc-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-600);
}

.p-orderlist .p-orderlist-controls {
    padding: 1.25rem;
}
.p-orderlist .p-orderlist-controls .p-button {
    margin-bottom: 0.5rem;
}
.p-orderlist .p-orderlist-header {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
    border: 1px solid var(--surface-border);
    padding: 1.25rem;
    border-bottom: 0 none;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-orderlist .p-orderlist-header .p-orderlist-title {
    font-weight: 700;
}
.p-orderlist .p-orderlist-filter-container {
    padding: 1.25rem;
    background: var(--surface-card);
    border: 1px solid var(--surface-border);
    border-bottom: 0 none;
}
.p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input {
    padding-right: 1.75rem;
}
.p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon {
    right: 0.75rem;
    color: var(--text-color-secondary);
}
.p-orderlist .p-orderlist-list {
    border: 1px solid var(--surface-border);
    background: var(--surface-card);
    color: var(--text-color);
    padding: 0.75rem 0;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
}
.p-orderlist .p-orderlist-list .p-orderlist-item {
    padding: 0.75rem 1.25rem;
    margin: 0;
    border: 0 none;
    color: var(--text-color);
    background: transparent;
    transition: box-shadow 0.2s;
}
.p-orderlist .p-orderlist-list .p-orderlist-item:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-600);
}
.p-orderlist .p-orderlist-list .p-orderlist-empty-message {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
}
.p-orderlist .p-orderlist-list:not(.cdk-drop-list-dragging) .p-orderlist-item:not(.p-highlight):hover {
    background: var(--surface-hover);
    color: var(--text-color);
}
.p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) {
    background: var(--surface-table);
}
.p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover {
    background: var(--surface-hover);
}

.p-orderlist-item.cdk-drag-preview {
    padding: 0.75rem 1.25rem;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
    border: 0 none;
    color: var(--text-color);
    background: var(--surface-card);
    margin: 0;
}

.p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover {
    background: var(--surface-hover);
    color: var(--text-color);
}
.p-organizationchart .p-organizationchart-node-content.p-highlight {
    background: var(--primary-600);
    color: var(--primary-color-contrast);
}
.p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i {
    color: var(--color-info);
}
.p-organizationchart .p-organizationchart-line-down {
    background: var(--surface-border);
}
.p-organizationchart .p-organizationchart-line-left {
    border-right: 1px solid var(--surface-border);
    border-color: var(--surface-border);
}
.p-organizationchart .p-organizationchart-line-top {
    border-top: 1px solid var(--surface-border);
    border-color: var(--surface-border);
}
.p-organizationchart .p-organizationchart-node-content {
    border: 1px solid var(--surface-border);
    background: var(--surface-card);
    color: var(--text-color);
    padding: 1.25rem;
}
.p-organizationchart .p-organizationchart-node-content .p-node-toggler {
    background: inherit;
    color: inherit;
    border-radius: 50%;
}
.p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}

.p-paginator {
    background: var(--surface-card);
    color: var(--text-color-secondary);
    border: solid var(--surface-hover);
    border-width: 0;
    padding: 0.5rem 1rem;
    border-radius: 6px;
}
.p-paginator .p-paginator-first,
.p-paginator .p-paginator-prev,
.p-paginator .p-paginator-next,
.p-paginator .p-paginator-last {
    background-color: transparent;
    border: 0 none;
    color: var(--text-color-secondary);
    min-width: 3rem;
    height: 3rem;
    margin: 0.143rem;
    transition: box-shadow 0.2s;
    border-radius: 50%;
}
.p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover,
.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover,
.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover,
.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover {
    background: var(--surface-hover);
    border-color: transparent;
    color: var(--text-color-emphasis);
}
.p-paginator .p-paginator-first {
    border-top-left-radius: 50%;
    border-bottom-left-radius: 50%;
}
.p-paginator .p-paginator-last {
    border-top-right-radius: 50%;
    border-bottom-right-radius: 50%;
}
.p-paginator .p-dropdown {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    height: 3rem;
}
.p-paginator .p-dropdown .p-dropdown-label {
    padding-right: 0;
}
.p-paginator .p-paginator-page-input {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}
.p-paginator .p-paginator-page-input .p-inputtext {
    max-width: 3rem;
}
.p-paginator .p-paginator-current {
    background-color: transparent;
    border: 0 none;
    color: var(--text-color-secondary);
    min-width: 3rem;
    height: 3rem;
    margin: 0.143rem;
    padding: 0 0.5rem;
}
.p-paginator .p-paginator-pages .p-paginator-page {
    background-color: transparent;
    border: 0 none;
    color: var(--text-color-secondary);
    min-width: 3rem;
    height: 3rem;
    margin: 0.143rem;
    transition: box-shadow 0.2s;
    border-radius: 50%;
}
.p-paginator .p-paginator-pages .p-paginator-page.p-highlight {
    background: var(--primary-600);
    border-color: color-mix(in srgb, var(--primary-color) 8%, white);
    color: var(--primary-color-contrast);
}
.p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover {
    background: var(--surface-hover);
    border-color: transparent;
    color: var(--text-color-emphasis);
}

.p-picklist .p-picklist-buttons {
    padding: 1.25rem;
}
.p-picklist .p-picklist-buttons .p-button {
    margin-bottom: 0.5rem;
}
.p-picklist .p-picklist-header {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
    border: 1px solid var(--surface-border);
    padding: 1.25rem;
    border-bottom: 0 none;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-picklist .p-picklist-header .p-picklist-title {
    font-weight: 700;
}
.p-picklist .p-picklist-filter-container {
    padding: 1.25rem;
    background: var(--surface-card);
    border: 1px solid var(--surface-border);
    border-bottom: 0 none;
}
.p-picklist .p-picklist-filter-container .p-picklist-filter-input {
    padding-right: 1.75rem;
}
.p-picklist .p-picklist-filter-container .p-picklist-filter-icon {
    right: 0.75rem;
    color: var(--text-color-secondary);
}
.p-picklist .p-picklist-list {
    border: 1px solid var(--surface-border);
    background: var(--surface-card);
    color: var(--text-color);
    padding: 0.75rem 0;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
}
.p-picklist .p-picklist-list .p-picklist-item {
    padding: 0.75rem 1.25rem;
    margin: 0;
    border: 0 none;
    color: var(--text-color);
    background: transparent;
    transition: box-shadow 0.2s;
}
.p-picklist .p-picklist-list .p-picklist-item:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-picklist .p-picklist-list .p-picklist-item.p-highlight {
    color: var(--primary-color-contrast);
    background: var(--primary-600);
}
.p-picklist .p-picklist-list .p-picklist-empty-message {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
}
.p-picklist .p-picklist-list:not(.cdk-drop-list-dragging) .p-picklist-item:not(.p-highlight):hover {
    background: var(--surface-hover);
    color: var(--text-color);
}
.p-picklist.p-picklist-striped .p-picklist-list .p-picklist-item:nth-child(even) {
    background: var(--surface-table);
}
.p-picklist.p-picklist-striped .p-picklist-list .p-picklist-item:nth-child(even):hover {
    background: var(--surface-hover);
}

.p-picklist-item.cdk-drag-preview {
    padding: 0.75rem 1.25rem;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
    border: 0 none;
    color: var(--text-color);
    background: var(--surface-card);
    margin: 0;
}

.p-timeline .p-timeline-event-marker {
    border: 2px solid var(--primary-color);
    border-radius: 50%;
    width: 1rem;
    height: 1rem;
    background-color: var(--surface-card);
}
.p-timeline .p-timeline-event-connector {
    background-color: var(--surface-border);
}
.p-timeline.p-timeline-vertical .p-timeline-event-opposite,
.p-timeline.p-timeline-vertical .p-timeline-event-content {
    padding: 0 1rem;
}
.p-timeline.p-timeline-vertical .p-timeline-event-connector {
    width: 2px;
}
.p-timeline.p-timeline-horizontal .p-timeline-event-opposite,
.p-timeline.p-timeline-horizontal .p-timeline-event-content {
    padding: 1rem 0;
}
.p-timeline.p-timeline-horizontal .p-timeline-event-connector {
    height: 2px;
}

.p-tree {
    border: 1px solid var(--surface-border);
    background: var(--surface-card);
    color: var(--text-color);
    padding: 1.25rem;
    border-radius: 6px;
}
.p-tree .p-tree-container .p-treenode {
    padding: 0.143rem;
}
.p-tree .p-tree-container .p-treenode .p-treenode-content {
    border-radius: 6px;
    transition: box-shadow 0.2s;
    padding: 0.5rem;
}
.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler {
    margin-right: 0.5rem;
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon {
    margin-right: 0.5rem;
    color: var(--text-color-secondary);
}
.p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox {
    margin-right: 0.5rem;
}
.p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon {
    color: var(--text-color);
}
.p-tree .p-tree-container .p-treenode .p-treenode-content:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight {
    background: var(--primary-600);
    color: var(--primary-color-contrast);
}
.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler,
.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon {
    color: var(--primary-color-contrast);
}
.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover,
.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover {
    color: var(--primary-color-contrast);
}
.p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover {
    background: var(--surface-hover);
    color: var(--text-color);
}
.p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover {
    background: var(--surface-hover);
    color: var(--text-color);
}
.p-tree .p-tree-filter-container {
    margin-bottom: 0.5rem;
}
.p-tree .p-tree-filter-container .p-tree-filter {
    width: 100%;
    padding-right: 1.75rem;
}
.p-tree .p-tree-filter-container .p-tree-filter-icon {
    right: 0.75rem;
    color: var(--text-color-secondary);
}
.p-tree .p-treenode-children {
    padding: 0 0 0 1rem;
}
.p-tree .p-tree-loading-icon {
    font-size: 2rem;
}
.p-tree .p-tree-loading-icon.p-icon {
    width: 2rem;
    height: 2rem;
}
.p-tree .p-treenode-droppoint.p-treenode-droppoint-active {
    background-color: var(--color-info);
}
.p-tree.p-tree-horizontal .p-treenode .p-treenode-content {
    border-radius: 6px;
    border: 1px solid var(--surface-border);
    background-color: var(--surface-card);
    color: var(--text-color);
    padding: 0.5rem;
    transition: box-shadow 0.2s;
}
.p-tree.p-tree-horizontal .p-treenode .p-treenode-content.p-highlight {
    background-color: color-mix(in srgb, var(--primary-color) 8%, white);
    color: var(--primary-color-contrast);
}
.p-tree.p-tree-horizontal .p-treenode .p-treenode-content.p-highlight .p-treenode-icon {
    color: var(--primary-color-contrast);
}
.p-tree.p-tree-horizontal .p-treenode .p-treenode-content .p-tree-toggler {
    margin-right: 0.5rem;
}
.p-tree.p-tree-horizontal .p-treenode .p-treenode-content .p-treenode-icon {
    color: var(--text-color-secondary);
    margin-right: 0.5rem;
}
.p-tree.p-tree-horizontal .p-treenode .p-treenode-content .p-checkbox {
    margin-right: 0.5rem;
}
.p-tree.p-tree-horizontal .p-treenode .p-treenode-content .p-treenode-label:not(.p-highlight):hover {
    background-color: inherit;
    color: inherit;
}
.p-tree.p-tree-horizontal .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover {
    background: var(--surface-hover);
    color: var(--text-color);
}
.p-tree.p-tree-horizontal .p-treenode .p-treenode-content:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}

.p-treetable .p-paginator-top {
    border-width: 0 0 1px 0;
    border-radius: 0;
}
.p-treetable .p-paginator-bottom {
    border-width: 0 0 1px 0;
    border-radius: 0;
}
.p-treetable .p-treetable-header {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
    border: 1px solid var(--surface-border);
    border-width: 1px 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
}
.p-treetable .p-treetable-footer {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
    border: 1px solid var(--surface-border);
    border-width: 0 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
}
.p-treetable .p-treetable-thead > tr > th {
    text-align: left;
    padding: 1rem 1rem;
    border: 1px solid var(--surface-border);
    border-width: 0 0 1px 0;
    font-weight: 700;
    color: var(--text-color-emphasis);
    background: var(--surface-hover);
    transition: box-shadow 0.2s;
}
.p-treetable .p-treetable-tfoot > tr > td {
    text-align: left;
    padding: 1rem 1rem;
    border: 1px solid var(--surface-border);
    border-width: 0 0 1px 0;
    font-weight: 700;
    color: var(--text-color-emphasis);
    background: var(--surface-hover);
}
.p-treetable .p-sortable-column {
    outline-color: color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-treetable .p-sortable-column .p-sortable-column-icon {
    color: var(--text-color-emphasis);
    margin-left: 0.5rem;
}
.p-treetable .p-sortable-column .p-sortable-column-badge {
    border-radius: 50%;
    height: 1.143rem;
    min-width: 1.143rem;
    line-height: 1.143rem;
    color: var(--primary-color-contrast);
    background: var(--primary-600);
    margin-left: 0.5rem;
}
.p-treetable .p-sortable-column:not(.p-highlight):hover {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
}
.p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon {
    color: var(--text-color-emphasis);
}
.p-treetable .p-sortable-column.p-highlight {
    background: var(--primary-600);
    color: var(--primary-color-contrast);
}
.p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon {
    color: var(--primary-color-contrast);
}
.p-treetable .p-treetable-tbody > tr {
    background: var(--surface-card);
    color: var(--text-color);
    transition: box-shadow 0.2s;
}
.p-treetable .p-treetable-tbody > tr > td {
    text-align: left;
    border: 1px solid var(--surface-border);
    border-width: 0 0 1px 0;
    padding: 1rem 1rem;
}
.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler {
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    margin-right: 0.5rem;
}
.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler.p-icon {
    width: 2rem;
    height: 2rem;
}
.p-treetable .p-treetable-tbody > tr > td p-treetablecheckbox .p-checkbox {
    margin-right: 0.5rem;
}
.p-treetable .p-treetable-tbody > tr > td p-treetablecheckbox .p-checkbox .p-indeterminate .p-checkbox-icon {
    color: var(--text-color);
}
.p-treetable .p-treetable-tbody > tr:focus {
    outline: 0.15rem solid color-mix(in srgb, var(--primary-color) 40%, white);
    outline-offset: -0.15rem;
}
.p-treetable .p-treetable-tbody > tr.p-highlight {
    background: var(--primary-600);
    color: var(--primary-color-contrast);
}
.p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler {
    color: var(--primary-color-contrast);
}
.p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover {
    color: var(--primary-color-contrast);
}
.p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover {
    background: var(--surface-hover);
    color: var(--text-color);
}
.p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler {
    color: var(--text-color);
}
.p-treetable .p-column-resizer-helper {
    background: var(--primary-color);
}
.p-treetable .p-treetable-scrollable-header,
.p-treetable .p-treetable-scrollable-footer {
    background: var(--surface-hover);
}
.p-treetable .p-treetable-loading-icon {
    font-size: 2rem;
}
.p-treetable .p-treetable-loading-icon.p-icon {
    width: 2rem;
    height: 2rem;
}
.p-treetable.p-treetable-gridlines .p-datatable-header {
    border-width: 1px 1px 0 1px;
}
.p-treetable.p-treetable-gridlines .p-treetable-footer {
    border-width: 0 1px 1px 1px;
}
.p-treetable.p-treetable-gridlines .p-treetable-top {
    border-width: 0 1px 0 1px;
}
.p-treetable.p-treetable-gridlines .p-treetable-bottom {
    border-width: 0 1px 1px 1px;
}
.p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th {
    border-width: 1px;
}
.p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td {
    border-width: 1px;
}
.p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td {
    border-width: 1px;
}
.p-treetable.p-treetable-sm .p-treetable-header {
    padding: 0.875rem 0.875rem;
}
.p-treetable.p-treetable-sm .p-treetable-thead > tr > th {
    padding: 0.5rem 0.5rem;
}
.p-treetable.p-treetable-sm .p-treetable-tbody > tr > td {
    padding: 0.5rem 0.5rem;
}
.p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td {
    padding: 0.5rem 0.5rem;
}
.p-treetable.p-treetable-sm .p-treetable-footer {
    padding: 0.5rem 0.5rem;
}
.p-treetable.p-treetable-lg .p-treetable-header {
    padding: 1.25rem 1.25rem;
}
.p-treetable.p-treetable-lg .p-treetable-thead > tr > th {
    padding: 1.25rem 1.25rem;
}
.p-treetable.p-treetable-lg .p-treetable-tbody > tr > td {
    padding: 1.25rem 1.25rem;
}
.p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td {
    padding: 1.25rem 1.25rem;
}
.p-treetable.p-treetable-lg .p-treetable-footer {
    padding: 1.25rem 1.25rem;
}

.p-virtualscroller .p-virtualscroller-header {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
    border: 1px solid var(--surface-border);
    border-width: 1px 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
}
.p-virtualscroller .p-virtualscroller-content {
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    padding: 0;
}
.p-virtualscroller .p-virtualscroller-footer {
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
    border: 1px solid var(--surface-border);
    border-width: 0 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

.p-accordion .p-accordion-header .p-accordion-header-link {
    padding: 1.25rem;
    border: 1px solid var(--surface-border);
    color: var(--text-color-secondary);
    background: var(--surface-hover);
    font-weight: 700;
    border-radius: 6px;
    transition: box-shadow 0.2s;
}
.p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon {
    margin-right: 0.5rem;
}
.p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link {
    background: var(--surface-hover);
    border-color: var(--surface-border);
    color: var(--text-color-emphasis);
}
.p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link {
    background: var(--surface-hover);
    border-color: var(--surface-border);
    color: var(--text-color-emphasis);
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link {
    border-color: var(--surface-border);
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
}
.p-accordion .p-accordion-content {
    padding: 1.25rem;
    border: 1px solid var(--surface-border);
    background: var(--surface-card);
    color: var(--text-color);
    border-top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
}
.p-accordion p-accordiontab .p-accordion-tab {
    margin-bottom: 4px;
}

.p-card {
    background: var(--surface-card);
    color: var(--text-color);
    box-shadow: 0 2px 1px -1px color-mix(in srgb, var(--shadow-color) 20%, transparent), 0 1px 1px 0 color-mix(in srgb, var(--shadow-color) 14%, transparent), 0 1px 3px 0 color-mix(in srgb, var(--shadow-color) 12%, transparent);
    border-radius: 6px;
}
.p-card .p-card-body {
    padding: 1.25rem;
}
.p-card .p-card-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}
.p-card .p-card-subtitle {
    font-weight: 400;
    margin-bottom: 0.5rem;
    color: var(--text-color-secondary);
}
.p-card .p-card-content {
    padding: 1.25rem 0;
}
.p-card .p-card-footer {
    padding: 1.25rem 0 0 0;
}

.p-divider .p-divider-content {
    background-color: var(--surface-card);
}
.p-divider.p-divider-horizontal {
    margin: 1.25rem 0;
    padding: 0 1.25rem;
}
.p-divider.p-divider-horizontal:before {
    border-top: 1px var(--surface-border);
}
.p-divider.p-divider-horizontal .p-divider-content {
    padding: 0 0.5rem;
}
.p-divider.p-divider-vertical {
    margin: 0 1.25rem;
    padding: 1.25rem 0;
}
.p-divider.p-divider-vertical:before {
    border-left: 1px var(--surface-border);
}
.p-divider.p-divider-vertical .p-divider-content {
    padding: 0.5rem 0;
}

.p-fieldset {
    border: 1px solid var(--surface-border);
    background: var(--surface-card);
    color: var(--text-color);
    border-radius: 6px;
}
.p-fieldset .p-fieldset-legend {
    padding: 1.25rem;
    border: 1px solid var(--surface-border);
    color: var(--text-color-emphasis);
    background: var(--surface-hover);
    font-weight: 700;
    border-radius: 6px;
}
.p-fieldset.p-fieldset-toggleable .p-fieldset-legend {
    padding: 0;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a {
    padding: 1.25rem;
    color: var(--text-color-emphasis);
    border-radius: 6px;
    transition: box-shadow 0.2s;
}
.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler {
    margin-right: 0.5rem;
}
.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover {
    background: var(--surface-hover);
    border-color: var(--surface-border);
    color: var(--text-color-emphasis);
}
.p-fieldset .p-fieldset-content {
    padding: 1.25rem;
}

.p-panel .p-panel-header {
    border: 1px solid var(--surface-border);
    padding: 1.25rem;
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-panel .p-panel-header .p-panel-title {
    font-weight: 700;
}
.p-panel .p-panel-header .p-panel-header-icon {
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-panel .p-panel-header .p-panel-header-icon:enabled:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-panel .p-panel-header .p-panel-header-icon:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-panel.p-panel-toggleable .p-panel-header {
    padding: 0.75rem 1.25rem;
}
.p-panel .p-panel-content {
    padding: 1.25rem;
    border: 1px solid var(--surface-border);
    background: var(--surface-card);
    color: var(--text-color);
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
    border-top: 0 none;
}
.p-panel .p-panel-footer {
    padding: 0.75rem 1.25rem;
    border: 1px solid var(--surface-border);
    background: var(--surface-card);
    color: var(--text-color);
    border-top: 0 none;
}
.p-panel .p-panel-icons-end {
    order: 2;
    margin-left: auto;
}
.p-panel .p-panel-icons-start {
    order: 0;
    margin-right: 0.5rem;
}
.p-panel .p-panel-icons-center {
    order: 2;
    width: 100%;
    text-align: center;
}

.p-scrollpanel .p-scrollpanel-bar {
    background: var(--surface-hover);
    border: 0 none;
}

.p-splitter {
    border: 1px solid var(--surface-border);
    background: var(--surface-card);
    border-radius: 6px;
    color: var(--text-color);
}
.p-splitter .p-splitter-gutter {
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    background: var(--surface-hover);
}
.p-splitter .p-splitter-gutter .p-splitter-gutter-handle {
    background: var(--surface-border);
}
.p-splitter .p-splitter-gutter-resizing {
    background: var(--surface-border);
}

.p-tabview .p-tabview-nav {
    background: var(--surface-card);
    border: 1px solid var(--surface-table);
    border-width: 0 0 2px 0;
}
.p-tabview .p-tabview-nav li {
    margin-right: 0;
}
.p-tabview .p-tabview-nav li .p-tabview-nav-link {
    border: solid var(--surface-border);
    border-width: 0 0 2px 0;
    border-color: transparent transparent var(--surface-table) transparent;
    background: var(--surface-card);
    color: var(--text-color-secondary);
    padding: 1.25rem;
    font-weight: 700;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
    transition: box-shadow 0.2s;
    margin: 0 0 -2px 0;
}
.p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset var(--focus-ring);
}
.p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link {
    background: var(--surface-card);
    border-color: var(--input-border);
    color: var(--text-color-secondary);
}
.p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link {
    background: var(--surface-card);
    border-color: var(--primary-color);
    color: var(--primary-color);
}
.p-tabview .p-tabview-left-icon {
    margin-right: 0.5rem;
}
.p-tabview .p-tabview-right-icon {
    margin-left: 0.5rem;
}
.p-tabview .p-tabview-close {
    margin-left: 0.5rem;
}
.p-tabview .p-tabview-nav-btn.p-link {
    background: var(--surface-card);
    color: var(--primary-color);
    width: 3rem;
    box-shadow: 0 3px 1px -2px color-mix(in srgb, var(--shadow-color) 20%, transparent), 0 2px 2px 0 color-mix(in srgb, var(--shadow-color) 14%, transparent), 0 1px 5px 0 color-mix(in srgb, var(--shadow-color) 12%, transparent);
    border-radius: 0;
}
.p-tabview .p-tabview-nav-btn.p-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset var(--focus-ring);
}
.p-tabview .p-tabview-panels {
    background: var(--surface-card);
    padding: 1.25rem;
    border: 0 none;
    color: var(--text-color);
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
}

.p-toolbar {
    background: var(--surface-hover);
    border: 1px solid var(--surface-border);
    padding: 1.25rem;
    border-radius: 6px;
    gap: 0.5rem;
}
.p-toolbar .p-toolbar-separator {
    margin: 0 0.5rem;
}

.p-confirm-popup {
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 1px 3px color-mix(in srgb, var(--shadow-color) 30%, transparent);
}
.p-confirm-popup .p-confirm-popup-content {
    padding: 1.25rem;
}
.p-confirm-popup .p-confirm-popup-footer {
    text-align: right;
    padding: 0.75rem 1.25rem;
}
.p-confirm-popup .p-confirm-popup-footer button {
    margin: 0 0.5rem 0 0;
    width: auto;
}
.p-confirm-popup .p-confirm-popup-footer button:last-child {
    margin: 0;
}
.p-confirm-popup:after {
    border: solid transparent;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: var(--surface-card);
}
.p-confirm-popup:before {
    border: solid transparent;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: var(--surface-card);
}
.p-confirm-popup.p-confirm-popup-flipped:after {
    border-top-color: var(--surface-card);
}
.p-confirm-popup.p-confirm-popup-flipped:before {
    border-top-color: var(--surface-card);
}
.p-confirm-popup .p-confirm-popup-icon {
    font-size: 1.5rem;
}
.p-confirm-popup .p-confirm-popup-icon.p-icon {
    width: 1.5rem;
    height: 1.5rem;
}
.p-confirm-popup .p-confirm-popup-message {
    margin-left: 1rem;
}

.p-dialog {
    border-radius: 6px;
    box-shadow: 0 1px 3px color-mix(in srgb, var(--shadow-color) 30%, transparent);
    border: 0 none;
}
.p-dialog .p-dialog-header {
    border-bottom: 0 none;
    background: var(--surface-card);
    color: var(--text-color-emphasis);
    padding: 1.5rem;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-dialog .p-dialog-header .p-dialog-title {
    font-weight: 700;
    font-size: 1.25rem;
}
.p-dialog .p-dialog-header .p-dialog-header-icon {
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    margin-right: 0.5rem;
}
.p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-dialog .p-dialog-header .p-dialog-header-icon:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-dialog .p-dialog-header .p-dialog-header-icon:last-child {
    margin-right: 0;
}
.p-dialog .p-dialog-content {
    background: var(--surface-card);
    color: var(--text-color);
    padding: 0 1.5rem 2rem 1.5rem;
}
.p-dialog .p-dialog-content:last-of-type {
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
}
.p-dialog .p-dialog-footer {
    border-top: 0 none;
    background: var(--surface-card);
    color: var(--text-color);
    padding: 0 1.5rem 1.5rem 1.5rem;
    text-align: right;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
}
.p-dialog .p-dialog-footer button {
    margin: 0 0.5rem 0 0;
    width: auto;
}
.p-dialog.p-confirm-dialog .p-confirm-dialog-icon {
    font-size: 2rem;
}
.p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon {
    width: 2rem;
    height: 2rem;
}
.p-dialog.p-confirm-dialog .p-confirm-dialog-message {
    margin-left: 1rem;
}

.p-overlaypanel {
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 1px 3px color-mix(in srgb, var(--shadow-color) 30%, transparent);
}
.p-overlaypanel .p-overlaypanel-content {
    padding: 1.25rem;
}
.p-overlaypanel .p-overlaypanel-close {
    background: var(--primary-color);
    color: var(--primary-color-contrast);
    width: 2rem;
    height: 2rem;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 50%;
    position: absolute;
    top: -1rem;
    right: -1rem;
}
.p-overlaypanel .p-overlaypanel-close:enabled:hover {
    background: var(--primary-400);
    color: var(--primary-color-contrast);
}
.p-overlaypanel:after {
    border: solid transparent;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: var(--surface-card);
}
.p-overlaypanel:before {
    border: solid transparent;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: var(--surface-border);
}
.p-overlaypanel.p-overlaypanel-flipped:after {
    border-top-color: var(--surface-card);
}
.p-overlaypanel.p-overlaypanel-flipped:before {
    border-top-color: var(--surface-card);
}

.p-sidebar {
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    box-shadow: 0 1px 3px color-mix(in srgb, var(--shadow-color) 30%, transparent);
}
.p-sidebar .p-sidebar-header {
    padding: 1.25rem;
}
.p-sidebar .p-sidebar-header .p-sidebar-close,
.p-sidebar .p-sidebar-header .p-sidebar-icon {
    width: 2rem;
    height: 2rem;
    color: var(--text-color-secondary);
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover,
.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover {
    color: var(--text-color-emphasis);
    border-color: transparent;
    background: var(--surface-hover);
}
.p-sidebar .p-sidebar-header .p-sidebar-close:focus,
.p-sidebar .p-sidebar-header .p-sidebar-icon:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-sidebar .p-sidebar-header + .p-sidebar-content {
    padding-top: 0;
}
.p-sidebar .p-sidebar-content {
    padding: 1.25rem;
}
.p-sidebar .p-sidebar-footer {
    padding: 1.25rem;
}

.p-tooltip .p-tooltip-text {
    background: var(--text-color);
    color: var(--primary-color-contrast);
    padding: 0.75rem 0.75rem;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
    border-radius: 6px;
}
.p-tooltip.p-tooltip-right .p-tooltip-arrow {
    border-right-color: var(--text-color);
}
.p-tooltip.p-tooltip-left .p-tooltip-arrow {
    border-left-color: var(--text-color);
}
.p-tooltip.p-tooltip-top .p-tooltip-arrow {
    border-top-color: var(--text-color);
}
.p-tooltip.p-tooltip-bottom .p-tooltip-arrow {
    border-bottom-color: var(--text-color);
}

.p-fileupload .p-fileupload-buttonbar {
    background: var(--surface-hover);
    padding: 1.25rem;
    border: 1px solid var(--surface-border);
    color: var(--text-color-emphasis);
    border-bottom: 0 none;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-fileupload .p-fileupload-buttonbar .p-button {
    margin-right: 0.5rem;
}
.p-fileupload .p-fileupload-buttonbar .p-button.p-fileupload-choose.p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-fileupload .p-fileupload-content {
    background: var(--surface-card);
    padding: 2rem 1rem;
    border: 1px solid var(--surface-border);
    color: var(--text-color);
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
}
.p-fileupload .p-progressbar {
    height: 0.25rem;
}
.p-fileupload .p-fileupload-row > div {
    padding: 1rem 1rem;
}
.p-fileupload.p-fileupload-advanced .p-message {
    margin-top: 0;
}

.p-fileupload-choose:not(.p-disabled):hover {
    background: var(--primary-color);
    color: var(--primary-color-contrast);
    border-color: var(--primary-color);
}
.p-fileupload-choose:not(.p-disabled):active {
    background: var(--primary-color-contrast);
    color: var(--primary-color-contrast);
    border-color: var(--primary-color-contrast);
}

.p-breadcrumb {
    background: var(--surface-card);
    border: 1px solid var(--surface-border);
    border-radius: 6px;
    padding: 1rem;
}
.p-breadcrumb ul li .p-menuitem-link {
    transition: box-shadow 0.2s;
    border-radius: 6px;
}
.p-breadcrumb ul li .p-menuitem-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-breadcrumb ul li .p-menuitem-link .p-menuitem-text {
    color: var(--text-color);
}
.p-breadcrumb ul li .p-menuitem-link .p-menuitem-icon {
    color: var(--text-color-secondary);
}
.p-breadcrumb ul li.p-breadcrumb-chevron {
    margin: 0 0.5rem 0 0.5rem;
    color: var(--text-color);
}
.p-breadcrumb ul li:last-child .p-menuitem-text {
    color: var(--text-color);
}
.p-breadcrumb ul li:last-child .p-menuitem-icon {
    color: var(--text-color-secondary);
}

.p-contextmenu {
    padding: 0.25rem 0;
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
    border-radius: 6px;
    width: 12.5rem;
}
.p-contextmenu .p-menuitem-link {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    border-radius: 0;
    transition: box-shadow 0.2s;
    user-select: none;
}
.p-contextmenu .p-menuitem-link .p-menuitem-text {
    color: var(--text-color);
}
.p-contextmenu .p-menuitem-link .p-menuitem-icon {
    color: var(--text-color-secondary);
    margin-right: 0.5rem;
}
.p-contextmenu .p-menuitem-link .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-contextmenu .p-menuitem-link:not(.p-disabled):hover {
    background: var(--surface-hover);
}
.p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {
    color: var(--text-color);
}
.p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {
    color: var(--text-color-secondary);
}
.p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-contextmenu .p-menuitem-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-contextmenu .p-submenu-list {
    padding: 0.25rem 0;
    background: var(--surface-card);
    border: 0 none;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
    border-radius: 6px;
}
.p-contextmenu .p-menuitem {
    margin: 0;
}
.p-contextmenu .p-menuitem:last-child {
    margin: 0;
}
.p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link {
    background: var(--primary-600);
}
.p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text {
    color: var(--primary-color-contrast);
}
.p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon,
.p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon {
    color: var(--primary-color-contrast);
}
.p-contextmenu .p-menu-separator {
    border-top: 1px solid var(--surface-border);
    margin: 0.25rem 0;
}
.p-contextmenu .p-submenu-icon {
    font-size: 0.875rem;
}
.p-contextmenu .p-icon {
    width: 0.875rem;
    height: 0.875rem;
}
.p-contextmenu .p-menuitem-badge {
    background: var(--primary-color);
    color: var(--primary-color-contrast);
    font-size: 0.75rem;
    font-weight: 700;
    min-width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    border-radius: 6px;
    margin-left: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.p-dock .p-dock-list {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 0.5rem 0.5rem;
    border-radius: 0.5rem;
}
.p-dock .p-dock-item {
    padding: 0.5rem;
}
.p-dock .p-dock-action {
    width: 4rem;
    height: 4rem;
}
.p-dock.p-dock-top .p-dock-item-second-prev,
.p-dock.p-dock-top .p-dock-item-second-next,
.p-dock.p-dock-bottom .p-dock-item-second-prev,
.p-dock.p-dock-bottom .p-dock-item-second-next {
    margin: 0 0.9rem;
}
.p-dock.p-dock-top .p-dock-item-prev,
.p-dock.p-dock-top .p-dock-item-next,
.p-dock.p-dock-bottom .p-dock-item-prev,
.p-dock.p-dock-bottom .p-dock-item-next {
    margin: 0 1.3rem;
}
.p-dock.p-dock-top .p-dock-item-current,
.p-dock.p-dock-bottom .p-dock-item-current {
    margin: 0 1.5rem;
}
.p-dock.p-dock-left .p-dock-item-second-prev,
.p-dock.p-dock-left .p-dock-item-second-next,
.p-dock.p-dock-right .p-dock-item-second-prev,
.p-dock.p-dock-right .p-dock-item-second-next {
    margin: 0.9rem 0;
}
.p-dock.p-dock-left .p-dock-item-prev,
.p-dock.p-dock-left .p-dock-item-next,
.p-dock.p-dock-right .p-dock-item-prev,
.p-dock.p-dock-right .p-dock-item-next {
    margin: 1.3rem 0;
}
.p-dock.p-dock-left .p-dock-item-current,
.p-dock.p-dock-right .p-dock-item-current {
    margin: 1.5rem 0;
}

@media screen and (max-width: 960px) {
    .p-dock.p-dock-top .p-dock-list-container,
    .p-dock.p-dock-bottom .p-dock-list-container {
        overflow-x: auto;
        width: 100%;
    }
    .p-dock.p-dock-top .p-dock-list-container .p-dock-list,
    .p-dock.p-dock-bottom .p-dock-list-container .p-dock-list {
        margin: 0 auto;
    }
    .p-dock.p-dock-left .p-dock-list-container,
    .p-dock.p-dock-right .p-dock-list-container {
        overflow-y: auto;
        height: 100%;
    }
    .p-dock.p-dock-left .p-dock-list-container .p-dock-list,
    .p-dock.p-dock-right .p-dock-list-container .p-dock-list {
        margin: auto 0;
    }
    .p-dock .p-dock-list .p-dock-item {
        transform: none;
        margin: 0;
    }
}
.p-megamenu {
    padding: 0.5rem;
    background: var(--surface-hover);
    color: var(--text-color);
    border: 1px solid var(--surface-border);
    border-radius: 6px;
}
.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    border-radius: 6px;
    transition: box-shadow 0.2s;
    user-select: none;
}
.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text {
    color: var(--text-color);
}
.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon {
    color: var(--text-color-secondary);
    margin-right: 0.5rem;
}
.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon {
    color: var(--text-color-secondary);
    margin-left: 0.5rem;
}
.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover {
    background: var(--surface-hover);
}
.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {
    color: var(--text-color);
}
.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {
    color: var(--text-color-secondary);
}
.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link,
.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover {
    background: var(--primary-600);
}
.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text,
.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {
    color: var(--primary-color-contrast);
}
.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon,
.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {
    color: var(--primary-color-contrast);
}
.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon,
.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {
    color: var(--primary-color-contrast);
}
.p-megamenu .p-menuitem-link {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    border-radius: 0;
    transition: box-shadow 0.2s;
    user-select: none;
}
.p-megamenu .p-menuitem-link .p-menuitem-text {
    color: var(--text-color);
}
.p-megamenu .p-menuitem-link .p-menuitem-icon {
    color: var(--text-color-secondary);
    margin-right: 0.5rem;
}
.p-megamenu .p-menuitem-link .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-megamenu .p-menuitem-link:not(.p-disabled):hover {
    background: var(--surface-hover);
}
.p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {
    color: var(--text-color);
}
.p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {
    color: var(--text-color-secondary);
}
.p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-megamenu .p-menuitem-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-megamenu .p-megamenu-panel {
    background: var(--surface-card);
    color: var(--text-color);
    border: 0 none;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}
.p-megamenu .p-megamenu-submenu-header {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: var(--text-color-emphasis);
    background: var(--surface-card);
    font-weight: 700;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
}
.p-megamenu .p-megamenu-submenu {
    padding: 0.25rem 0;
    width: 12.5rem;
}
.p-megamenu .p-megamenu-submenu .p-menu-separator {
    border-top: 1px solid var(--surface-border);
    margin: 0.25rem 0;
}
.p-megamenu .p-megamenu-submenu .p-menuitem {
    margin: 0;
}
.p-megamenu .p-megamenu-submenu .p-menuitem:last-child {
    margin: 0;
}
.p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link {
    background: var(--primary-600);
}
.p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text {
    color: var(--primary-color-contrast);
}
.p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon,
.p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon {
    color: var(--primary-color-contrast);
}
.p-megamenu.p-megamenu-vertical {
    width: 12.5rem;
    padding: 0.25rem 0;
}
.p-megamenu.p-megamenu-vertical .p-menuitem {
    margin: 0;
}
.p-megamenu.p-megamenu-vertical .p-menuitem:last-child {
    margin: 0;
}
.p-megamenu .p-menuitem-badge {
    background: var(--primary-color);
    color: var(--primary-color-contrast);
    font-size: 0.75rem;
    font-weight: 700;
    min-width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    border-radius: 6px;
    margin-left: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.p-menu {
    padding: 0.25rem 0;
    background: var(--surface-card);
    color: var(--text-color);
    border: 1px solid var(--surface-border);
    border-radius: 6px;
    width: 12.5rem;
}
.p-menu .p-menuitem-link {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    border-radius: 0;
    transition: box-shadow 0.2s;
    user-select: none;
}
.p-menu .p-menuitem-link .p-menuitem-text {
    color: var(--text-color);
}
.p-menu .p-menuitem-link .p-menuitem-icon {
    color: var(--text-color-secondary);
    margin-right: 0.5rem;
}
.p-menu .p-menuitem-link .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-menu .p-menuitem-link:not(.p-disabled):hover {
    background: var(--surface-hover);
}
.p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {
    color: var(--text-color);
}
.p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {
    color: var(--text-color-secondary);
}
.p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-menu .p-menuitem-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-menu.p-menu-overlay {
    background: var(--surface-card);
    border: 0 none;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}
.p-menu .p-submenu-header {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: var(--text-color-emphasis);
    background: var(--surface-card);
    font-weight: 700;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}
.p-menu .p-menu-separator {
    border-top: 1px solid var(--surface-border);
    margin: 0.25rem 0;
}
.p-menu .p-menuitem {
    margin: 0;
}
.p-menu .p-menuitem:last-child {
    margin: 0;
}
.p-menu .p-menuitem-badge {
    background: var(--primary-color);
    color: var(--primary-color-contrast);
    font-size: 0.75rem;
    font-weight: 700;
    min-width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    border-radius: 6px;
    margin-left: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.p-menubar {
    padding: 0.5rem;
    background: var(--surface-hover);
    color: var(--text-color);
    border: 1px solid var(--surface-border);
    border-radius: 6px;
}
.p-menubar .p-menuitem-link {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    border-radius: 0;
    transition: box-shadow 0.2s;
    user-select: none;
}
.p-menubar .p-menuitem-link .p-menuitem-text {
    color: var(--text-color);
}
.p-menubar .p-menuitem-link .p-menuitem-icon {
    color: var(--text-color-secondary);
    margin-right: 0.5rem;
}
.p-menubar .p-menuitem-link .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-menubar .p-menuitem-link:not(.p-disabled):hover {
    background: var(--surface-hover);
}
.p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {
    color: var(--text-color);
}
.p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {
    color: var(--text-color-secondary);
}
.p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-menubar .p-menuitem-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    border-radius: 6px;
    transition: box-shadow 0.2s;
    user-select: none;
}
.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text {
    color: var(--text-color);
}
.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon {
    color: var(--text-color-secondary);
    margin-right: 0.5rem;
}
.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon {
    color: var(--text-color-secondary);
    margin-left: 0.5rem;
}
.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover {
    background: var(--surface-hover);
}
.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {
    color: var(--text-color);
}
.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {
    color: var(--text-color-secondary);
}
.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link,
.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover {
    background: var(--primary-600);
}
.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text,
.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {
    color: var(--primary-color-contrast);
}
.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon,
.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {
    color: var(--primary-color-contrast);
}
.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon,
.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {
    color: var(--primary-color-contrast);
}
.p-menubar .p-submenu-list {
    padding: 0.25rem 0;
    background: var(--surface-card);
    border: 0 none;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
    width: 12.5rem;
}
.p-menubar .p-submenu-list .p-menu-separator {
    border-top: 1px solid var(--surface-border);
    margin: 0.25rem 0;
}
.p-menubar .p-submenu-list .p-submenu-icon {
    font-size: 0.875rem;
}
.p-menubar .p-submenu-list .p-icon {
    width: 0.875rem;
    height: 0.875rem;
}
.p-menubar .p-submenu-list .p-menuitem {
    margin: 0;
}
.p-menubar .p-submenu-list .p-menuitem:last-child {
    margin: 0;
}
.p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link {
    background: var(--primary-600);
}
.p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text {
    color: var(--primary-color-contrast);
}
.p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon,
.p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon {
    color: var(--primary-color-contrast);
}
.p-menubar .p-menuitem-badge {
    background: var(--primary-color);
    color: var(--primary-color-contrast);
    font-size: 0.75rem;
    font-weight: 700;
    min-width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    border-radius: 6px;
    margin-left: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

@media screen and (max-width: 960px) {
    .p-menubar {
        position: relative;
    }
    .p-menubar .p-menubar-button {
        display: flex;
        width: 2rem;
        height: 2rem;
        color: var(--text-color-secondary);
        border-radius: 50%;
        transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    }
    .p-menubar .p-menubar-button:hover {
        color: var(--text-color-secondary);
        background: var(--surface-hover);
    }
    .p-menubar .p-menubar-button:focus {
        outline: 0 none;
        outline-offset: 0;
        box-shadow: var(--focus-ring);
    }
    .p-menubar .p-menubar-root-list {
        position: absolute;
        display: none;
        padding: 0.25rem 0;
        background: var(--surface-card);
        border: 0 none;
        box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
        width: 100%;
    }
    .p-menubar .p-menubar-root-list .p-menu-separator {
        border-top: 1px solid var(--surface-border);
        margin: 0.25rem 0;
    }
    .p-menubar .p-menubar-root-list .p-submenu-icon {
        font-size: 0.875rem;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem {
        width: 100%;
        position: static;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link {
        padding: 0.75rem 1.25rem;
        color: var(--text-color);
        border-radius: 0;
        transition: box-shadow 0.2s;
        user-select: none;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text {
        color: var(--text-color);
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon {
        color: var(--text-color-secondary);
        margin-right: 0.5rem;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon {
        color: var(--text-color-secondary);
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover {
        background: var(--surface-hover);
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {
        color: var(--text-color);
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {
        color: var(--text-color-secondary);
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {
        color: var(--text-color-secondary);
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus {
        outline: 0 none;
        outline-offset: 0;
        box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon {
        margin-left: auto;
        transition: transform 0.2s;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon {
        transform: rotate(-180deg);
    }
    .p-menubar .p-menubar-root-list .p-submenu-list {
        width: 100%;
        position: static;
        box-shadow: none;
        border: 0 none;
    }
    .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon {
        transition: transform 0.2s;
        transform: rotate(90deg);
    }
    .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {
        transform: rotate(-90deg);
    }
    .p-menubar .p-menubar-root-list .p-menuitem {
        width: 100%;
        position: static;
    }
    .p-menubar .p-menubar-root-list ul li a {
        padding-left: 2.25rem;
    }
    .p-menubar .p-menubar-root-list ul li ul li a {
        padding-left: 3.75rem;
    }
    .p-menubar .p-menubar-root-list ul li ul li ul li a {
        padding-left: 5.25rem;
    }
    .p-menubar .p-menubar-root-list ul li ul li ul li ul li a {
        padding-left: 6.75rem;
    }
    .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a {
        padding-left: 8.25rem;
    }
    .p-menubar.p-menubar-mobile-active .p-menubar-root-list {
        display: flex;
        flex-direction: column;
        top: 100%;
        left: 0;
        z-index: 1;
    }
}
.p-panelmenu .p-panelmenu-header > a {
    padding: 1.25rem;
    border: 1px solid var(--surface-border);
    color: var(--text-color-secondary);
    background: var(--surface-hover);
    font-weight: 700;
    border-radius: 6px;
    transition: box-shadow 0.2s;
}
.p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon {
    margin-right: 0.5rem;
}
.p-panelmenu .p-panelmenu-header > a .p-menuitem-icon {
    margin-right: 0.5rem;
}
.p-panelmenu .p-panelmenu-header > a:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover {
    background: var(--surface-hover);
    border-color: var(--surface-border);
    color: var(--text-color-emphasis);
}
.p-panelmenu .p-panelmenu-header.p-highlight {
    margin-bottom: 0;
}
.p-panelmenu .p-panelmenu-header.p-highlight > a {
    background: var(--surface-hover);
    border-color: var(--surface-border);
    color: var(--text-color-emphasis);
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover {
    border-color: var(--surface-border);
    background: var(--surface-hover);
    color: var(--text-color-emphasis);
}
.p-panelmenu .p-panelmenu-content {
    padding: 0.25rem 0;
    border: 1px solid var(--surface-border);
    background: var(--surface-card);
    color: var(--text-color);
    margin-bottom: 4px;
    border-top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
}
.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    border-radius: 0;
    transition: box-shadow 0.2s;
    user-select: none;
}
.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text {
    color: var(--text-color);
}
.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon {
    color: var(--text-color-secondary);
    margin-right: 0.5rem;
}
.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover {
    background: var(--surface-hover);
}
.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {
    color: var(--text-color);
}
.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {
    color: var(--text-color-secondary);
}
.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon {
    margin-right: 0.5rem;
}
.p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) {
    padding: 0 0 0 1rem;
}
.p-panelmenu .p-panelmenu-panel {
    margin-bottom: 4px;
}
.p-panelmenu .p-menuitem-badge {
    background: var(--primary-color);
    color: var(--primary-color-contrast);
    font-size: 0.75rem;
    font-weight: 700;
    min-width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    border-radius: 6px;
    margin-left: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.p-slidemenu {
    padding: 0.25rem 0;
    background: var(--surface-card);
    color: var(--text-color);
    border: 1px solid var(--surface-border);
    border-radius: 6px;
    width: 12.5rem;
}
.p-slidemenu .p-menuitem-link {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    border-radius: 0;
    transition: box-shadow 0.2s;
    user-select: none;
}
.p-slidemenu .p-menuitem-link .p-menuitem-text {
    color: var(--text-color);
}
.p-slidemenu .p-menuitem-link .p-menuitem-icon {
    color: var(--text-color-secondary);
    margin-right: 0.5rem;
}
.p-slidemenu .p-menuitem-link .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-slidemenu .p-menuitem-link:not(.p-disabled):hover {
    background: var(--surface-hover);
}
.p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {
    color: var(--text-color);
}
.p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {
    color: var(--text-color-secondary);
}
.p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-slidemenu .p-menuitem-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-slidemenu.p-slidemenu-overlay {
    background: var(--surface-card);
    border: 0 none;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}
.p-slidemenu .p-slidemenu-list {
    padding: 0.25rem 0;
    background: var(--surface-card);
    border: 0 none;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}
.p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link {
    background: var(--primary-600);
}
.p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text {
    color: var(--primary-color-contrast);
}
.p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon,
.p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon {
    color: var(--primary-color-contrast);
}
.p-slidemenu .p-slidemenu-separator {
    border-top: 1px solid var(--surface-border);
    margin: 0.25rem 0;
}
.p-slidemenu .p-slidemenu-icon {
    font-size: 0.875rem;
}
.p-slidemenu .p-icon {
    width: 0.875rem;
    height: 0.875rem;
}
.p-slidemenu .p-slidemenu-backward {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
}
.p-slidemenu .p-menuitem-badge {
    background: var(--primary-color);
    color: var(--primary-color-contrast);
    font-size: 0.75rem;
    font-weight: 700;
    min-width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    border-radius: 6px;
    margin-left: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.p-steps .p-steps-item .p-menuitem-link {
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 6px;
    background: var(--surface-card);
}
.p-steps .p-steps-item .p-menuitem-link .p-steps-number {
    color: var(--text-color);
    border: 1px solid var(--surface-hover);
    background: var(--surface-card);
    min-width: 2rem;
    height: 2rem;
    line-height: 2rem;
    font-size: 1.143rem;
    z-index: 1;
    border-radius: 50%;
}
.p-steps .p-steps-item .p-menuitem-link .p-steps-title {
    margin-top: 0.5rem;
    color: var(--text-color-secondary);
}
.p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-steps .p-steps-item.p-highlight .p-steps-number {
    background: var(--primary-600);
    color: var(--primary-color-contrast);
}
.p-steps .p-steps-item.p-highlight .p-steps-title {
    font-weight: 700;
    color: var(--text-color);
}
.p-steps .p-steps-item:before {
    content: ' ';
    border-top: 1px solid var(--surface-border);
    width: 100%;
    top: 50%;
    left: 0;
    display: block;
    position: absolute;
    margin-top: -1rem;
}

.p-tabmenu .p-tabmenu-nav {
    background: var(--surface-card);
    border: 1px solid var(--surface-border);
    border-width: 0 0 2px 0;
}
.p-tabmenu .p-tabmenu-nav .p-menuitem-badge {
    background: var(--primary-color);
    color: var(--primary-color-contrast);
    font-size: 0.75rem;
    font-weight: 700;
    min-width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    border-radius: 6px;
    margin-left: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.p-tabmenu .p-tabmenu-nav .p-tabmenuitem {
    margin-right: 0;
}
.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link {
    border: solid var(--surface-border);
    border-width: 0 0 2px 0;
    border-color: transparent transparent var(--surface-border) transparent;
    background: var(--surface-card);
    color: var(--text-color-secondary);
    padding: 1.25rem;
    font-weight: 700;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
    transition: box-shadow 0.2s;
    margin: 0 0 -2px 0;
}
.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon {
    margin-right: 0.5rem;
}
.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset var(--focus-ring);
}
.p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link {
    background: var(--surface-card);
    border-color: var(--input-border);
    color: var(--text-color-secondary);
}
.p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link {
    background: var(--surface-card);
    border-color: var(--primary-color);
    color: var(--primary-color);
}
.p-tabmenu .p-tabmenu-left-icon {
    margin-right: 0.5rem;
}
.p-tabmenu .p-tabmenu-right-icon {
    margin-left: 0.5rem;
}
.p-tabmenu .p-tabmenu-nav-btn.p-link {
    background: var(--surface-card);
    color: var(--primary-color);
    width: 3rem;
    box-shadow: 0 3px 1px -2px color-mix(in srgb, var(--shadow-color) 20%, transparent), 0 2px 2px 0 color-mix(in srgb, var(--shadow-color) 14%, transparent), 0 1px 5px 0 color-mix(in srgb, var(--shadow-color) 12%, transparent);
    border-radius: 0;
}
.p-tabmenu .p-tabmenu-nav-btn.p-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset var(--focus-ring);
}

.p-tieredmenu {
    padding: 0.25rem 0;
    background: var(--surface-card);
    color: var(--text-color);
    border: 1px solid var(--surface-border);
    border-radius: 6px;
    width: 12.5rem;
}
.p-tieredmenu .p-menuitem-link {
    padding: 0.75rem 1.25rem;
    color: var(--text-color);
    border-radius: 0;
    transition: box-shadow 0.2s;
    user-select: none;
}
.p-tieredmenu .p-menuitem-link .p-menuitem-text {
    color: var(--text-color);
}
.p-tieredmenu .p-menuitem-link .p-menuitem-icon {
    color: var(--text-color-secondary);
    margin-right: 0.5rem;
}
.p-tieredmenu .p-menuitem-link .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover {
    background: var(--surface-hover);
}
.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {
    color: var(--text-color);
}
.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {
    color: var(--text-color-secondary);
}
.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {
    color: var(--text-color-secondary);
}
.p-tieredmenu .p-menuitem-link:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem color-mix(in srgb, var(--primary-color) 40%, white);
}
.p-tieredmenu.p-tieredmenu-overlay {
    background: var(--surface-card);
    border: 0 none;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}
.p-tieredmenu .p-submenu-list {
    padding: 0.25rem 0;
    background: var(--surface-card);
    border: 0 none;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
}
.p-tieredmenu .p-menuitem {
    margin: 0;
}
.p-tieredmenu .p-menuitem:last-child {
    margin: 0;
}
.p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link {
    background: var(--primary-600);
}
.p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text {
    color: var(--primary-color-contrast);
}
.p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon,
.p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon {
    color: var(--primary-color-contrast);
}
.p-tieredmenu .p-menu-separator {
    border-top: 1px solid var(--surface-border);
    margin: 0.25rem 0;
}
.p-tieredmenu .p-submenu-icon {
    font-size: 0.875rem;
}
.p-tieredmenu .p-icon {
    width: 0.875rem;
    height: 0.875rem;
}
.p-tieredmenu .p-menuitem-badge {
    background: var(--primary-color);
    color: var(--primary-color-contrast);
    font-size: 0.75rem;
    font-weight: 700;
    min-width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    border-radius: 6px;
    margin-left: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.p-inline-message {
    padding: 0.75rem 0.75rem;
    margin: 0;
    border-radius: 6px;
}
.p-inline-message.p-inline-message-info {
    background: color-mix(in srgb, var(--color-info) 8%, white);
    border: solid var(--color-info);
    border-width: 0px;
    color: var(--color-info);
}
.p-inline-message.p-inline-message-info .p-inline-message-icon {
    color: var(--color-info);
}
.p-inline-message.p-inline-message-success {
    background: color-mix(in srgb, var(--color-success) 8%, white);
    border: solid var(--color-success);
    border-width: 0px;
    color: var(--color-success);
}
.p-inline-message.p-inline-message-success .p-inline-message-icon {
    color: var(--color-success);
}
.p-inline-message.p-inline-message-warn {
    background: color-mix(in srgb, var(--color-warning) 8%, white);
    border: solid var(--color-warning);
    border-width: 0px;
    color: var(--color-warning);
}
.p-inline-message.p-inline-message-warn .p-inline-message-icon {
    color: var(--color-warning);
}
.p-inline-message.p-inline-message-error {
    background: color-mix(in srgb, var(--color-danger) 8%, white);
    border: solid var(--color-danger);
    border-width: 0px;
    color: var(--color-danger);
}
.p-inline-message.p-inline-message-error .p-inline-message-icon {
    color: var(--color-danger);
}
.p-inline-message .p-inline-message-icon {
    font-size: 1rem;
    margin-right: 0.5rem;
}
.p-inline-message .p-icon {
    width: 1rem;
    height: 1rem;
}
.p-inline-message .p-inline-message-text {
    font-size: 1rem;
}
.p-inline-message.p-inline-message-icon-only .p-inline-message-icon {
    margin-right: 0;
}

.p-message {
    margin: 1rem 0;
    border-radius: 6px;
}
.p-message .p-message-wrapper {
    padding: 1.25rem 1.75rem;
}
.p-message .p-message-close {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: transparent;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-message .p-message-close:hover {
    background: color-mix(in srgb, var(--primary-color-contrast) 30%, transparent);
}
.p-message .p-message-close:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-message.p-message-info {
    background: color-mix(in srgb, var(--color-info) 8%, white);
    border: solid var(--color-info);
    border-width: 0 0 0 6px;
    color: var(--color-info);
}
.p-message.p-message-info .p-message-icon {
    color: var(--color-info);
}
.p-message.p-message-info .p-message-close {
    color: var(--color-info);
}
.p-message.p-message-success {
    background: color-mix(in srgb, var(--color-success) 8%, white);
    border: solid var(--color-success);
    border-width: 0 0 0 6px;
    color: var(--color-success);
}
.p-message.p-message-success .p-message-icon {
    color: var(--color-success);
}
.p-message.p-message-success .p-message-close {
    color: var(--color-success);
}
.p-message.p-message-warn {
    background: color-mix(in srgb, var(--color-warning) 8%, white);
    border: solid var(--color-warning);
    border-width: 0 0 0 6px;
    color: var(--color-warning);
}
.p-message.p-message-warn .p-message-icon {
    color: var(--color-warning);
}
.p-message.p-message-warn .p-message-close {
    color: var(--color-warning);
}
.p-message.p-message-error {
    background: color-mix(in srgb, var(--color-danger) 8%, white);
    border: solid var(--color-danger);
    border-width: 0 0 0 6px;
    color: var(--color-danger);
}
.p-message.p-message-error .p-message-icon {
    color: var(--color-danger);
}
.p-message.p-message-error .p-message-close {
    color: var(--color-danger);
}
.p-message .p-message-text {
    font-size: 1rem;
    font-weight: 400;
}
.p-message .p-message-icon {
    font-size: 1.5rem;
    margin-right: 0.5rem;
}
.p-message .p-icon {
    width: 1.5rem;
    height: 1.5rem;
}
.p-message .p-message-summary {
    font-weight: 700;
}
.p-message .p-message-detail {
    margin-left: 0.5rem;
}

.p-toast {
    opacity: 1;
}
.p-toast .p-toast-message {
    margin: 0 0 1rem 0;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
    border-radius: 6px;
}
.p-toast .p-toast-message .p-toast-message-content {
    padding: 1rem;
    border-width: 0 0 0 6px;
}
.p-toast .p-toast-message .p-toast-message-content .p-toast-message-text {
    margin: 0 0 0 1rem;
}
.p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon {
    font-size: 2rem;
}
.p-toast .p-toast-message .p-toast-message-content .p-icon:not(.p-toast-icon-close-icon) {
    width: 2rem;
    height: 2rem;
}
.p-toast .p-toast-message .p-toast-message-content .p-toast-summary {
    font-weight: 700;
}
.p-toast .p-toast-message .p-toast-message-content .p-toast-detail {
    margin: 0.5rem 0 0 0;
    word-break: break-word;
}
.p-toast .p-toast-message .p-toast-icon-close {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: transparent;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-toast .p-toast-message .p-toast-icon-close:hover {
    background: color-mix(in srgb, var(--primary-color-contrast) 30%, transparent);
}
.p-toast .p-toast-message .p-toast-icon-close:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}
.p-toast .p-toast-message.p-toast-message-info {
    background: color-mix(in srgb, var(--color-info) 8%, white);
    border: solid var(--color-info);
    border-width: 0 0 0 6px;
    color: var(--color-info);
}
.p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon,
.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close {
    color: var(--color-info);
}
.p-toast .p-toast-message.p-toast-message-success {
    background: color-mix(in srgb, var(--color-success) 8%, white);
    border: solid var(--color-success);
    border-width: 0 0 0 6px;
    color: var(--color-success);
}
.p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon,
.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close {
    color: var(--color-success);
}
.p-toast .p-toast-message.p-toast-message-warn {
    background: color-mix(in srgb, var(--color-warning) 8%, white);
    border: solid var(--color-warning);
    border-width: 0 0 0 6px;
    color: var(--color-warning);
}
.p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon,
.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close {
    color: var(--color-warning);
}
.p-toast .p-toast-message.p-toast-message-error {
    background: color-mix(in srgb, var(--color-danger) 8%, white);
    border: solid var(--color-danger);
    border-width: 0 0 0 6px;
    color: var(--color-danger);
}
.p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon,
.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close {
    color: var(--color-danger);
}

.p-galleria .p-galleria-close {
    margin: 0.5rem;
    background: transparent;
    color: var(--surface-hover);
    width: 4rem;
    height: 4rem;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 50%;
}
.p-galleria .p-galleria-close .p-galleria-close-icon {
    font-size: 2rem;
}
.p-galleria .p-galleria-close .p-icon-wrapper .p-icon {
    width: 2rem;
    height: 2rem;
}
.p-galleria .p-galleria-close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--surface-hover);
}
.p-galleria .p-galleria-item-nav {
    background: transparent;
    color: var(--surface-hover);
    width: 4rem;
    height: 4rem;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
    margin: 0 0.5rem;
}
.p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon,
.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon {
    font-size: 2rem;
}
.p-galleria .p-galleria-item-nav .p-icon-wrapper .p-icon {
    width: 2rem;
    height: 2rem;
}
.p-galleria .p-galleria-item-nav:not(.p-disabled):hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--surface-hover);
}
.p-galleria .p-galleria-caption {
    background: color-mix(in srgb, var(--shadow-color) 50%, transparent);
    color: var(--surface-hover);
    padding: 1rem;
}
.p-galleria .p-galleria-indicators {
    padding: 1rem;
}
.p-galleria .p-galleria-indicators .p-galleria-indicator button {
    background-color: var(--input-border);
    width: 1rem;
    height: 1rem;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 50%;
}
.p-galleria .p-galleria-indicators .p-galleria-indicator button:hover {
    background: var(--input-border);
}
.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button {
    background: var(--primary-600);
    color: var(--primary-color-contrast);
}
.p-galleria.p-galleria-indicators-bottom .p-galleria-indicator,
.p-galleria.p-galleria-indicators-top .p-galleria-indicator {
    margin-right: 0.5rem;
}
.p-galleria.p-galleria-indicators-left .p-galleria-indicator,
.p-galleria.p-galleria-indicators-right .p-galleria-indicator {
    margin-bottom: 0.5rem;
}
.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators {
    background: color-mix(in srgb, var(--shadow-color) 50%, transparent);
}
.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button {
    background: rgba(255, 255, 255, 0.4);
}
.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover {
    background: rgba(255, 255, 255, 0.6);
}
.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button {
    background: var(--primary-600);
    color: var(--primary-color-contrast);
}
.p-galleria .p-galleria-thumbnail-container {
    background: color-mix(in srgb, var(--shadow-color) 90%, transparent);
    padding: 1rem 0.25rem;
}
.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev,
.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next {
    margin: 0.5rem;
    background-color: transparent;
    color: var(--surface-hover);
    width: 2rem;
    height: 2rem;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 50%;
}
.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover,
.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--surface-hover);
}

.p-galleria-mask {
    --maskbg: rgba(0, 0, 0, 0.9);
}

.p-image-mask {
    --maskbg: rgba(0, 0, 0, 0.9);
}

.p-image-preview-indicator {
    background-color: transparent;
    color: var(--surface-hover);
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}

.p-image-preview-container:hover > .p-image-preview-indicator {
    background-color: color-mix(in srgb, var(--shadow-color) 50%, transparent);
}

.p-image-toolbar {
    padding: 1rem;
}

.p-image-action.p-link {
    color: var(--surface-hover);
    background-color: transparent;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    margin-right: 0.5rem;
}
.p-image-action.p-link:last-child {
    margin-right: 0;
}
.p-image-action.p-link:hover {
    color: var(--surface-hover);
    background-color: rgba(255, 255, 255, 0.1);
}
.p-image-action.p-link i {
    font-size: 1.5rem;
}
.p-image-action.p-link .p-icon {
    width: 1.5rem;
    height: 1.5rem;
}

.p-avatar {
    background-color: var(--surface-border);
    border-radius: 6px;
}
.p-avatar.p-avatar-lg {
    width: 3rem;
    height: 3rem;
    font-size: 1.5rem;
}
.p-avatar.p-avatar-lg .p-avatar-icon {
    font-size: 1.5rem;
}
.p-avatar.p-avatar-xl {
    width: 4rem;
    height: 4rem;
    font-size: 2rem;
}
.p-avatar.p-avatar-xl .p-avatar-icon {
    font-size: 2rem;
}

.p-avatar-group .p-avatar {
    border: 2px solid var(--surface-card);
}

.p-badge {
    background: var(--primary-color);
    color: var(--primary-color-contrast);
    font-size: 0.75rem;
    font-weight: 700;
    min-width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
}
.p-badge.p-badge-secondary {
    background-color: var(--color-secondary);
    color: var(--primary-color-contrast);
}
.p-badge.p-badge-success {
    background-color: var(--color-success);
    color: var(--primary-color-contrast);
}
.p-badge.p-badge-info {
    background-color: var(--color-info);
    color: var(--primary-color-contrast);
}
.p-badge.p-badge-warning {
    background-color: var(--color-warning);
    color: var(--primary-color-contrast);
}
.p-badge.p-badge-danger {
    background-color: var(--color-danger);
    color: var(--primary-color-contrast);
}
.p-badge.p-badge-lg {
    font-size: 1.125rem;
    min-width: 2.25rem;
    height: 2.25rem;
    line-height: 2.25rem;
}
.p-badge.p-badge-xl {
    font-size: 1.5rem;
    min-width: 3rem;
    height: 3rem;
    line-height: 3rem;
}

.p-chip {
    background-color: var(--surface-border);
    color: var(--text-color);
    border-radius: 16px;
    padding: 0 0.75rem;
}
.p-chip .p-chip-text {
    line-height: 1.5;
    margin-top: 0.375rem;
    margin-bottom: 0.375rem;
}
.p-chip .p-chip-icon {
    margin-right: 0.5rem;
}
.p-chip .pi-chip-remove-icon {
    margin-left: 0.5rem;
}
.p-chip img {
    width: 2.25rem;
    height: 2.25rem;
    margin-left: -0.75rem;
    margin-right: 0.5rem;
}
.p-chip .pi-chip-remove-icon {
    border-radius: 6px;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-chip .pi-chip-remove-icon:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}

.p-inplace .p-inplace-display {
    padding: 0.75rem 0.75rem;
    border-radius: 6px;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.p-inplace .p-inplace-display:not(.p-disabled):hover {
    background: var(--surface-hover);
    color: var(--text-color);
}
.p-inplace .p-inplace-display:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: var(--focus-ring);
}

.p-progressbar {
    border: 0 none;
    height: 1.5rem;
    background: var(--surface-border);
    border-radius: 6px;
}
.p-progressbar .p-progressbar-value {
    border: 0 none;
    margin: 0;
    background: var(--primary-color);
}
.p-progressbar .p-progressbar-label {
    color: var(--primary-color-contrast);
    line-height: 1.5rem;
}

.p-scrolltop {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    box-shadow: 0 2px 12px 0 color-mix(in srgb, var(--shadow-color) 10%, transparent);
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.p-scrolltop.p-link {
    background: color-mix(in srgb, var(--shadow-color) 70%, transparent);
}
.p-scrolltop.p-link:hover {
    background: color-mix(in srgb, var(--shadow-color) 80%, transparent);
}
.p-scrolltop .p-scrolltop-icon {
    font-size: 1.5rem;
    color: var(--surface-hover);
}
.p-scrolltop .p-icon {
    width: 1.5rem;
    height: 1.5rem;
}

.p-skeleton {
    background-color: var(--surface-border);
    border-radius: 6px;
}
.p-skeleton:after {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));
}

.p-tag {
    background: var(--primary-color);
    color: var(--primary-color-contrast);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.4rem;
    border-radius: 6px;
}
.p-tag.p-tag-success {
    background-color: var(--color-success);
    color: var(--primary-color-contrast);
}
.p-tag.p-tag-info {
    background-color: var(--color-info);
    color: var(--primary-color-contrast);
}
.p-tag.p-tag-warning {
    background-color: var(--color-warning);
    color: var(--primary-color-contrast);
}
.p-tag.p-tag-danger {
    background-color: var(--color-danger);
    color: var(--primary-color-contrast);
}
.p-tag .p-tag-icon {
    margin-right: 0.25rem;
    font-size: 0.75rem;
}
.p-tag .p-icon {
    width: 0.75rem;
    height: 0.75rem;
}

.p-terminal {
    background: var(--surface-card);
    color: var(--text-color);
    border: 1px solid var(--surface-border);
    padding: 1.25rem;
}
.p-terminal .p-terminal-input {
    font-size: 1rem;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
        'Segoe UI Symbol';
}

.p-button-label {
    font-weight: 700;
}

.p-accordion .p-accordion-header .p-accordion-header-link {
    transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.p-tabview .p-tabview-nav li .p-tabview-nav-link {
    transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.p-tabview .p-tabview-nav .p-tabview-ink-bar {
    z-index: 1;
    display: block;
    position: absolute;
    bottom: 0;
    height: 2px;
    transition: 500ms cubic-bezier(0.35, 0, 0.25, 1);
}

.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button {
    background-color: var(--primary-color);
}

.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button {
    background-color: var(--primary-color);
}

.p-button:focus {
    box-shadow: 0 0 0 2px var(--surface-card), 0 0 0 4px var(--primary-color-contrast), 0 1px 2px 0 var(--shadow-color);
}
.p-button.p-button-secondary:enabled:focus {
    box-shadow: 0 0 0 2px var(--surface-card), 0 0 0 4px color-mix(in srgb, var(--color-secondary) 40%, white), 0 1px 2px 0 var(--shadow-color);
}
.p-button.p-button-success:enabled:focus {
    box-shadow: 0 0 0 2px var(--surface-card), 0 0 0 4px color-mix(in srgb, var(--color-success) 40%, white), 0 1px 2px 0 var(--shadow-color);
}
.p-button.p-button-info:enabled:focus {
    box-shadow: 0 0 0 2px var(--surface-card), 0 0 0 4px color-mix(in srgb, var(--color-info) 40%, white), 0 1px 2px 0 var(--shadow-color);
}
.p-button.p-button-warning:enabled:focus {
    box-shadow: 0 0 0 2px var(--surface-card), 0 0 0 4px color-mix(in srgb, var(--color-warning) 40%, white), 0 1px 2px 0 var(--shadow-color);
}
.p-button.p-button-help:enabled:focus {
    box-shadow: 0 0 0 2px var(--surface-card), 0 0 0 4px color-mix(in srgb, var(--color-secondary) 40%, white), 0 1px 2px 0 var(--shadow-color);
}
.p-button.p-button-danger:enabled:focus {
    box-shadow: 0 0 0 2px var(--surface-card), 0 0 0 4px color-mix(in srgb, var(--color-danger) 40%, white), 0 1px 2px 0 var(--shadow-color);
}

.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td {
    box-shadow: inset 0 2px 0 0 var(--primary-color);
}
.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {
    box-shadow: inset 0 -2px 0 0 var(--primary-color);
}

/* Stepper - Core */
.p-stepper .p-stepper-nav {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style-type: none;
    overflow-x: auto;
}

.p-stepper-vertical .p-stepper-nav {
    flex-direction: column;
}

.p-stepper-header {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    align-items: center;
}

.p-stepper-header:last-of-type {
    flex: initial;
}

.p-stepper-header .p-stepper-action {
    border: 0 none;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    cursor: pointer;
}

.p-stepper-header .p-stepper-action:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem var(--focus-ring);
}

.p-stepper.p-stepper-readonly .p-stepper-header {
    cursor: auto;
}

.p-stepper-header.p-highlight .p-stepper-action {
    cursor: default;
}

.p-stepper-title {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.p-stepper-number {
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-stepper-separator {
    flex: 1 1 0;
}

/* Stepper - Theme */
.p-stepper .p-stepper-nav {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.p-stepper .p-stepper-header {
    padding: 0.5rem;
}

.p-stepper .p-stepper-header .p-stepper-action {
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s, outline-color 0.2s;
    border-radius: 6px;
    background: var(--surface-card);
    outline-color: transparent;
}

.p-stepper .p-stepper-header .p-stepper-action .p-stepper-number {
    color: var(--text-color-secondary);
    border: 2px solid var(--surface-hover);
    background: var(--surface-card);
    min-width: 2rem;
    height: 2rem;
    line-height: 2rem;
    font-size: 1.143rem;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s, outline-color 0.2s;
}

.p-stepper .p-stepper-header .p-stepper-action .p-stepper-title {
    margin-left: 0.5rem;
    color: var(--text-color-secondary);
    font-weight: 700;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s, outline-color 0.2s;
}

.p-stepper .p-stepper-header .p-stepper-action:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem var(--focus-ring);
}

.p-stepper .p-stepper-header.p-highlight .p-stepper-number {
    background: var(--primary-600);
    color: var(--primary-color);
}

.p-stepper .p-stepper-header.p-highlight .p-stepper-title {
    color: var(--text-color-emphasis);
}

.p-stepper .p-stepper-header:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem var(--focus-ring);
}

.p-stepper .p-stepper-header:has(~ .p-highlight) .p-stepper-separator {
    background-color: var(--primary-color);
}

.p-stepper .p-stepper-panels {
    background: var(--surface-card);
    padding: 1.25rem;
    color: var(--text-color-secondary);
}

.p-stepper .p-stepper-separator {
    background-color: var(--surface-border);
    width: 100%;
    height: 2px;
    margin-inline-start: 1rem;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s, outline-color 0.2s;
}

/* Stepper Vertical */
.p-stepper.p-stepper-vertical {
    display: flex;
    flex-direction: column;
}

.p-stepper.p-stepper-vertical .p-stepper-toggleable-content {
    display: flex;
    flex: 1 1 auto;
    background: var(--surface-card);
    color: var(--text-color-secondary);
}

.p-stepper.p-stepper-vertical .p-stepper-panel {
    display: flex;
    flex-direction: column;
    flex: initial;
}

.p-stepper.p-stepper-vertical .p-stepper-panel.p-stepper-panel-active {
    flex: 1 1 auto;
}

.p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-header {
    flex: initial;
}

.p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-content {
    width: 100%;
    padding-left: 1rem;
}

.p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-separator {
    flex: 0 0 auto;
    width: 2px;
    height: auto;
    margin-inline-start: calc(1.75rem + 2px);
}

.p-stepper.p-stepper-vertical .p-stepper-panel:has(~ .p-stepper-panel-active) .p-stepper-separator {
    background-color: var(--primary-color);
}

.p-stepper.p-stepper-vertical .p-stepper-panel:last-of-type .p-stepper-content {
    padding-left: 3rem;
}

/*
 * Cores de sistema (paletas Tailwind/Bootstrap/Material/status usadas organicamente no código).
 * NÃO fazem parte do tema por empresa — não estão na whitelist de CompanyThemeVariableNames,
 * então nunca são sobrescritas por tenant. Prefixo 'tw-' identifica valores da paleta Tailwind
 * que colidiriam de nome com escalas já existentes neste arquivo (ex: --gray-500 do PrimeNG já
 * é usado com outro valor).
 */
