:root {
    --bg: #f5f7fb;
    --surface: #ffffff;
    --ink: #17202a;
    --muted: #687385;
    --line: #dfe5ee;
    --primary: #2454d6;
    --primary-2: #1d9a73;
    --warning: #d88919;
    --sidebar: #141821;
    --sidebar-width: 272px;
    --sidebar-collapsed-width: 86px;
    --rcp-accent: var(--primary);
    --rcp-accent-rgb: 36, 84, 214;
    --rcp-accent-strong: #1c43ad;
    --rcp-accent-soft: rgba(36, 84, 214, .12);
    --rcp-accent-line: rgba(36, 84, 214, .35);
    --rcp-panel-surface: var(--surface);
    --rcp-panel-border: var(--line);
    --rcp-panel-shadow: 0 18px 50px rgba(20, 24, 33, .06);
    --rcp-content-color: var(--ink);
    --rcp-heading-color: var(--ink);
    --rcp-muted-color: var(--muted);
    --rcp-control-surface: #f8fafc;
    --rcp-control-border: var(--line);
    --rcp-input-surface: var(--surface);
    --rcp-input-border: #cfd9e7;
    --rcp-input-focus-surface: var(--surface);
    --rcp-input-focus-border: var(--primary);
    --rcp-placeholder-color: #7b889e;
    --rcp-table-head-surface: #f4f7fb;
    --rcp-table-head-border: var(--line);
    --rcp-table-row-border: #e5ebf3;
    --rcp-table-hover: rgba(36, 84, 214, .06);
    --rcp-table-subrow-surface: #f6f9fd;
    --bs-body-bg: var(--bg);
    --bs-body-color: var(--ink);
    --bs-primary: var(--primary);
    --bs-primary-rgb: 36, 84, 214;
    --bs-border-color: var(--line);
    --bs-border-radius: .5rem;
    --bs-border-radius-sm: .375rem;
    --bs-border-radius-lg: .5rem;
    --bs-font-sans-serif: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --rcp-fs-xs: .72rem;
    --rcp-fs-sm: .82rem;
    --rcp-fs-base: .95rem;
    --rcp-fs-md: 1.1rem;
    --rcp-fs-lg: 1.35rem;
    --rcp-fs-xl: 1.6rem;
    --rcp-space-2: .5rem;
    --rcp-space-3: .75rem;
    --rcp-space-4: 1rem;
    --rcp-space-5: 1.5rem;
    --rcp-space-6: 2rem;
}

body {
    color: var(--ink);
    background: var(--bg);
}

.install-body,
.auth-body {
    min-height: 100vh;
    background:
        linear-gradient(135deg, rgba(36, 84, 214, 0.10), rgba(29, 154, 115, 0.08)),
        var(--bg);
}

.install-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
}

.install-header h1 {
    font-size: clamp(2rem, 4vw, 3.5rem);
    margin: .25rem 0;
    letter-spacing: 0;
}

.install-header p {
    color: var(--muted);
    margin: 0;
}

.eyebrow {
    color: var(--primary-2);
    font-weight: 600;
    text-transform: uppercase;
    font-size: .78rem;
}

.install-badge,
.soft-card,
.auth-card,
.panel-section {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 18px 50px rgba(20, 24, 33, .06);
}

.install-badge {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .75rem 1rem;
    font-weight: 600;
}

.soft-card {
    padding: 1.4rem;
}

.requirement-list {
    display: grid;
    gap: .75rem;
}

.requirement-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--line);
}

.requirement-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.install-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .5rem;
    background: var(--surface-2, rgba(0, 0, 0, .02));
}

.install-step {
    min-width: 0;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: .65rem;
    align-items: center;
    border: 0;
    background: transparent;
    color: var(--muted);
    text-align: left;
    padding: .45rem;
}

.install-step > span {
    grid-row: 1 / 3;
    width: 2.25rem;
    height: 2.25rem;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--surface);
}

.install-step small,
.install-step strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.install-step small { font-size: .68rem; }
.install-step strong { font-size: .82rem; font-weight: 600; }
.install-step.is-active { color: var(--primary); }
.install-step.is-active > span { border-color: var(--primary); box-shadow: 0 0 0 .2rem rgba(36, 84, 214, .12); }
.install-step.is-complete > span { color: var(--bs-success); border-color: var(--bs-success); }

.install-server-info,
.install-summary {
    display: grid;
    gap: 0;
}

.install-server-info > div,
.install-summary > div {
    display: grid;
    grid-template-columns: minmax(8rem, 42%) 1fr;
    gap: 1rem;
    padding: .65rem 0;
    border-bottom: 1px solid var(--line);
}

.install-server-info > div:last-child,
.install-summary > div:last-child { border-bottom: 0; }
.install-server-info dt,
.install-summary dt { color: var(--muted); font-weight: 500; }
.install-server-info dd,
.install-summary dd { margin: 0; text-align: right; overflow-wrap: anywhere; }

@media (max-width: 767.98px) {
    .install-steps { grid-template-columns: repeat(5, 2.5rem); justify-content: space-between; overflow-x: auto; }
    .install-step { display: block; padding: .15rem; }
    .install-step small,
    .install-step strong { display: none; }
    .install-header { align-items: start; flex-direction: column; }
}

.auth-shell {
    width: min(100% - 2rem, 440px);
    min-height: 100vh;
    margin: 0 auto;
    display: grid;
    align-content: center;
}

.auth-card {
    padding: 2rem;
}

.auth-card h1 {
    font-size: 1.65rem;
}

.auth-logo {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    background: #eaf1ff;
    color: var(--primary);
    border-radius: 8px;
    font-size: 1.6rem;
    margin-bottom: 1rem;
}

.access-body {
    background: #eef2f7;
}

.access-shell {
    align-content: center;
    display: grid;
    margin: 0 auto;
    min-height: 100vh;
    padding: 1.25rem;
    width: min(100%, 760px);
}

.access-header {
    align-items: center;
    display: flex;
    gap: .9rem;
    margin-bottom: 1rem;
}

.access-header img {
    border-radius: 8px;
    flex: 0 0 auto;
}

.access-header span {
    color: var(--primary-2);
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.access-header h1 {
    font-size: 1.55rem;
    margin: .05rem 0;
}

.access-header p {
    color: var(--muted);
    font-size: .86rem;
    margin: 0;
}

.access-options {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.access-option {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    display: grid;
    gap: 1rem;
    min-height: 210px;
    padding: 1.15rem;
    text-decoration: none;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.access-option:hover,
.access-option:focus-visible {
    border-color: var(--access-color);
    box-shadow: 0 12px 28px rgba(20, 24, 33, .09);
    color: var(--ink);
    transform: translateY(-2px);
}

.access-option-employee {
    --access-color: #16815f;
    --access-soft: #e9f7f1;
}

.access-option-admin {
    --access-color: #2454d6;
    --access-soft: #eaf1ff;
}

.access-option-top {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
}

.access-option-icon {
    background: var(--access-soft);
    border-radius: 8px;
    color: var(--access-color);
    display: grid;
    font-size: 1.35rem;
    height: 42px;
    place-items: center;
    width: 42px;
}

.access-session {
    color: #16815f;
    font-size: .7rem;
    font-weight: 700;
}

.access-option h2 {
    font-size: 1.05rem;
    margin: 0 0 .35rem;
}

.access-option p {
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.45;
    margin: 0;
}

.access-option-action {
    align-items: center;
    align-self: end;
    color: var(--access-color);
    display: flex;
    font-size: .8rem;
    font-weight: 700;
    justify-content: space-between;
}

.access-footer {
    color: var(--muted);
    font-size: .72rem;
    margin: .85rem 0 0;
    text-align: center;
}

.auth-back-link {
    align-items: center;
    color: var(--muted);
    display: flex;
    font-size: .78rem;
    gap: .35rem;
    justify-content: center;
    margin-top: 1rem;
    text-decoration: none;
}

.auth-back-link:hover {
    color: var(--primary);
}

.two-factor-code {
    display: grid;
    gap: .45rem;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.two-factor-digit {
    appearance: textfield;
    background: var(--rcp-input-surface);
    border: 1px solid var(--rcp-input-border);
    border-radius: 8px;
    color: var(--ink);
    font-size: 1.2rem;
    font-weight: 700;
    height: 48px;
    min-width: 0;
    outline: 0;
    text-align: center;
    width: 100%;
}

.two-factor-digit:focus {
    background: var(--rcp-input-focus-surface);
    border-color: var(--rcp-input-focus-border);
    box-shadow: 0 0 0 .2rem rgba(var(--rcp-accent-rgb), .14);
}

.two-factor-code.is-invalid .two-factor-digit {
    border-color: #dc3545;
}

.two-factor-code-error {
    color: #b42318;
    font-size: .75rem;
    margin-top: .45rem;
}

@media (max-width: 620px) {
    .access-shell {
        align-content: start;
        padding: 1rem;
    }

    .access-header {
        margin-top: 1rem;
    }

    .access-options {
        grid-template-columns: 1fr;
    }

    .access-option {
        gap: .7rem;
        min-height: 164px;
        padding: 1rem;
    }

    .two-factor-code {
        gap: .32rem;
    }

    .two-factor-digit {
        font-size: 1.05rem;
        height: 44px;
    }
}

.panel-body {
    min-height: 100vh;
    background: var(--bg);
}

.panel-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: var(--sidebar-width) 1fr;
    transition: grid-template-columns .18s ease;
}

.sidebar {
    background: var(--sidebar);
    background-color: var(--sidebar);
    color: #fff;
    padding: 1.25rem;
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
}

.sidebar.offcanvas-md {
    background: var(--sidebar) !important;
    background-color: var(--sidebar) !important;
    color: #fff;
}

.sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1.5rem;
}

.brand {
    display: flex;
    align-items: center;
    gap: .85rem;
    color: #fff;
    text-decoration: none;
    min-width: 0;
}

.brand > span:last-child {
    min-width: 0;
}

.brand small {
    display: block;
    color: #aeb7c8;
    font-size: .8rem;
}

.brand-mark {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    background: #2b63ff;
}

.sidebar-toggle {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: #c8d0df;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.04);
    border-radius: 8px;
}

.sidebar-toggle:hover {
    color: #fff;
    border-color: rgba(255,255,255,.24);
    background: rgba(255,255,255,.09);
}

.sidebar-nav {
    gap: .25rem;
}

.sidebar-nav .nav-link {
    display: flex;
    align-items: center;
    gap: .75rem;
    color: #c8d0df;
    border-radius: 8px;
    padding: .75rem .85rem;
}

.sidebar-nav .nav-link i {
    flex: 0 0 auto;
    width: 1.25rem;
    text-align: center;
}

.sidebar-nav .nav-link span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-nav .nav-link:hover,
.sidebar-nav .nav-link.active {
    background: #242b38;
    color: #fff;
}

.sidebar-footer {
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid rgba(255,255,255,.12);
}

.footer-logout{
	color:#c8d0df !important;
}

@media (min-width: 761px) {
    html.sidebar-collapsed .panel-shell {
        grid-template-columns: var(--sidebar-collapsed-width) 1fr;
    }

    html.sidebar-collapsed .sidebar {
        align-items: center;
        padding-inline: 1rem;
    }

    html.sidebar-collapsed .sidebar-header {
        flex-direction: column;
        width: 100%;
        gap: .65rem;
    }

    html.sidebar-collapsed .brand {
        justify-content: center;
    }

    html.sidebar-collapsed .brand > span:not(.brand-mark),
    html.sidebar-collapsed .sidebar-nav span,
    html.sidebar-collapsed .footer-login-who,
	html.sidebar-collapsed .footer-name,
	html.sidebar-collapsed .footer-role{
        display: none;
    }

    html.sidebar-collapsed .sidebar-toggle i {
        transform: rotate(180deg);
    }

    html.sidebar-collapsed .sidebar-nav {
        width: 100%;
        align-items: center;
    }

    html.sidebar-collapsed .sidebar-nav .nav-link {
        justify-content: center;
        width: 52px;
        height: 44px;
        padding: 0;
    }

    html.sidebar-collapsed .sidebar-nav .nav-link.active::after {
        display: none;
    }

    html.sidebar-collapsed .sidebar-footer {
        align-items: center;
        display: flex;
        flex-direction: column;
        gap: .55rem;
        padding: .65rem .5rem;
        width: 100%;
    }

    html.sidebar-collapsed .sidebar-user {
        justify-content: center;
        position: relative;
        width: 100%;
    }

    html.sidebar-collapsed .sidebar-user > i {
        bottom: 0;
        margin-left: 0;
        position: absolute;
        right: 7px;
    }

    html.sidebar-collapsed .sidebar-footer form {
        margin-top: 0 !important;
        width: 100%;
    }

    html.sidebar-collapsed .footer-logout {
        align-items: center;
        display: inline-flex;
        height: 34px;
        justify-content: center;
        padding: 0;
    }

    html.sidebar-collapsed .footer-logout span {
        display: none;
    }
}

.panel-main {
    min-width: 0;
}

.topbar {
    min-height: 78px;
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: rgba(245, 247, 251, .92);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 10;
}

.topbar h1 {
    font-size: 1.45rem;
    margin: 0;
    letter-spacing: 0;
}

.topbar-title {
    align-items: center;
    display: flex;
    gap: .75rem;
    min-width: 0;
}

.topbar-actions {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.content {
    padding: 1.5rem;
}

.health-list {
    display: grid;
    gap: .6rem;
}

.health-item {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    display: flex;
    gap: .75rem;
    padding: .75rem;
    text-decoration: none;
}

.health-item:hover {
    border-color: rgba(36, 84, 214, .35);
    background: #f8fbff;
    color: var(--ink);
}

.health-item > span {
    align-items: center;
    background: #eef4ff;
    border-radius: 8px;
    color: var(--primary);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.health-item.success > span {
    background: #eaf7f2;
    color: var(--primary-2);
}

.health-item.warning > span {
    background: #fff6e7;
    color: var(--warning);
}

.health-item.danger > span {
    background: #fff1f0;
    color: #c24135;
}

.health-item strong {
    display: block;
    font-size: 1.05rem;
}

.health-item small {
    color: var(--muted);
}

/* RCP command-center shell */
.panel-body {
    background: var(--rcp-shell-background, radial-gradient(circle at 22% -10%, rgba(42, 98, 255, .18), transparent 32rem), #030815);
    color: var(--rcp-content-color, #eaf1ff);
}

.panel-shell {
    grid-template-columns: 224px minmax(0, 1fr);
    background: var(--rcp-shell-surface, #030815);
}

.sidebar {
    background: var(--rcp-sidebar-surface, radial-gradient(circle at 15% 5%, rgba(59, 130, 246, .2), transparent 17rem), linear-gradient(180deg, #06142c 0%, #071932 50%, #041020 100%));
    border-right: 1px solid var(--rcp-sidebar-border, rgba(65, 117, 196, .26));
    overflow-x: hidden;
    padding: 1rem .75rem;
}

.sidebar.offcanvas-md {
    background: var(--rcp-sidebar-surface, radial-gradient(circle at 15% 5%, rgba(59, 130, 246, .2), transparent 17rem), linear-gradient(180deg, #06142c 0%, #071932 50%, #041020 100%)) !important;
}

.sidebar-header {
    margin-bottom: 1.1rem;
}

.brand {
    gap: .62rem;
}

.brand-mark {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: var(--rcp-accent-soft);
    border: 3px solid var(--rcp-accent-line);
    color: var(--rcp-accent);
    font-size: 1.35rem;
}

.brand strong {
    color: var(--rcp-heading-color);
    display: block;
    font-size: 1.22rem;
    line-height: 1.05;
}

.brand small {
    color: var(--rcp-muted-color);
    font-size: .72rem;
    line-height: 1.15;
}

.sidebar-toggle {
    background: var(--rcp-overlay-surface);
    border-color: var(--rcp-overlay-border);
    color: var(--rcp-muted-color);
}

.sidebar-nav {
    gap: .28rem;
    min-width: 0;
    width: 100%;
}

.sidebar-nav .nav-link {
    border: 1px solid transparent;
    color: var(--rcp-content-color);
    font-size: .88rem;
    font-weight: 500;
    min-width: 0;
    padding: .58rem .65rem;
    position: relative;
    width: 100%;
}

/* Odświeżenie wyglądu: płynne przejścia na elementach interaktywnych zamiast skokowej zmiany hover/focus. */
.btn,
.nav-link,
.panel-section,
.command-stat,
.command-panel,
.form-control,
.form-select,
.table tbody tr {
    transition: background-color .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.sidebar-nav .nav-link i {
    color: var(--rcp-muted-color);
    font-size: 1rem;
    width: 1.12rem;
}

.sidebar-nav .nav-link:hover {
    background: var(--rcp-accent-soft);
    border-color: var(--rcp-accent-line);
    color: var(--rcp-heading-color);
}

.sidebar-nav .nav-link.active {
    background: linear-gradient(135deg, var(--rcp-accent), var(--rcp-accent-strong));
    border-color: var(--rcp-accent-line);
    box-shadow: 0 10px 20px var(--rcp-accent-soft), inset 0 1px 0 rgba(255, 255, 255, .14);
    color: #fff;
}

.sidebar-nav .nav-link.active::after {
    content: "\203A";
    font-size: 1.05rem;
    line-height: 1;
    margin-left: auto;
}

.sidebar-footer {
    background: transparent;
    border: 0;
    border-radius: 0;
    margin-top: auto;
    padding: .75rem .25rem 0;
}

.sidebar-user,
.topbar-user {
    align-items: center;
    display: flex;
    gap: .65rem;
    min-width: 0;
}

.sidebar-user > span:nth-child(2),
.topbar-user strong {
    min-width: 0;
}

.sidebar-user strong,
.sidebar-user small {
    display: block;
}

.sidebar-user small {
    color: var(--rcp-muted-color);
    font-size: .78rem;
}

.sidebar-user > i {
    color: #38df8a;
    font-size: .55rem;
    margin-left: auto;
}

.sidebar-avatar {
    align-items: center;
    background: linear-gradient(135deg, var(--rcp-accent), var(--rcp-accent-strong));
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .84rem;
    font-weight: 700;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.footer-logout {
    border-color: var(--rcp-overlay-border) !important;
    color: var(--rcp-content-color) !important;
    justify-content: flex-start;
    padding-inline: .65rem;
    text-align: left;
}

.footer-logout span {
    margin-left: .35rem;
}

.panel-main {
    background: var(--rcp-main-surface, radial-gradient(circle at 55% -15%, rgba(68, 104, 255, .16), transparent 30rem), #061124);
    border: 1px solid var(--rcp-main-border, rgba(67, 105, 168, .34));
    border-left: 0;
    border-radius: 0 8px 8px 0;
    margin: 0;
    overflow: hidden;
}

.topbar {
    background: var(--rcp-topbar-surface, rgba(5, 15, 34, .86));
    border-bottom: 1px solid var(--rcp-topbar-border, rgba(87, 124, 185, .22));
    color: var(--rcp-heading-color, #fff);
    min-height: 82px;
    padding: 1rem 1.35rem;
    position: sticky;
}

.topbar h1 {
    color: var(--rcp-heading-color, #fff);
    font-size: var(--rcp-fs-xl);
    font-weight: 700;
    letter-spacing: -.01em;
}

.topbar .text-secondary {
    color: var(--rcp-muted-color) !important;
}

.topbar-search {
    align-items: center;
    background: var(--rcp-overlay-surface, rgba(255, 255, 255, .06));
    border: 1px solid var(--rcp-overlay-border, rgba(116, 154, 216, .22));
    border-radius: 8px;
    color: var(--rcp-muted-color);
    flex: 0 1 460px;
    gap: .65rem;
    min-height: 46px;
    padding: 0 .85rem;
}

.topbar-search input {
    background: transparent;
    border: 0;
    color: var(--rcp-content-color);
    flex: 1 1 auto;
    min-width: 0;
    outline: 0;
}

.topbar-search input::placeholder {
    color: var(--rcp-placeholder-color);
}

.topbar-search kbd {
    background: var(--rcp-control-surface);
    border: 1px solid var(--rcp-control-border);
    color: var(--rcp-content-color);
    font-size: .72rem;
    padding: .18rem .42rem;
}

.topbar-install {
    background: linear-gradient(135deg, var(--rcp-accent), var(--rcp-accent-strong));
    border-color: var(--rcp-accent-line);
    box-shadow: 0 10px 26px var(--rcp-accent-soft);
    min-height: 42px;
    padding-inline: 1.15rem;
}

.topbar-terminal {
    background: var(--rcp-overlay-surface, rgba(255, 255, 255, .06));
    border-color: var(--rcp-overlay-border, rgba(116, 154, 216, .22));
    color: var(--rcp-content-color);
    min-height: 42px;
    padding-inline: 1.1rem;
}

.topbar-bell {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: var(--rcp-content-color);
    height: 42px;
    justify-content: center;
    position: relative;
    text-decoration: none;
    width: 42px;
}

.notification-menu {
    min-width: 360px;
    overflow: hidden;
}

.notification-menu-head {
    align-items: center;
    border-bottom: 1px solid var(--rcp-control-border);
    display: flex;
    justify-content: space-between;
    padding: .85rem 1rem;
}

.notification-menu-head strong { color: var(--rcp-heading-color); font-size: .92rem; }
.notification-menu-head small { color: var(--rcp-muted-color); font-size: .76rem; }
.notification-menu-list { max-height: min(440px, 65vh); overflow-y: auto; }

.notification-item {
    align-items: flex-start;
    border-bottom: 1px solid var(--rcp-table-row-border);
    display: flex;
    gap: .45rem;
    padding: .75rem .7rem .75rem .9rem;
}

.notification-item:last-child { border-bottom: 0; }
.notification-item > a { align-items: flex-start; color: var(--rcp-content-color); display: flex; flex: 1 1 auto; gap: .65rem; min-width: 0; text-decoration: none; }
.notification-item > a > i { font-size: 1rem; margin-top: .1rem; }
.notification-item > a > span { min-width: 0; }
.notification-item strong, .notification-item small { display: block; }
.notification-item strong { font-size: .82rem; font-weight: 650; }
.notification-item small { color: var(--rcp-muted-color); font-size: .75rem; line-height: 1.35; margin-top: .15rem; }
.notification-item form { flex: 0 0 auto; }
.notification-item form .btn { color: var(--rcp-muted-color); padding: .1rem .3rem; }
.notification-warning > a > i { color: #fbbf24; }
.notification-danger > a > i { color: #fb7185; }
.notification-info > a > i { color: #60a5fa; }
.notification-read { opacity: .55; }
.notification-item.notification-unread strong { font-weight: 750; }
.notification-item.notification-unread > a > i { color: var(--rcp-accent-color, #60a5fa); }
.notification-empty { color: var(--rcp-muted-color); font-size: .82rem; padding: 1.1rem 1rem; text-align: center; }
.notification-empty i { color: var(--cmd-green, #35df8a); margin-right: .35rem; }

.employee-table-row { cursor: pointer; }
.employee-table-row:focus-visible { outline: 2px solid var(--rcp-accent, #4d77ff); outline-offset: -2px; }
.employee-table-row:hover > * { background: var(--rcp-table-hover) !important; }
.employee-department-list { display: grid; gap: .8rem; }
.employee-department-group { border: 1px solid var(--rcp-control-border); border-radius: 8px; overflow: hidden; }
.employee-department-head { align-items: center; background: var(--rcp-control-surface); border: 0; color: var(--rcp-content-color); display: flex; gap: 1rem; justify-content: space-between; padding: .75rem .9rem; text-align: left; width: 100%; }
.employee-department-head > span { align-items: center; display: inline-flex; gap: .55rem; min-width: 0; }
.employee-department-head strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.employee-department-head small { color: var(--rcp-muted-color); flex: 0 0 auto; }
.employee-department-head i { color: var(--rcp-accent, #4d77ff); transition: transform .16s ease; }
.employee-department-head[aria-expanded="false"] i { transform: rotate(-90deg); }
.employee-department-group .table-responsive { border-radius: 0; }
.employee-department-group .employees-table { margin-bottom: 0; }
.employees-table-compact { table-layout: fixed; width: 100%; }
.employees-table-compact .employees-col-person { width: 21%; }
.employees-table-compact .employees-col-department { width: 10%; }
.employees-table-compact .employees-col-position { width: 16%; }
.employees-table-compact .employees-col-schedule { width: 14%; }
.employees-table-compact .employees-col-employment { width: 11%; }
.employees-table-compact .employees-col-card { width: 10%; }
.employees-table-compact .employees-col-status { width: 9%; }
.employees-table-compact > :not(caption) > * > * { padding: .82rem .7rem; vertical-align: middle; }
.employees-table-compact thead th { font-size: .7rem; letter-spacing: 0; white-space: nowrap; }
.employees-table-compact tbody td { overflow-wrap: anywhere; }
.employees-table-compact .employee-table-person { align-items: center; display: flex; gap: .7rem; min-width: 0; }
.employees-table-compact .employee-table-avatar { flex: 0 0 auto; }
.employees-table-compact .employee-table-person .fw-semibold { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.employees-table-compact .table-actions { white-space: nowrap; }

@media (max-width: 1199.98px) {
    .employees-table-compact { min-width: 980px; table-layout: auto; }
    .employees-table-compact > :not(caption) > * > * { padding: .75rem .7rem; }
}

.employee-profile-offcanvas { --bs-offcanvas-width: min(650px, 100vw); background: var(--rcp-panel-surface); border-left: 1px solid var(--rcp-panel-border); color: var(--rcp-content-color); width: var(--bs-offcanvas-width); }
.employee-profile-offcanvas .offcanvas-header { border-bottom: 1px solid var(--rcp-control-border); padding: 1rem 1.1rem; }
.employee-profile-offcanvas .offcanvas-body { padding: 1.1rem; }
.employee-profile-loading { align-items: center; color: var(--rcp-muted-color); display: flex; gap: .6rem; justify-content: center; min-height: 180px; text-align: center; }
.employee-profile-head { align-items: center; display: flex; gap: .85rem; padding: .15rem .1rem 1.15rem; }
.employee-profile-avatar { align-items: center; background: linear-gradient(135deg, var(--rcp-accent), var(--rcp-accent-strong)); border: 2px solid var(--rcp-accent-line); border-radius: 999px; color: #fff; display: inline-flex; flex: 0 0 auto; font-size: 1rem; font-weight: 700; height: 58px; justify-content: center; width: 58px; }
.employee-profile-head h3 { color: var(--rcp-heading-color); font-size: 1rem; margin: 0; }
.employee-profile-head small { color: var(--rcp-muted-color); display: block; font-size: .75rem; margin-top: .26rem; }
.employee-profile-status { display: block; font-size: .78rem; margin-top: .18rem; }
.employee-profile-status i { font-size: .48rem; margin-right: .22rem; }
.employee-profile-tabs { border-bottom-color: var(--rcp-control-border); }
.employee-profile-tabs .nav-link { background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--rcp-muted-color); font-size: .78rem; padding: .55rem .65rem; }
.employee-profile-tabs .nav-link.active { background: transparent; border-bottom-color: var(--rcp-accent, #4d77ff); color: var(--rcp-heading-color); }
.employee-profile-card { background: var(--rcp-control-surface); border: 1px solid var(--rcp-control-border); border-radius: 8px; margin-bottom: .8rem; padding: .95rem; }
.employee-profile-card h4 { color: var(--rcp-heading-color); font-size: .83rem; margin: 0 0 .8rem; }
.employee-profile-details { display: grid; gap: .72rem; margin: 0; }
.employee-profile-details > div { align-items: start; display: grid; gap: .8rem; grid-template-columns: minmax(92px, .75fr) minmax(0, 1.25fr); }
.employee-profile-details dt { color: var(--rcp-muted-color); font-size: .74rem; font-weight: 400; }
.employee-profile-details dd { color: var(--rcp-content-color); font-size: .78rem; font-weight: 650; margin: 0; text-align: right; }
.employee-profile-details dd small { color: var(--rcp-muted-color); display: block; font-size: .7rem; font-weight: 400; margin-top: .15rem; }
.employee-profile-card .btn { font-size: .78rem; text-align: left; }
.employee-profile-metrics { display: grid; gap: .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.employee-profile-metrics > div { background: var(--rcp-overlay-surface); border: 1px solid var(--rcp-overlay-border); border-radius: 8px; padding: .8rem; }
.employee-profile-metrics small { color: var(--rcp-muted-color); display: block; font-size: .72rem; }
.employee-profile-metrics strong { color: var(--rcp-heading-color); display: block; font-size: .96rem; margin-top: .28rem; }
.employee-profile-history { display: grid; }
.employee-profile-history > div { border-bottom: 1px solid var(--rcp-table-row-border); display: grid; gap: .3rem .6rem; grid-template-columns: 74px minmax(0, 1fr); padding: .72rem 0; }
.employee-profile-history > div:last-child { border-bottom: 0; }
.employee-profile-history span { color: var(--rcp-muted-color); font-size: .72rem; }
.employee-profile-history strong { color: var(--rcp-content-color); font-size: .78rem; }
.employee-profile-history small { color: var(--rcp-muted-color); font-size: .72rem; grid-column: 2; }
.employee-profile-schedule-current strong { color: var(--rcp-heading-color); display: block; font-size: .9rem; }
.employee-profile-schedule-current small { color: var(--rcp-muted-color); display: block; font-size: .75rem; margin-top: .28rem; }
.employee-profile-schedule-days,
.employee-profile-schedule-history { display: grid; }
.employee-profile-schedule-days > div,
.employee-profile-schedule-history > div { align-items: center; border-bottom: 1px solid var(--rcp-table-row-border); display: flex; gap: .75rem; justify-content: space-between; padding: .58rem 0; }
.employee-profile-schedule-days > div:last-child,
.employee-profile-schedule-history > div:last-child { border-bottom: 0; }
.employee-profile-schedule-days span,
.employee-profile-schedule-history small { color: var(--rcp-muted-color); font-size: .73rem; }
.employee-profile-schedule-days strong,
.employee-profile-schedule-history strong { color: var(--rcp-content-color); font-size: .78rem; text-align: right; }
.employee-profile-schedule-history > div { align-items: flex-start; flex-direction: column; gap: .18rem; }
.employee-profile-month-tabs { gap: .35rem; }
.employee-profile-month-tabs .nav-link { font-size: .72rem; padding: .45rem .3rem; white-space: nowrap; }
.employee-profile-calendar { display: grid; gap: .28rem; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.employee-profile-calendar-heading { color: var(--rcp-muted-color); font-size: .62rem; padding-bottom: .08rem; text-align: center; }
.employee-profile-calendar-blank { min-height: 51px; }
.employee-profile-calendar-day { background: var(--rcp-overlay-surface); border: 1px solid var(--rcp-overlay-border); border-radius: 6px; display: flex; flex-direction: column; gap: .18rem; min-height: 51px; padding: .35rem .22rem; }
.employee-profile-calendar-day > span { color: var(--rcp-muted-color); font-size: .64rem; line-height: 1; }
.employee-profile-calendar-day > strong { color: var(--rcp-content-color); font-size: .57rem; font-weight: 650; line-height: 1.15; overflow-wrap: anywhere; }
.employee-profile-calendar-day > small { color: var(--rcp-muted-color); font-size: .54rem; line-height: 1.1; overflow-wrap: anywhere; }
.employee-profile-calendar-day.is-day-off { opacity: .62; }
.employee-profile-calendar-day.is-day-off > strong { color: var(--rcp-muted-color); }
.employee-profile-calendar-day.is-today { border-color: var(--rcp-accent, #4d77ff); box-shadow: 0 0 0 1px var(--rcp-accent-soft); }
.monthly-day-site { color: var(--rcp-muted-color); display: block; font-size: .63rem; line-height: 1.2; margin-top: .25rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Grafik pracownika: kalendarz miesięczny (większe komórki niż mini-widok HR w profilu, bo to główna strona).
   Hierarchia: duża data na górze, typ dnia jako kolorowa plakietka (nieobecności) albo przyciszone godziny
   (dni pracy) — kolor typu dodatkowo sygnalizowany paskiem z lewej, żeby był czytelny nawet z daleka. */
.schedule-calendar { display: grid; gap: .55rem; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.schedule-calendar-heading { color: var(--rcp-muted-color); font-size: .72rem; font-weight: 600; padding-bottom: .3rem; text-align: center; text-transform: uppercase; }
.schedule-calendar-blank { min-height: 92px; }
.schedule-calendar-day {
    background: var(--rcp-overlay-surface);
    border: 1px solid var(--rcp-overlay-border);
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: .4rem;
    min-height: 92px;
    padding: .65rem .7rem .65rem .8rem;
    position: relative;
}
.schedule-calendar-day::before {
    background: var(--schedule-day-accent, var(--rcp-overlay-border));
    border-radius: 12px 0 0 12px;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    top: 0;
    width: 4px;
}
.schedule-calendar-day:hover { border-color: var(--schedule-day-accent, var(--rcp-accent-line)); }
.schedule-calendar-day .schedule-calendar-date { color: var(--rcp-heading-color); font-size: 1.1rem; font-weight: 700; line-height: 1; }
.schedule-calendar-day .schedule-calendar-hours { color: var(--rcp-muted-color); font-size: .72rem; font-weight: 500; }
.schedule-calendar-day .schedule-calendar-badge { background: var(--schedule-day-tint, var(--rcp-control-surface)); border-radius: 999px; color: var(--schedule-day-accent, var(--rcp-muted-color)); font-size: .64rem; font-weight: 700; padding: .2rem .55rem; width: fit-content; }
.schedule-calendar-day > small { color: var(--rcp-muted-color); font-size: .66rem; line-height: 1.15; overflow-wrap: anywhere; }
.schedule-calendar-day.is-today { box-shadow: 0 0 0 2px var(--rcp-accent-soft); }
.schedule-calendar-day.is-today .schedule-calendar-date { color: var(--rcp-accent); }
.schedule-calendar-day.type-work { --schedule-day-accent: var(--rcp-accent); }
.schedule-calendar-day.type-day_off { --schedule-day-accent: var(--bs-secondary); --schedule-day-tint: rgba(var(--bs-secondary-rgb), .18); }
.schedule-calendar-day.type-sick_leave { --schedule-day-accent: var(--bs-danger); --schedule-day-tint: rgba(var(--bs-danger-rgb), .18); }
.schedule-calendar-day.type-leave { --schedule-day-accent: var(--bs-success); --schedule-day-tint: rgba(var(--bs-success-rgb), .18); }
.schedule-calendar-day.type-leave_on_demand { --schedule-day-accent: var(--bs-warning); --schedule-day-tint: rgba(var(--bs-warning-rgb), .2); }
.schedule-calendar-day.type-time_off { --schedule-day-accent: var(--bs-info); --schedule-day-tint: rgba(var(--bs-info-rgb), .18); }
.schedule-calendar-day.type-care_leave { --schedule-day-accent: var(--bs-info); --schedule-day-tint: rgba(var(--bs-info-rgb), .18); }
.schedule-calendar-day.type-unpaid_leave { --schedule-day-accent: var(--bs-secondary); --schedule-day-tint: rgba(var(--bs-secondary-rgb), .18); }
.schedule-calendar-day.type-other_excused { --schedule-day-accent: var(--bs-primary); --schedule-day-tint: rgba(var(--bs-primary-rgb), .16); }

@media (max-width: 575.98px) {
    .schedule-calendar-day, .schedule-calendar-blank { min-height: 72px; padding: .5rem .55rem .5rem .65rem; }
    .schedule-calendar-day .schedule-calendar-date { font-size: .95rem; }
    .schedule-calendar-day .schedule-calendar-badge, .schedule-calendar-day .schedule-calendar-hours { font-size: .6rem; }
}

@media (max-width: 575.98px) {
    .employee-profile-tabs { flex-wrap: nowrap; overflow-x: auto; }
    .employee-profile-tabs .nav-link { white-space: nowrap; }
    .employee-profile-offcanvas .offcanvas-body { padding: .9rem; }
}

.two-factor-qr-panel {
    align-items: center;
    background: var(--rcp-control-surface);
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    display: flex;
    gap: .9rem;
    padding: .85rem;
}

.two-factor-qr-panel [data-two-factor-qr] {
    align-items: center;
    background: #fff;
    border-radius: 6px;
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
    min-height: 120px;
    min-width: 120px;
    padding: .45rem;
}

.two-factor-qr-panel [data-two-factor-qr]:empty {
    display: none;
}

.two-factor-qr-panel svg {
    display: block;
    height: 120px;
    width: 120px;
}

.two-factor-qr-panel small {
    color: var(--rcp-muted-color);
    line-height: 1.45;
}

.employee-summary-card {
    align-items: center;
    display: flex;
    gap: .9rem;
    min-height: 104px;
    padding: 1rem;
}

.employee-summary-icon {
    align-items: center;
    background: var(--rcp-accent-soft);
    border: 1px solid var(--rcp-accent-line);
    border-radius: 8px;
    color: var(--rcp-accent);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.25rem;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.employee-summary-card small {
    color: var(--rcp-muted-color);
    display: block;
    font-size: .82rem;
}

.employee-summary-card strong {
    color: var(--rcp-heading-color);
    display: block;
    font-size: 1.55rem;
    line-height: 1.1;
}

.system-action-card {
    padding: 1rem;
}

.objects-page { min-width: 0; overflow-x: hidden; }
.objects-map { aspect-ratio: 16 / 7; background-color: var(--rcp-main-surface); background-image: linear-gradient(var(--rcp-table-row-border) 1px, transparent 1px), linear-gradient(90deg, var(--rcp-table-row-border) 1px, transparent 1px), radial-gradient(circle at 74% 16%, var(--rcp-accent-soft), transparent 24rem); background-size: clamp(24px, 2.1vw, 34px) clamp(24px, 2.1vw, 34px), clamp(24px, 2.1vw, 34px) clamp(24px, 2.1vw, 34px), auto; border: 1px solid var(--rcp-accent-line); border-radius: 8px; height: clamp(460px, 42vw, 620px); max-height: calc(100vh - 180px); min-height: 420px; overflow: hidden; position: relative; width: 100%; }
.objects-map-grid { inset: 0; pointer-events: none; position: absolute; }
.objects-map-selection { background: var(--rcp-accent-soft); border: 1px dashed var(--rcp-accent-line); border-radius: 4px; display: none; pointer-events: none; position: absolute; z-index: 0; }
.objects-map.is-selecting { cursor: crosshair; }
.objects-map.is-selecting .objects-map-selection { display: block; }
.objects-map-title { color: var(--rcp-heading-color); font-size: .82rem; left: 1rem; position: absolute; top: 1rem; z-index: 2; }
.objects-map-title i { color: var(--rcp-accent); margin-right: .4rem; }
.objects-map-title small { color: var(--rcp-muted-color); font-size: .68rem; margin-left: .35rem; }
.objects-map-links { height: 100%; inset: 0; overflow: visible; pointer-events: none; position: absolute; width: 100%; }
.objects-map-links line { stroke: var(--rcp-accent-line); stroke-width: 2; }
.objects-map-pin { align-items: center; background: var(--rcp-panel-surface); border: 1px solid var(--rcp-panel-border); border-radius: 8px; box-shadow: var(--rcp-panel-shadow); color: var(--rcp-content-color); display: grid; gap: .14rem .48rem; grid-template-columns: clamp(30px, 2.45vw, 38px) minmax(0, 1fr); inline-size: clamp(156px, 12.8vw, 205px); max-inline-size: min(205px, calc(100vw - 2rem)); padding: clamp(.46rem, .55vw, .6rem) clamp(.52rem, .7vw, .72rem); position: absolute; text-align: left; transform: translate(-50%, -50%); transition: border-color .16s ease, box-shadow .16s ease; z-index: 1; }
.objects-map-pin > span { align-items: center; background: var(--rcp-accent-soft); border: 1px solid var(--rcp-accent-line); border-radius: 999px; color: var(--rcp-accent); display: inline-flex; font-size: clamp(.82rem, .8vw, 1rem); grid-row: 1 / span 3; height: clamp(30px, 2.45vw, 38px); justify-content: center; width: clamp(30px, 2.45vw, 38px); }
.objects-map-pin.is-root { background: var(--rcp-menu-surface, var(--rcp-panel-surface)); border-color: var(--rcp-accent-line); }
.objects-map-pin.is-root > span { background: var(--rcp-accent-soft); border-color: var(--rcp-accent-line); color: var(--rcp-accent); }
.objects-map-pin strong { color: var(--rcp-heading-color); font-size: clamp(.68rem, .64vw, .8rem); line-height: 1.12; overflow-wrap: anywhere; }
.objects-map-pin small { color: var(--rcp-muted-color); font-size: clamp(.58rem, .54vw, .65rem); line-height: 1.15; }
.objects-map-pin em { color: var(--rcp-accent); font-size: clamp(.54rem, .52vw, .62rem); font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.objects-map-pin em i { margin-right: .18rem; }
.objects-map-pin.is-movable { cursor: grab; touch-action: none; }
.objects-map-pin.is-movable:hover { border-color: var(--rcp-accent); box-shadow: 0 0 0 3px var(--rcp-accent-soft), var(--rcp-panel-shadow); }
.objects-map-pin.is-selected { border-color: var(--rcp-accent); box-shadow: 0 0 0 3px var(--rcp-accent-soft), var(--rcp-panel-shadow); z-index: 2; }
.objects-map-pin.is-dragging { cursor: grabbing; transition: none; z-index: 5; }
.object-terminal-picker { border: 1px solid var(--rcp-control-border); border-radius: 6px; display: grid; max-height: 190px; overflow-y: auto; }
.object-terminal-option { align-items: center; border-bottom: 1px solid var(--rcp-table-row-border); cursor: pointer; display: grid; gap: .6rem; grid-template-columns: auto minmax(0, 1fr) auto; margin: 0; padding: .6rem .7rem; }
.object-terminal-option:last-child { border-bottom: 0; }
.object-terminal-option:hover { background: var(--rcp-table-hover); }
.object-terminal-option strong, .object-terminal-option small { display: block; }
.object-terminal-option strong { color: var(--rcp-heading-color); font-size: .78rem; }
.object-terminal-option small, .object-terminal-option em { color: var(--rcp-muted-color); font-size: .7rem; font-style: normal; }
.object-terminal-option.is-inactive { opacity: .62; }
.object-terminal-option.is-assigned { cursor: not-allowed; opacity: .52; }
.object-terminal-option.is-assigned:hover { background: transparent; }
@media (max-width: 1199.98px) { .objects-map { height: clamp(430px, 58vw, 600px); max-height: none; } }
@media (max-width: 767.98px) { .objects-page { max-width: 100%; overflow: auto; padding-bottom: .35rem; -webkit-overflow-scrolling: touch; } .objects-map { aspect-ratio: auto; height: 560px; max-height: none; min-height: 0; min-width: 860px; width: 860px; } .objects-map-title small { display: none; } .objects-map-pin { grid-template-columns: 34px minmax(0, 1fr); inline-size: 174px; padding: .5rem .55rem; } .objects-map-pin > span { height: 34px; width: 34px; } .objects-map-pin em { display: block; } }

.topbar-bell span {
    align-items: center;
    background: var(--rcp-accent);
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .64rem;
    height: 16px;
    justify-content: center;
    position: absolute;
    right: 5px;
    top: 3px;
    width: 16px;
}

.topbar-user {
    background: var(--rcp-overlay-surface);
    border: 1px solid var(--rcp-overlay-border);
    border-radius: 8px;
    min-height: 46px;
    padding: .3rem .7rem .3rem .35rem;
}

.topbar-user strong {
    color: var(--rcp-heading-color);
    font-size: .9rem;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.content {
    background: transparent;
    padding: 1.2rem;
}

.panel-alert,
.alert {
    border-radius: 8px;
}

.dashboard-command {
    --cmd-bg: var(--rcp-main-surface);
    --cmd-panel: var(--rcp-panel-surface);
    --cmd-panel-2: var(--rcp-control-surface);
    --cmd-line: var(--rcp-panel-border);
    --cmd-ink: var(--rcp-content-color);
    --cmd-muted: var(--rcp-muted-color);
    --cmd-blue: var(--rcp-accent);
    --cmd-green: #35df8a;
    --cmd-orange: #ff8b32;
    --cmd-cyan: #26c6f2;
    color: var(--cmd-ink);
    margin: 0;
    min-height: auto;
    padding: 0;
    background: transparent;
}

.dashboard-command h2,
.dashboard-command h3 {
    letter-spacing: -.01em;
}

.dashboard-command p {
    letter-spacing: 0;
}

.dashboard-command h2 {
    color: var(--rcp-heading-color);
    font-size: 1.7rem;
    font-weight: 650;
}

.dashboard-command h3 {
    color: var(--rcp-heading-color);
    font-size: var(--rcp-fs-md);
    font-weight: 650;
    margin: 0;
}

.dashboard-command p {
    color: var(--cmd-muted);
    font-size: .88rem;
    margin: .15rem 0 0;
}

.dashboard-command .btn-outline-light,
.dashboard-command .btn-outline-info {
    --bs-btn-color: var(--rcp-content-color);
    --bs-btn-border-color: var(--rcp-control-border);
    --bs-btn-hover-bg: var(--rcp-accent-soft);
    --bs-btn-hover-border-color: var(--rcp-accent-line);
}

.dashboard-command .btn {
    white-space: nowrap;
}

.command-stat,
.command-panel {
    border-radius: 12px;
    border: 1px solid var(--rcp-panel-border);
    background: var(--rcp-panel-surface);
    box-shadow: var(--rcp-panel-shadow);
}

/* Pasek "Wymaga Twojej uwagi" — przypięty nad przeciąganymi kartami, zawsze widoczny. */
.command-attention {
    background: var(--rcp-panel-surface);
    border: 1px solid var(--rcp-panel-border);
    border-left: 4px solid var(--bs-warning);
    border-radius: 12px;
    box-shadow: var(--rcp-panel-shadow);
    padding: 1.1rem 1.25rem;
}
.command-attention-head { align-items: center; display: flex; gap: .6rem; justify-content: space-between; margin-bottom: .8rem; }
.command-attention-head h2 { color: var(--rcp-heading-color); font-size: 1rem; font-weight: 700; margin: 0; }
.command-attention-head h2 i { color: var(--bs-warning); margin-right: .4rem; }
.command-attention-items { display: flex; flex-wrap: wrap; gap: .6rem; }
.command-attention-item {
    align-items: center;
    background: rgba(var(--bs-warning-rgb), .12);
    border: 1px solid rgba(var(--bs-warning-rgb), .32);
    border-radius: 999px;
    color: var(--rcp-content-color);
    display: inline-flex;
    gap: .5rem;
    padding: .45rem .9rem;
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease;
}
.command-attention-item:hover { background: rgba(var(--bs-warning-rgb), .2); color: var(--rcp-heading-color); }
.command-attention-item i { color: var(--bs-warning); }
.command-attention-item strong { color: var(--rcp-heading-color); font-weight: 700; }
.command-attention-item span { color: var(--rcp-muted-color); font-size: .85rem; }
.command-attention-empty { align-items: center; color: var(--rcp-muted-color); display: flex; gap: .5rem; }
.command-attention-empty i { color: var(--bs-success); font-size: 1.1rem; }

.command-stat {
    color: var(--cmd-ink);
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-rows: auto auto auto 1fr auto;
    column-gap: .9rem;
    min-height: 158px;
    padding: 1.05rem;
    position: relative;
    text-decoration: none;
}

.command-stat:hover,
.command-panel a:hover {
    color: var(--rcp-heading-color);
}

.command-stat-icon {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    grid-column: 1;
    grid-row: 1 / 4;
    height: 42px;
    justify-content: center;
    margin-bottom: 0;
    width: 42px;
    font-size: 1.25rem;
}

.command-stat-label {
    color: var(--rcp-content-color);
    display: block;
    font-size: .88rem;
    grid-column: 2;
    grid-row: 1;
}

.command-stat strong {
    color: var(--rcp-heading-color);
    display: block;
    font-size: 1.75rem;
    font-weight: 650;
    grid-column: 2;
    grid-row: 2;
    margin-top: .3rem;
}

.command-stat small {
    color: var(--cmd-muted);
    display: block;
    font-size: .78rem;
    grid-column: 2;
    grid-row: 3;
    margin-top: .15rem;
}

.command-stat-trend {
    align-items: center;
    border-radius: 6px;
    bottom: 1rem;
    display: inline-flex;
    font-size: .75rem;
    font-weight: 650;
    gap: .3rem;
    grid-column: 1 / -1;
    grid-row: 5;
    left: 1rem;
    padding: .32rem .55rem;
    position: static;
    place-self: end start;
}

.command-stat-trend.trend-up {
    background: rgba(53, 223, 138, .12);
    color: #52e69a;
}

.command-stat-trend.trend-flat {
    background: rgba(148, 163, 184, .12);
    color: #a9b8d6;
}

.command-stat-trend.trend-down,
.command-stat-trend.trend-warn {
    background: rgba(255, 139, 50, .12);
    color: #ff9d3b;
}

.command-tone-blue { border-color: rgba(70, 129, 238, .48); }
.command-tone-green { border-color: rgba(53, 223, 138, .34); }
.command-tone-violet { border-color: rgba(139, 92, 246, .44); }
.command-tone-orange { border-color: rgba(255, 139, 50, .38); }
.command-tone-amber { border-color: rgba(245, 158, 11, .38); }
.command-tone-cyan { border-color: rgba(38, 198, 242, .38); }
.command-tone-pink { border-color: rgba(236, 72, 153, .42); }

.command-tone-blue .command-stat-icon { background: rgba(59, 130, 246, .2); color: #60a5fa; }
.command-tone-green .command-stat-icon { background: rgba(53, 223, 138, .16); color: var(--cmd-green); }
.command-tone-violet .command-stat-icon { background: rgba(139, 92, 246, .22); color: #a78bfa; }
.command-tone-orange .command-stat-icon { background: rgba(255, 139, 50, .17); color: var(--cmd-orange); }
.command-tone-amber .command-stat-icon { background: rgba(245, 158, 11, .18); color: #fbbf24; }
.command-tone-cyan .command-stat-icon { background: rgba(38, 198, 242, .16); color: var(--cmd-cyan); }
.command-tone-pink .command-stat-icon { background: rgba(236, 72, 153, .18); color: #fb7185; }

.command-panel {
    display: flex;
    flex-direction: column;
    padding: 1rem;
}

/* h-100 wyrównuje wysokość kart w tym samym rzędzie siatki, ale krótsza treść (np. kompaktowa
   heatmapa "Pulse tygodnia" obok gęstszej listy odbić) zostawiała pustkę pod spodem zamiast
   wypełnić kartę — główna treść rośnie (flex: 1) i wyśrodkowuje się w dostępnej wysokości,
   a stopka (np. "Zobacz..." link) naturalnie ląduje przy dole karty. */
.command-panel > .command-events,
.command-panel > .d-grid,
.command-panel > .command-pulse-layout,
.command-panel > .row {
    align-content: center;
    flex: 1;
}

.command-events {
    display: grid;
    gap: 0;
}

.command-timeline {
    position: relative;
}

.command-timeline::before {
    background: linear-gradient(180deg, var(--rcp-accent-line), rgba(53, 223, 138, .28), var(--rcp-control-border));
    bottom: .55rem;
    content: "";
    left: 51px;
    position: absolute;
    top: .55rem;
    width: 1px;
}

.command-event,
.command-device,
.command-object,
.command-overdue,
.command-action,
.command-health {
    align-items: center;
    background: var(--rcp-control-surface);
    border: 1px solid var(--rcp-control-border);
    border-radius: 10px;
    color: var(--rcp-content-color);
    display: flex;
    gap: .75rem;
    min-width: 0;
    padding: .7rem;
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease;
}

.command-device:hover,
.command-object:hover,
.command-overdue:hover,
.command-action:hover,
.command-health:hover {
    background: var(--rcp-accent-soft);
    border-color: var(--rcp-accent-line);
}

.command-event:hover {
    background: var(--rcp-accent-soft);
}

.command-event {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--rcp-table-row-border);
    border-radius: 0;
    min-height: 54px;
    padding: .48rem .2rem .48rem 0;
    position: relative;
    z-index: 1;
}

.command-event:last-child {
    border-bottom: 0;
}

.command-event::before {
    background: var(--rcp-panel-surface);
    border: 2px solid var(--rcp-accent-line);
    border-radius: 999px;
    content: "";
    height: 9px;
    left: 47px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 9px;
}

.command-event:has(.command-event-icon.entry)::before {
    border-color: var(--cmd-green);
    box-shadow: 0 0 0 4px rgba(53, 223, 138, .08);
}

.command-event-time {
    color: var(--rcp-muted-color);
    flex: 0 0 42px;
    font-size: .86rem;
    text-align: right;
}

.command-event-icon,
.command-device > span:first-child {
    align-items: center;
    background: var(--rcp-overlay-hover, var(--rcp-accent-soft));
    border-radius: 8px;
    color: var(--rcp-muted-color);
    display: inline-flex;
    flex: 0 0 auto;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.command-event-icon.entry {
    background: rgba(53, 223, 138, .15);
    color: var(--cmd-green);
}

.command-event-main,
.command-device div,
.command-object div,
.command-overdue div {
    min-width: 0;
    flex: 1 1 auto;
}

.command-event-main strong,
.command-device strong,
.command-object strong,
.command-overdue strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.command-event-main small,
.command-device small,
.command-object small,
.command-overdue small {
    color: var(--rcp-muted-color);
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.command-event .badge {
    border-radius: 6px;
    font-weight: 650;
    min-width: 58px;
    padding: .35rem .5rem;
}

.command-event .text-bg-success {
    background: rgba(53, 223, 138, .2) !important;
    color: #59efa1 !important;
}

.command-event .text-bg-secondary {
    background: var(--rcp-control-surface) !important;
    color: var(--rcp-content-color) !important;
}

.command-chart {
    background:
        linear-gradient(180deg, var(--rcp-control-surface), transparent),
        repeating-linear-gradient(90deg, transparent 0 89px, var(--rcp-table-row-border) 90px);
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    height: 218px;
    overflow: hidden;
    padding-left: 28px;
    position: relative;
}

.command-chart svg {
    display: block;
    height: 100%;
    width: 100%;
}

.command-chart-scale {
    bottom: 12px;
    color: var(--rcp-muted-color);
    display: flex;
    flex-direction: column;
    font-size: .72rem;
    justify-content: space-between;
    left: 8px;
    position: absolute;
    top: 14px;
    z-index: 1;
}

.command-chart .grid-line {
    stroke: var(--rcp-table-row-border);
    stroke-width: 1;
}

.command-chart .grid-line.vertical {
    stroke: var(--rcp-control-border);
}

.command-chart .chart-area {
    opacity: 1;
}

.command-chart .chart-area.entry {
    fill: url(#entryAreaGradient);
}

.command-chart .chart-area.exit {
    fill: url(#exitAreaGradient);
}

.command-chart .chart-line {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3.5;
}

.command-chart .chart-line.entry {
    filter: drop-shadow(0 0 8px rgba(53, 223, 138, .45));
    stroke: #55f19b;
}

.command-chart .chart-line.exit {
    filter: drop-shadow(0 0 8px rgba(255, 139, 50, .34));
    stroke: #ff8b32;
}

.command-ring {
    align-items: center;
    aspect-ratio: 1;
    background: conic-gradient(var(--cmd-green) calc(var(--score) * 1%), rgba(148, 163, 184, .18) 0);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    max-width: 184px;
    padding: 10px;
}

.command-ring > div {
    align-items: center;
    background: var(--rcp-panel-surface);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    text-align: center;
    width: 100%;
}

.command-ring strong {
    color: var(--rcp-heading-color);
    font-size: 1.7rem;
    font-weight: 650;
}

.command-ring span {
    color: var(--rcp-muted-color);
    font-size: .86rem;
}

.command-health span {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.command-health {
    background: var(--rcp-control-surface);
    min-height: 58px;
    padding: .65rem .75rem;
}

.command-health strong {
    color: var(--rcp-heading-color);
    font-size: 1.15rem;
    min-width: 22px;
}

.command-health small {
    color: var(--cmd-muted);
}

.command-health-success span { background: rgba(53, 223, 138, .15); color: var(--cmd-green); }
.command-health-warning span { background: rgba(245, 158, 11, .17); color: #fbbf24; }
.command-health-danger span { background: rgba(248, 113, 113, .17); color: #fb7185; }

.command-link {
    color: var(--rcp-accent);
    display: inline-flex;
    gap: .35rem;
    margin-top: auto;
    text-decoration: none;
}

.command-link:hover {
    color: var(--rcp-accent-strong);
}

.command-device em {
    background: rgba(248, 113, 113, .12);
    border-radius: 6px;
    color: #fca5a5;
    font-size: .82rem;
    font-style: normal;
    padding: .18rem .5rem;
}

.command-device em.online {
    background: rgba(53, 223, 138, .12);
    color: var(--cmd-green);
}

.command-device-state {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.command-device-battery {
    color: var(--cmd-green);
    font-size: .74rem;
    font-weight: 650;
    white-space: nowrap;
}

.command-device-battery.medium { color: #fbbf24; }
.command-device-battery.low { color: #fb7185; }

.command-object > span {
    align-items: center;
    background: var(--rcp-accent-soft);
    border-radius: 8px;
    color: var(--rcp-accent);
    display: inline-flex;
    flex: 0 0 auto;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.command-object b {
    align-items: center;
    background: rgba(53, 223, 138, .14);
    border-radius: 6px;
    color: var(--cmd-green);
    display: inline-flex;
    font-size: .9rem;
    justify-content: center;
    min-width: 30px;
    padding: .25rem .45rem;
}

.command-overdue-avatar {
    align-items: center;
    background: rgba(236, 72, 153, .18);
    border: 1px solid rgba(251, 113, 133, .36);
    border-radius: 999px;
    color: #fda4af;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .75rem;
    font-weight: 700;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.command-overdue-time {
    color: #fb7185;
    font-size: .84rem;
    font-weight: 700;
    margin-left: auto;
    white-space: nowrap;
}

.command-signal {
    align-items: end;
    display: inline-flex;
    gap: 3px;
    height: 18px;
}

.command-signal i {
    background: var(--rcp-control-border);
    border-radius: 999px;
    display: block;
    width: 4px;
}

.command-signal i:nth-child(1) { height: 6px; }
.command-signal i:nth-child(2) { height: 11px; }
.command-signal i:nth-child(3) { height: 16px; }

.command-signal.online i {
    background: linear-gradient(180deg, #6ef3a8, #29c875);
}

.command-heatmap {
    display: grid;
    gap: .35rem;
    grid-template-columns: 46px repeat(7, 1fr);
    margin-top: 1rem;
}

.command-heat-day {
    color: var(--rcp-content-color);
    font-size: .78rem;
    text-align: center;
}

.command-heat-hour {
    align-self: center;
    color: var(--cmd-muted);
    font-size: .76rem;
}

.command-heatmap span {
    background: var(--rcp-control-surface);
    border: 1px solid var(--rcp-control-border);
    border-radius: 5px;
    min-height: 26px;
}

.command-heatmap span[style*="--level: 1"] { background: rgba(var(--rcp-accent-rgb), .22); }
.command-heatmap span[style*="--level: 2"] { background: rgba(var(--rcp-accent-rgb), .38); }
.command-heatmap span[style*="--level: 3"] { background: rgba(var(--rcp-accent-rgb), .58); }
.command-heatmap span[style*="--level: 4"] { background: rgba(var(--rcp-accent-rgb), .78); }

.command-heat-legend {
    align-items: center;
    color: var(--cmd-muted);
    display: grid;
    font-size: .76rem;
    gap: .55rem;
    grid-template-columns: auto minmax(90px, 1fr) auto;
}

.command-heat-legend i {
    background: linear-gradient(90deg, rgba(var(--rcp-accent-rgb), .16), rgba(var(--rcp-accent-rgb), .55), rgba(var(--rcp-accent-rgb), .95));
    border-radius: 999px;
    display: block;
    height: 9px;
}

.command-pulse-layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) 145px;
}

.command-pulse-side {
    display: grid;
    gap: .75rem;
}

.command-pulse-side > div {
    background: var(--rcp-control-surface);
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    padding: .85rem;
}

.command-pulse-side small,
.command-pulse-side span {
    color: var(--cmd-muted);
    display: block;
    font-size: .78rem;
}

.command-pulse-side strong {
    display: block;
    font-size: 1.25rem;
    margin: .25rem 0;
}

.command-action i {
    align-items: center;
    background: var(--rcp-accent-soft);
    border-radius: 8px;
    color: var(--rcp-accent);
    display: inline-flex;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.command-action-green i { background: rgba(53, 223, 138, .15); color: var(--cmd-green); }
.command-action-violet i { background: rgba(139, 92, 246, .19); color: #a78bfa; }
.command-action-amber i { background: rgba(245, 158, 11, .17); color: #fbbf24; }
.command-action-pink i { background: rgba(236, 72, 153, .17); color: #fb7185; }
.command-action-cyan i { background: rgba(38, 198, 242, .16); color: var(--cmd-cyan); }

.command-action span {
    font-size: .82rem;
    font-weight: 650;
    line-height: 1.2;
}

.command-empty {
    align-items: center;
    border: 1px dashed var(--rcp-control-border);
    border-radius: 10px;
    color: var(--rcp-muted-color);
    display: flex;
    flex-direction: column;
    gap: .5rem;
    justify-content: center;
    min-height: 112px;
    padding: 1rem;
    text-align: center;
}
.command-empty i { color: var(--rcp-muted-color); font-size: 1.6rem; opacity: .55; }
.command-events:has(> .command-empty),
.d-grid:has(> .command-empty) {
    display: flex;
    flex: 1;
}
.command-events:has(> .command-empty) .command-empty,
.d-grid:has(> .command-empty) .command-empty {
    flex: 1;
}

.attendance-command {
    display: grid;
    gap: 1rem;
}

.attendance-stat-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(5, minmax(180px, 1fr));
}

.attendance-stat,
.attendance-filter-panel,
.attendance-table-panel {
    background: var(--rcp-panel-surface);
    border: 1px solid var(--rcp-panel-border);
    border-radius: 8px;
    box-shadow: var(--rcp-panel-shadow);
    color: var(--rcp-content-color);
}

.attendance-stat {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    min-height: 122px;
    overflow: hidden;
    padding: 1rem;
    position: relative;
}

.attendance-stat::after {
    background: linear-gradient(90deg, transparent, var(--rcp-overlay-hover));
    bottom: 0;
    content: "";
    height: 48px;
    left: 0;
    position: absolute;
    right: 0;
}

.attendance-stat-icon {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    font-size: 1.45rem;
    grid-row: 1 / 4;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.attendance-stat-label {
    color: var(--rcp-muted-color);
    font-size: .86rem;
    font-weight: 650;
}

.attendance-stat strong {
    color: var(--rcp-heading-color);
    display: block;
    font-size: 1.75rem;
    font-weight: 650;
    line-height: 1.15;
    margin-top: .25rem;
}

.attendance-stat-trend {
    align-items: center;
    display: inline-flex;
    font-size: .76rem;
    gap: .35rem;
    margin-top: .45rem;
    position: relative;
    z-index: 1;
}

.attendance-stat-trend.trend-up { color: #52e69a; }
.attendance-stat-trend.trend-down { color: #ff9d3b; }
.attendance-stat-trend.trend-flat { color: #a9b8d6; }

.attendance-sparkline {
    align-items: end;
    bottom: 1rem;
    display: flex;
    gap: 5px;
    height: 34px;
    justify-content: flex-end;
    left: 46%;
    position: absolute;
    right: 1rem;
    z-index: 1;
}

.attendance-sparkline span {
    background: currentColor;
    border-radius: 999px 999px 0 0;
    display: block;
    height: var(--level);
    min-height: 3px;
    opacity: .86;
    width: 5px;
}

.attendance-sparkline-green,
.attendance-stat-green .attendance-stat-icon { color: #35df8a; }
.attendance-sparkline-cyan,
.attendance-stat-cyan .attendance-stat-icon { color: #26c6f2; }
.attendance-sparkline-violet,
.attendance-stat-violet .attendance-stat-icon { color: #b35cff; }
.attendance-sparkline-amber,
.attendance-stat-amber .attendance-stat-icon { color: #f59e0b; }
.attendance-sparkline-blue,
.attendance-stat-blue .attendance-stat-icon { color: #38bdf8; }

.attendance-stat-green { border-color: rgba(53, 223, 138, .28); }
.attendance-stat-cyan { border-color: rgba(38, 198, 242, .28); }
.attendance-stat-violet { border-color: rgba(179, 92, 255, .3); }
.attendance-stat-amber { border-color: rgba(245, 158, 11, .3); }
.attendance-stat-blue { border-color: rgba(56, 189, 248, .28); }

.attendance-stat-icon {
    background: var(--rcp-overlay-surface);
}

.attendance-filter-panel,
.attendance-table-panel {
    padding: 1rem;
}

.attendance-filter-head {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.attendance-filter-head h2 {
    color: var(--rcp-heading-color);
    font-size: 1.05rem;
    margin: 0;
}

.attendance-filter-grid {
    display: grid;
    gap: .9rem;
    grid-template-columns: 1.4fr 1.3fr 1.05fr 1.05fr 1.05fr;
}

.attendance-filter-grid label {
    color: var(--rcp-muted-color);
    display: grid;
    font-size: .82rem;
    font-weight: 650;
    gap: .45rem;
}

.attendance-date-range {
    align-items: center;
    display: grid;
    gap: .55rem;
    grid-template-columns: 1fr auto 1fr;
}

.attendance-date-range em {
    color: var(--rcp-muted-color);
    font-style: normal;
}

.attendance-filter-actions {
    align-items: end;
    display: flex;
    gap: .65rem;
    grid-column: 1 / -1;
    justify-content: flex-end;
}

.attendance-table-panel {
    padding: .85rem;
}

.attendance-table-panel .table-responsive {
    border-radius: 8px;
}

.attendance-table {
    font-size: .88rem;
}

.attendance-table thead th {
    white-space: nowrap;
}

.attendance-table thead i {
    color: var(--rcp-accent);
    font-size: .72rem;
    margin-left: .25rem;
}

.attendance-table td {
    height: 42px;
    vertical-align: middle;
}

.attendance-status {
    align-items: center;
    background: var(--rcp-control-surface);
    border: 1px solid var(--rcp-control-border);
    border-radius: 999px;
    color: var(--rcp-content-color);
    display: inline-flex;
    font-size: .78rem;
    font-weight: 650;
    gap: .45rem;
    padding: .22rem .58rem;
    white-space: nowrap;
}

.attendance-status::before {
    background: #35df8a;
    border-radius: 999px;
    box-shadow: 0 0 12px rgba(53, 223, 138, .55);
    content: "";
    height: 7px;
    width: 7px;
}

.attendance-status.is-warning::before {
    background: #f59e0b;
    box-shadow: 0 0 12px rgba(245, 158, 11, .45);
}

.attendance-row-menu {
    color: var(--rcp-muted-color);
    padding-inline: .25rem;
    text-decoration: none;
}

.attendance-row-menu:hover {
    color: var(--rcp-heading-color);
}

.present-command {
    display: grid;
    gap: 1rem;
}

.present-stat-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.present-stat,
.present-panel {
    background: var(--rcp-panel-surface);
    border: 1px solid var(--rcp-panel-border);
    border-radius: 8px;
    box-shadow: var(--rcp-panel-shadow);
    color: var(--rcp-content-color);
}

.present-stat {
    align-items: center;
    display: flex;
    gap: 1rem;
    min-height: 118px;
    padding: 1.1rem;
}

.present-stat > span {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 1.55rem;
    height: 58px;
    justify-content: center;
    width: 58px;
}

.present-stat small {
    color: var(--rcp-muted-color);
    display: block;
    font-size: .9rem;
    font-weight: 650;
}

.present-stat strong {
    color: var(--rcp-heading-color);
    display: block;
    font-size: 1.8rem;
    font-weight: 650;
    line-height: 1.1;
    margin-top: .2rem;
}

.present-stat em {
    align-items: center;
    background: var(--rcp-accent-soft);
    border-radius: 6px;
    color: var(--rcp-accent);
    display: inline-flex;
    font-size: .76rem;
    font-style: normal;
    gap: .35rem;
    margin-top: .45rem;
    padding: .28rem .5rem;
}

.present-stat-blue { border-color: rgba(59, 130, 246, .46); }
.present-stat-blue > span { background: rgba(59, 130, 246, .16); color: #60a5fa; }
.present-stat-violet { border-color: rgba(139, 92, 246, .46); }
.present-stat-violet > span { background: rgba(139, 92, 246, .17); color: #a78bfa; }
.present-stat-amber { border-color: rgba(245, 158, 11, .42); }
.present-stat-amber > span { background: rgba(245, 158, 11, .16); color: #f59e0b; }
.present-stat-green { border-color: rgba(53, 223, 138, .38); }
.present-stat-green > span { background: rgba(53, 223, 138, .15); color: #35df8a; }

.present-panel {
    border-color: var(--rcp-panel-border);
    padding: 1.25rem;
}

.present-panel-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.present-panel-head h2 {
    color: var(--rcp-heading-color);
    font-size: 1.15rem;
    font-weight: 650;
    margin: 0;
}

.present-panel-head p {
    color: var(--rcp-muted-color);
    margin: .2rem 0 0;
}

.present-toolbar {
    align-items: center;
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(280px, 1fr) 220px auto auto auto;
    margin-bottom: 1rem;
}

.present-search {
    align-items: center;
    background: var(--rcp-input-surface);
    border: 1px solid var(--rcp-input-border);
    border-radius: 8px;
    display: flex;
    gap: .65rem;
    min-height: 46px;
    padding: 0 .85rem;
}

.present-search i {
    color: var(--rcp-muted-color);
}

.present-search input {
    background: transparent;
    border: 0;
    color: var(--rcp-content-color);
    flex: 1 1 auto;
    min-width: 0;
    outline: 0;
}

.present-search input::placeholder {
    color: var(--rcp-placeholder-color);
}

.present-groups {
    display: grid;
    gap: 1rem;
}

.present-group {
    background: var(--rcp-control-surface);
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    padding: .9rem;
    transition: all 0.5s ease;
}

.present-group-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0;
}

.present-main-table-wrap{
    margin-top: 0.5rem;
    transition: all 0.5s ease;
}

.present-main-table-wrap > .table-responsive{
    padding:0px .5rem;
}

.present-group-head h3 {
    align-items: center;
    color: var(--rcp-heading-color);
    display: inline-flex;
    font-size: 1rem;
    gap: .45rem;
    margin: 0;
}

.present-group-head h3 i {
    color: var(--rcp-accent);
}

.present-group-head span {
    background: var(--rcp-accent-soft);
    border-radius: 6px;
    color: var(--rcp-accent);
    font-size: .76rem;
    margin-left: .5rem;
    padding: .25rem .55rem;
}

.present-main-table {
    border-collapse: separate;
    border-spacing: 0 .45rem;
    margin: 0;
    min-width: 1040px;
}

.present-main-table thead th {
    background: transparent;
    border: 0;
    color: var(--rcp-muted-color);
    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .04em;
    padding: .45rem .75rem;
    text-transform: uppercase;
}

.present-person-row td {
    border-bottom: 1px solid var(--rcp-table-row-border);
    border-top: 1px solid var(--rcp-table-row-border);
    color: var(--rcp-content-color);
    height: 76px;
    padding: .65rem .75rem;
    vertical-align: middle;
}

.present-person-row td:first-child {
    border-left: 2px solid var(--rcp-accent-line);
    border-radius: 8px 0 0 8px;
}

.present-person-row td:last-child {
    border-radius: 0 8px 8px 0;
    border-right: 1px solid var(--rcp-table-row-border);
}

.present-person-row strong {
    color: var(--rcp-heading-color);
    font-weight: 650;
}

.present-details-row > td {
    background: transparent;
    border: 0;
    padding: 0;
}

.present-person-main {
    align-items: center;
    display: flex;
    gap: .8rem;
    min-width: 0;
}

.present-avatar {
    align-items: center;
    background: linear-gradient(135deg, var(--rcp-accent), var(--rcp-accent-strong));
    border: 2px solid var(--rcp-accent-line);
    border-radius: 999px;
    box-shadow: 0 0 0 4px var(--rcp-accent-soft);
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-weight: 700;
    height: 48px;
    justify-content: center;
    position: relative;
    width: 48px;
}

.present-avatar i {
    background: #35df8a;
    border: 2px solid var(--rcp-panel-surface);
    border-radius: 999px;
    bottom: 2px;
    height: 13px;
    position: absolute;
    right: 0;
    width: 13px;
}

.present-person-main strong,
.present-metric strong {
    color: var(--rcp-heading-color);
    display: block;
    font-weight: 650;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.present-person-main div > span {
    background: var(--rcp-accent-soft);
    border-radius: 6px;
    color: var(--rcp-accent);
    display: inline-flex;
    font-size: .78rem;
    margin-top: .35rem;
    padding: .22rem .55rem;
}

.present-metric {
    border-left: 1px solid var(--rcp-control-border);
    min-width: 0;
    padding-left: .85rem;
}

.present-metric small {
    align-items: center;
    color: var(--rcp-muted-color);
    display: flex;
    font-size: .72rem;
    gap: .35rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

@media (min-width: 992px) {
    .present-metric small {
        display: none;
    }
}

.present-metric small i {
    color: #9cc7ff;
}

.present-metric strong,
.present-metric .badge {
    margin-top: .32rem;
}

.present-details {
    background: var(--rcp-control-surface);
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    margin: 0;
    padding: 1rem;
}

.present-details-title {
    align-items: center;
    color: var(--rcp-heading-color);
    display: flex;
    font-size: .9rem;
    font-weight: 650;
    gap: .45rem;
    margin-bottom: .8rem;
}

.present-details-title i {
    color: var(--rcp-accent);
}

@media (max-width: 991.98px) {
    .employees-command .employee-summary-card {
        min-height: 92px;
    }

    .employee-table-person {
        min-width: 0;
    }

    .dashboard-command {
        margin: 0;
        min-height: calc(100vh - 64px);
        padding: 0;
    }

    .attendance-stat-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .attendance-filter-grid {
        grid-template-columns: 1fr 1fr;
    }

    .present-stat-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .present-toolbar {
        grid-template-columns: 1fr 1fr;
    }

    .command-chart {
        height: 180px;
    }

    .command-pulse-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .dashboard-command h2 {
        font-size: 1.35rem;
    }

    .command-stat {
        min-height: 136px;
    }

    .command-event {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .command-event-main {
        flex-basis: calc(100% - 90px);
    }

    .command-chart {
        gap: .12rem;
        height: 150px;
    }

    .command-heatmap {
        gap: .25rem;
        grid-template-columns: 40px repeat(7, 1fr);
    }

    .command-heatmap span {
        min-height: 22px;
    }

    .attendance-stat-grid,
    .attendance-filter-grid,
    .present-stat-grid,
    .present-toolbar {
        grid-template-columns: 1fr;
    }

    .attendance-stat-grid,
    .present-stat-grid {
        gap: .75rem;
    }

    .attendance-stat,
    .present-stat {
        min-height: auto;
        padding: .9rem;
    }

    .attendance-sparkline {
        display: none;
    }

    .attendance-stat {
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .attendance-stat-icon {
        height: 38px;
        width: 38px;
    }

    .attendance-stat strong,
    .present-stat strong {
        font-size: 1.45rem;
    }

    .attendance-filter-head,
    .attendance-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .attendance-date-range {
        grid-template-columns: 1fr;
    }

    .attendance-date-range em {
        display: none;
    }

    .present-panel {
        padding: .9rem;
    }

    .present-group {
        padding: .75rem;
    }

    .present-avatar {
        height: 46px;
        width: 46px;
    }

    .present-details {
        margin-inline: 0;
        padding: .75rem;
    }

    .present-metric {
        border-left: 0;
        padding-left: 0;
    }

    .present-group-head .btn {
        width: 100%;
    }

    .topbar .badge {
        margin-left: 0 !important;
        width: fit-content;
    }
}

.panel-section {
    padding: var(--rcp-space-5);
}

.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.section-header h2 {
    font-size: var(--rcp-fs-md);
    letter-spacing: -.01em;
    margin: 0;
}

.section-header p {
    color: var(--muted);
    margin: .15rem 0 0;
}

.devices-command .section-header {
    align-items: flex-start;
}

.filter-bar {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 180px auto;
    gap: .75rem;
    margin-bottom: 1rem;
}

.filter-bar.wide {
    grid-template-columns: repeat(6, minmax(130px, 1fr)) auto;
}

.presence-filter {
    grid-template-columns: minmax(220px, 1fr) 190px auto auto;
}

.scan-attempt-filter {
    grid-template-columns: repeat(5, minmax(140px, 1fr)) auto;
}

.filter-collapse {
    margin-bottom: 1rem;
}

.filter-collapse-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .65rem;
}

.filter-collapse-title {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--muted);
    font-size: .9rem;
    font-weight: 600;
}

.filter-collapse-title i {
    color: var(--primary);
}

.filter-collapse-toggle {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.filter-collapse-body > form {
    margin-bottom: 0;
}

.filter-collapse-body {
    overflow: hidden;
    transition: height .22s ease, opacity .18s ease;
}

.enhanced-select-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.enhanced-select {
    position: relative;
    min-width: 0;
}

.enhanced-select-toggle {
    width: 100%;
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .45rem .75rem;
    border: 1px solid var(--rcp-input-border);
    border-radius: var(--bs-border-radius-sm);
    background: var(--rcp-input-surface);
    color: var(--rcp-content-color);
    font-size: 1rem;
    line-height: 1.5;
    text-align: left;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.enhanced-select-toggle:hover {
    border-color: var(--rcp-overlay-border);
    background: var(--rcp-overlay-hover);
}

.enhanced-select-toggle:focus {
    border-color: var(--rcp-input-focus-border);
    outline: 0;
    box-shadow: 0 0 0 .2rem var(--rcp-accent-soft);
}

.enhanced-select-toggle.is-placeholder {
    color: var(--rcp-placeholder-color);
}

.enhanced-select-value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.enhanced-select-icon {
    color: var(--rcp-muted-color);
    font-size: .9rem;
    transition: transform .15s ease;
}

.enhanced-select.is-open .enhanced-select-icon {
    transform: rotate(180deg);
}

.enhanced-select-sm .enhanced-select-toggle {
    min-height: 31px;
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: .25rem;
}

.enhanced-select-menu {
    position: absolute;
    z-index: 1080;
    top: calc(100% + .35rem);
    left: 0;
    right: 0;
    display: none;
    min-width: min(360px, calc(100vw - 2rem));
    max-height: min(340px, 58vh);
    overflow: hidden;
    border: 1px solid var(--rcp-menu-border, var(--rcp-panel-border));
    border-radius: 8px;
    background: var(--rcp-menu-surface, var(--rcp-panel-surface));
    box-shadow: 0 22px 60px rgba(20, 24, 33, .16);
}

.enhanced-select.is-open .enhanced-select-menu {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.enhanced-select-search {
    padding: .65rem;
    border-bottom: 1px solid var(--rcp-control-border);
    background: var(--rcp-control-surface);
}

.enhanced-select-list {
    max-height: 280px;
    overflow-y: auto;
    padding: .35rem;
}

.enhanced-select-option {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .65rem;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--rcp-content-color);
    text-align: left;
}

.enhanced-select-option:hover,
.enhanced-select-option:focus {
    background: var(--rcp-accent-soft);
    outline: 0;
}

.enhanced-select-option.is-selected {
    background: var(--rcp-accent-soft);
    color: var(--rcp-accent);
    font-weight: 600;
}

.enhanced-select-option.is-selected::before {
    content: "\F26E";
    font-family: "bootstrap-icons";
    font-size: .85rem;
}

.enhanced-select-empty {
    padding: .8rem;
    color: var(--rcp-muted-color);
    text-align: center;
    border-top: 1px solid var(--rcp-control-border);
}

.report-filter-bar {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) minmax(220px, 1.3fr) auto;
    gap: .75rem;
    align-items: center;
    margin-bottom: 1rem;
}

.table {
    --bs-table-bg: transparent;
}

.table thead th {
    color: var(--rcp-muted-color);
    font-size: var(--rcp-fs-xs);
    text-transform: uppercase;
    letter-spacing: 0;
    border-bottom-color: var(--rcp-table-head-border);
}

.table td {
    border-bottom-color: var(--rcp-table-row-border);
}

.device-table-terminal,
.employee-table-person,
.user-table-person {
    align-items: center;
    display: flex;
    gap: .65rem;
    min-width: 160px;
}

.device-table-terminal {
    gap: .75rem;
    min-width: 205px;
}

.employee-table-person {
    gap: .7rem;
    min-width: 190px;
}

.device-table-icon,
.employee-table-avatar,
.user-table-avatar {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
}

.device-table-icon {
    background: rgba(38, 198, 242, .14);
    border: 1px solid rgba(38, 198, 242, .28);
    border-radius: 8px;
    color: #5DDBFF;
    font-size: 1rem;
    height: 34px;
    width: 34px;
}

.device-table-icon.is-virtual {
    background: rgba(155, 92, 255, .14);
    border-color: rgba(155, 92, 255, .32);
    color: #C6A6FF;
}

.employee-table-avatar,
.user-table-avatar {
    background: linear-gradient(135deg, var(--rcp-accent), var(--rcp-accent-strong));
    border: 1px solid var(--rcp-accent-line);
    border-radius: 999px;
    color: #fff;
    font-weight: 650;
}

.employee-table-avatar {
    font-size: .74rem;
    height: 34px;
    width: 34px;
}

.user-table-avatar {
    font-size: .7rem;
    height: 31px;
    width: 31px;
}

.rcp-badge {
    border: 1px solid transparent;
    font-weight: 650;
}

.rcp-badge-object {
    border-color: rgba(20, 132, 92, .22);
    color: #116149;
    background: #eaf7f0;
}

.rcp-badge-out {
    border-color: rgba(100, 116, 139, .24);
    color: #475569;
    background: #f1f5f9;
}

.rcp-badge-delegation {
    border-color: rgba(37, 99, 235, .24);
    color: #1d4ed8;
    background: #eaf1ff;
}

.rcp-badge-break {
    border-color: rgba(217, 119, 6, .25);
    color: #a16207;
    background: #fff7e6;
}

.rcp-badge-transfer {
    border-color: rgba(124, 58, 237, .22);
    color: #6d28d9;
    background: #f3e8ff;
}

.empty-cell {
    color: var(--rcp-muted-color);
    text-align: center;
    padding: 2rem !important;
}

.panel-alert {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .75rem;
    padding: .8rem 1rem;
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    background: var(--rcp-control-surface);
    color: var(--rcp-content-color);
}

.panel-alert:hover {
    border-color: var(--rcp-accent-line);
    background: var(--rcp-accent-soft);
}

.panel-alert-link {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    color: var(--rcp-content-color);
}

.panel-alert form {
    flex: 0 0 auto;
}

.unknown-card-picker {
    margin-top: .75rem;
    padding: .8rem;
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    background: var(--rcp-control-surface);
}

.table-actions {
    white-space: nowrap;
}

.check-list {
    display: grid;
    gap: .85rem;
}

.check-list div {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.report-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 1rem;
}

.report-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 1rem;
    min-width: 0;
}

.report-sidebar {
    align-self: start;
    position: sticky;
    top: 96px;
}

.report-main {
    min-width: 0;
}

.report-sidebar h2 {
    font-size: 1rem;
    margin: 0 0 1rem;
}

.report-type-list {
    display: grid;
    gap: .5rem;
}

.report-type {
    align-items: center;
    display: flex;
    gap: .7rem;
    color: var(--rcp-content-color);
    text-decoration: none;
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    min-height: 54px;
    padding: .55rem .7rem;
    background: var(--rcp-control-surface);
}

.report-type span {
    color: var(--rcp-muted-color);
    font-size: .86rem;
}

.report-type.active,
.report-type:hover {
    border-color: var(--rcp-accent-line);
    background: var(--rcp-accent-soft);
}

.report-type.active {
    box-shadow: inset 3px 0 0 var(--rcp-accent);
}

.report-type-icon {
    align-items: center;
    background: var(--rcp-overlay-surface);
    border: 1px solid var(--rcp-overlay-border);
    border-radius: 6px;
    color: var(--rcp-accent);
    display: inline-flex;
    flex: 0 0 auto;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.report-type.active .report-type-icon {
    background: var(--rcp-accent-soft);
    border-color: var(--rcp-accent-line);
}

.advanced-report-filter {
    display: grid;
    grid-template-columns: repeat(5, minmax(150px, 1fr)) auto;
    gap: .75rem;
    align-items: end;
    padding: 1rem;
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    background: var(--rcp-control-surface);
}

.advanced-report-filter label {
    display: grid;
    gap: .35rem;
    color: var(--rcp-muted-color);
    font-weight: 600;
    font-size: .85rem;
}

.presence-object {
    border-top: 1px solid var(--rcp-control-border);
    padding-top: 1rem;
}

.presence-object + .presence-object {
    margin-top: 1.25rem;
}

.presence-object-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: .65rem;
}

.presence-object-header h3 {
    font-size: 1rem;
    margin: 0;
}

.presence-object-header span {
    color: var(--rcp-muted-color);
    font-size: .85rem;
    font-weight: 600;
}

.presence-details-row:has(.collapse:not(.show):not(.collapsing)) {
    display: none;
}

.presence-details-row td {
    background: var(--rcp-control-surface);
    border-bottom-color: var(--rcp-table-row-border);
    padding-block: .35rem;
}

.presence-details-table-wrap {
    padding: .35rem 0;
}

.presence-details-table {
    margin: 0;
    font-size: .9rem;
}

.presence-details-table thead th {
    background: var(--rcp-table-head-surface);
    color: var(--rcp-muted-color);
    font-size: .72rem;
}

.presence-details-table td {
    background: var(--rcp-panel-surface);
}

.presence-details-table th,
.presence-details-table td {
    padding: .55rem .65rem;
    vertical-align: middle;
}

.pagination-bar {
    align-items: center;
    border-top: 1px solid var(--rcp-control-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: 1rem;
}

.pagination-bar .page-link {
    border-color: var(--rcp-control-border);
    color: var(--rcp-content-color);
}

.pagination-bar .page-item.active .page-link {
    background: var(--rcp-accent);
    border-color: var(--rcp-accent);
    color: #fff;
}

/* Panel component bridge for older domain classes. */
.panel-main .panel-section,
.panel-main .report-sidebar,
.panel-main .report-main {
    background: var(--rcp-panel-surface);
    border: 1px solid var(--rcp-panel-border);
    border-radius: 8px;
    box-shadow: var(--rcp-panel-shadow);
    color: var(--rcp-content-color);
}

.panel-main .section-header h2,
.panel-main .report-sidebar h2,
.panel-main .presence-object-header h3 {
    color: var(--rcp-heading-color);
    font-weight: 650;
}

.panel-main .section-header p,
.panel-main .report-sidebar p,
.panel-main .presence-object-header span,
.panel-main .filter-collapse-title,
.panel-main .advanced-report-filter label,
.panel-main .form-label {
    color: var(--rcp-muted-color);
}

.panel-main .filter-bar,
.panel-main .report-filter-bar,
.panel-main .advanced-report-filter,
.panel-main .soft-card {
    background: var(--rcp-control-surface);
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    padding: .85rem;
}

.panel-main .enhanced-select-toggle {
    background-color: var(--rcp-input-surface);
    border-color: var(--rcp-input-border);
    color: var(--rcp-content-color);
}

.panel-main .enhanced-select-toggle:focus {
    background-color: var(--rcp-input-focus-surface);
    border-color: var(--rcp-input-focus-border);
    box-shadow: 0 0 0 .22rem rgba(37, 99, 235, .18);
    color: var(--rcp-heading-color);
}

.panel-main .enhanced-select-toggle:hover {
    background: var(--rcp-overlay-hover);
    border-color: var(--rcp-overlay-border);
}

.panel-main .enhanced-select-toggle.is-placeholder,
.panel-main .enhanced-select-icon {
    color: var(--rcp-muted-color);
}

.enhanced-select-menu {
    background: var(--rcp-menu-surface, var(--rcp-panel-surface));
    border-color: var(--rcp-menu-border, var(--rcp-panel-border));
    box-shadow: 0 24px 70px rgba(0, 0, 0, .38);
}

.enhanced-select-search {
    background: var(--rcp-control-surface);
    border-bottom-color: var(--rcp-control-border);
}

.enhanced-select-option {
    color: var(--rcp-content-color);
}

.enhanced-select-option:hover,
.enhanced-select-option:focus,
.enhanced-select-option.is-selected {
    background: var(--rcp-accent-soft);
    color: var(--rcp-heading-color);
}

.enhanced-select-empty {
    border-top-color: var(--rcp-control-border);
    color: var(--rcp-muted-color);
}

.panel-main .table-responsive {
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    overflow: auto;
}

.panel-main .table tbody tr:last-child td {
    border-bottom-width: 0;
}

.panel-main code {
    background: var(--rcp-accent-soft);
    border: 1px solid var(--rcp-accent-line);
    border-radius: 6px;
    color: #9cc7ff;
    padding: .12rem .35rem;
}

.panel-main .empty-cell,
.panel-main .text-muted {
    color: var(--rcp-muted-color) !important;
}

.panel-main .btn-outline-danger {
    --bs-btn-color: #fca5a5;
    --bs-btn-border-color: rgba(248, 113, 113, .28);
    --bs-btn-hover-bg: rgba(248, 113, 113, .16);
    --bs-btn-hover-border-color: rgba(248, 113, 113, .45);
}

.panel-main .btn-outline-success {
    --bs-btn-color: #6ee7a8;
    --bs-btn-border-color: rgba(53, 223, 138, .28);
    --bs-btn-hover-bg: rgba(53, 223, 138, .15);
    --bs-btn-hover-border-color: rgba(53, 223, 138, .45);
}

.panel-main .badge.text-bg-light {
    background: var(--rcp-control-surface) !important;
    color: var(--rcp-content-color) !important;
}

.panel-main .badge.text-bg-secondary {
    background: var(--rcp-control-surface) !important;
    color: var(--rcp-content-color) !important;
}

.panel-main .badge.text-bg-success {
    background: rgba(53, 223, 138, .15) !important;
    color: #63f0a5 !important;
}

.panel-main .badge.text-bg-warning {
    background: rgba(245, 158, 11, .17) !important;
    color: #fbbf24 !important;
}

.panel-main .badge.text-bg-info,
.panel-main .badge.text-bg-primary {
    background: var(--rcp-accent-soft) !important;
    color: var(--rcp-accent) !important;
}

.panel-main .badge.text-bg-dark {
    background: rgba(139, 92, 246, .18) !important;
    color: #c4b5fd !important;
}

.panel-main .badge.text-bg-danger {
    background: rgba(248, 113, 113, .17) !important;
    color: #fb7185 !important;
}

.panel-main .rcp-badge-object {
    border-color: rgba(53, 223, 138, .28);
    color: #63f0a5;
    background: rgba(53, 223, 138, .12);
}

.panel-main .rcp-badge-out {
    border-color: rgba(148, 163, 184, .24);
    color: #cbd5e1;
    background: rgba(148, 163, 184, .12);
}

.panel-main .rcp-badge-delegation {
    border-color: rgba(96, 165, 250, .3);
    color: #93c5fd;
    background: rgba(96, 165, 250, .13);
}

.panel-main .rcp-badge-break {
    border-color: rgba(245, 158, 11, .3);
    color: #fbbf24;
    background: rgba(245, 158, 11, .13);
}

.panel-main .rcp-badge-transfer {
    border-color: rgba(167, 139, 250, .3);
    color: #c4b5fd;
    background: rgba(139, 92, 246, .14);
}

.panel-main .panel-alert {
    background: var(--rcp-control-surface);
    border-color: var(--rcp-control-border);
    color: var(--rcp-content-color);
}

.panel-main .panel-alert:hover {
    background: var(--rcp-accent-soft);
    border-color: var(--rcp-accent-line);
}

.panel-main .panel-alert-link {
    color: var(--rcp-content-color);
}

.panel-main .unknown-card-picker {
    background: var(--rcp-control-surface);
    border-color: var(--rcp-control-border);
}

.panel-main .alert {
    background: rgba(245, 158, 11, .12);
    border-color: rgba(245, 158, 11, .28);
    color: var(--rcp-heading-color);
}

.panel-main .alert-info {
    background: var(--rcp-accent-soft);
    border-color: var(--rcp-accent-line);
    color: var(--rcp-heading-color);
}

.panel-main .alert-success {
    background: rgba(53, 223, 138, .12);
    border-color: rgba(53, 223, 138, .25);
    color: var(--rcp-heading-color);
}

.panel-main .bg-light,
.panel-main .bg-primary-subtle {
    background-color: var(--rcp-accent-soft) !important;
}

.panel-main .text-primary {
    color: var(--rcp-accent) !important;
}

.panel-main .text-danger {
    color: #fb7185 !important;
}

.panel-main .dropdown-divider {
    border-top-color: var(--rcp-control-border);
}

.panel-main .report-type {
    background: var(--rcp-control-surface);
    border-color: var(--rcp-control-border);
    color: var(--rcp-content-color);
}

.panel-main .report-type span {
    color: var(--rcp-muted-color);
}

.panel-main .report-type.active,
.panel-main .report-type:hover {
    background: var(--rcp-accent-soft);
    border-color: var(--rcp-accent-line);
    color: var(--rcp-heading-color);
}

.panel-main .presence-object {
    border-top-color: var(--rcp-control-border);
}

.panel-main .presence-details-row td {
    background: var(--rcp-control-surface);
    border-bottom-color: var(--rcp-table-row-border);
}

.panel-main .presence-details-table thead th {
    background: var(--rcp-table-head-surface);
}

.panel-main .presence-details-table td {
    background: var(--rcp-control-surface);
}

.panel-main .pagination-bar {
    border-top-color: var(--rcp-control-border);
}

.panel-main .pagination-bar .page-link {
    background: var(--rcp-control-surface);
    border-color: var(--rcp-control-border);
    color: var(--rcp-content-color);
}

.panel-main .pagination-bar .page-item.active .page-link {
    background: linear-gradient(135deg, var(--rcp-accent), var(--rcp-accent-strong));
    border-color: var(--rcp-accent-line);
}

.panel-main .modal-content {
    background: var(--rcp-panel-surface);
    border: 1px solid var(--rcp-panel-border);
    color: var(--rcp-content-color);
}

.panel-main .modal-header,
.panel-main .modal-footer {
    border-color: var(--rcp-control-border);
}

.panel-main .btn-close {
    filter: invert(1) grayscale(1);
    opacity: .85;
}

@media (max-width: 1180px) {
    .report-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

}

@media (max-width: 760px) {
    .panel-body {
        overflow-x: hidden;
    }

    .install-header,
    .topbar,
    .section-header {
        align-items: stretch;
        flex-direction: column;
    }

    .panel-shell {
        display: block;
    }

    .sidebar {
        position: sticky;
        top: 0;
        z-index: 30;
        height: auto;
        display: block;
        padding: .75rem;
        border-bottom: 1px solid var(--rcp-sidebar-border);
    }

    .sidebar-header {
        margin-bottom: .65rem;
    }

    .brand {
        gap: .65rem;
    }

    .brand-mark {
        width: 36px;
        height: 36px;
    }

    .sidebar-nav {
        flex-direction: row !important;
        gap: .35rem;
        overflow-x: auto;
        padding-bottom: .25rem;
        scrollbar-width: none;
    }

    .sidebar-nav::-webkit-scrollbar {
        display: none;
    }

    .sidebar-toggle {
        display: none;
    }

    .brand span:not(.brand-mark),
    .sidebar-nav span {
        display: inline;
    }

    .sidebar-nav .nav-link {
        flex: 0 0 auto;
        padding: .55rem .7rem;
        white-space: nowrap;
        font-size: .86rem;
        background: var(--rcp-overlay-surface);
    }

    .sidebar-footer {
        display: none;
    }

    .topbar {
        position: static;
        min-height: 0;
        padding: 1rem;
        background: var(--rcp-topbar-surface);
        backdrop-filter: none;
    }

    .topbar h1 {
        font-size: 1.25rem;
    }

    .topbar-actions {
        flex-wrap: wrap;
        gap: .5rem;
    }

    .topbar-actions .btn,
    .topbar-actions form {
        flex: 1 1 auto;
    }

    .topbar-actions form .btn {
        width: 100%;
    }

    .filter-collapse {
        padding: .75rem;
        border: 1px solid var(--rcp-control-border);
        border-radius: 8px;
        background: var(--rcp-control-surface);
        min-width: 0;
    }

    .filter-collapse-header {
        margin-bottom: 0;
    }

    .filter-collapse:not(.is-collapsed) .filter-collapse-header {
        margin-bottom: .75rem;
    }

    .filter-collapse-title {
        color: var(--rcp-muted-color);
    }

    .report-grid,
    .filter-bar,
    .filter-bar.wide,
    .presence-filter,
    .report-filter-bar,
    .advanced-report-filter,
    .report-layout {
        grid-template-columns: 1fr;
    }


    .report-sidebar {
        position: static;
        padding: .85rem;
    }

    .report-sidebar h2 {
        margin-bottom: .65rem;
    }

    .report-type-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .4rem;
    }

    .report-type {
        min-width: 0;
        padding: .65rem .45rem;
        text-align: center;
    }

    .report-type strong {
        display: block;
        overflow-wrap: anywhere;
        font-size: .9rem;
        line-height: 1.15;
    }

    .report-main {
        min-width: 0;
    }

    .report-main .section-header > .d-flex {
        flex-wrap: wrap;
        width: 100%;
    }

    .report-main .section-header > .d-flex .btn {
        flex: 1 1 calc(50% - .5rem);
        min-width: 0;
        white-space: nowrap;
    }

    .advanced-report-filter {
        padding: .85rem;
        gap: .65rem;
    }

    .advanced-report-filter .btn {
        width: 100%;
    }

    .content {
        padding: .85rem;
        min-width: 0;
        overflow-x: hidden;
    }

    .panel-section {
        padding: .9rem;
        min-width: 0;
    }

    .table-responsive {
        margin-inline: -.25rem;
        max-width: 100%;
        overflow-x: auto;
    }

    .attendance-command,
    .present-command,
    .dashboard-command,
    .report-layout,
    .panel-section,
    .filter-collapse,
    .filter-collapse-body,
    .filter-collapse-body > form,
    .attendance-filter-panel,
    .attendance-table-panel,
    .present-panel,
    .present-group,
    .present-details {
        max-width: 100%;
        min-width: 0;
    }

    .attendance-stat,
    .present-stat {
        min-width: 0;
    }

    .attendance-filter-grid,
    .present-toolbar,
    .advanced-report-filter,
    .filter-bar,
    .filter-bar.wide,
    .presence-filter,
    .scan-attempt-filter {
        display: grid;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100%;
    }

    .attendance-filter-grid label,
    .present-toolbar > *,
    .attendance-date-range,
    .present-search,
    .enhanced-select,
    .enhanced-select-toggle,
    .form-control,
    .form-select {
        min-width: 0;
        width: 100%;
    }

    .attendance-filter-actions {
        align-items: stretch;
        flex-direction: column;
        justify-content: stretch;
    }

    .attendance-filter-actions .btn,
    .present-toolbar .btn {
        width: 100%;
    }

    .present-panel-head,
    .present-group-head,
    .attendance-filter-head {
        align-items: stretch;
        flex-direction: column;
        gap: .75rem;
    }

    .present-person-main,
    .present-metric {
        min-width: 0;
    }

    .present-person-main strong,
    .present-metric strong,
    .command-event-main strong,
    .command-device strong,
    .command-event-main small,
    .command-device small {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .attendance-table,
    .presence-details-table,
    .present-main-table {
        min-width: 720px;
    }

    .report-table {
        min-width: 620px;
    }

    .pagination-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .pagination-bar .pagination {
        flex-wrap: wrap;
    }
}

@media (max-width: 767.98px) {
    .panel-shell {
        display: block;
        min-height: 100vh;
    }

    .sidebar.offcanvas-md {
        background: var(--rcp-sidebar-surface);
        bottom: 0;
        color: var(--rcp-content-color);
        display: flex;
        flex-direction: column;
        height: 100vh;
        max-width: 320px;
        overflow-y: auto;
        padding: 1rem;
        position: fixed;
        top: 0;
        width: min(86vw, 320px);
        z-index: 1045;
    }

    .sidebar-header {
        margin-bottom: 1rem;
    }

    .sidebar-toggle {
        display: none;
    }

    .sidebar-close {
        margin-left: auto;
    }

    .sidebar-nav {
        flex-direction: column !important;
        gap: .25rem;
        overflow: visible;
        padding-bottom: 0;
    }

    .sidebar-nav .nav-link {
        background: transparent;
        flex: none;
        font-size: .95rem;
        padding: .75rem .85rem;
        white-space: normal;
        width: 100%;
    }

    .brand span:not(.brand-mark),
    .sidebar-nav span,
    .sidebar-footer {
        display: block;
    }

    .sidebar-footer {
        margin-top: auto;
    }

    .topbar {
        align-items: stretch;
        flex-direction: column;
        gap: .75rem;
        min-height: 0;
        padding: .85rem 1rem;
        position: sticky;
        top: 0;
    }

    .topbar-title {
        justify-content: flex-start;
    }

    .topbar-actions {
        align-items: stretch;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
        gap: .5rem;
    }

    .topbar-actions .btn {
        width: 100%;
    }
}

.settlement-check-link {
    background: var(--rcp-control-surface);
    border-color: var(--rcp-panel-border) !important;
    color: var(--rcp-content-color);
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.settlement-check-link:hover,
.settlement-check-link:focus-visible {
    background: var(--rcp-accent-soft);
    border-color: var(--rcp-accent-line) !important;
    color: var(--rcp-heading-color);
}

.settlement-employee-link {
    color: var(--rcp-heading-color);
}

.settlement-employee-link:hover,
.settlement-employee-link:focus-visible {
    color: var(--rcp-accent);
}

/* Accent behavior is shared; each theme provides its own token values. */

.panel-body[data-accent] .btn-primary,
.panel-body[data-accent] .topbar-install,
.panel-body[data-accent] .pagination-bar .page-item.active .page-link {
    background: linear-gradient(135deg, var(--rcp-accent), var(--rcp-accent-strong));
    border-color: var(--rcp-accent-line);
}

.panel-body[data-accent] .sidebar-nav .nav-link.active {
    background: linear-gradient(135deg, var(--rcp-accent), var(--rcp-accent-strong));
    border-color: var(--rcp-accent-line);
    box-shadow: 0 12px 26px var(--rcp-accent-soft), inset 0 1px 0 rgba(255, 255, 255, .16);
}

.panel-body[data-accent] .brand-mark,
.panel-body[data-accent] .topbar-bell span {
    border-color: var(--rcp-accent-line);
}

.panel-body[data-accent] .brand-mark { color: var(--rcp-accent); }
.panel-body[data-accent] .topbar-bell span { background: var(--rcp-accent-strong); }
.panel-body[data-accent] .panel-main .text-primary,
.panel-body[data-accent] .profile-role,
.panel-body[data-accent] .profile-section-title > i { color: var(--rcp-accent) !important; }

.panel-body[data-mode="light"] {
    background: var(--rcp-shell-background, #edf2f8);
    color: var(--rcp-content-color);
}

.panel-body[data-mode="light"] .panel-shell {
    background: var(--rcp-shell-background, #edf2f8);
}

.panel-body[data-mode="light"] .sidebar {
    background: var(--rcp-sidebar-surface);
    border-right-color: var(--rcp-sidebar-border);
    color: var(--rcp-content-color);
}

.panel-body[data-mode="light"] .sidebar.offcanvas-md {
    background: var(--rcp-sidebar-surface) !important;
}

.panel-body[data-mode="light"] .brand,
.panel-body[data-mode="light"] .brand strong,
.panel-body[data-mode="light"] .sidebar-nav .nav-link,
.panel-body[data-mode="light"] .sidebar-nav .nav-link i {
    color: var(--rcp-content-color);
}

.panel-body[data-mode="light"] .brand small,
.panel-body[data-mode="light"] .sidebar-user small {
    color: var(--rcp-muted-color);
}

.panel-body[data-mode="light"] .sidebar-nav .nav-link:hover {
    background: var(--rcp-overlay-hover);
    border-color: var(--rcp-control-border);
}

.panel-body[data-mode="light"] .sidebar-nav .nav-link.active,
.panel-body[data-mode="light"] .sidebar-nav .nav-link.active i {
    color: #fff;
}

.panel-body[data-mode="light"] .sidebar-footer,
.panel-body[data-mode="light"] .topbar-user,
.panel-body[data-mode="light"] .topbar-search {
    background: var(--rcp-control-surface);
    border-color: var(--rcp-control-border);
}

.panel-body[data-mode="light"] .footer-logout {
    color: var(--rcp-content-color) !important;
}

.panel-body[data-mode="light"] .panel-main {
    background: var(--rcp-main-surface);
    border-color: var(--rcp-main-border);
}

.panel-body[data-mode="light"] .topbar {
    background: var(--rcp-topbar-surface);
    border-bottom-color: var(--rcp-topbar-border);
    color: var(--rcp-content-color);
}

.panel-body[data-mode="light"] .topbar h1,
.panel-body[data-mode="light"] .topbar-user strong,
.panel-body[data-mode="light"] .topbar-search input {
    color: var(--rcp-heading-color);
}

.panel-body[data-mode="light"] .topbar .text-secondary,
.panel-body[data-mode="light"] .topbar-search,
.panel-body[data-mode="light"] .topbar-search input::placeholder,
.panel-body[data-mode="light"] .topbar-bell,
.panel-body[data-mode="light"] .topbar-terminal {
    color: var(--rcp-muted-color) !important;
}

.panel-body[data-mode="light"] .topbar-terminal {
    background: var(--rcp-overlay-surface);
    border-color: var(--rcp-overlay-border);
}

.panel-body[data-mode="light"] .panel-section,
.panel-body[data-mode="light"] .filter-collapse,
.panel-body[data-mode="light"] .attendance-table-wrap,
.panel-body[data-mode="light"] .present-panel {
    background: var(--rcp-panel-surface);
    border-color: var(--rcp-panel-border);
    color: var(--rcp-content-color);
}

.panel-body[data-mode="light"] .panel-section h2,
.panel-body[data-mode="light"] .panel-section h3,
.panel-body[data-mode="light"] .section-header h2,
.panel-body[data-mode="light"] .section-header h3,
.panel-body[data-mode="light"] .table,
.panel-body[data-mode="light"] .form-label {
    color: var(--rcp-heading-color);
}

.panel-body[data-mode="light"] .panel-section p,
.panel-body[data-mode="light"] .section-header p,
.panel-body[data-mode="light"] .form-text,
.panel-body[data-mode="light"] .text-secondary {
    color: var(--rcp-muted-color) !important;
}

.panel-body[data-mode="light"] .form-control,
.panel-body[data-mode="light"] .form-select {
    background: var(--rcp-input-surface);
    border-color: var(--rcp-input-border);
    color: var(--rcp-content-color);
}

.panel-body[data-mode="light"] .dashboard-command {
    --cmd-bg: var(--rcp-main-surface);
    --cmd-panel: var(--rcp-panel-surface);
    --cmd-panel-2: var(--rcp-control-surface);
    --cmd-line: var(--rcp-panel-border);
    --cmd-ink: var(--rcp-content-color);
    --cmd-muted: var(--rcp-muted-color);
}

/*
 * Bootstrap theme bridge.
 * Motywy ustawiają tokeny --rcp-*, a standardowe klasy Bootstrapa pobierają je tutaj.
 */
.panel-body {
    --bs-body-bg: var(--rcp-shell-surface, var(--bg));
    --bs-body-color: var(--rcp-content-color);
    --bs-emphasis-color: var(--rcp-heading-color);
    --bs-secondary-color: var(--rcp-muted-color);
    --bs-tertiary-bg: var(--rcp-control-surface);
    --bs-border-color: var(--rcp-control-border);
    --bs-card-bg: var(--rcp-panel-surface);
    --bs-card-color: var(--rcp-content-color);
    --bs-card-border-color: var(--rcp-panel-border);
    --bs-card-cap-bg: var(--rcp-control-surface);
    --bs-card-cap-color: var(--rcp-heading-color);
    --bs-link-color: var(--rcp-accent);
    --bs-link-hover-color: var(--rcp-accent-strong);
    --bs-primary: var(--rcp-accent);
    --bs-primary-rgb: var(--rcp-accent-rgb);
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
}

.panel-body .card,
.panel-body .panel-section,
.panel-body .soft-card {
    --bs-card-bg: var(--rcp-panel-surface);
    --bs-card-color: var(--rcp-content-color);
    --bs-card-border-color: var(--rcp-panel-border);
    --bs-card-cap-bg: var(--rcp-control-surface);
    --bs-card-cap-color: var(--rcp-heading-color);
    background: var(--bs-card-bg);
    border: 1px solid var(--bs-card-border-color);
    border-radius: var(--bs-border-radius);
    box-shadow: var(--rcp-panel-shadow);
    color: var(--bs-card-color);
}

.panel-body .card-header,
.panel-body .card-footer {
    background: var(--bs-card-cap-bg);
    border-color: var(--bs-card-border-color);
    color: var(--bs-card-cap-color);
}

.panel-body .card-title,
.panel-body .card-subtitle,
.panel-body .card h1,
.panel-body .card h2,
.panel-body .card h3,
.panel-body .card h4,
.panel-body .panel-section h1,
.panel-body .panel-section h2,
.panel-body .panel-section h3,
.panel-body .panel-section h4 {
    color: var(--rcp-heading-color);
}

.panel-body .card-text,
.panel-body .card p,
.panel-body .panel-section p {
    color: var(--rcp-muted-color);
}

.panel-body .section-header h2,
.panel-body .section-header h3 {
    color: var(--rcp-heading-color);
    font-weight: 650;
}

.panel-body .section-header p,
.panel-body .filter-collapse-title,
.panel-body .advanced-report-filter label,
.panel-body .report-sidebar p,
.panel-body .report-type span {
    color: var(--rcp-muted-color);
}

.panel-body .filter-bar,
.panel-body .report-filter-bar,
.panel-body .advanced-report-filter,
.panel-body .filter-collapse-body > form,
.panel-body .unknown-card-picker {
    background: var(--rcp-control-surface);
    border: 1px solid var(--rcp-control-border);
    border-radius: var(--bs-border-radius);
}

.panel-body .filter-bar,
.panel-body .report-filter-bar,
.panel-body .advanced-report-filter,
.panel-body .filter-collapse-body > form {
    padding: .85rem;
}

.panel-body .filter-collapse-header {
    color: var(--rcp-heading-color);
}

.panel-body .table-responsive {
    background: var(--rcp-panel-surface);
    border: 1px solid var(--rcp-control-border);
    border-radius: var(--bs-border-radius);
    overflow: auto;
}

.panel-body .employee-department-group .table-responsive,
.panel-body .presence-details .table-responsive,
.panel-body .attendance-table-panel .table-responsive {
    border-radius: 0;
}

.panel-body .border,
.panel-body .border-top,
.panel-body .border-end,
.panel-body .border-bottom,
.panel-body .border-start {
    border-color: var(--bs-border-color) !important;
}

.panel-body .text-muted,
.panel-body .text-secondary,
.panel-body .form-text {
    color: var(--rcp-muted-color) !important;
}

.panel-body .form-label,
.panel-body .form-check-label {
    color: var(--rcp-muted-color);
}

.panel-body .form-control,
.panel-body .form-select,
.panel-body .input-group-text {
    background-color: var(--rcp-input-surface);
    border-color: var(--rcp-input-border);
    color: var(--rcp-content-color);
}

.panel-body .form-control::placeholder {
    color: var(--rcp-placeholder-color);
}

.panel-body .form-control:focus,
.panel-body .form-select:focus {
    background-color: var(--rcp-input-focus-surface);
    border-color: var(--rcp-input-focus-border);
    box-shadow: 0 0 0 .2rem var(--rcp-accent-soft);
    color: var(--rcp-heading-color);
}

.panel-body .form-control:disabled,
.panel-body .form-select:disabled {
    background-color: var(--rcp-control-surface);
    color: var(--rcp-muted-color);
    opacity: .78;
}

.panel-body[data-mode="dark"] .form-control[type="date"],
.panel-body[data-mode="dark"] .form-control[type="time"],
.panel-body[data-mode="dark"] .form-control[type="month"] {
    color-scheme: dark;
}

.panel-body[data-mode="light"] .form-control[type="date"],
.panel-body[data-mode="light"] .form-control[type="time"],
.panel-body[data-mode="light"] .form-control[type="month"] {
    color-scheme: light;
}

.panel-body .btn-primary,
.panel-body .btn-dark {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--rcp-accent);
    --bs-btn-border-color: var(--rcp-accent);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--rcp-accent-strong);
    --bs-btn-hover-border-color: var(--rcp-accent-strong);
    --bs-btn-active-bg: var(--rcp-accent-strong);
    --bs-btn-active-border-color: var(--rcp-accent-strong);
    --bs-btn-disabled-bg: var(--rcp-accent);
    --bs-btn-disabled-border-color: var(--rcp-accent);
    background: linear-gradient(135deg, var(--rcp-accent), var(--rcp-accent-strong));
    border-color: var(--rcp-accent-line);
    box-shadow: 0 12px 26px var(--rcp-accent-soft);
}

.panel-body .btn-outline-primary {
    --bs-btn-color: var(--rcp-accent);
    --bs-btn-border-color: var(--rcp-accent-line);
    --bs-btn-hover-color: var(--rcp-heading-color);
    --bs-btn-hover-bg: var(--rcp-accent-soft);
    --bs-btn-hover-border-color: var(--rcp-accent);
    --bs-btn-active-color: var(--rcp-heading-color);
    --bs-btn-active-bg: var(--rcp-accent-soft);
    --bs-btn-active-border-color: var(--rcp-accent);
}

.panel-body .btn-outline-secondary,
.panel-body .btn-outline-info,
.panel-body .btn-light,
.panel-body .btn-outline-light {
    --bs-btn-color: var(--rcp-content-color);
    --bs-btn-bg: var(--rcp-control-surface);
    --bs-btn-border-color: var(--rcp-control-border);
    --bs-btn-hover-color: var(--rcp-heading-color);
    --bs-btn-hover-bg: var(--rcp-overlay-hover, var(--rcp-accent-soft));
    --bs-btn-hover-border-color: var(--rcp-accent-line);
    --bs-btn-active-color: var(--rcp-heading-color);
    --bs-btn-active-bg: var(--rcp-accent-soft);
    --bs-btn-active-border-color: var(--rcp-accent);
}

.panel-body .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--rcp-content-color);
    --bs-table-border-color: var(--rcp-table-row-border);
    --bs-table-hover-bg: var(--rcp-table-hover);
    --bs-table-hover-color: var(--rcp-heading-color);
    color: var(--bs-table-color);
    margin-bottom: 0px !important;
}

.panel-body .table > :not(caption) > * > * {
    background-color: var(--bs-table-bg);
    border-bottom-color: var(--bs-table-border-color);
    color: var(--bs-table-color);
}

.panel-body .table-hover > tbody > tr:hover > * {
    --bs-table-bg: var(--bs-table-hover-bg);
    color: var(--bs-table-hover-color);
}

.panel-body .table thead th {
    background: var(--rcp-table-head-surface);
    border-bottom-color: var(--rcp-table-head-border);
    color: var(--rcp-muted-color);
}

.panel-body .table-light,
.panel-body .table-light > td,
.panel-body .table-light > th,
.panel-body .table-light > * > * {
    --bs-table-bg: var(--rcp-table-subrow-surface);
    --bs-table-color: var(--rcp-content-color);
    background-color: var(--rcp-table-subrow-surface) !important;
    color: var(--rcp-content-color);
}

.panel-body .empty-cell {
    color: var(--rcp-muted-color) !important;
}

.panel-body .modal-content,
.panel-body .offcanvas {
    --bs-modal-bg: var(--rcp-panel-surface);
    --bs-modal-color: var(--rcp-content-color);
    --bs-modal-border-color: var(--rcp-panel-border);
    --bs-offcanvas-bg: var(--rcp-panel-surface);
    --bs-offcanvas-color: var(--rcp-content-color);
    background: var(--rcp-panel-surface);
    border-color: var(--rcp-panel-border);
    color: var(--rcp-content-color);
}

.panel-body .modal-header,
.panel-body .modal-footer,
.panel-body .offcanvas-header {
    border-color: var(--rcp-control-border);
}

.panel-body[data-mode="dark"] .btn-close {
    filter: invert(1) grayscale(1);
    opacity: .85;
}

.panel-body[data-mode="light"] .btn-close {
    filter: none;
}

.panel-body .nav-tabs {
    --bs-nav-tabs-border-color: var(--rcp-control-border);
    --bs-nav-tabs-link-hover-border-color: transparent transparent var(--rcp-accent-line);
    --bs-nav-tabs-link-active-bg: transparent;
    --bs-nav-tabs-link-active-border-color: transparent transparent var(--rcp-accent);
    --bs-nav-tabs-link-active-color: var(--rcp-heading-color);
    border-bottom-color: var(--rcp-control-border);
}

.panel-body .nav-tabs .nav-link {
    color: var(--rcp-muted-color);
}

.panel-body .nav-tabs .nav-link:hover,
.panel-body .nav-tabs .nav-link:focus {
    color: var(--rcp-heading-color);
}

.panel-body .list-group {
    --bs-list-group-bg: transparent;
    --bs-list-group-color: var(--rcp-content-color);
    --bs-list-group-border-color: var(--rcp-control-border);
    --bs-list-group-action-hover-bg: var(--rcp-accent-soft);
    --bs-list-group-action-hover-color: var(--rcp-heading-color);
}

.panel-body .list-group-item {
    background: var(--bs-list-group-bg);
    border-color: var(--bs-list-group-border-color);
    color: var(--bs-list-group-color);
}

.panel-body .panel-alert {
    background: var(--rcp-control-surface);
    border-color: var(--rcp-control-border);
    color: var(--rcp-content-color);
}

.panel-body .panel-alert:hover {
    background: var(--rcp-accent-soft);
    border-color: var(--rcp-accent-line);
}

.panel-body .dropdown-menu,
.panel-body .enhanced-select-menu {
    --bs-dropdown-bg: var(--rcp-menu-surface, var(--rcp-panel-surface));
    --bs-dropdown-color: var(--rcp-content-color);
    --bs-dropdown-border-color: var(--rcp-menu-border, var(--rcp-panel-border));
    --bs-dropdown-link-color: var(--rcp-content-color);
    --bs-dropdown-link-hover-bg: var(--rcp-accent-soft);
    --bs-dropdown-link-hover-color: var(--rcp-heading-color);
    background: var(--bs-dropdown-bg);
    border-color: var(--bs-dropdown-border-color);
    color: var(--bs-dropdown-color);
}

.profile-page {
    max-width: 1180px;
    margin: 0 auto;
}

.profile-header {
    align-items: center;
}

.profile-role {
    align-items: center;
    background: var(--rcp-accent-soft, rgba(77, 119, 255, .16));
    border: 1px solid var(--rcp-accent-line, rgba(105, 143, 255, .44));
    border-radius: 999px;
    display: inline-flex;
    font-size: .82rem;
    font-weight: 600;
    gap: .42rem;
    padding: .45rem .72rem;
}

.profile-section {
    padding: 1.35rem;
}

.profile-section-title {
    align-items: flex-start;
    display: flex;
    gap: .8rem;
    margin-bottom: 1.35rem;
}

.profile-section-title > i {
    background: var(--rcp-accent-soft, rgba(77, 119, 255, .16));
    border-radius: 8px;
    display: grid;
    font-size: 1.1rem;
    height: 38px;
    place-items: center;
    width: 38px;
}

.profile-section-title h3 {
    font-size: 1.02rem;
    margin: .05rem 0 .22rem;
}

.profile-section-title p {
    color: var(--rcp-muted-color);
    font-size: .84rem;
    margin: 0;
}

.profile-divider {
    border-top: 1px solid var(--rcp-control-border);
    margin: 1.5rem 0;
}

.profile-template-card {
    background: var(--rcp-control-surface);
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    cursor: pointer;
    display: block;
    min-height: 157px;
    padding: .65rem;
    transition: border-color .16s ease, transform .16s ease, background .16s ease;
}

.profile-template-card:hover {
    border-color: var(--rcp-accent-line, rgba(105, 143, 255, .44));
    transform: translateY(-2px);
}

.btn-check:checked + .profile-template-card {
    background: var(--rcp-accent-soft, rgba(77, 119, 255, .16));
    border-color: var(--rcp-accent, #4d77ff);
    box-shadow: 0 0 0 1px var(--rcp-accent, #4d77ff) inset;
}

.profile-template-card > strong,
.profile-template-card > small {
    display: block;
}

.profile-template-card > strong {
    font-size: .9rem;
    margin: .6rem .1rem .1rem;
}

.profile-template-card > small {
    color: var(--rcp-muted-color);
    font-size: .73rem;
    line-height: 1.35;
    margin: 0 .1rem;
}

.profile-template-preview {
    background: var(--preview-bg, var(--rcp-main-surface));
    border: 1px solid var(--rcp-control-border);
    border-radius: 5px;
    display: flex;
    gap: .35rem;
    height: 58px;
    overflow: hidden;
    padding: .45rem;
}

.profile-template-preview i,
.profile-template-preview b,
.profile-template-preview em {
    border-radius: 3px;
    display: block;
}

.profile-template-preview i { background: var(--preview-sidebar, var(--rcp-sidebar-surface)); width: 25%; }
.profile-template-preview b { background: linear-gradient(135deg, var(--rcp-accent, #5079ff), var(--preview-panel, #315ce7)); flex: 1; }
.profile-template-preview em { background: var(--preview-panel, var(--rcp-control-surface)); width: 24%; }

.profile-accent-list {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.profile-accent {
    align-items: center;
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    font-size: .78rem;
    gap: .38rem;
    padding: .45rem .55rem;
}

.profile-accent i {
    background: var(--accent-swatch);
    border-radius: 999px;
    display: block;
    height: 12px;
    width: 12px;
}

.btn-check:checked + .profile-accent {
    background: var(--rcp-accent-soft);
    border-color: var(--accent-swatch);
}

.profile-preview {
    align-items: center;
    background: var(--profile-preview-bg, var(--rcp-main-surface));
    border: 1px solid var(--rcp-control-border);
    border-radius: 8px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    min-height: 76px;
    overflow: hidden;
    padding: .8rem 1rem;
}

.profile-preview span,
.profile-preview strong { display: block; }
.profile-preview span { color: var(--rcp-muted-color); font-size: .75rem; }
.profile-preview strong { color: var(--rcp-heading-color); font-size: 1rem; }
.profile-preview-lines { display: flex; flex: 1; gap: .35rem; max-width: 210px; }
.profile-preview-lines i { background: var(--rcp-overlay-hover); border-radius: 999px; display: block; height: 7px; flex: 1; }
.profile-preview-lines i:first-child { background: var(--profile-preview-accent, #4d77ff); }
.profile-preview > b { background: rgba(53, 223, 138, .13); border-radius: 999px; color: #6cf0ae; font-size: .76rem; font-weight: 600; padding: .32rem .5rem; }

.panel-body[data-mode="light"] .profile-template-card,
.panel-body[data-mode="light"] .profile-accent {
    background: var(--rcp-control-surface);
    border-color: var(--rcp-control-border);
}

.panel-body[data-mode="light"] .profile-template-card > small,
.panel-body[data-mode="light"] .profile-section-title p { color: var(--rcp-muted-color); }
.panel-body[data-mode="light"] .profile-divider { border-color: var(--rcp-control-border); }

.dashboard-widget {
    cursor: grab;
    position: relative;
    transition: opacity .16s ease, transform .16s ease;
}

.dashboard-widget:active {
    cursor: grabbing;
}

.dashboard-widget.is-dragging {
    opacity: .38;
}

.dashboard-widget.is-drop-target .command-stat,
.dashboard-widget.is-drop-target .command-panel {
    box-shadow: 0 0 0 2px var(--rcp-accent, #4d77ff), 0 12px 30px var(--rcp-accent-soft, rgba(77, 119, 255, .16));
}

.dashboard-widget-grid.is-saving .dashboard-widget {
    pointer-events: none;
}

.command-stat-grip {
    color: var(--rcp-muted-color);
    font-size: 1rem;
    position: absolute;
    right: .55rem;
    top: .45rem;
    transition: color .16s ease;
    touch-action: none;
}

.dashboard-panel-widget > .command-panel {
    position: relative;
}

.command-panel-grip {
    color: var(--rcp-muted-color);
    font-size: 1rem;
    position: absolute;
    right: .7rem;
    top: .65rem;
    touch-action: none;
    transition: color .16s ease;
    z-index: 2;
}

.dashboard-widget:hover .command-stat-grip {
    color: var(--rcp-heading-color);
}

.dashboard-widget:hover .command-panel-grip {
    color: var(--rcp-heading-color);
}

.panel-body[data-mode="light"] .command-stat-grip {
    color: var(--rcp-muted-color);
}

.panel-body[data-mode="light"] .command-panel-grip {
    color: var(--rcp-muted-color);
}

@media (max-width: 760px) {
    .profile-header { align-items: flex-start; }
    .profile-section { padding: 1rem; }
    .profile-preview { align-items: flex-start; flex-wrap: wrap; }
    .profile-preview-lines { flex-basis: 100%; max-width: none; order: 3; }
}
.monthly-day-cell {
    font-size: .68rem;
    line-height: 1.1;
    min-height: 2rem;
    padding: .25rem;
    white-space: nowrap;
}

.monthly-employee-schedules {
    display: grid;
    gap: .85rem;
}

.monthly-employee-schedule {
    margin: 0;
    overflow: hidden;
}

.monthly-employee-schedule-head {
    align-items: center;
    border-bottom: 1px solid var(--bs-border-color);
    display: flex;
    justify-content: space-between;
    padding: .7rem .85rem;
}

.monthly-employee-schedule-head h3 {
    font-size: .95rem;
    font-weight: 700;
    margin: 0;
}

.monthly-employee-schedule-head span {
    color: var(--bs-secondary-color);
    font-size: .76rem;
}

.monthly-employee-schedule-head strong {
    font-size: .82rem;
}

.monthly-calendar-scroll {
    overflow-x: auto;
    padding: .65rem .75rem .8rem;
}

.monthly-calendar-grid {
    display: grid;
    gap: .4rem;
    grid-template-columns: repeat(7, minmax(76px, 1fr));
    min-width: 580px;
}

.monthly-calendar-day {
    align-items: center;
    display: grid;
    gap: .28rem;
    justify-items: center;
    min-height: 3.9rem;
}

.monthly-calendar-date {
    color: var(--bs-secondary-color);
    display: grid;
    font-size: .76rem;
    font-weight: 700;
    justify-items: center;
    line-height: 1.05;
}

.monthly-calendar-date small {
    font-size: .64rem;
    font-weight: 600;
    text-transform: uppercase;
}

.schedule-plan-calendar-wrap {
    background: var(--rcp-panel-surface);
    border: 1px solid var(--rcp-panel-border);
    border-radius: 8px;
    overflow: hidden;
}

.schedule-plan-calendar {
    table-layout: fixed;
}

.schedule-plan-calendar thead th {
    background: var(--rcp-table-head-surface) !important;
    border-color: var(--rcp-table-head-border) !important;
    color: var(--rcp-muted-color) !important;
    font-size: .72rem;
    letter-spacing: 0;
    padding-block: .55rem;
}

.schedule-plan-calendar td.schedule-plan-calendar-day,
.schedule-plan-calendar td.schedule-plan-calendar-empty {
    background: var(--rcp-overlay-surface) !important;
    border-color: var(--rcp-table-row-border) !important;
    height: 112px;
    min-width: 130px;
    vertical-align: top;
}

.schedule-plan-calendar td.schedule-plan-calendar-empty,
.schedule-plan-calendar td.schedule-plan-calendar-day.is-day-off {
    background: var(--rcp-table-subrow-surface) !important;
}

.schedule-plan-calendar td.schedule-plan-calendar-day.has-absence {
    background: color-mix(in srgb, var(--rcp-overlay-surface) 88%, var(--rcp-accent-soft, #4d77ff)) !important;
}

.schedule-plan-calendar-day.has-absence .badge {
    margin-top: .35rem;
}

.schedule-plan-calendar td.schedule-plan-calendar-day.is-selected {
    box-shadow: inset 0 0 0 2px var(--rcp-accent);
}

.schedule-plan-calendar-day .btn-link {
    color: var(--rcp-content-color);
}

.schedule-plan-calendar-day .btn-link:hover {
    color: var(--rcp-heading-color);
}

.schedule-plan-operations {
    max-height: 62px;
    overflow-y: auto;
    width: 100%;
}

.schedule-plan-operations .badge {
    cursor: pointer;
    line-height: 1.25;
    max-width: 100%;
}

@media (max-width: 760px) {
    .schedule-plan-calendar td.schedule-plan-calendar-day,
    .schedule-plan-calendar td.schedule-plan-calendar-empty {
        height: 94px;
        min-width: 106px;
    }
}

@media (max-width: 760px) {
    .monthly-schedule-page .section-header {
        align-items: flex-start;
    }

    .monthly-calendar-scroll {
        padding-inline: .55rem;
    }

    .monthly-calendar-grid {
        gap: .32rem;
        grid-template-columns: repeat(7, minmax(68px, 1fr));
        min-width: 530px;
    }
}

.sidebar-nav-group {
    display: flex;
    flex-direction: column;
}

.sidebar-nav-group-toggle {
    align-items: center;
    background: none;
    border: 0;
    color: var(--rcp-muted-color);
    cursor: pointer;
    display: flex;
    font-size: .72rem;
    font-weight: 600;
    gap: .5rem;
    letter-spacing: .04em;
    padding: .5rem .65rem .35rem;
    text-transform: uppercase;
    width: 100%;
}

.sidebar-nav-group-toggle:hover {
    color: var(--rcp-heading-color);
}

.sidebar-nav-group-toggle i:first-child {
    font-size: .95rem;
    width: 1.12rem;
}

.sidebar-nav-group-caret {
    font-size: .8rem;
    margin-left: auto;
    transition: transform .15s ease;
}

.sidebar-nav-group.is-collapsed .sidebar-nav-group-caret {
    transform: rotate(-90deg);
}

.sidebar-nav-group-items {
    display: flex;
    flex-direction: column;
    gap: .28rem;
    max-height: 400px;
    opacity: 1;
    overflow: hidden;
    transition: max-height .2s ease, opacity .15s ease;
}

.sidebar-nav-group.is-collapsed .sidebar-nav-group-items {
    max-height: 0;
    opacity: 0;
}

html.sidebar-collapsed .sidebar-nav-group-toggle {
    height: 44px;
    justify-content: center;
    padding: 0;
    width: 52px;
}

html.sidebar-collapsed .sidebar-nav-group-toggle i:first-child {
    width: auto;
}

html.sidebar-collapsed .sidebar-nav-group-caret {
    display: none;
}

@media (max-width: 767.98px) {
    .sidebar-nav-group-toggle {
        display: none;
    }

    .sidebar-nav-group-items {
        display: flex !important;
        max-height: none !important;
        opacity: 1 !important;
    }
}
.integration-workspace {
    border: 1px solid var(--bs-border-color);
    display: grid;
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
    min-height: 640px;
}

.integration-profile-list {
    border-right: 1px solid var(--bs-border-color);
    min-width: 0;
}

.integration-profile-list-head,
.integration-builder-head,
.integration-mapping-head,
.integration-preview-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.integration-profile-list-head,
.integration-builder-head {
    border-bottom: 1px solid var(--bs-border-color);
    min-height: 62px;
    padding: .75rem 1rem;
}

.integration-profile-list-head > div,
.integration-builder-head > div,
.integration-mapping-head > div,
.integration-preview-head {
    display: grid;
    gap: .1rem;
}

.integration-profile-list-head small,
.integration-builder-head small,
.integration-mapping-head small,
.integration-preview-head small,
.integration-profile-open small {
    color: var(--bs-secondary-color);
    font-size: .75rem;
}

.integration-profile-items {
    padding: .45rem;
}

.integration-profile-item {
    align-items: center;
    border: 1px solid transparent;
    display: flex;
    gap: .25rem;
    margin-bottom: .25rem;
}

.integration-profile-item:hover,
.integration-profile-item.active {
    background: var(--rcp-accent-soft);
    border-color: var(--rcp-accent-line);
}

.integration-profile-open {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    display: grid;
    flex: 1;
    gap: .65rem;
    grid-template-columns: 42px minmax(0, 1fr);
    min-width: 0;
    padding: .55rem;
    text-align: left;
}

.integration-profile-open > span:last-child {
    display: grid;
    min-width: 0;
}

.integration-profile-open strong,
.integration-profile-open small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.integration-profile-format {
    align-items: center;
    background: var(--rcp-accent-soft);
    border: 1px solid var(--rcp-accent-line);
    color: var(--rcp-accent);
    display: flex;
    font-size: .68rem;
    font-weight: 700;
    height: 34px;
    justify-content: center;
}

.integration-profile-empty {
    align-items: center;
    color: var(--bs-secondary-color);
    display: grid;
    font-size: .82rem;
    gap: .6rem;
    justify-items: center;
    padding: 2rem 1rem;
    text-align: center;
}

.integration-profile-empty i {
    font-size: 1.5rem;
}

.integration-builder {
    min-width: 0;
}

.integration-builder-basics,
.integration-mapping-head,
.integration-mapping-labels,
.integration-mapping,
.integration-preview-head,
.integration-preview {
    margin-left: 1rem;
    margin-right: 1rem;
}

.integration-builder-basics {
    padding-bottom: 1rem;
    padding-top: 1rem;
}

.integration-mapping-head,
.integration-preview-head {
    border-top: 1px solid var(--bs-border-color);
    padding: .85rem 0 .65rem;
}

.integration-mapping-labels,
.integration-mapping-row {
    align-items: center;
    display: grid;
    gap: .5rem;
    grid-template-columns: minmax(110px, .9fr) minmax(180px, 1.5fr) minmax(150px, 1fr) minmax(110px, .8fr) 146px;
}

.integration-mapping-labels {
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 600;
    padding: 0 .25rem .35rem;
    text-transform: uppercase;
}

.integration-mapping-row {
    border-top: 1px solid var(--bs-border-color);
    padding: .45rem 0;
}

.integration-mapping-actions {
    display: flex;
    justify-content: flex-end;
}

.integration-mapping-actions label.active {
    background: var(--rcp-accent-soft);
    color: var(--rcp-accent);
}

.integration-preview {
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    color: var(--bs-body-color);
    font-size: .75rem;
    margin-bottom: 1rem;
    max-height: 220px;
    min-height: 96px;
    overflow: auto;
    padding: .75rem;
    white-space: pre;
}

@media (max-width: 1100px) {
    .integration-mapping-labels {
        display: none;
    }

    .integration-mapping-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .integration-mapping-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .integration-workspace {
        display: block;
    }

    .integration-profile-list {
        border-bottom: 1px solid var(--bs-border-color);
        border-right: 0;
        max-height: 270px;
        overflow: auto;
    }

    .integration-builder-head,
    .integration-profile-list-head {
        padding: .65rem .75rem;
    }

    .integration-builder-basics,
    .integration-mapping-head,
    .integration-mapping-labels,
    .integration-mapping,
    .integration-preview-head,
    .integration-preview {
        margin-left: .75rem;
        margin-right: .75rem;
    }

    .integration-mapping-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .integration-mapping-actions {
        grid-column: auto;
    }
}
.report-night-details summary {
    color: var(--rcp-accent);
    cursor: pointer;
    font-size: .78rem;
    white-space: nowrap;
}

.report-night-details > div {
    display: grid;
    font-size: .72rem;
    gap: .2rem;
    margin-top: .4rem;
    min-width: 190px;
}

.report-night-details span {
    display: flex;
    gap: .5rem;
    justify-content: space-between;
}

.report-night-details em {
    font-style: normal;
}
