@import url("bell-2a5lk1r.css");
@import url("support-thread-1ccJifT.css");
:root, [data-bs-theme="dark"], [data-bs-theme="light"] {
    --bs-font-sans-serif: var(--app-font);
    --bs-body-bg: var(--app-bg);
    --bs-body-color: var(--app-text);
    --bs-secondary-color: var(--app-text-muted);
    --bs-tertiary-color: var(--app-text-faint);
    --bs-border-color: var(--app-border);
    --bs-card-bg: var(--app-surface);
    --bs-tertiary-bg: var(--app-surface-raised);
    --bs-secondary-bg: var(--app-surface-raised);
    --bs-border-radius: var(--app-radius-sm);
    --bs-border-radius-lg: var(--app-radius-md);
    --bs-border-radius-xl: var(--app-radius-lg);
    --bs-link-color: var(--app-link);
    --bs-link-hover-color: var(--app-link-hover);
    --bs-link-color-rgb: var(--app-link-rgb);
    --bs-link-hover-color-rgb: var(--app-link-hover-rgb);
    --bs-code-color: var(--app-text);
    --bs-primary: var(--app-accent);
    --bs-primary-rgb: var(--app-accent-rgb);
    --app-page-text: var(--app-text);
    --app-page-text-muted: var(--app-text-muted);
    --app-page-text-faint: var(--app-text-faint);
    --app-page-border: var(--app-border);
    --app-page-surface: var(--app-surface);
    --app-page-surface-raised: var(--app-surface-raised);
}

body { background: var(--app-bg); color: var(--app-text); }
.app-card { background: var(--app-surface); border: 1px solid var(--app-border); border-radius: var(--app-radius-md); box-shadow: var(--app-shadow-card); }
.app-label { font-size: var(--app-label-size); letter-spacing: .06em; text-transform: uppercase; color: var(--app-text-muted); }
.app-required { color: var(--app-danger); margin-left: .125rem; }
.app-text-muted { color: var(--app-text-muted); }
.app-text-faint { color: var(--app-text-faint); }
.app-icon { vertical-align: -.125em; flex-shrink: 0; }
.btn-primary { --bs-btn-bg: var(--app-accent); --bs-btn-border-color: var(--app-accent); --bs-btn-color: var(--app-accent-contrast); --bs-btn-hover-bg: var(--app-accent-hover); --bs-btn-hover-border-color: var(--app-accent-hover); --bs-btn-hover-color: var(--app-accent-contrast); --bs-btn-active-bg: var(--app-accent-hover); --bs-btn-active-border-color: var(--app-accent-hover); --bs-btn-active-color: var(--app-accent-contrast); }
.btn-secondary { --bs-btn-bg: var(--app-neutral); --bs-btn-border-color: var(--app-neutral); --bs-btn-color: var(--app-accent-contrast); --bs-btn-hover-bg: var(--app-neutral-hover); --bs-btn-hover-border-color: var(--app-neutral-hover); --bs-btn-hover-color: var(--app-accent-contrast); --bs-btn-active-bg: var(--app-neutral-hover); --bs-btn-active-border-color: var(--app-neutral-hover); --bs-btn-active-color: var(--app-accent-contrast); }
.btn-danger { --bs-btn-bg: var(--app-danger); --bs-btn-border-color: var(--app-danger); --bs-btn-color: var(--app-accent-contrast); --bs-btn-hover-bg: var(--app-danger-hover); --bs-btn-hover-border-color: var(--app-danger-hover); --bs-btn-hover-color: var(--app-accent-contrast); --bs-btn-active-bg: var(--app-danger-hover); --bs-btn-active-border-color: var(--app-danger-hover); --bs-btn-active-color: var(--app-accent-contrast); }
.btn-success { --bs-btn-bg: var(--app-success); --bs-btn-border-color: var(--app-success); --bs-btn-color: var(--app-accent-contrast); --bs-btn-hover-bg: var(--app-success-hover); --bs-btn-hover-border-color: var(--app-success-hover); --bs-btn-hover-color: var(--app-accent-contrast); --bs-btn-active-bg: var(--app-success-hover); --bs-btn-active-border-color: var(--app-success-hover); --bs-btn-active-color: var(--app-accent-contrast); }
.btn-warning { --bs-btn-bg: var(--app-warning); --bs-btn-border-color: var(--app-warning); --bs-btn-color: var(--app-accent-contrast); --bs-btn-hover-bg: var(--app-warning-hover); --bs-btn-hover-border-color: var(--app-warning-hover); --bs-btn-hover-color: var(--app-accent-contrast); --bs-btn-active-bg: var(--app-warning-hover); --bs-btn-active-border-color: var(--app-warning-hover); --bs-btn-active-color: var(--app-accent-contrast); }
.btn-info { --bs-btn-bg: var(--app-info); --bs-btn-border-color: var(--app-info); --bs-btn-color: var(--app-accent-contrast); --bs-btn-hover-bg: var(--app-info-hover); --bs-btn-hover-border-color: var(--app-info-hover); --bs-btn-hover-color: var(--app-accent-contrast); --bs-btn-active-bg: var(--app-info-hover); --bs-btn-active-border-color: var(--app-info-hover); --bs-btn-active-color: var(--app-accent-contrast); }
.form-control, .form-select { background-color: var(--app-surface-raised); border-color: var(--app-border); color: var(--app-text); }
.form-control:focus, .form-select:focus { border-color: var(--app-text-muted); box-shadow: 0 0 0 .2rem var(--app-neutral-bg); background-color: var(--app-surface-raised); color: var(--app-text); }
.dropdown-menu, .modal-content, .offcanvas { background: var(--app-surface); border-color: var(--app-border); color: var(--app-text); }
.modal-content { border-top: 0; box-shadow: var(--app-shadow-modal); background: var(--app-brand-gradient) top / 100% var(--app-brand-stripe-height) no-repeat, var(--app-surface); }
.table { --bs-table-bg: transparent; --bs-table-color: var(--app-text); --bs-table-border-color: var(--app-border); }

.app-badge { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid var(--app-neutral-border); background: var(--app-neutral-bg); color: var(--app-neutral); border-radius: 999px; padding: .125rem .6rem; font-size: .75rem; font-weight: 500; white-space: nowrap; }
.app-badge--success { color: var(--app-success); background: var(--app-success-bg); border-color: var(--app-success-border); }
.app-badge--warning { color: var(--app-warning); background: var(--app-warning-bg); border-color: var(--app-warning-border); }
.app-badge--info { color: var(--app-info); background: var(--app-info-bg); border-color: var(--app-info-border); }
.app-badge--danger { color: var(--app-danger); background: var(--app-danger-bg); border-color: var(--app-danger-border); }
.app-badge--neutral { color: var(--app-neutral); background: var(--app-neutral-bg); border-color: var(--app-neutral-border); }
.app-sidebar__link.is-active .app-badge { color: var(--app-text); background: transparent; border-color: currentColor; }
.alert-success { --bs-alert-color: var(--app-success); --bs-alert-bg: var(--app-success-bg); --bs-alert-border-color: var(--app-success-border); --bs-alert-link-color: var(--app-success); }
.alert-warning { --bs-alert-color: var(--app-warning); --bs-alert-bg: var(--app-warning-bg); --bs-alert-border-color: var(--app-warning-border); --bs-alert-link-color: var(--app-warning); }
.alert-info { --bs-alert-color: var(--app-info); --bs-alert-bg: var(--app-info-bg); --bs-alert-border-color: var(--app-info-border); --bs-alert-link-color: var(--app-info); }
.alert-danger { --bs-alert-color: var(--app-danger); --bs-alert-bg: var(--app-danger-bg); --bs-alert-border-color: var(--app-danger-border); --bs-alert-link-color: var(--app-danger); }
.alert-secondary { --bs-alert-color: var(--app-neutral); --bs-alert-bg: var(--app-neutral-bg); --bs-alert-border-color: var(--app-neutral-border); --bs-alert-link-color: var(--app-neutral); }
.app-badge--wrap { white-space: normal; border-radius: var(--app-radius-md); }
.avatar { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; font-weight: 600; color: var(--app-text); background: var(--app-surface-raised); border: 1px solid var(--app-border); }
.avatar--md { width: 2.25rem; height: 2.25rem; font-size: .8rem; }
.avatar--lg { width: 3rem; height: 3rem; font-size: 1rem; border-radius: var(--app-radius-md); }
.avatar--1 { background: rgba(92,156,255,.18); } .avatar--2 { background: rgba(63,191,111,.18); } .avatar--3 { background: rgba(224,168,54,.18); } .avatar--4 { background: rgba(239,107,107,.18); } .avatar--5 { background: rgba(170,120,255,.18); } .avatar--6 { background: rgba(60,200,200,.18); } .avatar--7 { background: rgba(255,140,80,.18); } .avatar--8 { background: rgba(160,160,160,.18); }
.stat-card__value { font-size: 1.5rem; font-weight: 600; line-height: 1.1; }
.stat-card__icon { display: inline-flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border-radius: var(--app-radius-md); background: var(--app-surface-raised); color: var(--app-text-muted); }
.stat-card__icon--success { color: var(--app-success); background: var(--app-success-bg); } .stat-card__icon--info { color: var(--app-info); background: var(--app-info-bg); } .stat-card__icon--warning { color: var(--app-warning); background: var(--app-warning-bg); } .stat-card__icon--danger { color: var(--app-danger); background: var(--app-danger-bg); }
.stat-card--warning, .app-card--warning { border-color: var(--app-warning-border); }
.kv-grid { display: grid; gap: 1rem 1.5rem; } .kv-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kv-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .kv-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 767.98px) { .kv-grid--2, .kv-grid--3, .kv-grid--4 { grid-template-columns: 1fr; } }
.preview-banner { border: 1px dashed var(--app-info-border); background: var(--app-info-bg); color: var(--app-text); border-radius: var(--app-radius-md); padding: .5rem .75rem; font-size: .875rem; }
.app-tabs { --app-tabs-bg: var(--app-bg); }
.modal-content .app-tabs, .app-card .app-tabs { --app-tabs-bg: var(--app-surface); }
.app-tabs .nav-tabs { --bs-nav-tabs-border-color: var(--app-border); --bs-nav-tabs-border-radius: var(--app-radius-sm); --bs-nav-tabs-link-hover-border-color: var(--app-surface-raised) var(--app-surface-raised) var(--app-border); --bs-nav-tabs-link-active-color: var(--app-text); --bs-nav-tabs-link-active-bg: var(--app-tabs-bg); --bs-nav-tabs-link-active-border-color: var(--app-border) var(--app-border) var(--app-tabs-bg); }
.app-attention-marker { display: inline-flex; align-items: center; gap: .25rem; color: var(--app-danger); background: var(--app-danger-bg); border-radius: var(--app-radius-sm); padding: .05rem .3rem; font-size: .75rem; font-weight: 600; line-height: 1.2; }
.app-attention-marker__count { font-variant-numeric: tabular-nums; }
.app-tabs .nav-link { color: var(--app-text-muted); white-space: nowrap; }
.app-tabbed > .app-tabs { --app-tabs-bg: var(--app-surface-raised); }
.app-tab-panel { background: var(--app-surface-raised); border: 1px solid var(--app-border); border-top: 0; border-radius: 0 0 var(--app-radius-md) var(--app-radius-md); padding: 1rem; }
.app-tab-panel > :last-child { margin-bottom: 0; }
.state-tabs__count { font-variant-numeric: tabular-nums; }
.state-tabs__count--zero { color: var(--app-text-faint); }
.app-tabs .nav-link.active .state-tabs__count--zero { color: inherit; }
.app-tabs .nav-link.active { font-weight: 600; }
.unavailable-button { opacity: .55; }
.app-toolbar-notice > .alert { margin-bottom: 0; padding-block: .5rem; }
.copy-value__trigger { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; text-align: inherit; cursor: pointer; }
.copy-value__trigger:hover:not(:disabled) { text-decoration: underline dotted; }
.copy-value__trigger .app-icon { margin-left: .35em; color: var(--app-text-muted); }
.copy-value__trigger:hover:not(:disabled) .app-icon { color: var(--app-text); }
.copy-value__trigger:focus-visible { outline: 2px solid var(--app-text); outline-offset: 2px; }
.copy-value__trigger:disabled { cursor: default; }
.masked-value code { color: var(--app-text); background: transparent; letter-spacing: .04em; }

.btn-icon { --bs-btn-color: var(--app-text-muted); --bs-btn-hover-color: var(--app-text); --bs-btn-hover-bg: var(--app-surface-raised); --bs-btn-border-color: transparent; width: 2.25rem; height: 2.25rem; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
.btn-icon.dropdown-toggle::after { display: none; }
.app-skip-link { position: absolute; left: .5rem; top: -4rem; z-index: 2000; padding: .5rem 1rem; border-radius: var(--app-radius-sm); background: var(--app-accent); color: var(--app-accent-contrast); text-decoration: none; font-weight: 600; }
.app-skip-link:focus { top: .5rem; }
.app-main:focus { outline: none; }
.anchor-nav .nav-link { color: var(--app-text-muted); }
.anchor-nav .nav-link:hover, .anchor-nav .nav-link[aria-current] { color: var(--app-text); }
.anchor-nav .nav-link[aria-current] { font-weight: 600; }
.app-shell { min-height: 100vh; display: flex; flex-direction: column; }
.app-impersonation { background: var(--app-warning-bg); color: var(--app-text); border-bottom: 1px solid var(--app-warning-border); text-align: center; padding: .4rem 1rem; font-size: .875rem; }
.app-impersonation__exit { padding: 0; border: 0; vertical-align: baseline; font-size: inherit; font-weight: 600; color: var(--app-text); }
.app-topbar { height: var(--app-topbar-height); background: var(--app-brand-gradient) top / 100% var(--app-brand-stripe-height) no-repeat, var(--app-surface); border-bottom: 1px solid var(--app-border); position: sticky; top: 0; z-index: 1030; }
/* The light theme's top bar takes the navy of the sidebar; its dropdowns get the page colours back (--app-page-*, resolved on html). */
[data-bs-theme="light"] .app-topbar { --app-text: var(--app-sidebar-text); --app-text-muted: var(--app-sidebar-text-muted); --app-text-faint: var(--app-sidebar-text-faint); --app-border: var(--app-sidebar-border); --app-surface: var(--app-sidebar-background); --app-surface-raised: var(--app-sidebar-hover); --bs-secondary-color: var(--app-text-muted); color: var(--app-text); }
.app-topbar .dropdown-menu { --app-text: var(--app-page-text); --app-text-muted: var(--app-page-text-muted); --app-text-faint: var(--app-page-text-faint); --app-border: var(--app-page-border); --app-surface: var(--app-page-surface); --app-surface-raised: var(--app-page-surface-raised); --bs-secondary-color: var(--app-page-text-muted); }
.app-brand { color: var(--app-text); }
.app-brand__mark { display: block; height: 2rem; width: auto; }
.app-body { display: flex; flex: 1; }
.app-sidebar { width: var(--app-sidebar-width); background: var(--app-surface); border-right: 1px solid var(--app-border); }
/* Bootstrap makes .offcanvas-lg background-color transparent !important from lg up, so the colour also goes in as an image. */
.app-sidebar[data-bs-theme] { --app-text: var(--app-sidebar-text); --app-text-muted: var(--app-sidebar-text-muted); --app-text-faint: var(--app-sidebar-text-faint); --app-border: var(--app-sidebar-border); --app-surface-raised: var(--app-sidebar-hover); background-color: var(--app-sidebar-background); background-image: linear-gradient(var(--app-sidebar-background), var(--app-sidebar-background)); color: var(--app-text); }
@media (min-width: 992px) { .app-sidebar { position: sticky; top: var(--app-topbar-height); height: calc(100vh - var(--app-topbar-height)); overflow-y: auto; } }
.app-sticky-aside { position: static; }
@media (min-width: 992px) { .app-sticky-aside { position: sticky; top: calc(var(--app-topbar-height) + 1rem); } }
.app-sidebar__company { border-bottom: 1px solid var(--app-border); }
.app-sidebar__link { display: flex; align-items: center; gap: .6rem; padding: .5rem .75rem; border-radius: var(--app-radius-sm); color: var(--app-text-muted); text-decoration: none; font-size: .9375rem; }
.app-sidebar__link:hover { background: var(--app-surface-raised); color: var(--app-text); }
.app-sidebar__link.is-active { background: var(--app-sidebar-active); color: var(--app-text); box-shadow: inset 3px 0 0 var(--app-sidebar-marker); }
.app-sidebar__link.is-disabled { color: var(--app-text-faint); cursor: not-allowed; }
.app-main { flex: 1; min-width: 0; padding: 1.5rem; display: flex; flex-direction: column; }
.app-footer { margin-top: auto; padding-top: 2rem; }
.app-identity-menu { min-width: 16rem; }
.app-identity { position: relative; }
.app-actions-menu { min-width: 16rem; }
@media (max-width: 767.98px) { .app-main { padding: 1rem; } }
/* The login page is navy like the sidebar; its card gets the page colours back (--app-page-*, resolved on html). */
.auth-main { --app-text: var(--app-sidebar-text); --app-text-muted: var(--app-sidebar-text-muted); --app-text-faint: var(--app-sidebar-text-faint); --app-border: var(--app-sidebar-border); --app-surface: var(--app-sidebar-background); --app-surface-raised: var(--app-sidebar-hover); --bs-code-color: var(--app-text-faint); background: var(--app-brand-gradient) top / 100% var(--app-brand-stripe-height) no-repeat, var(--app-sidebar-background); color: var(--app-text); }
.auth-main .auth-card { --app-text: var(--app-page-text); --app-text-muted: var(--app-page-text-muted); --app-text-faint: var(--app-page-text-faint); --app-border: var(--app-page-border); --app-surface: var(--app-page-surface); --app-surface-raised: var(--app-page-surface-raised); --bs-code-color: var(--app-page-text); color: var(--app-text); }
.auth-brand { display: block; width: fit-content; margin: 0 auto 1.5rem; padding: .75rem 1rem; border-radius: var(--app-radius-lg); background: var(--app-logo-surface); }
.auth-brand__logo { display: block; width: 12rem; height: auto; }
/* The light page theme shows the full-colour logo on white, the dark one the white logo straight on the card (--app-logo-surface is transparent there). */
.auth-brand__logo--dark { display: none; }
[data-bs-theme="dark"] .auth-brand__logo--light { display: none; }
[data-bs-theme="dark"] .auth-brand__logo--dark { display: block; }
.auth-card { max-width: 26.25rem; }
.context-card { width: 100%; margin: 0; color: var(--app-text); text-align: left; }
.context-card--current { border-color: var(--app-accent); }
.context-card__icon { display: inline-flex; width: 2.5rem; height: 2.5rem; flex-shrink: 0; align-items: center; justify-content: center; border-radius: var(--app-radius-md); background: var(--app-surface-raised); color: var(--app-text-muted); }
.context-card__body { min-width: 0; }

.app-notice { border: 1px solid var(--app-neutral-border); background: var(--app-neutral-bg); color: var(--app-text); border-radius: var(--app-radius-md); padding: .75rem 1rem; }
.app-notice--warning { border-color: var(--app-warning-border); background: var(--app-warning-bg); }
.app-field-missing { border: 1px solid var(--app-danger); border-left-width: 4px; background: var(--app-danger-bg); color: var(--app-text); border-radius: var(--app-radius-md); padding: .5rem .75rem; margin-bottom: .75rem; }
.app-field-missing .form-control, .app-field-missing .form-select, .app-field-missing .form-check-input { border-color: var(--app-danger); }
.app-actions-divider { border-left: 1px solid var(--app-border); margin-left: .5rem; padding-left: .75rem; }

.masked-value button { position: relative; z-index: var(--app-z-row-action); }
.entity-row { position: relative; border-bottom: 1px solid var(--app-border); }
.entity-row:last-child { border-bottom: 0; }
.entity-row--link:hover { background: var(--app-surface-raised); }
.entity-row__cell { min-width: 6.5rem; }
.entity-row__cell--wide { min-width: 8rem; }
.entity-row__cell--end { text-align: right; }
.entity-row__cell :is(a, button, form) { position: relative; z-index: var(--app-z-row-action); }
.entity-row__link { position: relative; z-index: var(--app-z-row-action); }
.entity-row__actions .form-select { width: auto; max-width: 18rem; }
.pesel-hint--problem { color: var(--app-danger); }
@media (max-width: 767.98px) { .entity-row { flex-wrap: wrap; } }
.app-search-trigger { width: min(24rem, 40vw); }
.app-search-trigger .form-control { padding-right: 4.5rem; }
.app-search-trigger__hint { position: absolute; right: .5rem; top: 50%; transform: translateY(-50%); padding: .1rem .4rem; border: 1px solid var(--app-border); border-radius: var(--app-radius-sm); background: var(--app-surface-raised); color: var(--app-text-muted); font-family: var(--app-font); font-size: .75rem; pointer-events: none; }
@media (min-width: 768px) { .app-search-dialog { --bs-modal-margin: 10vh; } }
.app-search-option[aria-selected="true"] { background: var(--app-surface-raised); outline: 2px solid var(--app-accent); outline-offset: -2px; }
.app-min-w-0 { min-width: 0; }
.app-pre-line { white-space: pre-line; overflow-wrap: anywhere; }
.doc-matrix th, .doc-matrix td { vertical-align: middle; }
.doc-dot { position: relative; display: inline-block; width: .75rem; height: .75rem; border-radius: 50%; background: var(--app-neutral); }
.doc-dot:focus-visible { outline: 2px solid var(--app-text); outline-offset: 2px; }
.doc-dot--missing { background: var(--app-danger); }
.doc-dot--generated { background: var(--app-neutral); }
.doc-dot--signed, .doc-dot--submitted { background: var(--app-info); }
.doc-dot--accepted { background: var(--app-success); }
.doc-dot--to_correct { background: var(--app-warning); }

.turbo-progress-bar { height: var(--app-progress-height); background: var(--app-brand-gradient); box-shadow: var(--app-shadow-progress); z-index: var(--app-z-progress); }
@media (prefers-reduced-motion: reduce) { .turbo-progress-bar { transition: none; } }
turbo-frame[busy] { opacity: .6; transition: opacity .15s; }
form[aria-busy="true"] .btn-primary::before { content: ""; display: inline-block; width: .9em; height: .9em; margin-right: .5em; vertical-align: -.125em; border: .15em solid currentColor; border-right-color: transparent; border-radius: 50%; animation: app-spin .7s linear infinite; }
@media (prefers-reduced-motion: reduce) { form[aria-busy="true"] .btn-primary::before { animation-duration: 2.4s; } }
@keyframes app-spin { to { transform: rotate(360deg); } }

.code-input {
    gap: .4rem;
    flex-wrap: nowrap;
    max-width: 100%;
}

.code-input__box {
    width: clamp(2.25rem, 11vw, 3rem);
    padding-left: 0;
    padding-right: 0;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.code-input__box:focus {
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.35);
}

.password-field { position: relative; }
.password-field .form-control { padding-right: 3rem; }
.password-field .form-control.is-invalid { background-position: right 3rem center; padding-right: 4.75rem; }
.password-field__toggle { position: absolute; top: 50%; right: .25rem; transform: translateY(-50%); }
.password-field input::-ms-reveal, .password-field input::-ms-clear { display: none; }
.password-field input::-webkit-credentials-auto-fill-button { display: none; }

.error-page__code {
    font-size: clamp(4.5rem, 18vw, 8rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
    color: var(--app-text-faint);
}

.design-section { scroll-margin-top: calc(var(--app-topbar-height) + 1rem); }
.swatch { display: block; height: 3rem; border: 1px solid var(--app-border); border-radius: var(--app-radius-md); }
.swatch--bg { background: var(--app-bg); }
.swatch--surface { background: var(--app-surface); }
.swatch--surface-raised { background: var(--app-surface-raised); }
.swatch--border { background: var(--app-border); }
.swatch--text { background: var(--app-text); }
.swatch--text-muted { background: var(--app-text-muted); }
.swatch--text-faint { background: var(--app-text-faint); }
.swatch--accent { background: var(--app-accent); }
.swatch--accent-hover { background: var(--app-accent-hover); }
.swatch--link { background: var(--app-link); }
.swatch--sidebar { background: var(--app-sidebar-background); }
.swatch--success { background: var(--app-success); }
.swatch--warning { background: var(--app-warning); }
.swatch--info { background: var(--app-info); }
.swatch--danger { background: var(--app-danger); }
.swatch--neutral { background: var(--app-neutral); }
.pagination { --bs-pagination-color: var(--app-text); --bs-pagination-bg: var(--app-surface-raised); --bs-pagination-border-color: var(--app-border); --bs-pagination-hover-color: var(--app-text); --bs-pagination-hover-bg: var(--app-neutral-bg); --bs-pagination-hover-border-color: var(--app-border); --bs-pagination-focus-color: var(--app-text); --bs-pagination-focus-bg: var(--app-neutral-bg); --bs-pagination-focus-box-shadow: var(--app-focus-ring); --bs-pagination-active-color: var(--app-accent-contrast); --bs-pagination-active-bg: var(--app-accent); --bs-pagination-active-border-color: var(--app-accent); --bs-pagination-disabled-color: var(--app-text-muted); --bs-pagination-disabled-bg: var(--app-surface-raised); --bs-pagination-disabled-border-color: var(--app-border); }
.participant-table th, .client-table th { font-size: var(--app-label-size); font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--app-text-muted); white-space: nowrap; }
.participant-table td, .participant-table th, .client-table td, .client-table th { padding: .75rem 1rem; }
.participant-row, .client-row { position: relative; }
.participant-row:hover > td, .client-row:hover > td { background: var(--app-surface-raised); }
.participant-who, .client-who { display: flex; align-items: center; gap: .75rem; min-width: 14rem; }
.participant-who__name, .client-who__name { font-weight: 600; text-decoration: none; }
.participant-number, .client-number { display: inline-flex; flex: none; align-items: center; justify-content: center; min-width: 4.25rem; height: 1.75rem; padding-inline: .6rem; border-radius: 999px; border: 1px solid var(--app-border); background: var(--app-surface-raised); color: var(--app-text); font-size: .75rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.participant-number--favorite { border-color: var(--app-warning-border); background: var(--app-warning-bg); color: var(--app-text); }
.participant-number__form { display: inline-flex; flex: none; margin: 0; }
.participant-number--toggle { position: relative; z-index: 2; gap: .3rem; font-family: inherit; line-height: 1; cursor: pointer; }
.participant-number--toggle .app-icon { color: var(--app-text-muted); }
.participant-number--toggle:hover { border-color: var(--app-warning-border); }
.participant-number--favorite .app-icon { color: var(--app-warning); }
.participant-number--toggle:focus-visible { outline: 2px solid var(--app-text); outline-offset: 2px; }
.participant-round { font-size: .8125rem; font-weight: 600; color: var(--app-text-muted); }
.participant-table [data-participant-deadline] .app-badge { white-space: normal; text-wrap: balance; }
.participant-table .participant-actions { border-left: 1px solid var(--app-border); white-space: nowrap; }
td.participant-actions, td.client-actions { position: relative; z-index: var(--app-z-row-action); }
.client-table .client-actions { border-right: 1px solid var(--app-border); white-space: nowrap; width: 1%; }
.participant-actions__buttons { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .375rem; }
.participant-actions__buttons form { display: contents; }
.participant-actions__steps { display: contents; }
.participant-action--done, .participant-action--done:hover, .participant-action--done:focus-visible { gap: .2rem; background: var(--app-success-bg); color: var(--app-success); border-color: var(--app-success); }
.participant-actions__separator { align-self: stretch; width: 1px; min-height: 1.5rem; background: var(--app-border); margin-inline: .125rem; }
.participant-action { display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; padding: .3rem .45rem; }
.state-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.75rem, 1fr)); gap: .75rem; }
.state-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; padding: .5rem .375rem; text-align: center; text-decoration: none; color: var(--app-text); background: var(--app-surface); border: 1px solid var(--app-border); border-radius: var(--app-radius-lg); box-shadow: var(--app-shadow-card); }
.state-tile:hover { color: var(--app-text); border-color: var(--app-text-faint); }
.state-tile[aria-current="page"] { border-color: var(--app-accent); box-shadow: 0 0 0 1px var(--app-accent), var(--app-shadow-card); }
.state-tile__top { display: flex; align-items: center; gap: .5rem; }
.state-tile__icon { display: inline-flex; width: 2.125rem; height: 2.125rem; align-items: center; justify-content: center; border-radius: var(--app-radius-md); background: var(--app-surface-raised); color: var(--app-text-muted); font-size: 1.05rem; }
.state-tile__icon--success { color: var(--app-success); background: var(--app-success-bg); } .state-tile__icon--info { color: var(--app-info); background: var(--app-info-bg); } .state-tile__icon--warning { color: var(--app-warning); background: var(--app-warning-bg); } .state-tile__icon--danger { color: var(--app-danger); background: var(--app-danger-bg); }
.state-tile__value { font-size: 1.35rem; font-weight: 650; line-height: 1.05; }
.state-tile__label { color: var(--app-text-muted); font-size: .8125rem; line-height: 1.25; }
.state-tile .app-attention-marker { font-size: .875rem; }
.state-tile__icon + .app-attention-marker { font-size: 1.1rem; }
.state-tiles-sub { margin: -.25rem 0 0 .5rem; padding-left: .875rem; border-left: 3px solid var(--app-accent); }
.state-tiles-sub .state-tiles { grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr)); gap: .5rem; }
.state-tiles-sub .state-tile { padding: .375rem .25rem; }
.state-tiles-sub .state-tile__icon { width: 1.75rem; height: 1.75rem; font-size: .9rem; }
.state-tiles-sub .state-tile__value { font-size: 1.15rem; }
.participant-legend-toggle { color: var(--app-text-muted); line-height: 1; }
.participant-legend-toggle:hover { color: var(--app-text); }
.participant-legend { display: flex; flex-direction: column; gap: .875rem; }
.participant-legend__item { display: flex; align-items: flex-start; gap: .75rem; }
.participant-legend__icon { flex: none; pointer-events: none; }
.modal-layer { z-index: calc(var(--app-z-modal-base) + var(--app-modal-depth, 1) * var(--app-z-modal-step)); }
.modal-layer .app-modal-footer { position: sticky; bottom: calc(-1 * var(--bs-modal-padding)); z-index: 1; margin: 1rem calc(-1 * var(--bs-modal-padding)) calc(-1 * var(--bs-modal-padding)); padding: .75rem var(--bs-modal-padding); background: var(--app-surface); border-top: 1px solid var(--app-border); }
.modal-backdrop[data-modal-layer] { z-index: calc(var(--app-z-modal-base) - 5 + var(--app-modal-depth, 1) * var(--app-z-modal-step)); }
#confirm-modal { z-index: var(--app-z-confirm); }
.modal-backdrop[data-confirm-backdrop] { z-index: calc(var(--app-z-confirm) - 5); }
.tooltip { z-index: var(--app-z-tooltip); }
.app-toast-container { position: fixed; right: 1rem; bottom: 1rem; --bs-toast-zindex: var(--app-z-toast); z-index: var(--app-z-toast); display: flex; flex-direction: column; gap: .5rem; max-width: calc(100vw - 2rem); pointer-events: none; }
.app-toast { --bs-toast-bg: var(--app-surface-raised); --bs-toast-color: var(--app-text); --bs-toast-border-color: var(--app-border); }
.participant-fact { cursor: help; }
.participant-history__created { cursor: help; }
.participant-history__note { font-size: .95rem; }
.participant-history__message { text-align: justify; }
.document-slot__details > :first-child { margin-top: 1rem; }
@keyframes app-blink { 50% { opacity: .35; } }
.app-badge--blink { animation: app-blink 1s ease-in-out 5; }
@media (prefers-reduced-motion: reduce) { .app-badge--blink { animation: none; } }
.form-check-input:checked { background-color: var(--app-accent); border-color: var(--app-accent); }
.form-check-input:checked[type="radio"] { --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); }
[data-bs-theme="dark"] .form-check-input:checked[type="radio"], [data-bs-theme="dark"] .form-check-input:checked[type="checkbox"] { --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23111111' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); }
.help-hint { cursor: help; }
.page-header__actions:has(> *) { border-left: 1px solid var(--app-border); padding-left: .75rem; margin-left: .25rem; }
.slot-usage { max-width: 26rem; }
.slot-usage__count { color: var(--app-text); }
.slot-usage__bar { appearance: none; display: block; width: 100%; height: .75rem; border: 0; border-radius: var(--app-radius-sm); background: var(--app-border); overflow: hidden; }
.slot-usage__bar::-webkit-progress-bar { background: var(--app-border); }
.slot-usage__bar--success::-webkit-progress-value { background: var(--app-slot-gradient-success); }
.slot-usage__bar--success::-moz-progress-bar { background: var(--app-slot-gradient-success); }
.slot-usage__bar--warning::-webkit-progress-value { background: var(--app-slot-gradient-warning); }
.slot-usage__bar--warning::-moz-progress-bar { background: var(--app-slot-gradient-warning); }
.slot-usage__bar--danger::-webkit-progress-value { background: var(--app-slot-gradient-danger); }
.slot-usage__bar--danger::-moz-progress-bar { background: var(--app-slot-gradient-danger); }
.subscription-overview__count { font-size: 3.5rem; font-weight: 700; line-height: 1; color: var(--app-text); }
.subscription-overview__noun { display: block; margin-top: .5rem; font-size: 1rem; font-weight: 600; color: var(--app-text); }
.subscription-overview__aside { flex: 1 1 22rem; min-width: 0; }
.subscription-details > summary { cursor: pointer; font-weight: 600; color: var(--app-text); }
.dashboard-subscription__count { font-size: 1.375rem; font-weight: 700; color: var(--app-text); }
.subscription-timeline__svg { display: block; overflow: visible; margin: 1rem 0 .25rem; }
.subscription-timeline__axis { stroke: var(--app-text-faint); stroke-opacity: .5; stroke-width: 4; stroke-linecap: round; }
.subscription-timeline__today { stroke: var(--app-info); stroke-width: 3; }
.subscription-timeline__label { font-size: .8125rem; }
.subscription-timeline__title { fill: var(--app-text); font-weight: 600; }
.subscription-timeline__date { fill: var(--app-text-muted); }
.subscription-timeline__dot--payment { fill: var(--app-warning); }
.subscription-timeline__dot--gain { fill: var(--app-success); }
.subscription-timeline__dot--loss { fill: var(--app-danger); }
.subscription-timeline__dot--grace { fill: var(--app-danger); }
.subscription-timeline__dot--change { fill: var(--app-info); }
.subscription-timeline__pip { stroke: var(--app-surface); stroke-width: 1.5; }
.subscription-timeline__swatch { display: inline-block; flex-shrink: 0; width: .625rem; height: .625rem; margin-right: .25rem; border-radius: 50%; vertical-align: baseline; }
.subscription-timeline__swatch--payment { background: var(--app-warning); }
.subscription-timeline__swatch--gain { background: var(--app-success); }
.subscription-timeline__swatch--loss { background: var(--app-danger); }
.subscription-timeline__swatch--grace { background: var(--app-danger); }
.subscription-timeline__swatch--change { background: var(--app-info); }
.subscription-timeline__list li { display: flex; align-items: center; }
@media (min-width: 576.02px) {
    .subscription-timeline__list { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
}
@media (max-width: 576px) {
    .subscription-timeline__svg { height: 1.75rem; margin-bottom: .75rem; }
    .subscription-timeline__label, .subscription-timeline__legend { display: none; }
}

.notification-preview { border: 1px solid var(--app-border); border-radius: var(--app-radius-md); background: var(--app-surface); }
.notification-preview__frame { display: block; width: 100%; height: 24rem; border: 1px solid var(--app-border); border-radius: var(--app-radius-sm); color-scheme: light; background: Canvas; }
.notification-preview__body--text { white-space: pre-wrap; overflow-wrap: anywhere; }
.state-picker { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: 1rem; }
.state-picker__label { margin: 0; color: var(--app-text-muted); font-size: .875rem; font-weight: 600; }
.state-picker__fallback { display: flex; align-items: center; gap: .5rem; margin: 0; }
.state-picker__button { min-width: 16rem; text-align: left; }
.state-picker__list { max-height: min(24rem, 60vh); overflow-y: auto; min-width: 16rem; border-radius: var(--app-radius-lg); }
.state-picker__item { display: flex; align-items: center; gap: .5rem; }
.state-picker__item .state-tile__icon { width: 1.75rem; height: 1.75rem; font-size: .9rem; flex: none; }
.state-picker__name { flex: 1 1 auto; }
.state-picker__count { flex: none; color: var(--app-text-muted); font-size: .875rem; font-variant-numeric: tabular-nums; }
.state-picker__item[aria-current="true"] { font-weight: 600; }
