:root {
    --wb-icon-size: 1.25rem;
    --wb-avatar-size: 2rem;
    --wb-avatar-margin-left: 0.75rem;
    --wb-header-padding: 0.625rem;
    --wb-toolbar-margin-bottom: 1rem;
    --wb-module-content-padding: 0; /* boki/dół flush z paskiem zakładek; odstęp u góry daje .webboard-tab-content (pakiet) */
    --wb-toolbar-padding-x: 0.375rem;
    --wb-messagelist-padding-x: 1.25rem;
    --wb-messagelist-padding-y: 2rem;
    --wb-submitarea-padding-x: 1.25rem;
    --wb-submitarea-padding-y: 0.5rem;
    --wb-badge-font-size: 0.8rem;
    --wb-badge-padding-y: 0.15rem;
    --wb-badge-padding-x: 0.5rem;
    --wb-grid-title-font-size: 1.35em;
    --wb-grid-avatar-size: 28px;
    --wb-grid-avatar-font-size: 0.75rem;
}

.small-size {
    --wb-icon-size: 1rem;
    --wb-avatar-size: 1.5rem;
    --wb-avatar-margin-left: 0.5rem;
    --wb-toolbar-padding-x: 0.25rem;
    --wb-messagelist-padding-x: 0.75rem;
    --wb-messagelist-padding-y: 1.5rem;
    --wb-submitarea-padding-x: 0.75rem;
    --wb-submitarea-padding-y: 0.375rem;
    --wb-badge-font-size: 0.7rem;
    --wb-badge-padding-y: 0.1rem;
    --wb-badge-padding-x: 0.375rem;
    --wb-grid-title-font-size: 1.15em;
    --wb-grid-avatar-size: 22px;
    --wb-grid-avatar-font-size: 0.65rem;
}

.large-size {
    --wb-icon-size: 1.5rem;
    --wb-avatar-size: 2.5rem;
    --wb-avatar-margin-left: 1rem;
    --wb-toolbar-padding-x: 0.5rem;
    --wb-messagelist-padding-x: 1.75rem;
    --wb-messagelist-padding-y: 2.5rem;
    --wb-submitarea-padding-x: 1.75rem;
    --wb-submitarea-padding-y: 0.625rem;
    --wb-badge-font-size: 0.9rem;
    --wb-badge-padding-y: 0.2rem;
    --wb-badge-padding-x: 0.625rem;
    --wb-grid-title-font-size: 1.55em;
    --wb-grid-avatar-size: 34px;
    --wb-grid-avatar-font-size: 0.85rem;
}

html, body {
    height: 100%;
}

body {
    margin: 0;
    letter-spacing: var(--dxds-letter-spacing-base-md);
    background-color: var(--dxds-color-surface-neutral-subdued-rest);
}

*, ::after, ::before {
    box-sizing: border-box
}

.icon {
    opacity: 0.7;
    background-size: contain;
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: 100% 100%;
    background-color: currentColor;
}

.medium-icon {
    width: var(--wb-icon-size);
    height: var(--wb-icon-size);
}

.avatar {
    width: var(--wb-avatar-size);
    height: var(--wb-avatar-size);
    margin-left: var(--wb-avatar-margin-left);
}

.icon.small-icon {
    width: 0.75rem;
    height: 0.75rem;
}

.sun-icon {
    mask-image: url("images/icons/weather-sunny.svg");
}

.moon-icon {
    mask-image: url("images/icons/weather-moon.svg");
}

.bell-icon {
    mask-image: url("images/icons/bell.svg");
}

.github-icon {
    mask-image: url("images/icons/github.svg");
}

.back-icon {
    mask-image: url("images/icons/arrow-left.svg");
}

.copy-icon {
    mask-image: url("images/icons/copy.svg");
}

.refresh-icon {
    mask-image: url("images/icons/arrow-sync.svg");
}

.person-add-icon {
    mask-image: url("images/icons/person-add.svg");
}

.sign-out-icon {
    mask-image: url("images/icons/sign-out.svg");
}

.call-icon {
    mask-image: url("images/icons/call.svg");
}

.mail-icon {
    mask-image: url("images/icons/mail.svg");
}

.more-icon {
    mask-image: url("images/icons/more-horizontal.svg");
}

.ai-chat-icon {
    mask-image: url("images/icons/ai-chat.svg");
}

.hamburger-icon {
    mask-image: url("images/icons/navigation.svg");
}

.main-icon {
    mask-image: url("images/icons/phone-desktop.svg");
}

.management-icon {
    mask-image: url("images/icons/person.svg");
}

.eye-open-icon {
    mask-image: url("images/icons/eye-open.svg");
}

.eye-close-icon {
    mask-image: url("images/icons/eye-close.svg");
}

.reports-icon {
    mask-image: url("images/icons/data-histogram.svg");
}

.automation-icon {
    mask-image: url("images/icons/arrow-sync.svg");
}

.admin-icon {
    mask-image: url("images/icons/lock-closed.svg");
}

/* Odwołanie klucza API */
.lock-icon {
    mask-image: url("images/icons/lock-closed.svg");
}

.filter-icon {
    mask-image: url("images/icons/filter.svg");
}

/* === Ikony menu nawigacyjnego (globalne - wymagane przez DxTreeView IconCssClass) === */

.icon.nav-dashboard-icon {
    mask-image: url("images/icons/board.svg");
    -webkit-mask-image: url("images/icons/board.svg");
}

.icon.nav-calendar-icon {
    mask-image: url("images/icons/calendar.svg");
    -webkit-mask-image: url("images/icons/calendar.svg");
}

.icon.nav-changesets-icon {
    mask-image: url("images/icons/arrow-swap.svg");
    -webkit-mask-image: url("images/icons/arrow-swap.svg");
}

.icon.nav-grouptasks-icon {
    mask-image: url("images/icons/people-team.svg");
    -webkit-mask-image: url("images/icons/people-team.svg");
}

.icon.nav-mytasks-icon {
    mask-image: url("images/icons/task-list-square-person.svg");
    -webkit-mask-image: url("images/icons/task-list-square-person.svg");
}

.icon.nav-tasks-icon {
    mask-image: url("images/icons/task-list.svg");
    -webkit-mask-image: url("images/icons/task-list.svg");
}

.icon.nav-backlog-icon {
    mask-image: url("images/icons/inbox.svg");
    -webkit-mask-image: url("images/icons/inbox.svg");
}

.icon.nav-coordinator-icon {
    mask-image: url("images/icons/organization.svg");
    -webkit-mask-image: url("images/icons/organization.svg");
}

.icon.nav-groups-icon {
    mask-image: url("images/icons/people-community.svg");
    -webkit-mask-image: url("images/icons/people-community.svg");
}

.icon.nav-departments-icon {
    mask-image: url("images/icons/building.svg");
    -webkit-mask-image: url("images/icons/building.svg");
}

.icon.nav-clients-icon {
    mask-image: url("images/icons/briefcase.svg");
    -webkit-mask-image: url("images/icons/briefcase.svg");
}

.icon.nav-sprints-icon {
    mask-image: url("images/icons/top-speed.svg");
    -webkit-mask-image: url("images/icons/top-speed.svg");
}

.icon.nav-users-icon {
    mask-image: url("images/icons/person.svg");
    -webkit-mask-image: url("images/icons/person.svg");
}

.icon.nav-taskdist-icon {
    mask-image: url("images/icons/data-pie.svg");
    -webkit-mask-image: url("images/icons/data-pie.svg");
}

.icon.nav-timetrack-icon {
    mask-image: url("images/icons/clock.svg");
    -webkit-mask-image: url("images/icons/clock.svg");
}

.icon.nav-dailywork-icon {
    mask-image: url("images/icons/calendar.svg");
    -webkit-mask-image: url("images/icons/calendar.svg");
}

.icon.nav-autorules-icon {
    mask-image: url("images/icons/flash.svg");
    -webkit-mask-image: url("images/icons/flash.svg");
}

.icon.nav-autoexec-icon {
    mask-image: url("images/icons/play-circle.svg");
    -webkit-mask-image: url("images/icons/play-circle.svg");
}

.icon.nav-eventtypes-icon {
    mask-image: url("images/icons/bell.svg");
    -webkit-mask-image: url("images/icons/bell.svg");
}

.icon.nav-webhooks-icon {
    mask-image: url("images/icons/globe.svg");
    -webkit-mask-image: url("images/icons/globe.svg");
}

.icon.nav-notifrules-icon {
    mask-image: url("images/icons/alert.svg");
    -webkit-mask-image: url("images/icons/alert.svg");
}

.icon.nav-emailtpl-icon {
    mask-image: url("images/icons/mail.svg");
    -webkit-mask-image: url("images/icons/mail.svg");
}

.icon.nav-auditlog-icon {
    mask-image: url("images/icons/document-search.svg");
    -webkit-mask-image: url("images/icons/document-search.svg");
}

.icon.nav-roles-icon {
    mask-image: url("images/icons/shield.svg");
    -webkit-mask-image: url("images/icons/shield.svg");
}

.icon.nav-permissions-icon {
    mask-image: url("images/icons/key.svg");
    -webkit-mask-image: url("images/icons/key.svg");
}

.icon.nav-tenants-icon {
    mask-image: url("images/icons/building-multiple.svg");
    -webkit-mask-image: url("images/icons/building-multiple.svg");
}

.icon.nav-settings-icon {
    mask-image: url("images/icons/settings.svg");
    -webkit-mask-image: url("images/icons/settings.svg");
}

.icon.nav-smtp-icon {
    mask-image: url("images/icons/mail.svg");
    -webkit-mask-image: url("images/icons/mail.svg");
}

.icon.nav-connections-icon {
    mask-image: url("images/icons/link.svg");
    -webkit-mask-image: url("images/icons/link.svg");
}

.icon.nav-bgjobs-icon {
    mask-image: url("images/icons/clock.svg");
    -webkit-mask-image: url("images/icons/clock.svg");
}

.icon.nav-hangfire-icon {
    mask-image: url("images/icons/gauge.svg");
    -webkit-mask-image: url("images/icons/gauge.svg");
}

.icon.nav-logviewer-icon {
    mask-image: url("images/icons/document-text.svg");
    -webkit-mask-image: url("images/icons/document-text.svg");
}

/* Klucze API — własna ikona, bo key.svg jest już zajęty przez nav-permissions-icon */
.icon.nav-apikeys-icon {
    mask-image: url("images/icons/key-api.svg");
    -webkit-mask-image: url("images/icons/key-api.svg");
}

.add-icon {
    mask-image: url("images/icons/add.svg");
}

.edit-icon {
    mask-image: url("images/icons/edit.svg");
}

.trash-icon {
    mask-image: url("images/icons/trash.svg");
}

.column-chooser-icon {
    mask-image: url("images/icons/column-chooser.svg");
}

.export-icon {
    mask-image: url("images/icons/arrow-export-up.svg");
}

.print-icon {
    mask-image: url("images/icons/print.svg");
}

.play-icon {
    mask-image: url("images/icons/play-circle.svg");
}

.pause-icon {
    mask-image: url("images/icons/pause.svg");
}

.key-icon {
    mask-image: url("images/icons/key.svg");
}

.notification {
    position: relative;
}

.notification::after {
    content: attr(notification-count) / "";
    color: white;
    display: flex;
    position: absolute;
    top: 0;
    left: 5%;
    font-size: var(--wb-badge-font-size);
    width: 1.2em;
    height: 1.2em;
    border-radius: 50%;
    background-color: red;
    align-items: center;
    justify-content: center;
}

.dropdown-no-padding {
    --dxbl-dropdown-body-padding-x: 0;
    --dxbl-dropdown-body-padding-y: 0;
}

@media (min-width: 899.98px) {
    .pw-800 {
        max-width: 800px !important;
        width: 800px !important;
    }
}

/* (usunięto martwy .loading-panel + @keyframes rotation — 0 użyć po migracji empty-state na WebBoardEmptyState) */

/* TaskDetails: toolbar nie powinien rozciągać się w flex-column karty */
.details-toolbar {
    flex-grow: 0 !important;
    margin-bottom: 0.1rem !important;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

/* Badge - pastelowe kolory (globalnie: raporty, strony bez scoped css) */
.wb-badge {
    display: inline-block;
    padding: var(--wb-badge-padding-y) var(--wb-badge-padding-x);
    border-radius: 0.75rem;
    font-size: var(--wb-badge-font-size);
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
}

.wb-badge-primary { background-color: #BBDEFB; color: #1565C0; }
.wb-badge-secondary { background-color: #E0E0E0; color: #424242; }
.wb-badge-success { background-color: #C8E6C9; color: #2E7D32; }
.wb-badge-danger { background-color: #FFCDD2; color: #C62828; }
.wb-badge-warning { background-color: #FFE0B2; color: #E65100; }
.wb-badge-info { background-color: #B3E5FC; color: #0277BD; }
.wb-badge-purple { background-color: #E1BEE7; color: #6A1B9A; }
.wb-badge-dark { background-color: #CFD8DC; color: #37474F; }
