/*
 * Famstack luxury UI — unified stylesheet
 * Edit this file directly. Loaded at runtime via public/index.html.
 */

/* ========== luxury-shell.css ========== */

/* ========== Luxury shell — dynamic palette tokens ========== */
:root,
[data-lux-palette="emerald"] {
    --lux-primary: #059669;
    --lux-primary-dark: #065f46;
    --lux-primary-soft: #ecfdf5;
    --lux-accent: #10b981;
    --lux-primary-rgb: 5, 150, 105;
    --lux-accent-rgb: 16, 185, 129;
}

[data-lux-palette="indigo"] {
    --lux-primary: #5b5ff4;
    --lux-primary-dark: #3730a3;
    --lux-primary-soft: #eef2ff;
    --lux-accent: #19c6c3;
    --lux-primary-rgb: 91, 95, 244;
    --lux-accent-rgb: 25, 198, 195;
}

[data-lux-palette="sapphire"] {
    --lux-primary: #2563eb;
    --lux-primary-dark: #1e3a8a;
    --lux-primary-soft: #eff6ff;
    --lux-accent: #06b6d4;
    --lux-primary-rgb: 37, 99, 235;
    --lux-accent-rgb: 6, 182, 212;
}

[data-lux-palette="rose"] {
    --lux-primary: #e11d48;
    --lux-primary-dark: #9f1239;
    --lux-primary-soft: #fff1f2;
    --lux-accent: #f97316;
    --lux-primary-rgb: 225, 29, 72;
    --lux-accent-rgb: 249, 115, 22;
}

[data-lux-palette="midnight"] {
    --lux-primary: #6366f1;
    --lux-primary-dark: #312e81;
    --lux-primary-soft: #eef2ff;
    --lux-accent: #a78bfa;
    --lux-primary-rgb: 99, 102, 241;
    --lux-accent-rgb: 167, 139, 250;
}

[data-lux-palette="amber"] {
    --lux-primary: #d97706;
    --lux-primary-dark: #92400e;
    --lux-primary-soft: #fffbeb;
    --lux-accent: #f59e0b;
    --lux-primary-rgb: 217, 119, 6;
    --lux-accent-rgb: 245, 158, 11;
}

[data-lux-palette="violet"] {
    --lux-primary: #7c3aed;
    --lux-primary-dark: #5b21b6;
    --lux-primary-soft: #f5f3ff;
    --lux-accent: #c084fc;
    --lux-primary-rgb: 124, 58, 237;
    --lux-accent-rgb: 192, 132, 252;
}

[data-lux-palette="ocean"] {
    --lux-primary: #0d9488;
    --lux-primary-dark: #115e59;
    --lux-primary-soft: #f0fdfa;
    --lux-accent: #38bdf8;
    --lux-primary-rgb: 13, 148, 136;
    --lux-accent-rgb: 56, 189, 248;
}

[data-lux-palette="sunset"] {
    --lux-primary: #ea580c;
    --lux-primary-dark: #c2410c;
    --lux-primary-soft: #fff7ed;
    --lux-accent: #fb7185;
    --lux-primary-rgb: 234, 88, 12;
    --lux-accent-rgb: 251, 113, 133;
}

[data-lux-palette="graphite"] {
    --lux-primary: #475569;
    --lux-primary-dark: #1e293b;
    --lux-primary-soft: #f1f5f9;
    --lux-accent: #64748b;
    --lux-primary-rgb: 71, 85, 105;
    --lux-accent-rgb: 100, 116, 139;
}

[data-lux-palette="crimson"] {
    --lux-primary: #dc2626;
    --lux-primary-dark: #991b1b;
    --lux-primary-soft: #fef2f2;
    --lux-accent: #f87171;
    --lux-primary-rgb: 220, 38, 38;
    --lux-accent-rgb: 248, 113, 113;
}

[data-lux-palette="forest"] {
    --lux-primary: #166534;
    --lux-primary-dark: #14532d;
    --lux-primary-soft: #f0fdf4;
    --lux-accent: #4ade80;
    --lux-primary-rgb: 22, 101, 52;
    --lux-accent-rgb: 74, 222, 128;
}

:root {
    --lux-bg: #f6f7fb;
    --lux-surface: rgba(255, 255, 255, 0.82);
    --lux-rail-surface: rgba(255, 255, 255, 0.76);
    --lux-header-surface: rgba(255, 255, 255, 0.64);
    --lux-border: rgba(226, 232, 240, 0.9);
    --lux-text: #111827;
    --lux-muted: #64748b;
    --lux-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
    --lux-shadow-sm: 0 8px 22px rgba(15, 23, 42, 0.06);
    --lux-radius-lg: 22px;
    --lux-radius-md: 15px;
    --lux-rail-width: 55px;
    --lux-menu-width: 232px;
    --lux-module-rail-width: 44px;
    --lux-menu-context-width: calc(var(--lux-menu-width) - var(--lux-module-rail-width));
    --lux-rail-padding-y: 12px;
    --lux-rail-padding-x: 12px;
    --lux-sidebar-padding: 12px 6px 20px;
    --app-sidebar-width: calc(var(--lux-rail-width) + var(--lux-menu-width));
    --app-sidebar-rail: var(--lux-rail-width);
    --app-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --lux-brand-font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    /* Luxury readable type scale (minimum ~9px; prefer --lux-text-sm+ for body copy) */
    --lux-text-2xs: 0.5625rem;
    --lux-text-xs: 0.625rem;
    --lux-text-sm: 0.6875rem;
    --lux-text-md: 0.75rem;
    --lux-text-body: 0.8125rem;
    --lux-text-lg: 0.875rem;
    /* Stacking order — overlays must sit above --lux-z-page-header */
    --lux-z-sidebar: 1029;
    --lux-z-offcanvas: 1035;
    --lux-z-page-header: 1040;
    --lux-z-page-header-menu: 1060;
    --lux-z-overlay: 10040;
    --lux-z-overlay-panel: 10041;
    --lux-z-shell-panel: 10050;
}

[data-lux-font="inter"] {
    --app-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-lux-font="source-sans"] {
    --app-font-sans: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-lux-font="ibm-plex"] {
    --app-font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-lux-font="plus-jakarta"] {
    --app-font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-lux-font="dm-sans"] {
    --app-font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-lux-font="roboto"] {
    --app-font-sans: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-lux-font="open-sans"] {
    --app-font-sans: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-lux-font="lato"] {
    --app-font-sans: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-lux-font="manrope"] {
    --app-font-sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-lux-font="montserrat"] {
    --app-font-sans: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-lux-typography="soft-luxury"] {
    --lux-brand-font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-lux-typography="strict-enterprise"] {
    --lux-brand-font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-lux-typography="custom"] {
    --lux-brand-font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.lux-shell,
body.lux-shell #root,
body.lux-shell #main_content {
    font-family: var(--app-font-sans) !important;
}

body.lux-shell *:not(.brand-name):not(.brand-registered):not(.brand-pro):not(.logo-text):not(.lux-user-panel__brand-name):not(i):not(code):not(pre):not(kbd):not(samp) {
    font-family: inherit !important;
}

.brand-name,
.brand-registered,
.brand-pro,
.logo-text,
.lux-user-panel__brand-name,
#header_top.lux-rail .brand-name,
#left-sidebar .brand-name,
.user_div .brand-name {
    font-family: var(--lux-brand-font) !important;
}

body.lux-shell {
    background:
        radial-gradient(circle at top left, rgba(var(--lux-primary-rgb), 0.12), transparent 34%),
        radial-gradient(circle at 92% 18%, rgba(var(--lux-accent-rgb), 0.14), transparent 30%),
        var(--lux-bg) !important;
}

body.lux-shell-dark {
    --lux-bg: #0f172a;
    --lux-surface: rgba(30, 41, 59, 0.88);
    --lux-rail-surface: rgba(15, 23, 42, 0.92);
    --lux-header-surface: rgba(15, 23, 42, 0.82);
    --lux-border: rgba(51, 65, 85, 0.9);
    --lux-text: #f8fafc;
    --lux-muted: #94a3b8;
}

/* ========== Page-level alert strip (MainLayout global errors) ========== */
body.lux-shell #main_content > .lux-page-alert {
    position: absolute;
    top: 0;
    z-index: 10000;
    left: var(--app-sidebar-width);
    width: calc(100% - var(--app-sidebar-width));
    margin-top: 0.625rem;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-radius: 14px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    animation: lux-page-alert-in 0.32s ease-out;
}

@keyframes lux-page-alert-in {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.lux-page-alert--danger {
    border: 1px solid rgba(244, 63, 94, 0.24);
    background: linear-gradient(135deg, rgba(254, 242, 242, 0.98), rgba(255, 247, 247, 0.9));
    box-shadow:
        0 12px 32px -20px rgba(190, 18, 60, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.lux-page-alert__icon {
    display: inline-grid;
    place-items: center;
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 10px;
    flex-shrink: 0;
    background: rgba(244, 63, 94, 0.12);
    color: #be123c;
    font-size: 1rem;
}

.lux-page-alert__message {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.45;
    color: #9f1239;
}

.lux-page-alert__dismiss {
    display: inline-grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(244, 63, 94, 0.1);
    color: #be123c;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.lux-page-alert__dismiss:hover {
    background: rgba(244, 63, 94, 0.18);
    color: #9f1239;
    transform: scale(1.04);
}

.lux-page-alert__dismiss:focus-visible {
    outline: 2px solid rgba(244, 63, 94, 0.45);
    outline-offset: 2px;
}

body.lux-shell-dark #main_content > .lux-page-alert--danger {
    border-color: rgba(251, 113, 133, 0.28);
    background: linear-gradient(135deg, rgba(76, 5, 25, 0.94), rgba(51, 8, 22, 0.9));
    box-shadow:
        0 14px 36px -22px rgba(0, 0, 0, 0.65),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.lux-shell-dark .lux-page-alert--danger .lux-page-alert__icon {
    background: rgba(251, 113, 133, 0.16);
    color: #fda4af;
}

body.lux-shell-dark .lux-page-alert--danger .lux-page-alert__message {
    color: #fecdd3;
}

body.lux-shell-dark .lux-page-alert--danger .lux-page-alert__dismiss {
    background: rgba(251, 113, 133, 0.14);
    color: #fda4af;
}

body.lux-shell-dark .lux-page-alert--danger .lux-page-alert__dismiss:hover {
    background: rgba(251, 113, 133, 0.24);
    color: #ffe4e6;
}

@media screen and (max-width: 1200px) {
    body.lux-shell #main_content > .lux-page-alert {
        left: var(--app-sidebar-rail);
        width: calc(100% - var(--app-sidebar-rail));
    }
}

@media screen and (max-width: 767px) {
    body.lux-shell #main_content > .lux-page-alert {
        left: 0;
        width: 100%;
        border-radius: 0 0 14px 14px;
        margin-top: 0;
    }
}

/* ========== Connection error page (backend unreachable) ========== */
body.lux-connection-error-open,
body.lux-connection-error-open #root,
body.lux-connection-error-open #main_content.lux-connection-error-shell {
    overflow: hidden;
    height: 100vh;
    min-height: 100vh;
}

body.lux-connection-error-open {
    background: #0c1222 !important;
}

#main_content.lux-connection-error-shell {
    position: fixed;
    inset: 0;
    z-index: 20000;
    width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    background: #0c1222;
}

.lux-connection-error-screen {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
    overflow: hidden;
    color: #f8fafc;
}

.lux-connection-error__backdrop {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    background-color: #0c1222;
    background-image: url("/assets/images/login-background.jpeg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.lux-connection-error__scrim {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            112deg,
            rgba(8, 12, 28, 0.94) 0%,
            rgba(10, 22, 48, 0.88) 38%,
            rgba(13, 71, 90, 0.55) 52%,
            rgba(15, 23, 42, 0.72) 68%,
            rgba(8, 12, 28, 0.82) 100%
        ),
        radial-gradient(ellipse 80% 60% at 20% 80%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22), transparent 55%),
        radial-gradient(ellipse 60% 50% at 85% 20%, rgba(20, 184, 166, 0.12), transparent 50%);
}

.lux-connection-error__brand {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1.25rem, 3vw, 2rem) 1.5rem 0;
}

.lux-connection-error__brand .auth-screen__brand-name,
.lux-connection-error__brand .brand-name {
    color: #f8fafc;
}

.lux-connection-error {
    position: relative;
    z-index: 1;
    flex: 1;
    display: grid;
    place-items: center;
    align-content: center;
    min-height: 0;
    padding: clamp(1rem, 3vw, 2rem) clamp(1rem, 3vw, 2rem) clamp(2rem, 4vw, 3rem);
}

.lux-connection-error__grid {
    position: absolute;
    inset: -20%;
    background-image:
        linear-gradient(rgba(var(--lux-primary-rgb), 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(var(--lux-primary-rgb), 0.05) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 20%, transparent 78%);
    opacity: 0.55;
}

.lux-connection-error__orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(48px);
    opacity: 0.55;
    animation: lux-connection-orb-float 9s ease-in-out infinite;
}

.lux-connection-error__orb--1 {
    width: 18rem;
    height: 18rem;
    top: 8%;
    left: 12%;
    background: rgba(var(--lux-primary-rgb), 0.22);
}

.lux-connection-error__orb--2 {
    width: 14rem;
    height: 14rem;
    right: 10%;
    top: 18%;
    background: rgba(var(--lux-accent-rgb), 0.18);
    animation-delay: -2.5s;
}

.lux-connection-error__orb--3 {
    width: 22rem;
    height: 22rem;
    left: 38%;
    bottom: -4%;
    background: rgba(244, 63, 94, 0.14);
    animation-delay: -5s;
}

@keyframes lux-connection-orb-float {
    0%,
    100% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    50% {
        transform: translate3d(0, -14px, 0) scale(1.04);
    }
}

.lux-connection-error__card {
    position: relative;
    z-index: 1;
    width: min(100%, 42rem);
    padding: clamp(1.5rem, 3vw, 2.25rem);
    border-radius: 22px;
    border: 1px solid rgba(var(--lux-primary-rgb), 0.16);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.82));
    box-shadow:
        0 28px 64px -36px rgba(15, 23, 42, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    text-align: center;
    animation: lux-connection-card-in 0.45s ease-out;
}

@keyframes lux-connection-card-in {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.lux-connection-error__icon-wrap {
    position: relative;
    width: 5.5rem;
    height: 5.5rem;
    margin: 0 auto 1.25rem;
}

.lux-connection-error__pulse {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    border: 1px solid rgba(244, 63, 94, 0.28);
    animation: lux-connection-pulse 2.4s ease-out infinite;
}

.lux-connection-error__pulse--inner {
    inset: 0.55rem;
    animation-delay: 0.45s;
}

@keyframes lux-connection-pulse {
    0% {
        transform: scale(0.82);
        opacity: 0.75;
    }

    70%,
    100% {
        transform: scale(1.18);
        opacity: 0;
    }
}

.lux-connection-error__icon {
    position: absolute;
    inset: 0.85rem;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(254, 242, 242, 0.98), rgba(255, 247, 247, 0.88));
    border: 1px solid rgba(244, 63, 94, 0.22);
    color: #be123c;
    font-size: 1.65rem;
    box-shadow: 0 10px 24px -16px rgba(190, 18, 60, 0.55);
}

.lux-connection-error__eyebrow {
    margin: 0 0 0.45rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #be123c;
}

.lux-connection-error__title {
    margin: 0 0 0.75rem;
    font-size: clamp(1.45rem, 2.8vw, 2rem);
    line-height: 1.15;
    font-weight: 800;
    color: #0f172a;
}

.lux-connection-error__lead {
    margin: 0 auto 1.35rem;
    max-width: 34rem;
    font-size: 0.9rem;
    line-height: 1.6;
    color: #64748b;
}

.lux-connection-error__checks {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
    display: grid;
    gap: 0.65rem;
    text-align: left;
}

.lux-connection-error__check {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(255, 255, 255, 0.72);
}

.lux-connection-error__check-icon {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb), 0.1);
    color: rgb(var(--lux-primary-rgb));
    flex-shrink: 0;
}

.lux-connection-error__check-copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.lux-connection-error__check-copy strong {
    font-size: 0.8125rem;
    color: #1e293b;
}

.lux-connection-error__check-copy span {
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-connection-error__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.lux-connection-error__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.65rem;
    padding: 0.55rem 1.15rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.8125rem;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.lux-connection-error__btn--primary {
    border-color: rgba(var(--lux-primary-rgb), 0.32);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb), 0.95), rgba(var(--lux-accent-rgb), 0.88));
    color: #fff;
    box-shadow: 0 14px 28px -18px rgba(var(--lux-primary-rgb), 0.75);
}

.lux-connection-error__btn--primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 34px -18px rgba(var(--lux-primary-rgb), 0.85);
}

.lux-connection-error__btn:focus-visible {
    outline: 2px solid rgba(var(--lux-primary-rgb), 0.45);
    outline-offset: 2px;
}

.lux-connection-error__footnote {
    margin: 0;
    font-size: 0.75rem;
    color: #94a3b8;
    line-height: 1.5;
}

body.lux-shell-dark .lux-connection-error__card {
    border-color: rgba(148, 163, 184, 0.18);
    background: linear-gradient(145deg, rgba(30, 41, 59, 0.94), rgba(15, 23, 42, 0.88));
    box-shadow:
        0 28px 64px -36px rgba(0, 0, 0, 0.65),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

body.lux-shell-dark .lux-connection-error__title {
    color: #f8fafc;
}

body.lux-shell-dark .lux-connection-error__lead,
body.lux-shell-dark .lux-connection-error__check-copy span,
body.lux-shell-dark .lux-connection-error__footnote {
    color: #94a3b8;
}

body.lux-shell-dark .lux-connection-error__check {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(71, 85, 105, 0.45);
}

body.lux-shell-dark .lux-connection-error__check-copy strong {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-connection-error__icon {
    background: linear-gradient(145deg, rgba(76, 5, 25, 0.92), rgba(51, 8, 22, 0.88));
    border-color: rgba(251, 113, 133, 0.28);
    color: #fda4af;
}

@media screen and (max-width: 767px) {
    .lux-connection-error__card {
        border-radius: 18px;
        padding: 1.25rem;
    }

    .lux-connection-error__brand {
        padding-top: 1rem;
    }
}

/* ========== Left rail ========== */
#header_top.lux-rail {
    width: var(--lux-rail-width);
    background: var(--lux-rail-surface);
    border-right: 1px solid var(--lux-border);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: none;
    padding: var(--lux-rail-padding-y) var(--lux-rail-padding-x);
}

#header_top.lux-rail > .container {
    width: 100%;
    max-width: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

#header_top.lux-rail .hleft,
#header_top.lux-rail .hright,
#header_top.lux-rail .dropdown {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 8px;
}

#header_top.lux-rail .header-brand {
    padding: 0;
    margin: 0 0 12px;
    background: transparent;
    box-shadow: none;
    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

#header_top.lux-rail .header-brand img {
    height: auto !important;
    object-fit: contain;
    filter: none;
    max-width: none;
}

#header_top.lux-rail .header-brand .lux-rail-brand-mark {
    width: 40px;
    display: block;
}

/* Rail nav + tools — luxury icon buttons (logo section unchanged above) */
#header_top.lux-rail .lux-rail__nav,
#header_top.lux-rail .lux-rail__tools {
    gap: 6px;
    width: 100%;
}

#header_top.lux-rail .lux-rail__nav {
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px solid var(--lux-border);
}

#header_top.lux-rail .lux-rail__tools {
    padding-top: 12px;
    border-top: 1px solid var(--lux-border);
}

#header_top.lux-rail .lux-rail__icon-btn {
    position: relative;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    color: var(--lux-muted);
    font-size: 17px;
    background: rgba(255, 255, 255, 0.72);
    border: 0px solid rgba(226, 232, 240, 0.95);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 2px 8px rgba(15, 23, 42, 0.05);
    transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

#header_top.lux-rail .lux-rail__icon-btn i {
    line-height: 1;
    stroke-width: 2px;
}

#header_top.lux-rail .lux-rail__icon-btn:hover {
    color: var(--lux-primary);
    background: var(--lux-primary-soft);
    border-color: rgba(var(--lux-primary-rgb), 0.18);
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb), 0.14);
    transform: translateY(-1px);
}

#header_top.lux-rail .lux-rail__icon-btn.active {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary), var(--lux-accent));
    border-color: transparent;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb), 0.32);
}

#header_top.lux-rail .lux-rail__icon-btn.active::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.45), transparent 55%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

#header_top.lux-rail .lux-rail__icon-btn.disabled,
#header_top.lux-rail .lux-rail__icon-btn:disabled {
    opacity: 0.38;
    pointer-events: none;
    box-shadow: none;
}

#header_top.lux-rail .lux-rail__avatar-btn {
    width: 42px;
    height: 42px;
    margin: 4px 0 2px;
    padding: 2px;
    border: none;
    border-radius: 15px;
    background: linear-gradient(135deg, var(--lux-primary), var(--lux-accent));
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb), 0.28);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

#header_top.lux-rail .lux-rail__avatar-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(var(--lux-primary-rgb), 0.34);
}

#header_top.lux-rail .lux-rail__avatar-btn .avatar {
    width: 100%;
    height: 100%;
    border-radius: 13px;
    border: 2px solid #fff;
    box-shadow: none;
    object-fit: cover;
}

#header_top.lux-rail .lux-rail__menu-toggle {
    margin-top: 4px;
    background: rgba(248, 250, 252, 0.95);
    border-color: var(--lux-border);
}

#header_top.lux-rail .lux-rail__menu-toggle:hover {
    color: var(--lux-primary-dark, var(--lux-primary));
    background: #fff;
}

body.lux-shell-dark #header_top.lux-rail .lux-rail__icon-btn {
    background: rgba(30, 41, 59, 0.72);
    border-color: rgba(51, 65, 85, 0.95);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

body.lux-shell-dark #header_top.lux-rail .lux-rail__icon-btn:hover {
    background: rgba(var(--lux-primary-rgb), 0.16);
}

body.lux-shell-dark #header_top.lux-rail .lux-rail__menu-toggle {
    background: rgba(30, 41, 59, 0.88);
}

#header_top.lux-rail .nav-link:not(.lux-rail__icon-btn):not(.lux-rail__avatar-btn) {
    width: 44px;
    height: 44px;
    border-radius: var(--lux-radius-md);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--lux-muted);
    font-size: 18px;
    transition: 0.18s ease;
    margin: 0;
    padding: 0;
    background: transparent;
}

#header_top.lux-rail .nav-link:not(.lux-rail__icon-btn):not(.lux-rail__avatar-btn):hover,
#header_top.lux-rail .nav-link:not(.lux-rail__icon-btn):not(.lux-rail__avatar-btn).active {
    color: var(--lux-primary);
    background: var(--lux-primary-soft);
    transform: translateY(-1px);
}

#header_top.lux-rail .nav-link.disabled {
    opacity: 0.35;
    pointer-events: none;
}

#header_top.lux-rail .lux-rail__icon-btn.nav-link.disabled {
    opacity: 0.38;
}

#header_top.lux-rail .settingbar i.fa-spin {
    animation: none;
}

/* ========== Left sidebar ========== */
#left-sidebar.lux-sidebar {
    left: var(--lux-rail-width);
    width: var(--lux-menu-width);
    top: 0;
    height: 100vh;
    background: var(--lux-surface);
    border-right: 1px solid var(--lux-border);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    padding: var(--lux-sidebar-padding);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    z-index: 1029;
}

#left-sidebar.lux-sidebar .lux-sidebar__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 5px;
    flex-shrink: 0;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex: 1;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo {
    align-items: flex-start;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .text-center {
    text-align: left !important;
    margin-bottom: 0 !important;
    width: 100%;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .header-brand {
    padding: 0;
    margin: 0;
    display: block;
    width: 100%;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .brand-logo-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 0px;
    max-width: 100%;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .brand-icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .brand-name {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 30px !important;
    letter-spacing: -0.5px;
    font-weight: 500 !important;
    line-height: 1;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block !important;
    width: auto !important;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(135deg, #1e40af 0%, #06b6d4 50%, #10b981 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .brand-registered {
    font-size: 0.55em;
    vertical-align: super;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .brand-pro {
    min-width: 20px;
    padding: 0 3px;
    margin-left: 2px;
    margin-top: 2px;
    font-size: 6px;
    letter-spacing: 0.14em;
    border-radius: 2px;
}

.brand-logo-wrapper--image {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
}

.app-brand-logo {
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.app-brand-logo--sidebar,
.app-brand-logo--card {
    max-height: 1.5rem;
    max-width: 8.5rem;
}

.app-brand-logo--auth {
    max-height: 2.25rem;
    max-width: 14rem;
}

.app-brand-logo--rail {
    max-width: 2.8rem;
    width: 100%;
}

#header_top.lux-rail .brand-logo-wrapper--rail {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

#header_top.lux-rail .brand-logo-wrapper--rail .brand-pro {
    min-width: 18px;
    padding: 0 2px;
    font-size: 5px;
    letter-spacing: 0.12em;
    border-radius: 2px;
}

#header_top.lux-rail .brand-logo-wrapper--rail .brand-name {
    font-size: 0.625rem;
    line-height: 1.15;
    text-align: center;
    word-break: break-word;
    max-width: 100%;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .brand-logo-wrapper--image {
    width: 100%;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .app-brand-logo--sidebar {
    max-height: 1.625rem;
    max-width: 9rem;
}

.app-brand-logo--with-pro {
    max-width: 10rem;
}

.app-brand-logo--sidebar.app-brand-logo--with-pro,
.app-brand-logo--card.app-brand-logo--with-pro {
    max-height: 2.5rem;
    max-width: 11.5rem;
}

.app-brand-logo--rail.app-brand-logo--with-pro {
    max-width: 2.9rem;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .app-brand-logo--sidebar.app-brand-logo--with-pro {
    max-height: 1.791rem;
    max-width: 10rem;
}

.lux-sidebar__brand--logo .app-brand-logo--card.app-brand-logo--with-pro {
    max-height: 1.75rem;
    max-width: 10rem;
    margin: 0 auto;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .brand-logo-wrapper--image {
    gap: 0;
    flex-wrap: wrap;
    margin-top: 0;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .brand-logo-wrapper--image .brand-registered {
    font-size: 0.45rem;
    line-height: 1;
    margin-left: 1px;
}

.app-brand-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    min-width: 0;
}

/* Logo + tagline wordmark — no container box */
.app-brand-block--wordmark {
    padding: 0;
    border: none;
    background: none;
    box-shadow: none;
}

.app-brand-block--wordmark .brand-logo-wrapper--image {
    margin-top: 0;
}

/* Logo column owns tagline width — excludes Pro badge beside the mark */
.app-brand-wordmark__mark {
    display: inline-flex;
    flex-direction: row;
    align-items: flex-start;
    max-width: 100%;
    min-width: 0;
}

.app-brand-wordmark__logo-col {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    width: fit-content;
}

.brand-logo-wrapper--logo-only {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
}

.app-brand-wordmark__logo-col .app-brand-wordmark__footer {
    width: 100%;
    align-items: stretch;
}

.app-brand-wordmark__footer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    min-width: 0;
}

.app-brand-wordmark__rule {
    display: block;
    width: 30%;
    height: 1px;
    margin-bottom: 0.2rem;
    border-radius: 1px;
    background: linear-gradient(
        90deg,
        rgba(5, 150, 105, 0.55) 0%,
        #06b6d4 42%,
        #10b981 78%,
        transparent 100%
    );
    opacity: 0.85;
}

.app-brand-tagline-shell {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    min-height: 0.7rem;
}

.app-brand-tagline {
    display: inline-block;
    box-sizing: content-box;
    margin: 0;
    padding: 0;
    font-family: var(--lux-brand-font);
    font-size: 7px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: nowrap;
    overflow: visible;
    will-change: transform;
    background: linear-gradient(92deg, #64748b 0%, #0e7490 36%, #059669 68%, #10b981 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .app-brand-block {
    align-items: flex-start;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .app-brand-wordmark__mark {
    width: 100%;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .app-brand-wordmark__logo-col {
    width: fit-content;
    max-width: calc(100% - 1.75rem);
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .brand-logo-wrapper--logo-only {
    width: fit-content;
    max-width: 100%;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .app-brand-wordmark__mark .brand-pro {
    flex-shrink: 0;
    margin-left: 2px;
}

#left-sidebar.lux-sidebar .lux-sidebar__brand--logo .app-brand-tagline--sidebar {
    letter-spacing: 0.09em;
}

.auth-screen__brand-name-row .app-brand-wordmark__mark {
    align-items: flex-start;
}

.auth-screen__brand-name-row .app-brand-wordmark__logo-col {
    max-width: 100%;
}

.auth-screen__brand-name-row .app-brand-block {
    align-items: flex-start;
}

.auth-screen__brand-name-row .app-brand-block--wordmark {
    align-items: flex-start;
}

.auth-screen__brand-name-row .app-brand-wordmark__footer {
    align-items: flex-start;
}

.auth-screen__brand-name-row .app-brand-wordmark__rule {
    width: 2rem;
    margin-right: auto;
}

.app-brand-tagline--auth,
.app-brand-tagline--card,
.app-brand-tagline--sidebar {
    font-size: 7px;
}

.app-brand-tagline-ai {
    display: inline-flex;
    align-items: center;
    margin-top: 0.2rem;
    padding: 0;
    border: 0;
    font-family: var(--lux-brand-font);
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    line-height: 1.2;
    background-image: linear-gradient(110deg, #0d9488 0%, #5b5ff4 55%, #14b8a6 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.auth-screen__brand-name-row .app-brand-tagline-ai {
    background-image: linear-gradient(110deg, #5eead4 0%, #a5b4fc 50%, #2dd4bf 100%);
}

.auth-login__brand .app-brand-tagline-ai {
    margin-inline: auto;
}

.app-brand-block--wordmark .app-brand-wordmark__footer:only-child,
.auth-login__brand .app-brand-wordmark__footer {
    align-items: center;
    width: 100%;
}

body.lux-shell-dark .app-brand-tagline {
    background: linear-gradient(92deg, #94a3b8 0%, #22d3ee 36%, #34d399 68%, #6ee7b7 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

body.lux-shell-dark .app-brand-wordmark__rule {
    opacity: 0.75;
}

#header_top.lux-rail .brand-logo-wrapper--rail .brand-registered {
    font-size: 0.35rem;
    line-height: 1;
}

#left-sidebar.lux-sidebar .lux-company-chip {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    font-size: 12px;
    font-weight: 700;
    color: var(--lux-muted);
    padding: 8px 12px;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    border: 1px solid var(--lux-border);
    margin-bottom: 14px;
    flex-shrink: 0;
}

#left-sidebar.lux-sidebar .lux-company-chip__icon {
    width: 20px;
    height: 20px;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb), 0.12);
    color: var(--lux-primary);
    display: grid;
    place-items: center;
    font-size: 12px;
    flex-shrink: 0;
}

#left-sidebar.lux-sidebar .lux-company-chip__label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.lux-shell-dark #left-sidebar.lux-sidebar .lux-company-chip {
    background: rgba(15, 23, 42, 0.6);
}

#left-sidebar.lux-sidebar .menu_option.lux-sidebar__grid-toggle {
    position: static !important;
    float: none !important;
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 12px;
    border: 0px solid var(--lux-border);
    background: #fff;
    box-shadow: var(--lux-shadow-sm);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    opacity: 1 !important;
    color: var(--lux-muted) !important;
    flex-shrink: 0;
}

#left-sidebar.lux-sidebar .menu_option.lux-sidebar__grid-toggle:hover {
    color: var(--lux-primary) !important;
    background: var(--lux-primary-soft);
}

#left-sidebar.lux-sidebar .lux-sidebar__nav {
    flex: 1;
    min-height: 0;
    height: auto !important;
    margin-right: 0 !important;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 2px;
}

#left-sidebar.lux-sidebar.lux-sidebar--module-rail .lux-sidebar__nav--split {
    overflow: hidden;
    padding-right: 0;
}

#left-sidebar.lux-sidebar.lux-sidebar--module-rail .lux-sidebar__split-body {
    display: flex;
    align-items: stretch;
    min-height: 0;
    height: 100%;
    gap: 0;
}

/* F01-T2: module icon rail (inside existing menu width — no extra panel) */
#left-sidebar.lux-sidebar .lux-module-rail {
    width: var(--lux-module-rail-width);
    flex: 0 0 var(--lux-module-rail-width);
    border-right: 1px solid var(--lux-border);
    background: rgba(var(--lux-primary-rgb), 0.03);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px 4px;
}

#left-sidebar.lux-sidebar .lux-module-rail__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

#left-sidebar.lux-sidebar .lux-module-rail__item {
    margin: 0;
    padding: 0;
}

#left-sidebar.lux-sidebar .lux-module-rail__btn {
    width: 100%;
    border: none;
    background: transparent;
    border-radius: 12px;
    padding: 6px 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #64748b;
    transition: 0.16s ease;
    position: relative;
    outline: none;
    box-shadow: none;
    -webkit-tap-highlight-color: transparent;
}

#left-sidebar.lux-sidebar .lux-module-rail__btn:focus,
#left-sidebar.lux-sidebar .lux-module-rail__btn:active {
    outline: none;
    box-shadow: none;
}

#left-sidebar.lux-sidebar .lux-module-rail__btn:focus-visible {
    outline: none;
    box-shadow: none;
}

#left-sidebar.lux-sidebar .lux-module-rail__btn:focus-visible .lux-module-rail__icon {
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb), 0.28);
}

/* Bootstrap tooltips for module rail render on body — keep above sidebar */
.tooltip.lux-module-rail-tooltip {
    z-index: 1045;
}

.tooltip.lux-module-rail-tooltip .tooltip-inner {
    font-size: 12px;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 8px;
    background: #1e293b;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
}

#left-sidebar.lux-sidebar .lux-module-rail__btn:hover {
    background: rgba(var(--lux-primary-rgb), 0.06);
    color: var(--lux-primary-dark);
}

#left-sidebar.lux-sidebar .lux-module-rail__btn:hover .lux-module-rail__icon {
    background: rgba(var(--lux-primary-rgb), 0.14);
    color: var(--lux-primary-dark);
    transform: translateY(-1px);
}

#left-sidebar.lux-sidebar .lux-module-rail__btn.is-active {
    background: transparent;
    color: var(--lux-primary-dark);
    box-shadow: none;
}

#left-sidebar.lux-sidebar .lux-module-rail__icon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb), 0.08);
    color: var(--lux-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
    position: relative;
}

#left-sidebar.lux-sidebar .lux-module-rail__btn.is-active .lux-module-rail__icon {
    background: linear-gradient(145deg, var(--lux-primary), #0ea5e9);
    color: #fff;
    box-shadow:
        0 0 0 3px rgba(var(--lux-primary-rgb), 0.16),
        0 8px 16px rgba(var(--lux-primary-rgb), 0.28);
}

#left-sidebar.lux-sidebar .lux-module-rail__btn.is-active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 2px;
    width: 14px;
    height: 3px;
    margin-left: -7px;
    border-radius: 9911px;
    background: var(--lux-primary);
    box-shadow: 0 2px 6px rgba(var(--lux-primary-rgb), 0.35);
}

#left-sidebar.lux-sidebar .lux-module-rail__icon i {
    font-size: 14px;
    line-height: 1;
}

#left-sidebar.lux-sidebar .lux-menu-context {
    flex: 1;
    min-width: 0;
    width: var(--lux-menu-context-width);
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

#left-sidebar.lux-sidebar .lux-menu-context__header {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 10px 8px 8px;
    border-bottom: 1px solid rgba(var(--lux-primary-rgb), 0.1);
}

#left-sidebar.lux-sidebar .lux-menu-context__title {
    margin: 0;
    font-size: 13px;
    font-weight: 800;
    color: #334155;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#left-sidebar.lux-sidebar .lux-menu-context__count {
    flex-shrink: 0;
    background: var(--lux-primary-soft);
    color: var(--lux-primary-dark);
    border-radius: 9911px;
    padding: 2px 7px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
}

#left-sidebar.lux-sidebar .lux-menu-context__nav {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px 0 10px 4px;
}

#left-sidebar.lux-sidebar .lux-menu-context__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

#left-sidebar.lux-sidebar .lux-menu-context__list > li {
    margin: 0;
    padding: 0;
}

#left-sidebar.lux-sidebar .lux-menu-context__link {
    border-left: none !important;
    margin-left: 0 !important;
}

#left-sidebar.lux-sidebar .lux-menu-context--empty {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
}

#left-sidebar.lux-sidebar .lux-menu-context__empty {
    margin: 0;
    font-size: 12px;
    color: var(--lux-muted);
    text-align: center;
}

#left-sidebar.lux-sidebar .lux-sidebar__nav::-webkit-scrollbar {
    width: 4px;
}

#left-sidebar.lux-sidebar .lux-sidebar__nav::-webkit-scrollbar-thumb {
    background: rgba(var(--lux-primary-rgb), 0.25);
    border-radius: 9911px;
}

#left-sidebar.lux-sidebar .lux-nav {
    gap: 4px;
    /* Stack groups in normal document flow — never equal-height flex slices */
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    height: auto;
    min-height: 0;
}

#left-sidebar.lux-sidebar .metismenu.lux-nav > li {
    flex: 0 0 auto !important;
    display: block !important;
    position: static !important;
    min-height: 0;
    overflow: visible;
}

#left-sidebar.lux-sidebar .lux-nav__heading,
#left-sidebar.lux-sidebar .metismenu > li.g_heading {
    flex: 0 0 auto !important;
    display: block !important;
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #94a3b8;
    font-weight: 800;
    margin: 0 0 8px;
    padding: 0 6px;
}

#left-sidebar.lux-sidebar .lux-nav__group {
    flex: 0 0 auto !important;
    margin-bottom: 4px;
}

/* Disable legacy grid flyout (absolute submenus overlap adjacent groups) */
#left-sidebar.lux-sidebar .metismenu.lux-nav.grid {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    position: static !important;
    margin-top: 0 !important;
    padding-right: 0 !important;
}

#left-sidebar.lux-sidebar .metismenu.lux-nav.grid .g_heading,
#left-sidebar.lux-sidebar .metismenu.lux-nav.grid .lux-nav__heading {
    display: block !important;
}

#left-sidebar.lux-sidebar .metismenu.lux-nav.grid > li {
    position: static !important;
    text-align: left !important;
}

#left-sidebar.lux-sidebar .metismenu.lux-nav.grid > li > a {
    width: auto !important;
    height: auto !important;
    line-height: inherit !important;
    margin-bottom: 0 !important;
    border: none !important;
}

#left-sidebar.lux-sidebar .metismenu.lux-nav.grid > li ul {
    position: static !important;
    left: auto !important;
    width: auto !important;
    margin: 4px 0 6px 18px !important;
    padding: 4px 0 4px 12px !important;
    box-shadow: none !important;
    background: transparent !important;
    z-index: auto !important;
}

#left-sidebar.lux-sidebar .metismenu a {
    border-right: none !important;
    letter-spacing: normal !important;
}

#left-sidebar.lux-sidebar .metismenu a:hover {
    letter-spacing: normal !important;
}

#left-sidebar.lux-sidebar .lux-nav__parent {
    display: flex !important;
    align-items: center;
    gap: 12px;
    padding: 12px 34px 12px 12px !important;
    border-radius: var(--lux-radius-md);
    font-weight: 600;
    font-size: 14px;
    color: #475569 !important;
    position: relative;
    transition: 0.18s ease;
}

#left-sidebar.lux-sidebar .lux-nav__icon {
    width: 32px;
    height: 32px;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb), 0.08);
    color: var(--lux-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

#left-sidebar.lux-sidebar .lux-nav__icon i {
    width: auto !important;
    top: 0 !important;
    font-size: 14px !important;
    line-height: 1;
}

#left-sidebar.lux-sidebar .lux-nav__label {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#left-sidebar.lux-sidebar .lux-nav__count {
    margin-left: auto;
    background: var(--lux-primary-soft);
    color: var(--lux-primary-dark);
    border-radius: 9911px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    flex-shrink: 0;
}

#left-sidebar.lux-sidebar .metismenu .has-arrow.arrow-c::after {
    font-family: FontAwesome;
    content: "\f105";
    position: absolute;
    right: 12px;
    top: 50%;
    margin-top: -6px;
    font-size: 12px;
    color: #94a3b8;
    transition: transform 0.2s ease, color 0.2s ease;
}

#left-sidebar.lux-sidebar .metismenu .has-arrow.arrow-c[aria-expanded="true"]::after {
    content: "\f107";
    color: var(--lux-primary);
}

#left-sidebar.lux-sidebar .lux-nav__group > .lux-nav__parent:hover {
    background: rgba(var(--lux-primary-rgb), 0.06);
    color: var(--lux-primary-dark) !important;
}

#left-sidebar.lux-sidebar .lux-nav__group > .lux-nav__parent:hover .lux-nav__icon {
    background: rgba(var(--lux-primary-rgb), 0.14);
    color: var(--lux-primary-dark);
}

#left-sidebar.lux-sidebar .lux-nav__group.active > .lux-nav__parent {
    background: linear-gradient(90deg, rgba(var(--lux-primary-rgb), 0.1), rgba(var(--lux-accent-rgb), 0.04) 70%, transparent);
    color: var(--lux-primary-dark) !important;
    box-shadow: none;
    font-weight: 700;
}

#left-sidebar.lux-sidebar .lux-nav__group.active > .lux-nav__parent .lux-nav__icon {
    background: linear-gradient(145deg, var(--lux-primary), #0ea5e9);
    color: #fff;
    box-shadow:
        0 0 0 3px rgba(var(--lux-primary-rgb), 0.14),
        0 6px 14px rgba(var(--lux-primary-rgb), 0.24);
}

#left-sidebar.lux-sidebar .lux-nav__children {
    margin: 4px 0 6px 18px;
    padding: 4px 0 4px 12px;
    border-left: 2px solid rgba(var(--lux-primary-rgb), 0.14);
    list-style: none;
    position: static !important;
    width: auto !important;
    overflow: visible;
}

#left-sidebar.lux-sidebar .lux-nav__children.collapse {
    display: none;
}

#left-sidebar.lux-sidebar .lux-nav__children.collapse.in {
    display: block;
}

#left-sidebar.lux-sidebar .metismenu ul a::before,
#left-sidebar.lux-sidebar .metismenu ul a.list-b::before {
    display: none !important;
    content: none !important;
}

#left-sidebar.lux-sidebar .lux-nav__child {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    border-radius: 12px;
    padding: 8px 10px 8px 10px !important;
    font-weight: 500;
    font-size: 13px;
    color: var(--lux-muted) !important;
    transition:
        background 0.14s ease,
        color 0.14s ease,
        border-color 0.14s ease,
        box-shadow 0.14s ease,
        font-weight 0.14s ease;
    border: 1px solid transparent;
}

#left-sidebar.lux-sidebar .lux-nav__child > span:first-child {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#left-sidebar.lux-sidebar .lux-nav__child--planned {
    opacity: 0.72;
}

#left-sidebar.lux-sidebar .lux-nav__child--disabled {
    cursor: default;
    pointer-events: auto;
}

#left-sidebar.lux-sidebar .lux-nav__child--disabled:hover {
    color: var(--lux-muted) !important;
    background: transparent;
    box-shadow: none;
}

#left-sidebar.lux-sidebar .lux-nav__planned-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    margin-left: auto;
    color: #94a3b8;
    opacity: 0.9;
}

#left-sidebar.lux-sidebar .lux-nav__planned-icon i {
    font-size: 10px;
    line-height: 1;
}

#left-sidebar.lux-sidebar .lux-nav__child::before {
    content: "";
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(148, 163, 184, 0.55);
    margin-right: 2px;
    transition: background 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

#left-sidebar.lux-sidebar .lux-nav__child:hover {
    color: var(--lux-primary-dark) !important;
    background: rgba(var(--lux-primary-rgb), 0.05);
}

#left-sidebar.lux-sidebar .lux-nav__child:hover::before {
    background: rgba(var(--lux-primary-rgb), 0.45);
}

#left-sidebar.lux-sidebar .lux-nav__child.active,
#left-sidebar.lux-sidebar .metismenu ul li.active > .lux-nav__child {
    color: var(--lux-primary-dark) !important;
    font-weight: 700;
    background: linear-gradient(90deg, rgba(var(--lux-primary-rgb), 0.14), rgba(var(--lux-accent-rgb), 0.08));
    box-shadow: none;
    border: 1px solid rgba(var(--lux-primary-rgb), 0.16);
    padding: 8px 10px 8px 10px !important;
}

#left-sidebar.lux-sidebar .lux-nav__child.active::before,
#left-sidebar.lux-sidebar .metismenu ul li.active > .lux-nav__child::before {
    background: var(--lux-primary);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb), 0.18);
    transform: scale(1.05);
}

#left-sidebar.lux-sidebar .metismenu ul > li:last-child {
    padding-bottom: 0 !important;
}

#left-sidebar.lux-sidebar .metismenu .active > a {
    border-color: transparent !important;
}

/* Desktop: menu panel visible beside rail by default */
@media screen and (min-width: 1201px) {
    #left-sidebar.lux-sidebar {
        left: var(--lux-rail-width) !important;
        width: var(--lux-menu-width) !important;
        padding: var(--lux-sidebar-padding) !important;
    }

    /* menu_toggle adds .offcanvas-active → collapse menu panel, keep rail */
    body.offcanvas-active #left-sidebar.lux-sidebar {
        left: calc(-1 * var(--lux-menu-width)) !important;
    }

    body.offcanvas-active .page {
        left: var(--lux-rail-width) !important;
        width: calc(100% - var(--lux-rail-width)) !important;
    }
}

/* Tablet: menu hidden by default; offcanvas-active reveals it */
@media screen and (max-width: 1200px) {
    #left-sidebar.lux-sidebar {
        left: calc(-1 * var(--lux-menu-width)) !important;
    }

    body.offcanvas-active #left-sidebar.lux-sidebar {
        left: var(--lux-rail-width) !important;
        position: fixed;
        z-index: 1035;
    }

    body.offcanvas-active .page {
        left: var(--app-sidebar-width) !important;
        width: calc(100% - var(--app-sidebar-width)) !important;
    }
}

@media screen and (max-width: 767px) {
    body.offcanvas-active #left-sidebar.lux-sidebar {
        left: var(--lux-rail-width) !important;
        position: fixed;
        z-index: 1035;
    }

    body.offcanvas-active .page {
        left: 0 !important;
        width: 100% !important;
    }
}

/* ========== Top header ========== */
#page_top.lux-header-bar {
    background: var(--lux-header-surface);
    border-bottom: 1px solid var(--lux-border);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    padding: 0;
    /* Above left sidebar (1029) and offcanvas menu (1035); below body-portaled overlays (10040+) */
    z-index: var(--lux-z-page-header);
}

#page_top.lux-header-bar.sticky-top {
    z-index: var(--lux-z-page-header);
}

/* Body-portaled drawers, modals, and popovers — above sticky header */
.modal-backdrop {
    z-index: var(--lux-z-overlay) !important;
}

.modal {
    z-index: var(--lux-z-overlay-panel) !important;
}

.lux-onb-drawer-backdrop,
.lux-gov-drawer-backdrop,
.lux-leave-drawer-backdrop,
.lux-leave-drawer-overlay,
.lux-leave-impact__backdrop,
.lux-doc-drawer-backdrop,
.lux-asset-drawer-backdrop,
.lux-planner-drawer,
.lux-integ-drawer-backdrop,
.lux-ticket-drawer-backdrop,
.lux-krca-drawer-backdrop,
.lux-dev-drawer-backdrop,
.lux-perf-drawer-backdrop,
.lux-acct-popover__backdrop {
    z-index: var(--lux-z-overlay);
}

.lux-leave-impact__drawer,
.lux-acct-popover {
    z-index: var(--lux-z-overlay-panel);
}

#page_top.lux-header-bar .container-fluid {
    padding: 0 0px;
}

#page_top.lux-header-bar .page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 50px;
    padding: 0;
    margin: 0;
}

#page_top.lux-header-bar .lux-header__left {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

#page_top.lux-header-bar .lux-header__menu-btn {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    border: 0px solid var(--lux-border);
    background: #fff;
    box-shadow: var(--lux-shadow-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #475569;
    font-size: 18px;
    flex-shrink: 0;
}

body.lux-shell-dark #page_top.lux-header-bar .lux-header__menu-btn {
    background: rgba(30, 41, 59, 0.9);
    color: #e2e8f0;
}

#page_top.lux-header-bar .lux-header__kicker {
    display: block;
    font-size: 8px;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    line-height: 1.2;
}

#page_top.lux-header-bar .page-title {
    margin: 2px 0 0;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.7px;
    color: var(--lux-text);
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 42vw;
}

#page_top.lux-header-bar .lux-header__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

#page_top.lux-header-bar .input-icon {
    position: relative;
}

#page_top.lux-header-bar input.search {
    width: 320px;
    height: 42px;
    border-radius: var(--lux-radius-md);
    border: 0px solid var(--lux-border);
    background: #fff;
    box-shadow: var(--lux-shadow-sm);
    padding: 0 14px 0 38px;
    font-size: 14px;
    color: var(--lux-text);
}

body.lux-shell-dark #page_top.lux-header-bar input.search {
    background: rgba(30, 41, 59, 0.9);
    color: #f8fafc;
}

#page_top.lux-header-bar .input-icon-addon {
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    z-index: 2;
    pointer-events: none;
}

#page_top.lux-header-bar button.lux-header__icon-btn,
#page_top.lux-header-bar .lux-header__icon-btn {
    position: relative;
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 14px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.82);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.92) inset,
        0 2px 10px rgba(15, 23, 42, 0.06);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #475569;
    font-size: 17px;
    padding: 0;
    margin: 0;
    text-transform: none;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition:
        color 0.18s ease,
        background 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

#page_top.lux-header-bar button.lux-header__icon-btn:hover:not(:disabled),
#page_top.lux-header-bar .lux-header__icon-btn:hover:not(:disabled) {
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    box-shadow: 0 8px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    transform: translateY(-1px);
}

#page_top.lux-header-bar .lux-header__icon-btn-shell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

#page_top.lux-header-bar .lux-header__icon-btn-shell i {
    line-height: 1;
}

#page_top.lux-header-bar .lux-header__icon-btn--menu {
    display: none;
}

@media (min-width: 768px) {
    #page_top.lux-header-bar .lux-header__icon-btn--menu {
        display: inline-flex;
    }
}

#page_top.lux-header-bar .lux-header__icon-btn--account {
    padding: 2px;
    border: none;
    border-radius: 15px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #818cf8));
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

#page_top.lux-header-bar .lux-header__icon-btn--account:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.34);
}

#page_top.lux-header-bar .lux-header__icon-btn-avatar {
    width: 100%;
    height: 100%;
    border-radius: 13px;
    border: 2px solid #fff;
    object-fit: cover;
    display: block;
}

#page_top.lux-header-bar .lux-header__icon-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 0.5rem;
    height: 0.5rem;
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.06);
}

#page_top.lux-header-bar .lux-header__icon-badge.is-success {
    background: #10b981;
}

#page_top.lux-header-bar .lux-header__icon-badge.is-info {
    background: #0ea5e9;
}

#page_top.lux-header-bar .lux-header__icon-badge.is-primary {
    background: var(--lux-primary, #5b5ff4);
}

#page_top.lux-header-bar .lux-header__icon-btn:disabled {
    opacity: 0.38;
    pointer-events: none;
    box-shadow: none;
    transform: none;
}

body.lux-shell-dark #page_top.lux-header-bar button.lux-header__icon-btn,
body.lux-shell-dark #page_top.lux-header-bar .lux-header__icon-btn {
    background: rgba(30, 41, 59, 0.88);
    border-color: rgba(51, 65, 85, 0.95);
    color: #e2e8f0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

body.lux-shell-dark #page_top.lux-header-bar button.lux-header__icon-btn:hover:not(:disabled),
body.lux-shell-dark #page_top.lux-header-bar .lux-header__icon-btn:hover:not(:disabled) {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

body.lux-shell-dark #page_top.lux-header-bar .lux-header__icon-badge {
    border-color: rgba(30, 41, 59, 0.95);
}

#page_top.lux-header-bar .lux-header__dropdowns {
    display: none;
    align-items: center;
    gap: 0.5rem;
}

@media (min-width: 768px) {
    #page_top.lux-header-bar .lux-header__dropdowns {
        display: flex;
    }
}

#page_top.lux-header-bar .lux-header-dropdown-wrap,
#page_top.lux-header-bar .lux-persona-switcher {
    position: relative;
}

#page_top.lux-header-bar .lux-persona-switcher.show {
    z-index: 1065;
}

#page_top.lux-header-bar .lux-persona-switcher .dropdown-menu.lux-header-dropdown {
    z-index: 1070;
}

#page_top.lux-header-bar .lux-header__kicker-row,
#page_top.lux-header-bar .lux-header__titles,
#page_top.lux-header-bar .lux-header__left {
    overflow: visible;
}

#page_top.lux-header-bar .dropdown.show > .lux-header__icon-btn:not(:disabled):not(.lux-header__icon-btn--account) {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #818cf8));
    border-color: transparent;
    box-shadow: 0 8px 22px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.34);
    transform: translateY(-1px);
}

#page_top.lux-header-bar .dropdown.show > .lux-header__icon-btn--account {
    box-shadow:
        0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28),
        0 10px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.36);
    transform: translateY(-1px);
}

#page_top.lux-header-bar .dropdown-menu.lux-header-dropdown {
    min-width: 17rem;
    margin-top: 0.55rem;
    padding: 0;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05),
        0 22px 48px rgba(15, 23, 42, 0.18);
    overflow: hidden;
    z-index: 1060;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

#page_top.lux-header-bar .dropdown-menu.lux-header-dropdown::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #818cf8));
    opacity: 0.95;
}

#page_top.lux-header-bar .lux-header-dropdown--tone-tasks::before {
    background: linear-gradient(90deg, #10b981, #14b8a6);
}

#page_top.lux-header-bar .lux-header-dropdown--tone-comments::before {
    background: linear-gradient(90deg, #0ea5e9, #6366f1);
}

#page_top.lux-header-bar .lux-header-dropdown--tone-notifications::before {
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #a855f7);
}

#page_top.lux-header-bar .lux-header-dropdown--tone-account::before {
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #818cf8));
}

#page_top.lux-header-bar .dropdown-menu.lux-header-dropdown::after {
    display: none !important;
}

#page_top.lux-header-bar .lux-header-dropdown--wide.dropdown-menu {
    min-width: 19rem;
}

#page_top.lux-header-bar .lux-header-dropdown--account.dropdown-menu {
    min-width: 18.5rem;
}

#page_top.lux-header-bar .lux-header-dropdown__head {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.85rem 0.85rem 0.78rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 58%),
        rgba(248, 250, 252, 0.96);
}

#page_top.lux-header-bar .lux-header-dropdown__head-icon,
#page_top.lux-header-bar .lux-header-dropdown__head-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 13px;
    flex-shrink: 0;
    overflow: hidden;
}

#page_top.lux-header-bar .lux-header-dropdown__head-icon {
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    font-size: 0.875rem;
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

#page_top.lux-header-bar .lux-header-dropdown__head-avatar {
    padding: 2px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #818cf8));
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}

#page_top.lux-header-bar .lux-header-dropdown__avatar {
    width: 100%;
    height: 100%;
    border-radius: 11px;
    border: 2px solid #fff;
    object-fit: cover;
    display: block;
}

#page_top.lux-header-bar .lux-header-dropdown__head-copy {
    flex: 1;
    min-width: 0;
    padding-top: 0.05rem;
}

#page_top.lux-header-bar .lux-header-dropdown__eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
    line-height: 1.2;
}

#page_top.lux-header-bar .lux-header-dropdown__head strong {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#page_top.lux-header-bar .lux-header-dropdown__subtitle {
    display: block;
    margin-top: 0.14rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#page_top.lux-header-bar .lux-header-dropdown__body {
    padding: 0.5rem;
    max-height: 18rem;
    overflow-y: auto;
    scrollbar-width: thin;
}

#page_top.lux-header-bar .lux-header-dropdown__body::-webkit-scrollbar {
    width: 4px;
}

#page_top.lux-header-bar .lux-header-dropdown__body::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.45);
    border-radius: 999px;
}

#page_top.lux-header-bar .lux-header-dropdown__section-label {
    display: block;
    padding: 0.2rem 0.5rem 0.38rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

#page_top.lux-header-bar .lux-header-dropdown__divider {
    display: block;
    height: 1px;
    margin: 0.28rem 0.5rem 0.42rem;
    background: rgba(226, 232, 240, 0.95);
}

#page_top.lux-header-bar button.lux-header-dropdown__item,
#page_top.lux-header-bar a.lux-header-dropdown__item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.52rem 0.55rem;
    border: 0px solid transparent;
    border-radius: 13px;
    background: transparent;
    font: inherit;
    text-align: left;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: background 0.14s ease, border-color 0.14s ease, transform 0.14s ease;
}

#page_top.lux-header-bar button.lux-header-dropdown__item:hover,
#page_top.lux-header-bar button.lux-header-dropdown__item:focus,
#page_top.lux-header-bar a.lux-header-dropdown__item:hover,
#page_top.lux-header-bar a.lux-header-dropdown__item:focus {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    outline: none;
    transform: translateX(1px);
}

#page_top.lux-header-bar .lux-header-dropdown__item.is-disabled {
    opacity: 0.55;
    pointer-events: none;
    cursor: default;
}

#page_top.lux-header-bar .lux-header-dropdown__item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 12px;
    flex-shrink: 0;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.8125rem;
}

#page_top.lux-header-bar .lux-header-dropdown__item-icon.is-danger {
    color: #dc2626;
    background: rgba(220, 38, 38, 0.08);
    border-color: rgba(220, 38, 38, 0.12);
}

#page_top.lux-header-bar .lux-header-dropdown__item-copy {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

#page_top.lux-header-bar .lux-header-dropdown__item-copy strong {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

#page_top.lux-header-bar .lux-header-dropdown__item-copy span {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.3;
}

#page_top.lux-header-bar .lux-header-dropdown__item.is-danger .lux-header-dropdown__item-copy strong {
    color: #b91c1c;
}

#page_top.lux-header-bar .lux-header-dropdown__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    min-height: 8rem;
    padding: 0.95rem 0.85rem 1.05rem;
    text-align: center;
}

#page_top.lux-header-bar .lux-header-dropdown__empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    margin-bottom: 0.18rem;
    border-radius: 15px;
    color: #64748b;
    background:
        radial-gradient(circle at 30% 20%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 60%),
        rgba(241, 245, 249, 0.98);
    border: 0px solid rgba(226, 232, 240, 0.95);
    font-size: 1.05rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

#page_top.lux-header-bar .lux-header-dropdown__empty strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #334155;
}

#page_top.lux-header-bar .lux-header-dropdown__empty span {
    max-width: 13.5rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.35;
}

#page_top.lux-header-bar .lux-header-dropdown__foot {
    padding: 0.5rem 0.6rem 0.62rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    background:
        radial-gradient(circle at 50% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 70%),
        rgba(248, 250, 252, 0.96);
}

#page_top.lux-header-bar button.lux-header-dropdown__foot-action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.52rem 0.62rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04));
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    cursor: pointer;
    transition: background 0.14s ease, border-color 0.14s ease, transform 0.14s ease;
}

#page_top.lux-header-bar button.lux-header-dropdown__foot-action:hover:not(:disabled) {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    transform: translateY(-1px);
}

#page_top.lux-header-bar button.lux-header-dropdown__foot-action:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

body.lux-shell-dark #page_top.lux-header-bar .dropdown-menu.lux-header-dropdown {
    border-color: rgba(51, 65, 85, 0.95);
    background:
        radial-gradient(circle at 0% 0%, rgba(129, 140, 248, 0.1), transparent 42%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(30, 41, 59, 0.96));
    box-shadow:
        0 0 0 1px rgba(129, 140, 248, 0.08),
        0 22px 48px rgba(2, 6, 23, 0.48);
}

body.lux-shell-dark #page_top.lux-header-bar .lux-header-dropdown__head {
    border-bottom-color: rgba(51, 65, 85, 0.95);
    background:
        radial-gradient(circle at 100% 0%, rgba(129, 140, 248, 0.12), transparent 55%),
        rgba(15, 23, 42, 0.92);
}

body.lux-shell-dark #page_top.lux-header-bar .lux-header-dropdown__head strong,
body.lux-shell-dark #page_top.lux-header-bar .lux-header-dropdown__item-copy strong,
body.lux-shell-dark #page_top.lux-header-bar .lux-header-dropdown__empty strong {
    color: #f8fafc;
}

body.lux-shell-dark #page_top.lux-header-bar .lux-header-dropdown__subtitle,
body.lux-shell-dark #page_top.lux-header-bar .lux-header-dropdown__item-copy span,
body.lux-shell-dark #page_top.lux-header-bar .lux-header-dropdown__empty span,
body.lux-shell-dark #page_top.lux-header-bar .lux-header-dropdown__section-label {
    color: #94a3b8;
}

body.lux-shell-dark #page_top.lux-header-bar .lux-header-dropdown__divider {
    background: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark #page_top.lux-header-bar .lux-header-dropdown__foot {
    border-top-color: rgba(51, 65, 85, 0.95);
    background: rgba(15, 23, 42, 0.88);
}

body.lux-shell-dark #page_top.lux-header-bar .lux-header-dropdown__empty-icon {
    color: #64748b;
    background: rgba(30, 41, 59, 0.95);
    border-color: rgba(51, 65, 85, 0.95);
}

/* ========== Theme picker panel ========== */
.theme_div.lux-theme-panel {
    width: 360px !important;
    right: -362px !important;
    position: fixed !important;
    top: 0 !important;
    height: 100vh !important;
    z-index: 10050 !important;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
}

.theme_div.lux-theme-panel.open,
.theme_div.lux-theme-panel.lux-shell-panel--open {
    right: 0 !important;
}

.theme_div.lux-theme-panel .lux-theme-panel__shell {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.96) 100%);
    border-left: 1px solid var(--lux-border);
    box-shadow: -12px 0 40px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

body.lux-shell-dark .theme_div.lux-theme-panel .lux-theme-panel__shell {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.98) 0%, rgba(30, 41, 59, 0.96) 100%);
    border-left-color: rgba(51, 65, 85, 0.9);
    box-shadow: -12px 0 40px rgba(0, 0, 0, 0.35);
}

.theme_div.lux-theme-panel .card {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.lux-theme-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 1rem 1rem 0.75rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb), 0.12), transparent 55%),
        linear-gradient(135deg, rgba(var(--lux-primary-rgb), 0.06), rgba(var(--lux-accent-rgb), 0.04));
}

body.lux-shell-dark .lux-theme-panel__header {
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

.lux-theme-panel__header-main {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
}

.lux-theme-panel__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 12px;
    flex-shrink: 0;
    color: var(--lux-primary);
    background: rgba(var(--lux-primary-rgb), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb), 0.14);
    font-size: 0.875rem;
}

.lux-theme-panel__header-copy {
    min-width: 0;
}

.lux-theme-panel__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--lux-primary);
    margin-bottom: 0.15rem;
}

.lux-theme-panel__title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--lux-text);
    line-height: 1.2;
}

.lux-theme-panel__subtitle {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: var(--lux-muted);
}

.lux-theme-panel__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 0px solid var(--lux-border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    color: #64748b;
    font-size: 0.8125rem;
    cursor: pointer;
    transition: background 0.14s ease, color 0.14s ease, border-color 0.14s ease;
    flex-shrink: 0;
}

.lux-theme-panel__close:hover {
    color: var(--lux-primary);
    border-color: rgba(var(--lux-primary-rgb), 0.25);
    background: rgba(var(--lux-primary-rgb), 0.06);
}

body.lux-shell-dark .lux-theme-panel__close {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
    color: #94a3b8;
}

.lux-theme-panel__stats {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1rem 0;
    flex-wrap: wrap;
}

.lux-theme-panel__stat {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 1.375rem;
    padding: 0 0.45rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    background: #f1f5f9;
    border: 0px solid #e2e8f0;
}

.lux-theme-panel__stat i {
    font-size: 0.75rem;
    opacity: 0.85;
}

body.lux-shell-dark .lux-theme-panel__stat {
    color: #94a3b8;
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

.lux-theme-panel__active-preview {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0.65rem 1rem 0;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    border: 0px solid rgba(var(--lux-primary-rgb), 0.16);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb), 0.06), rgba(var(--lux-accent-rgb), 0.04));
}

.lux-theme-panel__active-swatch {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 12px;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.lux-theme-panel__active-copy {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
}

.lux-theme-panel__active-label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--lux-primary);
}

.lux-theme-panel__active-copy strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-text);
    line-height: 1.2;
}

.lux-theme-panel__active-mood {
    font-size: 0.6875rem;
    color: var(--lux-muted);
}

.lux-theme-panel__body {
    flex: 1;
    overflow-y: auto;
    padding: 0.65rem 1rem 0.75rem;
    scrollbar-width: thin;
}

.lux-theme-panel__body::-webkit-scrollbar {
    width: 4px;
}

.lux-theme-panel__body::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.45);
    border-radius: 9911px;
}

.theme_div.lux-theme-panel .lux-palette-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.625rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-palette-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0;
    border: 0px solid #e8edf3;
    border-radius: 12px;
    background: #fff;
    text-align: left;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.lux-palette-card:hover {
    transform: translateY(-1px);
    border-color: rgba(var(--lux-primary-rgb), 0.22);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

.lux-palette-card.is-active {
    border-color: rgba(var(--lux-primary-rgb), 0.45);
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb), 0.12),
        0 8px 18px rgba(var(--lux-primary-rgb), 0.12);
}

body.lux-shell-dark .lux-palette-card {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

.lux-palette-card__swatch {
    position: relative;
    height: 2.5rem;
    overflow: hidden;
}

.lux-palette-card__dots {
    position: absolute;
    left: 0.45rem;
    bottom: 0.35rem;
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}

.lux-palette-card__dots span {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 9911px;
    border: 0px solid rgba(255, 255, 255, 0.65);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}

.lux-palette-card__badge {
    position: absolute;
    top: 0.35rem;
    right: 0.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 9911px;
    font-size: 0.75rem;
    color: #fff;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(6px);
}

.lux-palette-card__tag {
    position: absolute;
    top: 0.35rem;
    left: 0.35rem;
    min-height: 1rem;
    padding: 0 0.35rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
    background: rgba(15, 23, 42, 0.45);
}

.lux-palette-card__copy {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding: 0.45rem 0.625rem 0.625rem;
}

.lux-palette-card__name {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--lux-text);
    line-height: 1.2;
}

.lux-palette-card__desc {
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--lux-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lux-palette-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.25rem;
    margin-top: 0.1rem;
}

.lux-palette-card__mood {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-primary);
}

.lux-palette-card__hex {
    font-size: 0.625rem;
    font-weight: 700;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    color: #94a3b8;
    letter-spacing: 0.02em;
}

.lux-theme-panel__footer {
    padding: 0.65rem 1rem 0.85rem;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
    background: rgba(248, 250, 252, 0.72);
}

body.lux-shell-dark .lux-theme-panel__footer {
    border-top-color: rgba(51, 65, 85, 0.9);
    background: rgba(15, 23, 42, 0.45);
}

.lux-theme-panel__footer p {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: var(--lux-muted);
}

/* ========== Settings panel ========== */
.right_sidebar.lux-settings-panel {
    width: 360px !important;
    right: -362px !important;
    position: fixed !important;
    top: 0 !important;
    height: 100vh !important;
    z-index: 10050 !important;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
}

.lux-shell-panel__backdrop {
    position: fixed;
    inset: 0;
    z-index: 10049;
    padding: 0;
    border: none;
    background: rgba(8, 12, 28, 0.38);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    cursor: pointer;
    animation: luxUserBackdropIn 0.2s ease;
}

.right_sidebar.lux-settings-panel.open,
.right_sidebar.lux-settings-panel.lux-shell-panel--open {
    right: 0 !important;
}

.right_sidebar.lux-settings-panel .lux-settings-panel__shell {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.96) 100%);
    border-left: 1px solid var(--lux-border);
    box-shadow: -12px 0 40px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

body.lux-shell-dark .right_sidebar.lux-settings-panel .lux-settings-panel__shell {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.98) 0%, rgba(30, 41, 59, 0.96) 100%);
    border-left-color: rgba(51, 65, 85, 0.9);
    box-shadow: -12px 0 40px rgba(0, 0, 0, 0.35);
}

.lux-settings-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 1rem 1rem 0.75rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb), 0.12), transparent 55%),
        linear-gradient(135deg, rgba(var(--lux-primary-rgb), 0.06), rgba(var(--lux-accent-rgb), 0.04));
}

body.lux-shell-dark .lux-settings-panel__header {
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

.lux-settings-panel__header-main {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
}

.lux-settings-panel__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 12px;
    flex-shrink: 0;
    color: var(--lux-primary);
    background: rgba(var(--lux-primary-rgb), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb), 0.14);
    font-size: 0.875rem;
}

.lux-settings-panel__header-copy {
    min-width: 0;
}

.lux-settings-panel__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--lux-primary);
    margin-bottom: 0.15rem;
}

.lux-settings-panel__title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--lux-text);
    line-height: 1.2;
}

.lux-settings-panel__subtitle {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: var(--lux-muted);
}

.lux-settings-panel__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 0px solid var(--lux-border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    color: #64748b;
    font-size: 0.8125rem;
    cursor: pointer;
    transition: background 0.14s ease, color 0.14s ease, border-color 0.14s ease;
    flex-shrink: 0;
}

.lux-settings-panel__close:hover {
    color: var(--lux-primary);
    border-color: rgba(var(--lux-primary-rgb), 0.25);
    background: rgba(var(--lux-primary-rgb), 0.06);
}

body.lux-shell-dark .lux-settings-panel__close {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
    color: #94a3b8;
}

.lux-settings-panel__stats {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.55rem 1rem 0;
    flex-wrap: wrap;
}

.lux-settings-panel__stat {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 1.375rem;
    padding: 0 0.45rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    background: #f1f5f9;
    border: 0px solid #e2e8f0;
}

.lux-settings-panel__stat i {
    font-size: 0.75rem;
    opacity: 0.85;
}

body.lux-shell-dark .lux-settings-panel__stat {
    color: #94a3b8;
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

.lux-settings-panel__palette-hint {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    margin: 0.65rem 1rem 0;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    border: 0px solid rgba(var(--lux-accent-rgb), 0.18);
    background: linear-gradient(135deg, rgba(var(--lux-accent-rgb), 0.07), rgba(var(--lux-primary-rgb), 0.04));
}

.lux-settings-panel__palette-copy {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
}

.lux-settings-panel__palette-label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--lux-accent);
}

.lux-settings-panel__palette-copy strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-text);
    line-height: 1.2;
}

.lux-settings-panel__palette-copy span:last-child {
    font-size: 0.6875rem;
    color: var(--lux-muted);
    line-height: 1.35;
}

.lux-settings-panel__palette-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 1.75rem;
    padding: 0 0.55rem;
    border: 0px solid rgba(var(--lux-primary-rgb), 0.18);
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb), 0.08);
    color: var(--lux-primary);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.14s ease, border-color 0.14s ease;
}

.lux-settings-panel__palette-btn:hover {
    background: rgba(var(--lux-primary-rgb), 0.14);
    border-color: rgba(var(--lux-primary-rgb), 0.28);
}

.lux-settings-panel__body {
    flex: 1;
    overflow-y: auto;
    padding: 0.65rem 1rem 0.75rem;
    scrollbar-width: thin;
}

.lux-settings-panel__body::-webkit-scrollbar {
    width: 4px;
}

.lux-settings-panel__body::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.45);
    border-radius: 9911px;
}

.lux-settings-section + .lux-settings-section {
    margin-top: 0.85rem;
}

.lux-settings-section__head {
    margin-bottom: 0.45rem;
}

.lux-settings-section__eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--lux-primary);
    margin-bottom: 0.1rem;
}

.lux-settings-section__title {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-text);
}

.lux-settings-section__desc {
    margin: 0.15rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.4;
    color: var(--lux-muted);
}

.lux-settings-option-grid {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-settings-option-grid--presets {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.lux-settings-option--preset {
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    padding: 0.55rem 0.6rem;
}

.lux-settings-option__preset-samples {
    display: flex;
    gap: 0.35rem;
    width: 100%;
}

.lux-settings-option__preset-samples .lux-settings-option__sample {
    flex: 1;
    height: 1.85rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-settings-option__sample--brand {
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb), 0.12), rgba(var(--lux-accent-rgb), 0.1));
}

.lux-settings-section__subhead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    margin: 0.15rem 0 0.45rem;
}

.lux-settings-section__subtitle {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lux-text, #0f172a);
}

.lux-settings-section__hint {
    font-size: 0.625rem;
    color: var(--lux-muted);
}

.lux-settings-option-grid--fonts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
}

.lux-settings-option--font {
    min-height: 100%;
}

.lux-settings-option--font .lux-settings-option__copy span {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lux-settings-option {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.45rem 0.55rem;
    border: 0px solid #e8edf3;
    border-radius: 12px;
    background: #fff;
    text-align: left;
    cursor: pointer;
    transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-settings-option:hover {
    transform: translateY(-1px);
    border-color: rgba(var(--lux-primary-rgb), 0.22);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}

.lux-settings-option.is-active {
    border-color: rgba(var(--lux-primary-rgb), 0.45);
    box-shadow: 0 0 0 1px rgba(var(--lux-primary-rgb), 0.1);
}

body.lux-shell-dark .lux-settings-option {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

.lux-settings-option--font {
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
    padding: 0.45rem;
}

.lux-settings-option--font .lux-settings-option__sample {
    width: 100%;
    height: 1.75rem;
    border-radius: 8px;
    font-size: 0.9375rem;
}

.lux-settings-option--font .lux-settings-option__copy {
    gap: 0.08rem;
}

.lux-settings-option__sample {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 12px;
    flex-shrink: 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: var(--lux-primary);
    background: rgba(var(--lux-primary-rgb), 0.08);
    border: 0px solid rgba(var(--lux-primary-rgb), 0.12);
}

.lux-settings-option__copy {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
}

.lux-settings-option__copy strong {
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--lux-text);
}

.lux-settings-option__copy span {
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--lux-muted);
}

.lux-settings-option__copy em {
    font-size: 0.625rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-primary);
}

.lux-settings-option__check {
    position: absolute;
    top: 0.4rem;
    right: 0.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    color: #fff;
    background: var(--lux-primary);
}

.lux-settings-toggle-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-settings-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.625rem 0.55rem;
    border: 0px solid #e8edf3;
    border-radius: 12px;
    background: #fff;
}

body.lux-shell-dark .lux-settings-toggle {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

.lux-settings-toggle__copy {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    min-width: 0;
}

.lux-settings-toggle__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.625rem;
    height: 1.625rem;
    border-radius: 8px;
    flex-shrink: 0;
    color: var(--lux-primary);
    background: rgba(var(--lux-primary-rgb), 0.08);
    border: 0px solid rgba(var(--lux-primary-rgb), 0.12);
    font-size: 0.75rem;
}

.lux-settings-toggle__copy strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--lux-text);
    line-height: 1.2;
}

.lux-settings-toggle__copy span {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--lux-muted);
}

.lux-settings-toggle__switch {
    margin: 0;
    flex-shrink: 0;
}

.lux-settings-toggle__switch .custom-switch-input:checked ~ .custom-switch-indicator {
    background: var(--lux-primary);
}

.lux-settings-panel__footer {
    padding: 0.65rem 1rem 0.85rem;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
    background: rgba(248, 250, 252, 0.72);
}

body.lux-shell-dark .lux-settings-panel__footer {
    border-top-color: rgba(51, 65, 85, 0.9);
    background: rgba(15, 23, 42, 0.45);
}

.lux-settings-panel__footer p {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: var(--lux-muted);
}

body.lux-elevated-surfaces .card,
body.lux-elevated-surfaces .btn,
body.lux-elevated-surfaces .progress {
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

@media screen and (max-width: 767px) {
    #header_top.lux-rail {
        width: 100%;
        height: auto;
        flex-direction: row;
        padding: 0 var(--lux-rail-padding-x);
    }

    #header_top.lux-rail > .container {
        flex-direction: row;
        align-items: center;
    }

    #header_top.lux-rail .hleft,
    #header_top.lux-rail .hright {
        flex-direction: row;
        width: auto;
    }

    #header_top.lux-rail .lux-rail__nav,
    #header_top.lux-rail .lux-rail__tools {
        flex-direction: row;
        border-top: none;
        padding-top: 0;
        margin-top: 0;
    }

    #header_top.lux-rail .lux-rail__icon-btn,
    #header_top.lux-rail .lux-rail__avatar-btn {
        width: 38px;
        height: 38px;
    }

    #page_top.lux-header-bar input.search {
        width: 180px;
    }

    #page_top.lux-header-bar .page-title {
        font-size: 18px;
        max-width: 52vw;
    }
}

/* ========== luxury-summary-shared.css ========== */

/* ========== Shared summary panel eyebrow (all register / overview pages) ========== */

.lux-summary-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.2rem;
    max-width: 100%;
}

.lux-summary-eyebrow__icon {
    flex-shrink: 0;
    font-size: 0.75rem;
    line-height: 1;
    color: var(--lux-primary, #5b5ff4);
}

.lux-summary-eyebrow__label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    line-height: 1.2;
}

/* Page hooks — same layout as base .lux-summary-eyebrow */
.lux-bid-summary__eyebrow.lux-summary-eyebrow,
.lux-emp-summary__eyebrow.lux-summary-eyebrow,
.lux-inv-summary__eyebrow.lux-summary-eyebrow,
.lux-ts-summary__eyebrow.lux-summary-eyebrow,
.lux-att-summary__eyebrow.lux-summary-eyebrow,
.lux-acct-summary__eyebrow.lux-summary-eyebrow,
.lux-planner-summary__eyebrow.lux-summary-eyebrow,
.lux-notes-overlay__eyebrow.lux-summary-eyebrow,
.lux-feedback-popover__eyebrow.lux-summary-eyebrow,
.lux-note-editor-modal__eyebrow.lux-summary-eyebrow,
.lux-hrms-settings__eyebrow.lux-summary-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.2rem;
    max-width: 100%;
}

body.lux-shell-dark .lux-summary-eyebrow__icon {
    color: #a5b4fc;
}

body.lux-shell-dark .lux-summary-eyebrow__label {
    color: #c7d2fe;
}

/* ========== Shared summary toggles (collapse/expand) ========== */
.lux-bid-summary__toggle,
.lux-emp-summary__toggle,
.lux-acct-summary__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 1.875rem;
    padding: 0 0.65rem;
    border: 1px solid #e2e8f0;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #475569;
    cursor: pointer;
}

a.lux-bid-summary__toggle,
a.lux-emp-summary__toggle,
a.lux-acct-summary__toggle {
    text-decoration: none;
}

.lux-bid-summary__toggle.lux-summary-toggle--icon,
.lux-emp-summary__toggle.lux-summary-toggle--icon,
.lux-acct-summary__toggle.lux-summary-toggle--icon {
    min-width: 1.875rem;
    padding: 0 0.5rem;
    text-transform: none;
}

.lux-summary-toggle__chevron {
    display: inline-block;
    line-height: 1;
    transition: transform 0.28s ease;
}

.lux-bid-summary__toggle[aria-expanded="true"] .lux-summary-toggle__chevron,
.lux-emp-summary__toggle[aria-expanded="true"] .lux-summary-toggle__chevron,
.lux-acct-summary__toggle[aria-expanded="true"] .lux-summary-toggle__chevron {
    transform: rotate(180deg);
    animation: none;
}

.lux-bid-summary__toggle[aria-expanded="false"] .lux-summary-toggle__chevron,
.lux-emp-summary__toggle[aria-expanded="false"] .lux-summary-toggle__chevron,
.lux-acct-summary__toggle[aria-expanded="false"] .lux-summary-toggle__chevron {
    animation: lux-summary-chevron-hint 1.85s ease-in-out infinite;
}

.lux-bid-summary__toggle:not(.lux-summary-toggle--icon)[aria-expanded="false"] > i.fe-chevron-down,
.lux-emp-summary__toggle:not(.lux-summary-toggle--icon)[aria-expanded="false"] > i.fe-chevron-down,
.lux-acct-summary__toggle:not(.lux-summary-toggle--icon)[aria-expanded="false"] > i.fe-chevron-down {
    display: inline-block;
    animation: lux-summary-chevron-hint 1.85s ease-in-out infinite;
}

.lux-bid-summary__toggle:not(.lux-summary-toggle--icon)[aria-expanded="true"] > i.fe-chevron-up,
.lux-emp-summary__toggle:not(.lux-summary-toggle--icon)[aria-expanded="true"] > i.fe-chevron-up,
.lux-acct-summary__toggle:not(.lux-summary-toggle--icon)[aria-expanded="true"] > i.fe-chevron-up {
    display: inline-block;
    animation: lux-summary-chevron-hint-up 1.85s ease-in-out infinite;
}

@keyframes lux-summary-chevron-hint {
    0%, 70%, 100% {
        transform: translateY(0);
    }
    35% {
        transform: translateY(3px);
    }
}

@keyframes lux-summary-chevron-hint-up {
    0%, 70%, 100% {
        transform: translateY(0);
    }
    35% {
        transform: translateY(-3px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .lux-summary-toggle__chevron,
    .lux-bid-summary__toggle:not(.lux-summary-toggle--icon) > i.fe-chevron-down,
    .lux-bid-summary__toggle:not(.lux-summary-toggle--icon) > i.fe-chevron-up,
    .lux-emp-summary__toggle:not(.lux-summary-toggle--icon) > i.fe-chevron-down,
    .lux-emp-summary__toggle:not(.lux-summary-toggle--icon) > i.fe-chevron-up,
    .lux-acct-summary__toggle:not(.lux-summary-toggle--icon) > i.fe-chevron-down,
    .lux-acct-summary__toggle:not(.lux-summary-toggle--icon) > i.fe-chevron-up {
        animation: none !important;
        transition: none;
    }
}

/* ========== Shared summary collapsed strips ========== */
.lux-bid-summary__collapsed-strip,
.lux-emp-summary__collapsed-strip,
.lux-acct-summary__collapsed-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
}

.lux-bid-summary__collapsed-strip {
    margin-top: 0.45rem;
}

.lux-emp-summary__collapsed-strip {
    gap: 0.45rem 0.65rem;
}

.lux-att-summary__collapsed-strip {
    padding-top: 0.15rem;
}

/* ========== Shared summary body collapse shells ========== */
.lux-bid-summary__body,
.lux-emp-summary__body,
.lux-ts-summary__body,
.lux-acct-summary__body {
    overflow: hidden;
    transition: max-height 0.28s ease, opacity 0.22s ease;
}

.lux-bid-summary.is-collapsed .lux-bid-summary__body,
.lux-emp-summary.is-collapsed .lux-emp-summary__body,
.lux-ts-summary.is-collapsed .lux-ts-summary__body,
.lux-acct-summary.is-collapsed .lux-acct-summary__body,
.lux-acct-summary--insights.is-collapsed .lux-acct-summary__body,
.lux-onb-summary.is-collapsed .lux-onb-summary__body {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
}

.lux-bid-summary:not(.is-collapsed) .lux-bid-summary__body,
.lux-emp-summary:not(.is-collapsed) .lux-emp-summary__body,
.lux-ts-summary:not(.is-collapsed) .lux-ts-summary__body,
.lux-acct-summary:not(.is-collapsed) .lux-acct-summary__body,
.lux-acct-summary--insights:not(.is-collapsed) .lux-acct-summary__body,
.lux-onb-summary:not(.is-collapsed) .lux-onb-summary__body {
    opacity: 1;
}

.lux-att-summary.is-collapsed .lux-att-summary__body,
.lux-inv-summary.is-collapsed .lux-inv-summary__body,
.lux-activity-summary.is-collapsed .lux-activity-summary__body {
    display: none;
}

/* ========== Shared summary filter chips ========== */
.lux-bid-summary__filters,
.lux-emp-summary__filters,
.lux-inv-summary__filters,
.lux-acct-summary__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-inv-summary__filters {
    gap: 0.28rem;
}

.lux-bid-summary__filter-chip,
.lux-emp-summary__filter-chip,
.lux-inv-summary__filter-chip,
.lux-acct-summary__filter-chip {
    border: 1px solid #e2e8f0;
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease;
}

.lux-bid-summary__filter-chip:hover,
.lux-emp-summary__filter-chip:hover,
.lux-inv-summary__filter-chip:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
}

.lux-bid-summary__filter-chip.is-active,
.lux-emp-summary__filter-chip.is-active,
.lux-inv-summary__filter-chip.is-active,
.lux-acct-summary__filter-chip.is-active {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.32);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

/* ========== Register page spacing rhythm (mirrors lux-planner-shell) ========== */

:root {
    --lux-page-gutter-x: 0.75rem;
    --lux-page-block-gap-y: 0.55rem;
    --lux-page-block-bottom: 0.85rem;
    --lux-page-shell-radius: 20px;
    --lux-page-panel-radius: 18px;
    --lux-page-panel-padding: 0.85rem 1rem;
    --lux-page-shell-body-padding: 1rem 1.25rem 1.5rem;
    /* Wave A — shared canvas / surface / action contracts */
    --lux-module-section-gap: 0.65rem;
    --lux-kpi-min-height: 6.75rem;
    --lux-kpi-strip-margin: 0.3rem 0 0.45rem;
    --lux-kpi-strip-grid-gap: 0.55rem;
    --lux-list-pad-x: var(--lux-page-gutter-x);
    --lux-action-min-height: 2rem;
    --lux-action-font-size: 0.6875rem;
    --lux-action-compact-min-height: 1.85rem;
    --lux-drawer-pad-x: 1rem;
    --lux-drawer-header-pad-y: 0.7rem;
    --lux-drawer-body-pad-y: 0.85rem;
    --lux-drawer-width-sm: 560px;
    --lux-drawer-width-md: 720px;
    --lux-drawer-width-lg: 1180px;
}

.lux-bid-requests,
.lux-attendance,
.lux-timesheet-page,
.lux-employees,
.lux-accounts,
.lux-planner-page,
.lux-reports-page,
.lux-feedback-page,
.lux-notes-page,
.lux-chat-page,
.lux-user-calendar-page,
.lux-workitem-requests,
.lux-deliverable-requests,
.lux-file-manager,
.lux-activity-requests,
.lux-leave-page,
.lux-admin-page,
.lux-register-page {
    padding-bottom: var(--lux-page-block-bottom);
}

.lux-register-page {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
}

.lux-register-page__body {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}

.lux-register-page__body > * {
    margin-left: var(--lux-page-gutter-x);
    margin-right: var(--lux-page-gutter-x);
    margin-bottom: var(--lux-page-block-gap-y);
}

.lux-page-canvas {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    overflow-x: hidden;
}

/* Timesheet: overflow-x:hidden forces overflow-y:auto and traps sticky week rail.
   Use clip so horizontal bleed is clipped without creating a non-scrolling sticky ancestor. */
.lux-page-canvas:has(.lux-timesheet-page) {
    overflow-x: clip;
    overflow-y: visible;
}

.lux-register-shell,
.lux-planner-shell {
    margin: 0 var(--lux-page-gutter-x) var(--lux-page-block-bottom);
    border: 0px solid rgba(148, 163, 184, 0.2);
    border-radius: var(--lux-page-shell-radius);
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 120%);
}

.lux-register-shell.card,
.lux-planner-shell.card {
    margin-bottom: var(--lux-page-block-bottom);
}

.lux-register-shell__body,
.lux-planner-shell__body {
    padding: var(--lux-page-shell-body-padding) !important;
}

.lux-register-shell > .lux-page-header,
.lux-planner-shell > .lux-page-header {
    position: sticky;
    top: 0;
    margin: 0;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-top: none;
}

.lux-register-list-section {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0 var(--lux-page-gutter-x) var(--lux-page-block-bottom);
    border: 0px solid rgba(148, 163, 184, 0.2);
    border-radius: var(--lux-page-shell-radius);
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 120%);
}

.lux-register-list-section .lux-bid-list-shell,
.lux-register-list-section > .lux-project-grid-shell,
.lux-register-list-section > .lux-emp-grid,
.lux-register-list-section > .lux-acct-dir-list,
.lux-register-list-section > .lux-acct-grid,
.lux-register-list-section > .lux-inv-list {
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.lux-register-list-section > .lux-emp-grid {
    padding: var(--lux-page-panel-padding);
}

.lux-register-list-section .lux-bid-list-shell__bar,
.lux-register-list-section .lux-project-grid-shell .lux-bid-list-shell__bar {
    padding: 0.85rem var(--lux-list-pad-x) 0.4rem;
    margin-bottom: 0;
}

.lux-register-list-section .lux-bid-list,
.lux-register-list-section .lux-project-grid,
.lux-register-list-section .lux-emp-grid,
.lux-register-list-section .lux-acct-dir-list,
.lux-register-list-section .lux-acct-grid,
.lux-register-list-section > .lux-inv-list {
    padding-left: var(--lux-list-pad-x);
    padding-right: var(--lux-list-pad-x);
}

.lux-register-list-section .lux-bid-list-shell > .lux-bid-list,
.lux-register-list-section .lux-project-grid-shell > .lux-project-grid {
    padding-bottom: 0.35rem;
}

.lux-register-list-section > .lux-register-list__pagination {
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
}

.lux-register-list-section > .lux-acct-load-more {
    padding: 0 1rem 1rem;
}

.lux-register-list-section > .lux-invoice-load-more {
    margin: 0;
    padding: 0.85rem 1rem 1rem;
    border: none;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
    border-radius: 0;
    background: rgba(248, 250, 252, 0.72);
}

.lux-bid-list-shell {
    margin: 0 var(--lux-page-gutter-x) var(--lux-page-block-bottom);
    padding: 0 0 0.35rem;
    border: 0px solid rgba(148, 163, 184, 0.2);
    border-radius: var(--lux-page-shell-radius);
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 120%);
}

.lux-bid-list-shell__bar {
    padding: 0.85rem 1rem 0.4rem;
    margin-bottom: 0;
}

.lux-bid-list-shell > .lux-bid-list {
    margin: 0 1rem;
}

.lux-bid-list-shell > .lux-register-list__pagination {
    margin: 0;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
}

.lux-project-grid-shell {
    margin: 0 var(--lux-page-gutter-x) var(--lux-page-block-bottom);
    padding: 0.85rem 1rem 1rem;
    border: 0px solid rgba(148, 163, 184, 0.2);
    border-radius: var(--lux-page-shell-radius);
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 120%);
}

.lux-register-list-section > .lux-project-grid-shell {
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

/* All register page summary panels — shared margin / padding rhythm */
.lux-bid-summary,
.lux-emp-summary,
.lux-att-summary,
.lux-inv-summary,
.lux-acct-summary,
.lux-ts-summary,
.lux-reports-summary.lux-bid-summary,
.lux-feedback-summary.lux-bid-summary,
.lux-notes-summary.lux-bid-summary,
.lux-workitem-summary.lux-bid-summary,
.lux-deliverable-summary.lux-bid-summary,
.lux-taskboard-summary.lux-bid-summary,
.lux-activity-summary.lux-bid-summary,
.lux-chat-summary.lux-bid-summary,
.lux-file-summary.lux-bid-summary,
.lux-user-calendar-summary.lux-bid-summary {
    margin: var(--lux-page-block-gap-y) var(--lux-page-gutter-x) var(--lux-page-block-gap-y);
    padding: var(--lux-page-panel-padding);
    border-radius: var(--lux-page-panel-radius);
}

.lux-bid-summary.is-collapsed,
.lux-emp-summary.is-collapsed,
.lux-att-summary.is-collapsed,
.lux-acct-summary.is-collapsed,
.lux-inv-summary.is-collapsed,
.lux-ts-summary.is-collapsed,
.lux-reports-summary.lux-bid-summary.is-collapsed,
.lux-feedback-summary.lux-bid-summary.is-collapsed,
.lux-notes-summary.lux-bid-summary.is-collapsed,
.lux-workitem-summary.lux-bid-summary.is-collapsed,
.lux-deliverable-summary.lux-bid-summary.is-collapsed,
.lux-taskboard-summary.lux-bid-summary.is-collapsed,
.lux-activity-summary.lux-bid-summary.is-collapsed {
    padding: 0.65rem 0.85rem;
}

.lux-att-matrix,
.lux-att-you,
.lux-ts-page__grid-shell {
    margin: 0 var(--lux-page-gutter-x) var(--lux-page-block-bottom);
    border-radius: var(--lux-page-panel-radius);
}

.lux-taskboard__member-bar,
.lux-taskboard__workspace {
    margin-left: var(--lux-page-gutter-x);
    margin-right: var(--lux-page-gutter-x);
}

.lux-taskboard__workspace {
    margin-bottom: var(--lux-page-block-bottom);
}

.lux-register-empty:not(.lux-register-empty--compact) {
    margin: var(--lux-page-block-gap-y) var(--lux-page-gutter-x) var(--lux-page-block-bottom);
}

.lux-page-header {
    padding: 0.625rem var(--lux-page-gutter-x);
}

@media (max-width: 640px) {
    :root {
        --lux-page-gutter-x: 0.625rem;
    }
}

body.lux-shell-dark .lux-register-shell,
body.lux-shell-dark .lux-planner-shell,
body.lux-shell-dark .lux-register-list-section,
body.lux-shell-dark .lux-bid-list-shell,
body.lux-shell-dark .lux-project-grid-shell {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.9));
    border-color: rgba(51, 65, 85, 0.9);
}

/* ========== luxury-page-footer.css ========== */

/* ========== Compact luxury page footer ========== */

.lux-page-footer {
    margin-top: auto;
    border-top: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.99));
    box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.03);
}

.lux-page-footer__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    flex-wrap: wrap;
    padding: 0.45rem 0.75rem;
    min-height: 2.25rem;
}

.lux-page-footer__left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.45rem;
    min-width: 0;
    flex: 1 1 14rem;
}

.lux-page-footer__copy {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}

.lux-page-footer__copy a {
    color: #059669;
    font-weight: 800;
    text-decoration: none;
}

.lux-page-footer__copy a:hover {
    text-decoration: underline;
}

.lux-page-footer__sep {
    color: #cbd5e1;
    font-weight: 300;
}

.lux-page-footer__sub {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.35;
}

.lux-page-footer__context {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    padding: 0.15rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.88);
    flex-shrink: 0;
}

.lux-page-footer__ctx {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    padding: 0.22rem 0.55rem;
    border-radius: 9911px;
    font-size: 0.75rem;
    font-weight: 800;
    color: #64748b;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}

.lux-page-footer__ctx i {
    font-size: 0.6875rem;
}

.lux-page-footer__ctx:hover {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    text-decoration: none;
}

.lux-page-footer__ctx.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.lux-page-footer__right {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-page-footer__link {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    padding: 0.2rem 0.45rem;
    border-radius: 9911px;
    font-size: 0.75rem;
    font-weight: 800;
    color: #475569;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}

.lux-page-footer__link i {
    font-size: 0.6875rem;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-page-footer__link:hover {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    text-decoration: none;
}

.lux-page-footer__meta {
    padding: 0.18rem 0.42rem;
    border-radius: 9911px;
    background: rgba(15, 23, 42, 0.05);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    white-space: nowrap;
}

.lux-page-footer__meta.is-env {
    background: rgba(5, 150, 105, 0.1);
    color: #047857;
}

body.lux-shell-dark .lux-page-footer {
    border-top-color: rgba(51, 65, 85, 0.95);
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(2, 6, 23, 0.99));
}

body.lux-shell-dark .lux-page-footer__copy,
body.lux-shell-dark .lux-page-footer__link {
    color: #94a3b8;
}

body.lux-shell-dark .lux-page-footer__context {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(51, 65, 85, 0.95);
}

@media (max-width: 992px) {
    .lux-page-footer__bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .lux-page-footer__right {
        justify-content: flex-start;
    }

    .lux-page-footer__sub {
        flex-basis: 100%;
    }
}

@media (max-width: 640px) {
    .lux-page-footer__sep {
        display: none;
    }

    .lux-page-footer__sub {
        width: 100%;
    }
}

@media print {
    .lux-page-footer,
    .page-footer-modern {
        display: none !important;
    }
}

/* ========== luxury-assist-dock.css ========== */

/* ========== Assist dock — draggable FAB + icon stack ========== */

.lux-assist-dock {
    position: fixed;
    right: 0;
    z-index: 1040;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.55rem;
    pointer-events: auto;
    touch-action: none;
}

.lux-assist-dock.is-dragging {
    user-select: none;
}

.lux-assist-dock__backdrop {
    position: fixed;
    inset: 0;
    z-index: 1039;
    border: none;
    padding: 0;
    margin: 0;
    background: transparent;
    cursor: default;
    pointer-events: auto;
}

.lux-assist-dock__icons {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.55rem;
    padding-right: 6px;
    pointer-events: auto;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(6px);
    transition:
        max-height 0.28s ease,
        opacity 0.22s ease,
        transform 0.22s ease;
}

.lux-assist-dock__icons.is-visible {
    max-height: 320px;
    opacity: 1;
    transform: translateY(0);
}

@keyframes luxAssistIconsIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.lux-assist-dock__icon-btn {
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.18);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.lux-assist-dock__icon-btn:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.22);
    filter: brightness(1.06);
}

.lux-assist-dock__icon-btn:focus-visible {
    outline: 2px solid #6366f1;
    outline-offset: 2px;
}

.lux-assist-dock__icon-btn--ai {
    border: 2px solid rgba(255, 255, 255, 0.92);
    background: linear-gradient(145deg, #6d5dfc, #10b981);
}

.lux-assist-dock__icon-btn--help {
    border: 2px solid rgba(255, 255, 255, 0.92);
    background: linear-gradient(145deg, #5ea657, #059669);
    font-size: 1.1rem;
}

.lux-assist-dock__icon-btn--permissions {
    border: 2px solid rgba(255, 255, 255, 0.92);
    background: linear-gradient(145deg, #0f766e 0%, #1d4ed8 100%);
    font-size: 1.05rem;
    box-shadow: 0 8px 24px rgba(15, 118, 110, 0.28);
}

.lux-assist-dock__icon-btn--ai-console {
    border: 2px solid rgba(255, 255, 255, 0.92);
    background: linear-gradient(145deg, #4338ca 0%, #7c3aed 52%, #059669 100%);
    font-size: 1.05rem;
    box-shadow: 0 8px 24px rgba(91, 95, 244, 0.28);
}

.lux-assist-dock__icon-btn--tour {
    position: relative;
    border: 2px solid rgba(255, 255, 255, 0.92);
    background: linear-gradient(145deg, #ffffff 0%, #ecfdf5 100%);
    color: #059669;
    font-size: 1.15rem;
}

.lux-assist-dock__icon-badge {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 2px #ffffff;
}

.lux-assist-dock__icon-btn--mobile {
    width: auto;
    height: auto;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

.lux-assist-dock__mobile-shell {
    pointer-events: none;
}

.lux-assist-dock__icon-btn--mobile:hover {
    transform: none;
    filter: none;
}

.lux-assist-dock__trigger {
    position: relative;
    pointer-events: auto;
    width: 52px;
    min-height: 92px;
    height: auto;
    padding: 0.65rem 0.35rem;
    border: none;
    border-radius: 16px 0 0 16px;
    cursor: grab;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(165deg, #6d5dfc 0%, #4338ca 42%, #059669 100%);
    box-shadow:
        -6px 0 28px rgba(91, 95, 244, 0.28),
        0 0 0 1px rgba(255, 255, 255, 0.12) inset;
    transition: box-shadow 0.2s ease, filter 0.2s ease;
    overflow: hidden;
    touch-action: none;
}

.lux-assist-dock__trigger-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
}

.lux-assist-dock__trigger-text {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    opacity: 0.95;
    line-height: 1;
}

.lux-assist-dock__trigger-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.35), transparent 55%);
    pointer-events: none;
}

.lux-assist-dock.is-dragging .lux-assist-dock__trigger {
    cursor: grabbing;
    box-shadow:
        -12px 0 36px rgba(91, 95, 244, 0.38),
        0 0 0 1px rgba(255, 255, 255, 0.16) inset;
    filter: brightness(1.04);
}

.lux-assist-dock__trigger-sparkle {
    position: relative;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.12));
}

.lux-assist-dock__trigger-icon {
    position: relative;
    font-size: 1.05rem;
    line-height: 1;
}

.lux-assist-dock__trigger:hover {
    filter: brightness(1.06);
    box-shadow:
        -12px 0 36px rgba(91, 95, 244, 0.34),
        0 0 0 1px rgba(255, 255, 255, 0.16) inset;
}

.lux-assist-dock__trigger:focus-visible {
    outline: 2px solid #6366f1;
    outline-offset: 2px;
}

.lux-assist-dock.is-open .lux-assist-dock__trigger {
    background: linear-gradient(165deg, #475569 0%, #334155 100%);
    box-shadow: -4px 0 20px rgba(15, 23, 42, 0.2);
}

@media (max-width: 640px) {
    .lux-assist-dock__trigger {
        width: 48px;
        min-height: 84px;
    }

    .lux-assist-dock__icon-btn--ai {
        width: 40px;
        height: 40px;
    }

    .lux-assist-dock__icon-btn--help {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }

    .lux-assist-dock__icon-btn--permissions {
        width: 40px;
        height: 40px;
        font-size: 0.95rem;
    }

    .lux-assist-dock__icon-btn--ai-console {
        width: 40px;
        height: 40px;
        font-size: 0.95rem;
    }

    .lux-assist-dock__icon-btn--tour {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }
}

@media print {
    .lux-assist-dock,
    .lux-assist-dock__backdrop {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lux-assist-dock__icons {
        transition: none;
    }

    .lux-assist-dock__icon-btn,
    .lux-assist-dock__trigger {
        transition: none;
    }
}

/* ========== Shared luxury assist panels (AI + Help modals) ========== */

.lux-assist-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: calc(100vh - 120px);
    background: #fff;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
}

.lux-assist-panel__hero {
    position: relative;
    padding: 1.15rem 1.25rem 1rem;
    color: #fff;
    overflow: hidden;
    flex-shrink: 0;
}

.lux-assist-panel--ai .lux-assist-panel__hero,
.famstack-ai-chat-modal__header.lux-assist-panel__hero {
    background: linear-gradient(135deg, #4338ca 0%, #6d5dfc 38%, #059669 100%);
}

.lux-assist-panel__hero--help {
    background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 55%, #3b82f6 100%);
}

.lux-assist-panel__hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 90% 10%, rgba(255, 255, 255, 0.22), transparent 45%),
        radial-gradient(circle at 10% 90%, rgba(255, 255, 255, 0.1), transparent 40%);
    pointer-events: none;
}

.lux-assist-panel__hero-top {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.lux-assist-panel__brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.lux-assist-panel__brand-icon {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.18);
    border: 0px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.lux-assist-panel__brand-icon--help {
    font-size: 1.1rem;
}

.lux-assist-panel__kicker {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    opacity: 0.85;
    margin-bottom: 0.1rem;
}

.lux-assist-panel__title {
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #fff;
}

.lux-assist-panel__hero-lead {
    position: relative;
    margin: 0.65rem 0 0;
    font-size: 0.75rem;
    line-height: 1.5;
    opacity: 0.92;
    max-width: 28rem;
}

.lux-assist-panel__close {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0px solid rgba(255, 255, 255, 0.25);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    cursor: pointer;
    transition: background 0.15s ease;
}

.lux-assist-panel__close:hover {
    background: rgba(255, 255, 255, 0.22);
}

.lux-assist-panel__body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 1rem 1.15rem 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.lux-assist-panel__feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.45rem;
}

.lux-assist-panel__feature {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    padding: 0.55rem 0.35rem;
    border-radius: 12px;
    background: rgba(109, 93, 252, 0.06);
    border: 0px solid rgba(109, 93, 252, 0.12);
    font-size: 0.75rem;
    font-weight: 700;
    color: #4338ca;
    text-align: center;
}

.lux-assist-panel__feature i {
    font-size: 0.85rem;
}

.lux-assist-panel__card {
    padding: 1.15rem;
    border-radius: 16px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, #fff, #f8fafc);
    text-align: center;
}

.lux-assist-panel__card--success {
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.06), #fff);
    border-color: rgba(16, 185, 129, 0.2);
}

.lux-assist-panel__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.625rem;
}

.lux-assist-panel__search-label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-assist-panel__search {
    position: relative;
}

.lux-assist-panel__search-icon {
    position: absolute;
    left: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 0.85rem;
    pointer-events: none;
}

.lux-assist-panel__search-input {
    width: 100%;
    padding: 0.75rem 0.85rem 0.75rem 2.35rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    font-size: 0.875rem;
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-assist-panel__search-input:focus {
    outline: none;
    border-color: rgba(37, 99, 235, 0.45);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.lux-assist-panel__quick-links {
    margin-top: 0.625rem;
}

.lux-assist-panel__quick-label {
    display: block;
    margin-bottom: 0.45rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-assist-panel__quick-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.lux-assist-panel__quick-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.42rem 0.75rem 0.42rem 0.42rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 999px;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.9),
      0 4px 12px rgba(15, 23, 42, 0.05);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    color: #1e3a8a;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-assist-panel__quick-chip > i:first-child,
.lux-assist-panel__quick-chip > .fe:first-child {
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 0.72rem;
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    box-shadow: 0 4px 10px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    margin-right: 0;
    opacity: 1;
}

.lux-assist-panel__quick-chip:hover {
    background: linear-gradient(180deg, #fff, rgba(239, 246, 255, 0.95));
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    color: var(--lux-primary-dark, #3730a3);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 1),
      0 8px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    transform: translateY(-1px);
    text-decoration: none;
}

.lux-assist-panel__quick-chip--accent {
    border-color: rgba(15, 118, 110, 0.28);
    color: #0f766e;
    background:
      linear-gradient(180deg, rgba(240, 253, 250, 0.98), rgba(204, 251, 241, 0.55));
}

.lux-assist-panel__quick-chip--accent > i:first-child,
.lux-assist-panel__quick-chip--accent > .fe:first-child {
    background: linear-gradient(135deg, #0f766e, #1d4ed8 60%, #14b8a6);
}

.lux-assist-panel__quick-chip--accent:hover {
    border-color: rgba(15, 118, 110, 0.45);
    color: #115e59;
}

/* Inline body links — match admin panel affordance */
.lux-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.05rem 0.35rem;
    margin: 0 0.05rem;
    border-radius: 999px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
    white-space: nowrap;
}

.lux-inline-link:hover,
.lux-inline-link:focus-visible {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
    outline: none;
}

body.lux-shell-dark .lux-assist-panel {
    background: #0f172a;
}

body.lux-shell-dark .lux-assist-panel__card {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-assist-panel__search-input {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(51, 65, 85, 0.95);
    color: #f1f5f9;
}

body.lux-shell-dark .lux-assist-panel__quick-chip {
    background: rgba(15, 23, 42, 0.85);
    border-color: rgba(71, 85, 105, 0.95);
    color: #bfdbfe;
    box-shadow: none;
}

body.lux-shell-dark .lux-assist-panel__quick-chip:hover {
    background: rgba(30, 41, 59, 0.95);
    border-color: rgba(96, 165, 250, 0.4);
    color: #dbeafe;
}

body.lux-shell-dark .lux-inline-link {
    background: rgba(99, 102, 241, 0.18);
    color: #c7d2fe;
}

/* ========== luxury-user-panel.css ========== */

/* ========== User quick panel — luxury sidebar ========== */

.lux-user-panel__backdrop {
    position: fixed;
    inset: 0;
    z-index: 9998;
    padding: 0;
    border: none;
    background: rgba(8, 12, 28, 0.38);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    cursor: pointer;
    animation: luxUserBackdropIn 0.2s ease;
}

@keyframes luxUserBackdropIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.user_div.lux-user-panel {
    width: 340px;
    left: -380px;
    padding: 0;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    border-right: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.6) inset,
        12px 0 40px rgba(15, 23, 42, 0.14);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.user_div.lux-user-panel.open {
    left: 0;
}

.user_div.lux-user-panel .card {
    background: transparent;
    border: none;
    box-shadow: none;
}

.lux-user-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.125rem 0.875rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(255, 255, 255, 0.92);
    flex-shrink: 0;
}

.lux-user-panel__brand {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    min-width: 0;
}

.lux-user-panel__brand img {
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.lux-user-panel__brand-name {
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    font-family: var(--lux-brand-font) !important;
}

.lux-user-panel__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.lux-user-panel__close:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.lux-user-panel__profile {
    display: flex;
    gap: 0.875rem;
    padding: 1rem 1.125rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06) 0%, rgba(20, 184, 166, 0.05) 100%),
        #fff;
    flex-shrink: 0;
}

.lux-user-panel__avatar {
    width: 64px !important;
    height: 64px !important;
    border-radius: 18px !important;
    border: 3px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18) !important;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    object-fit: cover;
    flex-shrink: 0;
}

.lux-user-panel__profile-copy {
    min-width: 0;
    flex: 1;
}

.lux-user-panel__name {
    margin: 0 0 4px;
    font-size: 1.0625rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.25;
}

.lux-user-panel__meta {
    margin: 0 0 0.625rem;
    font-size: 0.8125rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-user-panel__team-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
    padding: 0.25rem 0.55rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.28);
}

.lux-user-panel__team-chip i {
    font-size: 0.75rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-user-panel__profile-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lux-primary, #5b5ff4);
    text-decoration: none;
}

.lux-user-panel__profile-link:hover {
    color: var(--lux-accent, #14b8a6);
    text-decoration: none;
}

.lux-user-panel__body {
    flex: 1;
    overflow-y: auto;
    padding: 0.875rem 1.125rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}

.lux-user-panel__section {
    padding: 0.875rem;
    border-radius: 16px;
    border: 0px solid rgba(148, 163, 184, 0.22);
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-user-panel__section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    margin-bottom: 0.75rem;
}

.lux-user-panel__section-title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
}

.lux-user-panel__section-badge {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
    padding: 0.15rem 0.45rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-user-panel__refresh {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.lux-user-panel__refresh:hover {
    background: var(--lux-primary-soft, #eef2ff);
    color: var(--lux-primary, #5b5ff4);
}

.lux-user-panel__stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.lux-user-panel__stat-card {
    padding: 0.75rem 0.75rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 0px solid #e2e8f0;
}

.lux-user-panel__stat-card--primary {
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1) 0%, rgba(20, 184, 166, 0.08) 100%);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.lux-user-panel__stat-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
    margin-bottom: 0.2rem;
}

.lux-user-panel__stat-value {
    display: block;
    font-size: 1.375rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
    line-height: 1.1;
}

.lux-user-panel__stat-hint {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-user-panel__bars {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-user-panel__bar-row {
    min-width: 0;
}

.lux-user-panel__bar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    margin-bottom: 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
}

.lux-user-panel__bar-track {
    height: 7px;
    border-radius: 9911px;
    background: #e2e8f0;
    overflow: hidden;
}

.lux-user-panel__bar-fill {
    height: 100%;
    border-radius: inherit;
    transition: width 0.35s ease;
}

.lux-user-panel__bar-fill--billable {
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
}

.lux-user-panel__bar-fill--neutral {
    background: linear-gradient(90deg, #64748b, #94a3b8);
}

.lux-user-panel__bar-fill--leave {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.lux-user-panel__task-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.625rem;
    margin-bottom: 0.75rem;
}

.lux-user-panel__task-stat {
    text-align: center;
    padding: 0.625rem 0.35rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 0px solid #e2e8f0;
}

.lux-user-panel__task-stat strong {
    display: block;
    font-size: 1.125rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-user-panel__task-stat span {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-user-panel__task-list {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    max-height: 220px;
    overflow-y: auto;
}

.lux-user-panel__task-list::-webkit-scrollbar {
    width: 4px;
}

.lux-user-panel__task-list::-webkit-scrollbar-thumb {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
    border-radius: 9911px;
}

.lux-user-panel__task-item {
    padding: 0.75rem 0.7rem;
    border-radius: 12px;
    border: 0px solid #e2e8f0;
    background: #f8fafc;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-user-panel__task-item:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}

.lux-user-panel__task-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    margin-bottom: 0.25rem;
}

.lux-user-panel__status {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.15rem 0.45rem;
    border-radius: 9911px;
}

.lux-user-panel__status.is-progress {
    color: #1d4ed8;
    background: #dbeafe;
}

.lux-user-panel__status.is-assigned {
    color: #b45309;
    background: #fef3c7;
}

.lux-user-panel__status.is-paused {
    color: #b91c1c;
    background: #fee2e2;
}

.lux-user-panel__status.is-new {
    color: #475569;
    background: #e2e8f0;
}

.lux-user-panel__status.is-done {
    color: #047857;
    background: #d1fae5;
}

.lux-user-panel__task-due {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-user-panel__task-name {
    margin: 0 0 0.15rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
}

.lux-user-panel__task-project {
    margin: 0;
    font-size: 0.6875rem;
    color: #64748b;
    line-height: 1.35;
}

.lux-user-panel__task-empty,
.lux-user-panel__empty {
    margin: 0;
    font-size: 0.8125rem;
    color: #64748b;
    text-align: center;
    padding: 0.75rem 0.625rem;
}

.lux-user-panel__links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.625rem;
}

.lux-user-panel__link-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0.4rem 0.65rem;
    border-radius: 9911px;
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-user-panel__link-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.34);
    color: #fff;
    text-decoration: none;
}

.lux-user-panel__link-btn--ghost {
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    box-shadow: none;
}

.lux-user-panel__link-btn--ghost:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, var(--lux-primary));
}

body.lux-shell-dark .user_div.lux-user-panel {
    background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    border-right-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-user-panel__header,
body.lux-shell-dark .lux-user-panel__section,
body.lux-shell-dark .lux-user-panel__task-item,
body.lux-shell-dark .lux-user-panel__stat-card,
body.lux-shell-dark .lux-user-panel__task-stat {
    background: rgba(30, 41, 59, 0.88);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-user-panel__name,
body.lux-shell-dark .lux-user-panel__stat-value,
body.lux-shell-dark .lux-user-panel__task-name,
body.lux-shell-dark .lux-user-panel__brand-name {
    color: #f8fafc;
}

body.lux-shell-dark .lux-user-panel__meta,
body.lux-shell-dark .lux-user-panel__bar-head,
body.lux-shell-dark .lux-user-panel__task-project,
body.lux-shell-dark .lux-user-panel__empty {
    color: #94a3b8;
}

@media (max-width: 767px) {
    .user_div.lux-user-panel {
        width: min(340px, 100vw);
    }
}

/* ========== luxury-today-activity.css ========== */

/* ========== Today's activity — luxury right panel ========== */

.lux-today-panel__backdrop {
    position: fixed;
    inset: 0;
    z-index: 9998;
    padding: 0;
    border: none;
    background: rgba(8, 12, 28, 0.38);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    cursor: pointer;
    animation: luxTodayBackdropIn 0.2s ease;
}

@keyframes luxTodayBackdropIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.right_sidebar.lux-today-panel {
    width: 360px;
    right: -400px;
    padding: 0;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    border-left: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.6) inset,
        -12px 0 40px rgba(15, 23, 42, 0.14);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.right_sidebar.lux-today-panel.open {
    right: 0;
}

.lux-today-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.125rem 0.875rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07) 0%, rgba(20, 184, 166, 0.06) 100%),
        #fff;
    flex-shrink: 0;
}

.lux-today-panel__kicker {
    margin: 0 0 4px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-today-panel__title {
    margin: 0 0 4px;
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
    line-height: 1.2;
}

.lux-today-panel__date {
    margin: 0;
    font-size: 0.8125rem;
    color: #64748b;
}

.lux-today-panel__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s ease, color 0.15s ease;
}

.lux-today-panel__close:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.lux-today-panel__body {
    flex: 1;
    overflow-y: auto;
    padding: 0.875rem 1.125rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}

.lux-today-panel__section {
    padding: 0.875rem;
    border-radius: 16px;
    border: 0px solid rgba(148, 163, 184, 0.22);
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-today-panel__section--compact {
    padding: 0.75rem 0.875rem;
}

.lux-today-panel__section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    margin-bottom: 0.75rem;
}

.lux-today-panel__section-title {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
}

.lux-today-panel__section-head .lux-today-panel__section-title {
    margin-bottom: 0;
}

.lux-today-panel__refresh {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.lux-today-panel__refresh:hover {
    background: var(--lux-primary-soft, #eef2ff);
    color: var(--lux-primary, #5b5ff4);
}

/* —— Progress hero —— */
.lux-today-panel__progress-hero {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    margin-bottom: 0.75rem;
}

.lux-today-panel__ring {
    --lux-progress: 0;
    flex-shrink: 0;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: conic-gradient(
        var(--lux-primary, #5b5ff4) calc(var(--lux-progress) * 1%),
        #e2e8f0 0
    );
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.lux-today-panel__ring-inner {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.1;
}

.lux-today-panel__ring-inner strong {
    font-size: 1.125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-today-panel__ring-inner span {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #64748b;
}

.lux-today-panel__progress-copy {
    flex: 1;
    min-width: 0;
}

.lux-today-panel__progress-copy p {
    margin: 0 0 0.625rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #475569;
}

.lux-today-panel__progress-copy strong {
    color: #0f172a;
}

.lux-today-panel__progress-bar {
    height: 8px;
    border-radius: 9911px;
    background: #e2e8f0;
    overflow: hidden;
    margin-bottom: 0.35rem;
}

.lux-today-panel__progress-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    transition: width 0.35s ease;
}

.lux-today-panel__progress-meta {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-today-panel__stat-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.625rem;
}

.lux-today-panel__stat {
    text-align: center;
    padding: 0.625rem 0.35rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 0px solid #e2e8f0;
}

.lux-today-panel__stat strong {
    display: block;
    font-size: 1.0625rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-today-panel__stat span {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

/* —— Hours chips —— */
.lux-today-panel__hours-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.lux-today-panel__hour-chip {
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 0.3rem 0.55rem;
    border-radius: 9911px;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}

.lux-today-panel__hour-chip--billable {
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.lux-today-panel__hour-chip--leave {
    color: #b45309;
    background: #fef3c7;
    border-color: #fde68a;
}

.lux-today-panel__hour-total {
    margin-left: auto;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

/* —— Timeline —— */
.lux-today-panel__timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.lux-today-panel__timeline::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: linear-gradient(
        180deg,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35),
        #e2e8f0 40%,
        rgba(20, 184, 166, 0.35)
    );
    border-radius: 9911px;
}

.lux-today-panel__timeline-item,
.lux-today-panel__timeline-marker {
    position: relative;
    display: flex;
    gap: 0.75rem;
    padding: 0 0 0.875rem 0;
}

.lux-today-panel__timeline-marker:last-child,
.lux-today-panel__timeline-item:last-of-type {
    padding-bottom: 0;
}

.lux-today-panel__timeline-dot {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-top: 2px;
    border-radius: 9911px;
    border: 3px solid #fff;
    background: #cbd5e1;
    box-shadow: 0 0 0 1px #e2e8f0;
    z-index: 1;
}

.lux-today-panel__timeline-dot.is-progress {
    background: var(--lux-primary, #5b5ff4);
}

.lux-today-panel__timeline-dot.is-assigned {
    background: #f59e0b;
}

.lux-today-panel__timeline-dot.is-paused {
    background: #ef4444;
}

.lux-today-panel__timeline-dot.is-new {
    background: #94a3b8;
}

.lux-today-panel__timeline-dot.is-done {
    background: #10b981;
}

.lux-today-panel__timeline-marker--start .lux-today-panel__timeline-dot {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
}

.lux-today-panel__timeline-marker--end .lux-today-panel__timeline-dot {
    background: #64748b;
}

.lux-today-panel__timeline-body,
.lux-today-panel__timeline-marker > div:last-child {
    flex: 1;
    min-width: 0;
    padding: 0.625rem 0.75rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 0px solid #e2e8f0;
}

.lux-today-panel__timeline-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    margin-bottom: 0.25rem;
}

.lux-today-panel__timeline-head time {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-today-panel__timeline-body strong,
.lux-today-panel__timeline-marker strong {
    display: block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
}

.lux-today-panel__timeline-body p,
.lux-today-panel__timeline-marker p {
    margin: 0.15rem 0 0;
    font-size: 0.6875rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-today-panel__status {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.15rem 0.45rem;
    border-radius: 9911px;
    flex-shrink: 0;
}

.lux-today-panel__status.is-progress {
    color: #1d4ed8;
    background: #dbeafe;
}

.lux-today-panel__status.is-assigned {
    color: #b45309;
    background: #fef3c7;
}

.lux-today-panel__status.is-paused {
    color: #b91c1c;
    background: #fee2e2;
}

.lux-today-panel__status.is-new {
    color: #475569;
    background: #e2e8f0;
}

.lux-today-panel__status.is-done {
    color: #047857;
    background: #d1fae5;
}

/* —— Activity feed —— */
.lux-today-panel__feed {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    max-height: 240px;
    overflow-y: auto;
}

.lux-today-panel__feed-item {
    display: flex;
    gap: 0.75rem;
    padding: 0.55rem 0.75rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 0px solid #e2e8f0;
}

.lux-today-panel__feed-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #475569;
}

.lux-today-panel__feed-icon.is-progress {
    background: #dbeafe;
    color: #1d4ed8;
}

.lux-today-panel__feed-icon.is-done {
    background: #d1fae5;
    color: #047857;
}

.lux-today-panel__feed-icon.is-assigned {
    background: #fef3c7;
    color: #b45309;
}

.lux-today-panel__feed-icon.is-paused {
    background: #fee2e2;
    color: #b91c1c;
}

.lux-today-panel__feed-copy {
    min-width: 0;
    flex: 1;
}

.lux-today-panel__feed-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    margin-bottom: 0.15rem;
}

.lux-today-panel__feed-head strong {
    font-size: 0.6875rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #475569;
}

.lux-today-panel__feed-head time {
    font-size: 0.75rem;
    font-weight: 600;
    color: #94a3b8;
    white-space: nowrap;
}

.lux-today-panel__feed-copy p {
    margin: 0 0 0.1rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
}

.lux-today-panel__feed-copy span {
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-today-panel__empty {
    margin: 0;
    font-size: 0.8125rem;
    color: #64748b;
    text-align: center;
    padding: 0.75rem 0.625rem;
}

.lux-today-panel__links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.625rem;
    margin-top: 0.25rem;
}

.lux-today-panel__link-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0.4rem 0.65rem;
    border-radius: 9911px;
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-today-panel__link-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.34);
    color: #fff;
    text-decoration: none;
}

.lux-today-panel__link-btn--ghost {
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    box-shadow: none;
}

.lux-today-panel__link-btn--ghost:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

body.lux-shell-dark .right_sidebar.lux-today-panel {
    background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
}

body.lux-shell-dark .lux-today-panel__section,
body.lux-shell-dark .lux-today-panel__timeline-body,
body.lux-shell-dark .lux-today-panel__timeline-marker > div:last-child,
body.lux-shell-dark .lux-today-panel__feed-item,
body.lux-shell-dark .lux-today-panel__stat {
    background: rgba(30, 41, 59, 0.88);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-today-panel__title,
body.lux-shell-dark .lux-today-panel__timeline-body strong,
body.lux-shell-dark .lux-today-panel__feed-copy p {
    color: #f8fafc;
}

@media (max-width: 767px) {
    .right_sidebar.lux-today-panel {
        width: min(360px, 100vw);
    }
}

/* ========== luxury-task-activity.css ========== */

/* ========== Task activity page — luxury workspace ========== */

.lux-activity-page {
    margin: 0 var(--lux-page-gutter-x);
    padding: 0;
}

.lux-activity-page__workspace {
    display: grid;
    grid-template-columns: minmax(18rem, 22rem) minmax(0, 1fr);
    column-gap: 0.75rem;
    row-gap: var(--lux-page-block-gap-y);
    align-items: start;
}

.lux-activity-page__sidebar {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.lux-activity-page__main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lux-activity-panel--audit {
    padding: 1rem 1.1rem 1.15rem;
}

.lux-activity-panel {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.lux-activity-panel--calendar .card {
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.lux-activity-panel--calendar .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 0.9rem 0.45rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    background: transparent;
}

.lux-activity-panel--calendar .card-title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    text-transform: uppercase;
}

.lux-activity-panel--calendar .card-options .link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    color: #64748b;
    transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}

.lux-activity-panel--calendar .card-options .link:hover {
    color: var(--lux-primary-dark, #3730a3);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-activity-panel--calendar .table-calendar {
    margin: 0;
    border: none !important;
}

.lux-activity-panel--calendar .table-calendar th,
.lux-activity-panel--calendar .table-calendar td {
    border-color: rgba(226, 232, 240, 0.75) !important;
    font-size: 0.6875rem;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    padding: 0.42rem 0.25rem;
}

.lux-activity-panel--calendar .table-calendar th {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    background: rgba(248, 250, 252, 0.95);
}

.lux-activity-panel--calendar .table-calendar td.active {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06) !important;
}

.lux-activity-panel--calendar .table-calendar td.active .marked {
    display: inline-grid;
    place-items: center;
    min-width: 1.65rem;
    min-height: 1.65rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    color: var(--lux-primary-dark, #4338ca);
    font-weight: 800;
    box-shadow: none;
}

.lux-activity-panel--calendar .table-calendar td.currentDay .marked {
    box-shadow: inset 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #4338ca);
}

.lux-activity-panel--calendar .table-calendar td.weekend {
    color: #f87171;
    background: rgba(254, 242, 242, 0.45);
}

.lux-activity-panel--calendar .table-calendar td.holiday {
    background: rgba(254, 226, 226, 0.55);
    color: #b91c1c;
    box-shadow: inset 0 0 0 1px rgba(220, 38, 38, 0.28);
}

.lux-activity-panel--calendar .table-calendar td.holiday span {
    background: linear-gradient(145deg, #ef4444, #dc2626);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 4px 10px rgba(220, 38, 38, 0.28);
}

.lux-activity-panel--calendar .table-calendar td.holiday.active span {
    background: linear-gradient(145deg, #dc2626, #991b1b);
    box-shadow: 0 0 0 2px rgba(254, 226, 226, 0.95), 0 6px 14px rgba(185, 28, 28, 0.35);
}

.lux-activity-panel--calendar .table-calendar td.holiday.notcurrentmonth span {
    opacity: 0.55;
}

.lux-activity-holiday-cue {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.65rem 0.85rem 0.85rem;
    border-top: 1px solid rgba(254, 202, 202, 0.65);
    background: linear-gradient(180deg, rgba(254, 242, 242, 0.55), rgba(255, 255, 255, 0.92));
}

.lux-activity-holiday-cue__legend {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.lux-activity-holiday-cue__swatch {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 999px;
    background: linear-gradient(145deg, #ef4444, #dc2626);
    box-shadow: 0 0 0 2px rgba(254, 226, 226, 0.95);
    flex-shrink: 0;
}

.lux-activity-holiday-cue__label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #991b1b;
}

.lux-activity-holiday-cue__count {
    margin-left: auto;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #b91c1c;
}

.lux-activity-holiday-cue__count.is-muted {
    color: #94a3b8;
    font-weight: 600;
}

.lux-activity-holiday-cue__next {
    margin: 0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.35;
}

.lux-activity-holiday-cue__next strong {
    color: #7f1d1d;
    font-weight: 800;
}

.lux-activity-holiday-cue__link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    width: fit-content;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #b91c1c;
    text-decoration: none;
}

.lux-activity-holiday-cue__link:hover {
    color: #7f1d1d;
    text-decoration: underline;
}

.lux-activity-panel--calendar .table-calendar td:not(.active):not(.holiday):hover {
    background: rgba(248, 250, 252, 0.95);
}

.lux-activity-page__sidebar .card:not(.lux-activity-panel--calendar .card) {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-activity-panel--list {
    min-height: 28rem;
    border: 0px solid rgba(148, 163, 184, 0.2);
    border-radius: var(--lux-page-shell-radius);
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, #fff 0%, #f8fafc 120%);
}

.lux-activity-panel__body {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.lux-activity-panel--list > .card {
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.lux-activity-panel--list .lux-page-header {
    display: none;
}

/* Summary strip */
.lux-activity-summary {
    padding: 0;
    overflow: hidden;
}

.lux-activity-summary.lux-bid-summary {
    border: 0px solid rgba(226, 232, 240, 0.95);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 42%),
        radial-gradient(circle at 100% 0%, rgba(14, 165, 233, 0.05), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow: 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03), 0 12px 28px rgba(15, 23, 42, 0.06);
}

.lux-activity-summary .lux-bid-summary__header-bar {
    padding: 0.85rem 0.95rem 0.75rem;
}

.lux-activity-summary.is-collapsed .lux-bid-summary__header-bar {
    padding-bottom: 0.85rem;
}

.lux-activity-summary__sub {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-summary__collapsed-line {
    margin: 0;
    padding: 0 0.95rem 0.85rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-summary__body {
    padding: 0 0.95rem 0.95rem;
}

.lux-activity-summary__kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.45rem;
    margin-bottom: 0.65rem;
}

.lux-activity-summary__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}

.lux-activity-summary__title {
    margin: 0.12rem 0 0;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.lux-activity-summary__sub {
    margin: 0.18rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-summary__rings {
    display: flex;
    gap: 0.55rem;
    flex-shrink: 0;
}

.lux-activity-summary__ring-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.12rem;
}

.lux-activity-summary__ring-wrap em {
    font-style: normal;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-summary__ring {
    --ring-color: var(--lux-primary, #5b5ff4);
    position: relative;
    width: 3rem;
    height: 3rem;
    border-radius: 9911px;
    display: grid;
    place-items: center;
    background: conic-gradient(
        var(--ring-color) 0 calc(var(--lux-ring-pct, 0) * 1%),
        rgba(226, 232, 240, 0.95) calc(var(--lux-ring-pct, 0) * 1%) 100%
    );
}

.lux-activity-summary__ring::before {
    content: "";
    position: absolute;
    inset: 0.34rem;
    border-radius: 9911px;
    background: #fff;
}

.lux-activity-summary__ring span {
    position: relative;
    z-index: 1;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-activity-summary__ring.is-indigo { --ring-color: #6366f1; }
.lux-activity-summary__ring.is-teal { --ring-color: #14b8a6; }

.lux-activity-summary__kpi {
    padding: 0.55rem 0.62rem;
    border: 0px solid rgba(226, 232, 240, 0.9);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.78);
}

.lux-activity-summary__kpi-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-summary__kpi-value {
    display: block;
    margin-top: 0.12rem;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
}

.lux-activity-summary__kpi-hint {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-summary__kpi.is-green .lux-activity-summary__kpi-value { color: #047857; }
.lux-activity-summary__kpi.is-teal .lux-activity-summary__kpi-value { color: #0f766e; }
.lux-activity-summary__kpi.is-amber .lux-activity-summary__kpi-value { color: #b45309; }
.lux-activity-summary__kpi.is-indigo .lux-activity-summary__kpi-value { color: #4338ca; }
.lux-activity-summary__kpi.is-sky .lux-activity-summary__kpi-value { color: #0369a1; }
.lux-activity-summary__kpi.is-violet .lux-activity-summary__kpi-value { color: #6d28d9; }

.lux-activity-summary__analytics {
    display: grid;
    gap: 0.55rem;
}

.lux-activity-summary__analytics--primary {
    grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
    margin-bottom: 0.55rem;
}

.lux-activity-summary__analytics--secondary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lux-activity-summary__chart-panel {
    display: flex;
    flex-direction: column;
    min-height: 11.5rem;
    padding: 0.62rem 0.68rem;
    border: 0px solid rgba(226, 232, 240, 0.92);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
}

.lux-activity-summary__chart-panel--funnel {
    min-height: 12.5rem;
}

.lux-activity-summary__chart-head {
    margin-bottom: 0.35rem;
}

.lux-activity-summary__chart-title {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #0f172a;
}

.lux-activity-summary__chart-sub {
    margin: 0.12rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-summary__chart-body {
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lux-activity-summary__chart-empty {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    text-align: center;
}

/* Pending tasks */
.lux-activity-pending {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.lux-activity-pending__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.72rem 0.85rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    background: rgba(248, 250, 252, 0.72);
}

.lux-activity-pending__head-main {
    min-width: 0;
    flex: 1;
}

.lux-activity-pending__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-top: 0.35rem;
}

.lux-activity-pending__stat {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.12rem 0.42rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.lux-activity-pending__stat.is-rose {
    background: rgba(244, 63, 94, 0.12);
    color: #be123c;
}

.lux-activity-pending__stat.is-amber {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.lux-activity-pending__stat.is-indigo {
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}

.lux-activity-pending__title {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #334155;
}

.lux-activity-pending__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.35rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-activity-pending__body {
    max-height: 22rem;
    overflow: auto;
    padding: 0.55rem;
}

.lux-activity-pending__list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-activity-pending__item {
    padding: 0.62rem 0.68rem;
    border: 0px solid rgba(226, 232, 240, 0.9);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-activity-pending__item.is-overdue {
    border-color: rgba(244, 63, 94, 0.28);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 241, 242, 0.55));
}

.lux-activity-pending__item:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-activity-pending__item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
}

.lux-activity-pending__item-lead {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-width: 0;
    flex-wrap: wrap;
}

.lux-activity-pending__status {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 8px;
    display: grid;
    place-items: center;
    font-size: 0.75rem;
}

.lux-activity-pending__status.is-sky { background: rgba(14, 165, 233, 0.14); color: #0369a1; }
.lux-activity-pending__status.is-indigo { background: rgba(99, 102, 241, 0.14); color: #4338ca; }
.lux-activity-pending__status.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-activity-pending__status.is-green { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-activity-pending__status.is-rose { background: rgba(244, 63, 94, 0.14); color: #be123c; }
.lux-activity-pending__status.is-slate { background: rgba(100, 116, 139, 0.14); color: #475569; }

.lux-activity-pending__prio {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.15rem;
    padding: 0 0.25rem;
    border-radius: 6px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.lux-activity-pending__prio.is-rose { background: rgba(244, 63, 94, 0.14); color: #be123c; }
.lux-activity-pending__prio.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-activity-pending__prio.is-indigo { background: rgba(99, 102, 241, 0.14); color: #4338ca; }
.lux-activity-pending__prio.is-slate { background: rgba(100, 116, 139, 0.14); color: #475569; }

.lux-activity-pending__ref {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    color: #64748b;
}

.lux-activity-pending__copy {
    min-width: 0;
}

.lux-activity-pending__name {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-activity-pending__task {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-activity-pending__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.35rem;
}

.lux-activity-pending__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.1rem 0.38rem;
    border-radius: 9911px;
    background: rgba(241, 245, 249, 0.95);
    font-size: 0.625rem;
    font-weight: 700;
    color: #475569;
}

.lux-activity-pending__chip.is-code {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-activity-pending__chip.is-muted {
    color: #64748b;
}

.lux-activity-pending__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    margin-top: 0.42rem;
    padding-top: 0.42rem;
    border-top: 1px dashed rgba(226, 232, 240, 0.95);
}

.lux-activity-pending__dates {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.55rem;
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
}

.lux-activity-pending__dates i {
    margin-right: 0.15rem;
    color: #94a3b8;
}

.lux-activity-pending__due.is-rose { color: #be123c; }
.lux-activity-pending__due.is-amber { color: #b45309; }
.lux-activity-pending__due.is-slate { color: #64748b; }

.lux-activity-pending__owner {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
    max-width: 45%;
}

.lux-activity-pending__avatar {
    display: inline-grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.625rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-activity-pending__owner-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
}

/* Activity register */
.lux-activity-register {
    border-top: none;
}

.lux-activity-register__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.85rem 1rem 0.4rem;
    background: transparent;
    border-bottom: none;
}

.lux-activity-register__label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #334155;
}

.lux-activity-register__count {
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
}

.lux-activity-register__head {
    display: grid;
    grid-template-columns: 2.75rem 3.75rem minmax(0, 1.35fr) 8.5rem 5.75rem 2.25rem 4.5rem auto;
    gap: 0.45rem;
    align-items: center;
    padding: 0.42rem 1rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.75);
    background: rgba(241, 245, 249, 0.65);
}

.lux-activity-register__head-cell {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
    white-space: nowrap;
}

.lux-activity-register .lux-activity-list {
    padding: 0 1rem 0.85rem;
}

.lux-activity-register .lux-activity-item__row {
    grid-template-columns: 2.75rem 3.75rem minmax(0, 1.35fr) 8.5rem 5.75rem 2.25rem 4.5rem auto;
    gap: 0.45rem;
    align-items: center;
    cursor: pointer;
}

.lux-activity-register .lux-activity-item__main,
.lux-activity-register .lux-activity-item__aside {
    display: contents;
}

.lux-activity-register .lux-activity-item__lead {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}

.lux-activity-register .lux-activity-item__datetime {
    color: #64748b;
}

/* Activity list */
.lux-activity-list {
    padding: 0.55rem 0.75rem 0.85rem;
}

.lux-activity-list__skeleton {
    padding: 0.35rem 0;
    min-height: min(50vh, 24rem);
}

.lux-activity-list__skeleton-line {
    display: block;
    width: 100%;
    margin-bottom: 0.4rem;
}

.lux-activity-list__skeleton-line > span {
    width: 100% !important;
}

.lux-project-grid.is-loading,
.lux-emp-grid.is-loading,
.lux-acct-grid.is-loading {
    min-height: min(60vh, 32rem);
}

.lux-activity-group {
    margin-bottom: 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.9);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    overflow: hidden;
}

.lux-activity-group__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.55rem 0.72rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.75);
    background: rgba(248, 250, 252, 0.85);
}

.lux-activity-group__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    padding: 0;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
}

.lux-activity-group__main {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    flex: 1;
}

.lux-activity-group__code {
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    white-space: nowrap;
}

.lux-activity-group__name {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-activity-group__meta {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-activity-group__duration {
    padding: 0.18rem 0.45rem;
    border-radius: 9911px;
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
    font-weight: 800;
}

.lux-activity-group__body {
    padding: 0.35rem 0.45rem 0.45rem;
}

.lux-activity-item {
    margin-bottom: 0.4rem;
    transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.lux-activity-item:last-child {
    margin-bottom: 0;
}

.lux-activity-item.is-expanded {
    transform: translateY(-1px);
}

.lux-activity-item__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.65rem;
    padding: 0.42rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
    cursor: pointer;
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-activity-item.is-expanded .lux-activity-item__row,
.lux-activity-item__row:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-activity-item__main {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.lux-activity-item__status {
    flex-shrink: 0;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 8px;
    display: grid;
    place-items: center;
    font-size: 0.8125rem;
}

.lux-activity-item__status.is-sky { background: rgba(14, 165, 233, 0.14); color: #0369a1; }
.lux-activity-item__status.is-indigo { background: rgba(99, 102, 241, 0.14); color: #4338ca; }
.lux-activity-item__status.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-activity-item__status.is-green { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-activity-item__status.is-slate { background: rgba(100, 116, 139, 0.14); color: #475569; }

.lux-activity-item__status .spin {
    animation: luxActivitySpin 0.85s linear infinite;
}

@keyframes luxActivitySpin {
    to { transform: rotate(360deg); }
}

.lux-activity-item__prio {
    flex-shrink: 0;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.28rem;
    border-radius: 7px;
    display: grid;
    place-items: center;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #fff;
}

.lux-activity-item__prio.is-rose { background: #f43f5e; }
.lux-activity-item__prio.is-amber { background: #f59e0b; }
.lux-activity-item__prio.is-indigo { background: #6366f1; }
.lux-activity-item__prio.is-slate { background: #94a3b8; }

.lux-activity-item__ref {
    flex-shrink: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-activity-item__name {
    min-width: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-activity-item__aside {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-activity-item__datetime {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #ef4444;
    white-space: nowrap;
}

.lux-activity-item__category {
    max-width: 5.5rem;
    padding: 0.12rem 0.38rem;
    border-radius: 9911px;
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
    font-size: 0.625rem;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-activity-item__avatar {
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 9911px;
    display: grid;
    place-items: center;
    background: rgba(14, 165, 233, 0.14);
    color: #0369a1;
    font-size: 0.6875rem;
    font-weight: 800;
}

.lux-activity-item__duration {
    padding: 0.18rem 0.42rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    white-space: nowrap;
}

.lux-activity-item__duration.is-green { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-activity-item__duration.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-activity-item__duration.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }

.lux-activity-item__aside .lux-project-row__actions {
    flex-shrink: 0;
}

.lux-activity-list .lux-project-row__action.is-checklist.is-done {
    color: #047857;
    border-color: rgba(16, 185, 129, 0.35);
    background: rgba(16, 185, 129, 0.08);
}

.lux-activity-list .lux-project-row__action.is-checklist.is-progress,
.lux-activity-pending .lux-project-row__action.is-checklist.is-progress {
    color: #4338ca;
    border-color: rgba(99, 102, 241, 0.35);
    background: rgba(99, 102, 241, 0.08);
}

.lux-activity-list .lux-project-row__action.is-checklist.is-open,
.lux-activity-pending .lux-project-row__action.is-checklist.is-open {
    color: #b45309;
    border-color: rgba(245, 158, 11, 0.35);
    background: rgba(245, 158, 11, 0.1);
}

.lux-activity-list .lux-project-row__action.is-checklist.is-done,
.lux-activity-pending .lux-project-row__action.is-checklist.is-done {
    color: #047857;
    border-color: rgba(16, 185, 129, 0.35);
    background: rgba(16, 185, 129, 0.08);
}

.lux-activity-list .lux-project-row__action.is-danger,
.lux-activity-pending .lux-project-row__action.is-danger,
.lux-activity-holidays .lux-project-row__action.is-danger {
    color: #be123c;
}

.lux-activity-list .lux-project-row__action.is-danger:hover,
.lux-activity-pending .lux-project-row__action.is-danger:hover,
.lux-activity-holidays .lux-project-row__action.is-danger:hover {
    border-color: rgba(244, 63, 94, 0.35);
    background: rgba(244, 63, 94, 0.08);
    color: #be123c;
}

.lux-activity-pending__head .lux-project-row__action,
.lux-activity-holidays__head .lux-project-row__actions {
    flex-shrink: 0;
}

.lux-activity-item__detail {
    margin-top: 0.35rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    overflow: hidden;
    box-shadow: inset 3px 0 0 var(--lux-primary, #5b5ff4);
}

.lux-activity-item__detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    padding: 0.45rem 0.65rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.75);
    background: rgba(248, 250, 252, 0.85);
}

.lux-activity-item__detail-head input.form-control {
    font-size: 0.6875rem;
    min-height: 1.85rem;
}

.lux-activity-item__detail-actions {
    display: inline-flex;
    gap: 0.25rem;
}

.lux-activity-item__fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem 0.65rem;
    padding: 0.55rem 0.65rem 0.65rem;
    background: rgba(248, 250, 252, 0.55);
}

.lux-activity-item__field label {
    display: block;
    margin-bottom: 0.08rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-item__field strong,
.lux-activity-item__field span {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-activity-item__field input.form-control {
    font-size: 0.75rem;
    min-height: 1.75rem;
    padding: 0.15rem 0.35rem;
}

.lux-activity-empty {
    padding: 2rem 1rem;
    text-align: center;
}

.lux-activity-empty img {
    max-width: 8rem;
    opacity: 0.92;
}

.lux-activity-empty strong {
    display: block;
    margin-top: 0.65rem;
    font-size: 0.8125rem;
    color: #334155;
}

.lux-activity-empty span {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: #94a3b8;
}

@media (max-width: 1400px) {
    .lux-activity-summary__analytics--primary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-activity-summary__analytics--secondary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-activity-summary__kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1200px) {
    .lux-activity-page__workspace {
        grid-template-columns: 1fr;
    }

    .lux-activity-summary__kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-activity-item__row {
        grid-template-columns: 1fr;
    }

    .lux-activity-item__aside {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .lux-activity-item__fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .lux-activity-summary__head {
        flex-direction: column;
    }

    .lux-activity-summary__kpis {
        grid-template-columns: 1fr;
    }

    .lux-activity-register__head,
    .lux-activity-register .lux-activity-item__row {
        grid-template-columns: 1fr;
    }

    .lux-activity-register__head {
        display: none;
    }
}

.lux-activity-calendar-embed__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    margin-bottom: 0.35rem;
}

.lux-activity-calendar-embed__title {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-activity-calendar-embed__nav {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-activity-calendar-embed .table-calendar {
    margin: 0;
    width: 100%;
}

.lux-activity-register__pagination {
    margin: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
    border-radius: 0;
    background: rgba(248, 250, 252, 0.72);
}

.lux-register-list__pagination {
    margin: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
    border-radius: 0 0 16px 16px;
    background: rgba(248, 250, 252, 0.72);
}

.lux-bid-list-shell > .lux-register-list__pagination {
    border-left: 1px solid rgba(226, 232, 240, 0.95);
    border-right: 1px solid rgba(226, 232, 240, 0.95);
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    border-top: 1px solid rgba(226, 232, 240, 0.85);
}

.lux-register-list__pagination.is-standalone {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    margin-top: 0.65rem;
}

body.lux-shell-dark .lux-register-list__pagination {
    background: rgba(15, 23, 42, 0.88);
    border-color: rgba(51, 65, 85, 0.95);
}

/* Contextual completion & hours metrics */
.lux-activity-metric-chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    min-width: min(100%, 28rem);
}

.lux-activity-metric-chip {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
    padding: 0.55rem 0.62rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
}

.lux-activity-metric-chip__viz .lux-bid-summary__rate-ring {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 0.6875rem;
}

.lux-activity-metric-chip__title {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #334155;
}

.lux-activity-metric-chip__explain {
    margin: 0.18rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.35;
    color: #64748b;
}

.lux-activity-metric-chip__headline {
    margin: 0.28rem 0 0;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-activity-metric-chip__bar {
    margin-top: 0.35rem;
    min-height: 0.45rem;
}

.lux-activity-metric-chip__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    margin: 0.35rem 0 0;
    padding: 0;
    list-style: none;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
}

.lux-activity-metric-chip__legend li {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-activity-metric-chip__legend strong {
    color: #0f172a;
}

.lux-activity-metric-chip__compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem;
    margin-top: 0.35rem;
}

.lux-activity-metric-chip__compare-item {
    padding: 0.35rem 0.42rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    border: 0px solid rgba(226, 232, 240, 0.9);
}

.lux-activity-metric-chip__compare-item span {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-metric-chip__compare-item strong {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-activity-metric-chip__compare-item em {
    display: block;
    margin-top: 0.05rem;
    font-style: normal;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-metric-chip__compare-item.is-logged {
    border-color: rgba(16, 185, 129, 0.25);
    background: rgba(16, 185, 129, 0.06);
}

.lux-activity-metric-chip__variance {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.38rem;
    padding: 0.22rem 0.45rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #475569;
    background: rgba(148, 163, 184, 0.14);
}

.lux-activity-metric-chip__variance.is-over {
    color: #b45309;
    background: rgba(245, 158, 11, 0.14);
}

.lux-activity-metric-chip__variance.is-under {
    color: #0369a1;
    background: rgba(14, 165, 233, 0.12);
}

.lux-activity-metric-chip__variance.is-even {
    color: #047857;
    background: rgba(16, 185, 129, 0.12);
}

.lux-activity-metric-context {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    margin-top: 0.35rem;
    padding: 0.45rem 0.55rem 0;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-activity-metric-context strong {
    color: #0f172a;
}

.lux-activity-metric-context__emphasis {
    margin-left: auto;
    font-weight: 800;
    color: #334155;
}

.lux-activity-metric-context__emphasis.is-over {
    color: #b45309;
}

.lux-activity-metric-context__emphasis.is-under {
    color: #0369a1;
}

.lux-activity-metric-context__emphasis.is-even {
    color: #047857;
}

.lux-activity-summary .lux-po-summary__metrics-row {
    grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 991px) {
    .lux-activity-metric-chips {
        grid-template-columns: 1fr;
        min-width: 0;
    }
}

/* Sidebar panel empty states */
.lux-activity-panel-empty {
    padding: 0.85rem 0.55rem 1rem;
    text-align: center;
}

.lux-activity-panel-empty .lux-register-empty__art {
    display: flex;
    justify-content: center;
    margin-bottom: 0.55rem;
}

.lux-activity-panel-empty .lux-register-empty__art svg {
    max-width: 7.5rem;
    width: 100%;
    height: auto;
}

.lux-activity-panel-empty__eyebrow {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-panel-empty__title {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #334155;
}

.lux-activity-panel-empty__text {
    margin: 0.28rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.45;
    color: #64748b;
}

.lux-activity-panel-empty__hints {
    margin: 0.55rem 0 0;
    padding: 0;
    list-style: none;
    text-align: left;
}

.lux-activity-panel-empty__hints li {
    display: flex;
    align-items: flex-start;
    gap: 0.3rem;
    margin-top: 0.28rem;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-activity-panel-empty__hints i {
    margin-top: 0.05rem;
    color: #10b981;
    flex-shrink: 0;
}

.lux-activity-panel-empty--pending-tasks {
    background: radial-gradient(circle at 50% 0%, rgba(245, 158, 11, 0.08), transparent 55%);
}

.lux-activity-panel-empty--holidays {
    background: radial-gradient(circle at 50% 0%, rgba(16, 185, 129, 0.08), transparent 55%);
}

/* Organization holidays panel */
.lux-activity-holidays {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.lux-activity-holidays__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.72rem 0.85rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    background: rgba(248, 250, 252, 0.72);
}

.lux-activity-holidays.is-collapsed .lux-activity-holidays__head {
    border-bottom: none;
}

.lux-activity-holidays__head-main {
    min-width: 0;
    flex: 1;
}

.lux-activity-holidays__title {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #334155;
}

.lux-activity-holidays__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.35rem;
    border-radius: 9911px;
    background: rgba(16, 185, 129, 0.12);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #047857;
}

.lux-activity-holidays__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-top: 0.35rem;
}

.lux-activity-holidays__stat {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.12rem 0.42rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
}

.lux-activity-holidays__stat.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-activity-holidays__stat.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-activity-holidays__stat.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }

.lux-activity-holidays__body {
    max-height: 16rem;
    overflow: auto;
    padding: 0.55rem;
}

/* Holiday create — centered popover */
.lux-activity-holiday-popover__backdrop {
    position: fixed;
    inset: 0;
    z-index: 10060;
    border: none;
    background: rgba(15, 23, 42, 0.38);
    backdrop-filter: blur(4px);
    cursor: pointer;
}

.lux-activity-holiday-popover {
    position: fixed;
    z-index: 10061;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(92vw, 26rem);
    max-height: min(88vh, 34rem);
    display: flex;
    flex-direction: column;
    border: 0px solid rgba(16, 185, 129, 0.22);
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.1), transparent 48%),
        linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    box-shadow: 0 24px 56px rgba(15, 23, 42, 0.2);
    overflow: hidden;
}

.lux-activity-holiday-popover__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.7rem 0.8rem;
    border-bottom: 1px solid rgba(16, 185, 129, 0.14);
    background: rgba(240, 253, 244, 0.75);
    flex-shrink: 0;
}

.lux-activity-holiday-popover__head-main {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
    flex: 1;
}

.lux-activity-holiday-popover__status {
    display: inline-grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 12px;
    flex-shrink: 0;
    font-size: 0.875rem;
}

.lux-activity-holiday-popover__status.is-green {
    background: rgba(16, 185, 129, 0.14);
    color: #047857;
}

.lux-activity-holiday-popover__eyebrow {
    display: block;
    margin-bottom: 0.1rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #047857;
}

.lux-activity-holiday-popover__title-copy h2 {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-activity-holiday-popover__title-copy p {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-activity-holiday-popover__close {
    display: inline-grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border: 0px solid rgba(148, 163, 184, 0.35);
    border-radius: 10px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-activity-holiday-popover__close:hover {
    color: #0f172a;
    border-color: rgba(15, 23, 42, 0.18);
}

.lux-activity-holiday-popover__body {
    padding: 0.65rem 0.8rem 0.25rem;
    overflow: auto;
    flex: 1 1 auto;
    min-height: 0;
}

.lux-activity-holiday-popover .lux-create-footer {
    flex-shrink: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-activity-holiday-popover .custom-select__menu-portal,
.lux-activity-holiday-popover .lux-date-picker-popper {
    z-index: 10070 !important;
}

.lux-activity-holidays__list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-activity-holidays__item {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.55rem 0.62rem;
    border: 0px solid rgba(226, 232, 240, 0.9);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-activity-holidays__item:hover {
    border-color: rgba(16, 185, 129, 0.25);
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.08);
}

.lux-activity-holidays__date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 2.65rem;
    padding: 0.35rem 0.3rem;
    border-radius: 12px;
    background: rgba(241, 245, 249, 0.95);
    flex-shrink: 0;
}

.lux-activity-holidays__date.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-activity-holidays__date.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-activity-holidays__date.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-activity-holidays__date.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-activity-holidays__date.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-activity-holidays__date-day {
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1;
}

.lux-activity-holidays__date-month {
    margin-top: 0.08rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-activity-holidays__date-week {
    margin-top: 0.12rem;
    font-size: 0.6875rem;
    font-weight: 700;
    opacity: 0.85;
}

.lux-activity-holidays__copy {
    min-width: 0;
    flex: 1;
}

.lux-activity-holidays__item-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.35rem;
}

.lux-activity-holidays__name {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-activity-holidays__badge {
    flex-shrink: 0;
    padding: 0.1rem 0.38rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.lux-activity-holidays__badge.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-activity-holidays__badge.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-activity-holidays__badge.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-activity-holidays__badge.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-activity-holidays__badge.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-activity-holidays__desc {
    margin: 0.22rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.4;
}

.lux-activity-holidays__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.32rem;
}

.lux-activity-holidays__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.1rem 0.38rem;
    border-radius: 9911px;
    background: rgba(241, 245, 249, 0.95);
    font-size: 0.625rem;
    font-weight: 700;
    color: #475569;
}

.lux-activity-holidays__chip.is-muted {
    color: #64748b;
}

.lux-activity-holidays__locations {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.3rem;
}

.lux-activity-holidays__location {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-holidays__item .lux-project-row__action {
    align-self: center;
}

.lux-activity-register__empty {
    margin: 0.75rem;
}

.lux-activity-register__empty.lux-register-empty--compact .lux-register-empty__inner {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.lux-activity-item__row.is-clickable {
    cursor: pointer;
}

.lux-activity-item__row.is-clickable:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
}

.lux-activity-item__row.is-clickable:focus-visible {
    outline: 2px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    outline-offset: -2px;
}

/* Activity detail popover — single-screen dashboard */
.lux-activity-detail-popover__backdrop {
    position: fixed;
    inset: 0;
    z-index: 10050;
    border: none;
    background: rgba(15, 23, 42, 0.4);
    backdrop-filter: blur(5px);
    cursor: pointer;
}

.lux-activity-detail-popover {
    position: fixed;
    z-index: 10051;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(96vw, 76rem);
    height: min(92vh, 52rem);
    max-height: min(92vh, 52rem);
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 26px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 42%),
        radial-gradient(circle at 0% 100%, rgba(16, 185, 129, 0.06), transparent 38%),
        linear-gradient(165deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.97));
    box-shadow:
        0 40px 100px rgba(15, 23, 42, 0.24),
        0 0 0 1px rgba(255, 255, 255, 0.65) inset;
    overflow: hidden;
}

.lux-activity-detail-popover.is-editing {
    box-shadow:
        0 32px 80px rgba(15, 23, 42, 0.22),
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-activity-detail-popover__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.15rem 0.9rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.92));
    flex-shrink: 0;
}

.lux-activity-detail-popover__head-main {
    min-width: 0;
    flex: 1;
}

.lux-activity-detail-popover__eyebrow {
    display: block;
    margin-bottom: 0.12rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-detail-popover__title-row {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
}

.lux-activity-detail-popover__status {
    display: inline-grid;
    place-items: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 14px;
    flex-shrink: 0;
    font-size: 0.875rem;
}

.lux-activity-detail-popover__status.is-sky { background: rgba(14, 165, 233, 0.14); color: #0369a1; }
.lux-activity-detail-popover__status.is-indigo { background: rgba(99, 102, 241, 0.14); color: #4338ca; }
.lux-activity-detail-popover__status.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-activity-detail-popover__status.is-green { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-activity-detail-popover__status.is-rose { background: rgba(244, 63, 94, 0.14); color: #be123c; }
.lux-activity-detail-popover__status.is-slate { background: rgba(100, 116, 139, 0.14); color: #475569; }

.lux-activity-detail-popover__title-copy h2 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.lux-activity-detail-popover__title-copy p {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.45rem;
    margin: 0.15rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-detail-popover__ref {
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-activity-detail-popover__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.35rem;
}

.lux-activity-detail-popover__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.4rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
}

.lux-activity-detail-popover__badge.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-activity-detail-popover__badge.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-activity-detail-popover__badge.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-activity-detail-popover__badge.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-activity-detail-popover__badge.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-activity-detail-popover__badge.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }
.lux-activity-detail-popover__badge.is-teal { background: rgba(20, 184, 166, 0.12); color: #0f766e; }

.lux-activity-detail-popover__close {
    display: inline-grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.95);
    color: #64748b;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-activity-detail-popover__close:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-activity-detail-popover__canvas {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 0.7rem 1rem 0.8rem;
    overflow: auto;
}

.lux-activity-detail-popover__layout {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr);
    gap: 0.75rem;
    align-items: stretch;
}

.lux-activity-detail-popover__primary,
.lux-activity-detail-popover__secondary {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-activity-detail-popover__meters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}

.lux-activity-detail-popover__meters.is-ledger {
    grid-template-columns: 1fr;
}


.lux-activity-detail-popover__notes {
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    overflow: hidden;
}

.lux-activity-detail-popover__notes > header {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.55rem 0.7rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    background: rgba(248, 250, 252, 0.9);
}

.lux-activity-detail-popover__notes > header > i {
    margin-top: 0.1rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-activity-detail-popover__notes > header strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-activity-detail-popover__notes > header span {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-detail-popover__notes-list {
    display: grid;
    gap: 0.45rem;
    padding: 0.55rem 0.7rem 0.7rem;
}

.lux-activity-detail-popover__note {
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: rgba(241, 245, 249, 0.55);
    border: 1px solid rgba(226, 232, 240, 0.8);
}

.lux-activity-detail-popover__note > span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.25rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-activity-detail-popover__note > p {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.45;
    color: #1e293b;
    white-space: pre-wrap;
}

.lux-activity-detail-popover__audit-fold {
    flex-shrink: 0;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.92);
    overflow: hidden;
}

.lux-activity-detail-popover__audit-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0.75rem;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.lux-activity-detail-popover__audit-toggle:hover {
    background: rgba(255, 255, 255, 0.7);
}

.lux-activity-detail-popover__audit-toggle-main {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
}

.lux-activity-detail-popover__audit-toggle-main > i {
    margin-top: 0.12rem;
    color: #0f766e;
}

.lux-activity-detail-popover__audit-toggle-main strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-activity-detail-popover__audit-toggle-main em {
    display: block;
    font-size: 0.6875rem;
    font-style: normal;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-detail-popover__audit-toggle-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
    color: #64748b;
}

.lux-activity-detail-popover__audit-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    background: rgba(15, 118, 110, 0.1);
    color: #0f766e;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-activity-detail-popover__audit-body {
    max-height: 14rem;
    overflow: auto;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(255, 255, 255, 0.96);
}

.lux-activity-detail-popover__audit {
    margin: 0;
    padding: 0.55rem 0.75rem 0.7rem;
    border-top: none;
}

.lux-activity-detail-popover__audit .lux-audit-panel__head {
    margin-bottom: 0.35rem;
}

.lux-activity-detail-popover__audit .lux-audit-panel__title {
    font-size: 0.8125rem;
}

.lux-activity-detail-popover__audit .lux-audit-panel__subtitle {
    font-size: 0.6875rem;
}

.lux-activity-detail-popover__strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-activity-detail-popover__chip {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.38rem 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.9);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
}

.lux-activity-detail-popover__chip > i {
    display: inline-grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 8px;
    background: rgba(241, 245, 249, 0.95);
    color: #64748b;
    flex-shrink: 0;
    font-size: 0.6875rem;
}

.lux-activity-detail-popover__chip span {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-detail-popover__chip strong {
    display: block;
    margin-top: 0.04rem;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-activity-detail-popover__chip em {
    display: block;
    margin-top: 0.04rem;
    font-style: normal;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.2;
}

.lux-activity-detail-popover__chip.is-highlight {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background:
        linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), rgba(255, 255, 255, 0.96));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.lux-activity-detail-popover__chip.is-highlight > i {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-activity-detail-popover__chip.is-highlight strong {
    font-size: 0.75rem;
    color: #0f172a;
}

.lux-activity-detail-popover__chip.is-key-status.is-green strong { color: #047857; }
.lux-activity-detail-popover__chip.is-key-status.is-indigo strong { color: #4338ca; }
.lux-activity-detail-popover__chip.is-key-status.is-amber strong { color: #b45309; }
.lux-activity-detail-popover__chip.is-key-status.is-rose strong { color: #be123c; }
.lux-activity-detail-popover__chip.is-key-hours strong { color: #4338ca; }
.lux-activity-detail-popover__chip.is-key-due.is-rose strong { color: #be123c; }
.lux-activity-detail-popover__chip.is-key-due.is-amber strong { color: #b45309; }

.lux-activity-detail-popover__insights-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-activity-detail-popover__mini-chart {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    padding: 0.38rem 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.92);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.94);
    min-width: 0;
}

.lux-activity-detail-popover__mini-chart header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.25rem;
}

.lux-activity-detail-popover__mini-chart header span {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-detail-popover__mini-chart header strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-activity-detail-popover__mini-chart footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.25rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-detail-popover__mini-chart footer em {
    font-style: normal;
    font-weight: 700;
    color: #475569;
}

.lux-activity-detail-popover__gauge-track {
    height: 0.4rem;
    border-radius: 9911px;
    background: rgba(226, 232, 240, 0.85);
    overflow: hidden;
}

.lux-activity-detail-popover__gauge-track.is-thin {
    height: 0.3rem;
    margin-top: 0.12rem;
}

.lux-activity-detail-popover__gauge-track > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #6366f1, #5b5ff4);
}

.lux-activity-detail-popover__gauge-track > span.is-green { background: linear-gradient(90deg, #10b981, #059669); }
.lux-activity-detail-popover__gauge-track > span.is-amber { background: linear-gradient(90deg, #f59e0b, #d97706); }
.lux-activity-detail-popover__gauge-track > span.is-rose { background: linear-gradient(90deg, #fb7185, #e11d48); }
.lux-activity-detail-popover__gauge-track > span.is-sky { background: linear-gradient(90deg, #0ea5e9, #0284c7); }
.lux-activity-detail-popover__gauge-track > span.is-teal { background: linear-gradient(90deg, #14b8a6, #0d9488); }
.lux-activity-detail-popover__gauge-track > span.is-indigo { background: linear-gradient(90deg, #6366f1, #4338ca); }
.lux-activity-detail-popover__gauge-track > span.is-over { background: linear-gradient(90deg, #f59e0b, #f43f5e); }
.lux-activity-detail-popover__gauge-track > span.is-under { background: linear-gradient(90deg, #0ea5e9, #6366f1); }
.lux-activity-detail-popover__gauge-track > span.is-even { background: linear-gradient(90deg, #10b981, #059669); }
.lux-activity-detail-popover__gauge-track > span.is-muted { opacity: 0.35; }

.lux-activity-detail-popover__lifecycle-track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.18rem;
    height: 0.45rem;
}

.lux-activity-detail-popover__lifecycle-seg {
    display: block;
    border-radius: 9911px;
    background: rgba(226, 232, 240, 0.85);
}

.lux-activity-detail-popover__lifecycle-seg.is-complete {
    background: rgba(16, 185, 129, 0.55);
}

.lux-activity-detail-popover__lifecycle-seg.is-active {
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    box-shadow: 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.lux-activity-detail-popover__hours-split {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}

.lux-activity-detail-popover__hours-split-row {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 0.35rem;
    row-gap: 0.06rem;
    align-items: center;
}

.lux-activity-detail-popover__hours-split-row > span {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-detail-popover__hours-split-row > strong {
    justify-self: end;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-activity-detail-popover__hours-split-row .lux-activity-detail-popover__gauge-track {
    grid-column: 1 / -1;
}

.lux-activity-detail-popover__journey-body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.lux-activity-detail-popover__journey-charts {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    padding: 0.28rem 0.55rem 0.48rem;
    overflow: hidden;
}

.lux-activity-detail-popover__journey-chart-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.28rem;
    min-height: 0;
}

.lux-activity-detail-popover__journey .lux-activity-detail-popover__mini-chart {
    border: 0px solid rgba(241, 245, 249, 0.98);
    background: rgba(248, 250, 252, 0.88);
    padding: 0.32rem 0.4rem;
}

.lux-activity-detail-popover__journey .lux-activity-detail-popover__mini-chart.is-compact {
    min-height: 0;
}

.lux-activity-detail-popover__grid {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: 0.88fr 0.98fr 1.28fr;
    gap: 0.625rem;
    overflow: hidden;
}

.lux-activity-detail-popover__secondary .lux-activity-detail-popover__mosaic {
    flex: 1;
    min-height: 0;
    overflow: auto;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
}

.lux-activity-detail-popover__viz,
.lux-activity-detail-popover__journey,
.lux-activity-detail-popover__mosaic {
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.lux-activity-detail-popover__viz {
    gap: 0.4rem;
}

.lux-activity-detail-popover__hours-meter,
.lux-activity-detail-popover__checklist-meter,
.lux-activity-detail-popover__time-ledger,
.lux-activity-detail-popover__journey {
    border: 0px solid rgba(226, 232, 240, 0.92);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.94);
    overflow: hidden;
}

.lux-activity-detail-popover__hours-meter,
.lux-activity-detail-popover__checklist-meter {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.lux-activity-detail-popover__hours-meter header,
.lux-activity-detail-popover__checklist-meter header,
.lux-activity-detail-popover__journey > header {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
    padding: 0.42rem 0.55rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    background: rgba(248, 250, 252, 0.9);
}

.lux-activity-detail-popover__hours-meter header strong,
.lux-activity-detail-popover__checklist-meter header strong,
.lux-activity-detail-popover__journey > header strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-activity-detail-popover__hours-meter header span,
.lux-activity-detail-popover__checklist-meter header span,
.lux-activity-detail-popover__journey > header span {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-detail-popover__hours-compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem;
    padding: 0.45rem 0.55rem 0.35rem;
}

.lux-activity-detail-popover__hours-stat {
    padding: 0.4rem 0.45rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    border: 0px solid rgba(241, 245, 249, 0.98);
}

.lux-activity-detail-popover__hours-stat.is-plan {
    background: rgba(99, 102, 241, 0.08);
    border-color: rgba(99, 102, 241, 0.16);
}

.lux-activity-detail-popover__hours-stat.is-logged {
    background: rgba(16, 185, 129, 0.08);
    border-color: rgba(16, 185, 129, 0.16);
}

.lux-activity-detail-popover__hours-stat.is-logged.is-muted {
    background: rgba(248, 250, 252, 0.95);
    border-color: rgba(241, 245, 249, 0.98);
    opacity: 0.85;
}

.lux-activity-detail-popover__hours-stat > span {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-detail-popover__hours-stat strong {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-activity-detail-popover__hours-bar {
    height: 0.45rem;
    margin: 0 0.55rem;
    border-radius: 9911px;
    background: rgba(226, 232, 240, 0.75);
    overflow: hidden;
}

.lux-activity-detail-popover__hours-bar-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #6366f1, #5b5ff4);
    transition: width 0.2s ease;
}

.lux-activity-detail-popover__hours-bar-fill.is-over {
    background: linear-gradient(90deg, #f59e0b, #f43f5e);
}

.lux-activity-detail-popover__hours-bar-fill.is-under {
    background: linear-gradient(90deg, #0ea5e9, #6366f1);
}

.lux-activity-detail-popover__hours-bar-fill.is-even {
    background: linear-gradient(90deg, #10b981, #059669);
}

.lux-activity-detail-popover__hours-foot {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.4rem;
    margin-top: 0.35rem;
    padding: 0.35rem 0.55rem 0.45rem;
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
}

.lux-activity-detail-popover__hours-foot em {
    margin-left: auto;
    font-style: normal;
    font-weight: 800;
    color: #334155;
}

.lux-activity-detail-popover__hours-foot.is-over { color: #b45309; }
.lux-activity-detail-popover__hours-foot.is-under { color: #0369a1; }
.lux-activity-detail-popover__hours-foot.is-even { color: #047857; }

.lux-activity-detail-popover__checklist-body {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.45rem 0.55rem 0.625rem;
    flex: 1;
}

.lux-activity-detail-popover__checklist-ring {
    --lux-check-pct: 0%;
    position: relative;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 9911px;
    flex-shrink: 0;
    background:
        radial-gradient(farthest-side, #fff 68%, transparent 70%) center / 100% 100%,
        conic-gradient(#10b981 var(--lux-check-pct), rgba(226, 232, 240, 0.95) 0);
    display: grid;
    place-items: center;
}

.lux-activity-detail-popover__checklist-ring.is-indigo {
    background:
        radial-gradient(farthest-side, #fff 68%, transparent 70%) center / 100% 100%,
        conic-gradient(#6366f1 var(--lux-check-pct), rgba(226, 232, 240, 0.95) 0);
}

.lux-activity-detail-popover__checklist-ring.is-amber {
    background:
        radial-gradient(farthest-side, #fff 68%, transparent 70%) center / 100% 100%,
        conic-gradient(#f59e0b var(--lux-check-pct), rgba(226, 232, 240, 0.95) 0);
}

.lux-activity-detail-popover__checklist-ring.is-slate {
    background:
        radial-gradient(farthest-side, #fff 68%, transparent 70%) center / 100% 100%,
        conic-gradient(#94a3b8 var(--lux-check-pct), rgba(226, 232, 240, 0.95) 0);
}

.lux-activity-detail-popover__checklist-ring strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-activity-detail-popover__checklist-copy {
    min-width: 0;
    flex: 1;
}

.lux-activity-detail-popover__checklist-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-activity-detail-popover__checklist-label.is-green { color: #047857; }
.lux-activity-detail-popover__checklist-label.is-indigo { color: #4338ca; }
.lux-activity-detail-popover__checklist-label.is-amber { color: #b45309; }
.lux-activity-detail-popover__checklist-label.is-slate { color: #64748b; }

.lux-activity-detail-popover__checklist-bar {
    height: 0.35rem;
    margin-top: 0.35rem;
    border-radius: 9911px;
    background: rgba(226, 232, 240, 0.85);
    overflow: hidden;
}

.lux-activity-detail-popover__checklist-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #10b981, #059669);
}

.lux-activity-detail-popover__time-ledger {
    flex: 1;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 50%),
        rgba(255, 255, 255, 0.96);
}

.lux-activity-detail-popover__time-ledger-head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.62rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-activity-detail-popover__time-ledger-icon {
    display: inline-grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-activity-detail-popover__time-ledger-head strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-activity-detail-popover__time-ledger-head span {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-activity-detail-popover__time-ledger-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.45rem;
    padding: 0.55rem 0.62rem 0.62rem;
}

.lux-activity-detail-popover__time-field {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    margin: 0;
}

.lux-activity-detail-popover__time-field > span {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-detail-popover__time-input {
    width: 100%;
    min-height: 1.85rem;
    padding: 0.28rem 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.98);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-activity-detail-popover__time-input:focus {
    outline: none;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-activity-detail-popover__stage-flow {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.18rem;
    padding: 0.42rem 0.55rem 0.35rem;
    flex-shrink: 0;
}

.lux-activity-detail-popover__stage {
    display: inline-flex;
    align-items: center;
    padding: 0.14rem 0.38rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #64748b;
    background: rgba(226, 232, 240, 0.45);
}

.lux-activity-detail-popover__stage.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
}

.lux-activity-detail-popover__stage.is-complete {
    color: #047857;
    background: rgba(16, 185, 129, 0.14);
}

.lux-activity-detail-popover__stage-arrow {
    color: #cbd5e1;
    font-size: 0.6875rem;
}

.lux-activity-detail-popover__timeline {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.3rem;
    padding: 0 0.55rem 0.35rem;
    flex-shrink: 0;
}

.lux-activity-detail-popover__timeline-node {
    padding: 0.38rem 0.45rem;
    border: 0px solid rgba(241, 245, 249, 0.95);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.85);
}

.lux-activity-detail-popover__timeline-node.is-highlight {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    background:
        linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), rgba(255, 255, 255, 0.95));
}

.lux-activity-detail-popover__timeline-node.is-highlight.is-green {
    border-color: rgba(16, 185, 129, 0.28);
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.08), rgba(255, 255, 255, 0.96));
}

.lux-activity-detail-popover__timeline-node.is-highlight.is-rose {
    border-color: rgba(244, 63, 94, 0.28);
    background: linear-gradient(180deg, rgba(244, 63, 94, 0.08), rgba(255, 255, 255, 0.96));
}

.lux-activity-detail-popover__timeline-node.is-highlight.is-amber {
    border-color: rgba(245, 158, 11, 0.28);
    background: linear-gradient(180deg, rgba(245, 158, 11, 0.08), rgba(255, 255, 255, 0.96));
}

.lux-activity-detail-popover__timeline-node.is-empty strong {
    color: #94a3b8;
    font-weight: 600;
}

.lux-activity-detail-popover__timeline-node > span {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-detail-popover__timeline-node strong {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-activity-detail-popover__timeline-node.is-highlight strong {
    font-size: 0.75rem;
}

.lux-activity-detail-popover__timeline-node b {
    display: block;
    margin-top: 0.06rem;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #64748b;
    line-height: 1.2;
}

.lux-activity-detail-popover__timeline-node.is-highlight.is-rose b { color: #be123c; }
.lux-activity-detail-popover__timeline-node.is-highlight.is-amber b { color: #b45309; }
.lux-activity-detail-popover__timeline-node.is-highlight.is-green b { color: #047857; }

.lux-activity-detail-popover__timeline-node em {
    display: block;
    margin-top: 0.06rem;
    font-style: normal;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-detail-popover__journey > header {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-direction: row;
}

.lux-activity-detail-popover__mosaic {
    border: 0px solid rgba(226, 232, 240, 0.92);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.94);
}

.lux-activity-detail-popover__mosaic-head {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.42rem 0.55rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    background: rgba(248, 250, 252, 0.9);
    flex-shrink: 0;
}

.lux-activity-detail-popover__mosaic-head strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-activity-detail-popover__mosaic-head span {
    display: block;
    margin-top: 0.04rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-activity-detail-popover__tiles {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
    padding: 0.5rem 0.7rem 0.65rem;
    align-content: start;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.lux-activity-detail-popover__tile-group-label {
    grid-column: 1 / -1;
    padding: 0.18rem 0.08rem 0.05rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-detail-popover__tile-group-label:not(:first-child) {
    margin-top: 0.12rem;
    padding-top: 0.28rem;
    border-top: 1px dashed rgba(226, 232, 240, 0.95);
}

.lux-activity-detail-popover__tile {
    display: flex;
    align-items: flex-start;
    gap: 0.3rem;
    padding: 0.35rem 0.38rem;
    border: 0px solid rgba(241, 245, 249, 0.98);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.88));
}

.lux-activity-detail-popover__tile-icon {
    display: inline-grid;
    place-items: center;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 7px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
    font-size: 0.6875rem;
}

.lux-activity-detail-popover__tile-copy {
    min-width: 0;
}

.lux-activity-detail-popover__tile-copy > span {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-activity-detail-popover__tile-copy strong {
    display: block;
    margin-top: 0.06rem;
    font-size: 0.625rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
    word-break: break-word;
}

.lux-activity-detail-popover__tile.is-key-date {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), rgba(255, 255, 255, 0.98));
}

.lux-activity-detail-popover__tile.is-key-date strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #1e1b4b;
}

.lux-activity-detail-popover__tile.is-key-person strong {
    font-weight: 800;
    color: #334155;
}

.lux-activity-detail-popover__tile-copy em {
    display: block;
    margin-top: 0.05rem;
    font-style: normal;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-activity-detail-popover__tile-input {
    width: 100%;
    margin-top: 0.06rem;
    min-height: 1.35rem;
    padding: 0.12rem 0.32rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
    border-radius: 7px;
    font-size: 0.625rem;
    font-weight: 700;
}

.lux-activity-detail-popover__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    padding: 0.55rem 0.9rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(248, 250, 252, 0.96);
    flex-shrink: 0;
}

.lux-activity-detail-popover__foot-left,
.lux-activity-detail-popover__foot-right {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.lux-activity-detail-popover__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    min-height: 1.85rem;
    padding: 0 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.95);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    cursor: pointer;
}

.lux-activity-detail-popover__btn.is-ghost {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-activity-detail-popover__btn.is-primary {
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 6px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.lux-activity-detail-popover__btn.is-checklist.is-open {
    border-color: rgba(245, 158, 11, 0.35);
    background: rgba(245, 158, 11, 0.1);
    color: #b45309;
}

.lux-activity-detail-popover__btn.is-checklist.is-progress {
    border-color: rgba(99, 102, 241, 0.35);
    background: rgba(99, 102, 241, 0.1);
    color: #4338ca;
}

.lux-activity-detail-popover__btn.is-checklist.is-done {
    border-color: rgba(16, 185, 129, 0.35);
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
}

@media (max-width: 900px) {
    .lux-activity-detail-popover {
        width: min(96vw, 52rem);
        height: min(92vh, 46rem);
        max-height: min(92vh, 46rem);
    }

    .lux-activity-detail-popover__strip,
    .lux-activity-detail-popover__insights-row,
    .lux-activity-detail-popover__grid,
    .lux-activity-detail-popover__layout,
    .lux-activity-detail-popover__meters {
        grid-template-columns: 1fr;
    }

    .lux-activity-detail-popover__tiles {
        grid-template-columns: 1fr;
    }

    .lux-activity-detail-popover__canvas {
        overflow: auto;
    }
}

/* ========== luxury-search.css ========== */

/* ========== Global Search — luxury full-width workspace page ========== */

.lux-search-page {
    --lux-search-radius: 22px;
    --lux-search-radius-sm: 14px;
    width: 100%;
    max-width: none;
    padding: 0 16px 28px;
    box-sizing: border-box;
}

/* —— Hero —— */
.lux-search-hero {
    position: relative;
    margin: 8px 0 16px;
    padding: 24px 28px;
    border-radius: var(--lux-search-radius);
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.07);
    overflow: hidden;
}

.lux-search-hero--compact {
    padding: 20px 24px;
}

.lux-search-hero__glow {
    position: absolute;
    top: -45%;
    right: -5%;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18), transparent 70%);
    pointer-events: none;
}

.lux-search-hero__glow--left {
    top: auto;
    right: auto;
    bottom: -55%;
    left: -6%;
    width: 280px;
    height: 280px;
    background: radial-gradient(circle, rgba(20, 184, 166, 0.12), transparent 70%);
}

.lux-search-hero__inner {
    position: relative;
    z-index: 1;
}

.lux-search-hero__inner--split {
    display: grid;
    grid-template-columns: minmax(220px, 340px) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: center;
}

.lux-search-hero__copy {
    min-width: 0;
}

.lux-search-hero__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.4rem;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-search-hero__kicker i {
    color: var(--lux-primary, #5b5ff4);
}

.lux-search-hero__title {
    margin: 0 0 0.3rem;
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.15;
    color: #0f172a;
}

.lux-search-hero__subtitle {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: #64748b;
}

/* —— Search bar —— */
.lux-search-bar {
    display: flex;
    align-items: stretch;
    gap: 0.625rem;
    padding: 0.4rem;
    border-radius: 9911px;
    background: #fff;
    border: 0px solid rgba(148, 163, 184, 0.35);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.8) inset,
        0 12px 32px rgba(15, 23, 42, 0.08);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
}

.lux-search-bar:focus-within {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow:
        0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12),
        0 12px 32px rgba(15, 23, 42, 0.08);
}

.lux-search-bar__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    flex-shrink: 0;
    color: #94a3b8;
    font-size: 1.125rem;
}

.lux-search-bar__input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 1rem;
    font-weight: 500;
    color: #0f172a;
    padding: 0.65rem 0;
    outline: none;
}

.lux-search-bar__input::placeholder {
    color: #94a3b8;
    font-weight: 400;
}

.lux-search-bar__clear {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: auto 0;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s ease, color 0.15s ease;
}

.lux-search-bar__clear:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.lux-search-bar__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-width: 108px;
    padding: 0 1.25rem;
    border: none;
    border-radius: 9911px;
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.32);
    cursor: pointer;
    flex-shrink: 0;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-search-bar__submit:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.38);
}

.lux-search-bar__submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-search-bar__submit.is-loading {
    pointer-events: none;
}

/* —— Layout: sidebar + results panel —— */
.lux-search-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    min-height: calc(100vh - 220px);
}

.lux-search-sidebar {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: 72px;
}

.lux-search-sidebar__card {
    padding: 1rem;
    border-radius: var(--lux-search-radius-sm);
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.lux-search-sidebar__title {
    margin: 0 0 0.75rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #64748b;
}

/* —— Filters —— */
.lux-search-filters--stack {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.lux-search-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.875rem;
    border-radius: 12px;
    border: 0px solid #e2e8f0;
    background: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.lux-search-filter--stack {
    width: 100%;
    justify-content: space-between;
    text-align: left;
}

.lux-search-filter__leading {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.lux-search-filter__leading i {
    font-size: 0.9375rem;
    opacity: 0.85;
}

.lux-search-filter:hover:not(:disabled) {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
    color: var(--lux-primary, #5b5ff4);
}

.lux-search-filter:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lux-search-filter.is-active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-search-filter__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.35rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    background: rgba(15, 23, 42, 0.08);
}

.lux-search-filter.is-active .lux-search-filter__count {
    background: rgba(255, 255, 255, 0.22);
}

/* —— Sidebar insights —— */
.lux-search-insights {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.lux-search-insights li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.625rem 0.75rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 0px solid #e2e8f0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-search-insights strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-search-sidebar-tips {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lux-search-sidebar-tips li {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.lux-search-sidebar-tips i {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-size: 0.875rem;
}

.lux-search-sidebar-tips strong {
    display: block;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 0.1rem;
}

.lux-search-sidebar-tips span {
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.4;
}

/* —— Results panel —— */
.lux-search-panel {
    border-radius: var(--lux-search-radius);
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    min-height: 480px;
    display: flex;
    flex-direction: column;
}

.lux-search-panel__header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1.125rem 1.25rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: linear-gradient(
        135deg,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04) 0%,
        rgba(20, 184, 166, 0.03) 100%
    );
}

.lux-search-panel__kicker {
    margin: 0 0 0.2rem;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-search-panel__title {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    color: #334155;
    line-height: 1.35;
}

.lux-search-panel__title strong {
    color: #0f172a;
    font-weight: 800;
}

.lux-search-panel__badge {
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 0.4rem 0.75rem;
    border-radius: 9911px;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    white-space: nowrap;
}

.lux-search-panel__body {
    flex: 1;
    padding: 1rem 1.25rem 1.25rem;
    display: flex;
    flex-direction: column;
}

/* —— Results list —— */
.lux-search-results {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex: 1;
}

.lux-search-result {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    gap: 0.875rem;
    align-items: start;
    padding: 1.125rem 1.25rem;
    border-radius: var(--lux-search-radius-sm);
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-search-result:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.lux-search-result__rank-col {
    padding-top: 0.15rem;
}

.lux-search-result__rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.35rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 800;
    color: #64748b;
    background: #f1f5f9;
    border: 0px solid #e2e8f0;
}

.lux-search-result__rank.is-top {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.lux-search-result__icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.125rem;
}

.lux-search-result__icon--project {
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-search-result__icon--task {
    color: #0d9488;
    background: rgba(20, 184, 166, 0.12);
}

.lux-search-result__body {
    min-width: 0;
}

.lux-search-result__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.35rem;
}

.lux-search-result__type {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.2rem 0.625rem;
    border-radius: 9911px;
}

.lux-search-result__type--project {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-search-result__type--task {
    color: #0f766e;
    background: rgba(20, 184, 166, 0.12);
}

.lux-search-result__path {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.lux-search-result__relevance-label {
    margin-left: auto;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    padding: 0.15rem 0.45rem;
    border-radius: 9911px;
    background: #f8fafc;
    border: 0px solid #e2e8f0;
}

.lux-search-result__title {
    display: block;
    margin: 0 0 0.35rem;
    font-size: 1.0625rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.35;
    color: #0f172a;
    text-decoration: none;
    transition: color 0.15s ease;
}

.lux-search-result__title:hover {
    color: var(--lux-primary, #5b5ff4);
    text-decoration: none;
}

.lux-search-result__title del {
    color: #94a3b8;
}

.lux-search-result__summary {
    margin: 0 0 0.65rem;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: #64748b;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lux-search-result__summary mark,
.lux-search-result__title mark {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    color: var(--lux-primary-dark, #3730a3);
    padding: 0 0.15rem;
    border-radius: 3px;
}

.lux-search-result__badge {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.2rem 0.45rem;
    border-radius: 9911px;
    color: #b91c1c;
    background: #fee2e2;
}

.lux-search-result__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.lux-search-result__reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-search-result__reason {
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.2rem 0.625rem;
    border-radius: 9911px;
    color: #475569;
    background: #f1f5f9;
    border: 0px solid #e2e8f0;
}

.lux-search-result__meter {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    min-width: 120px;
}

.lux-search-result__meter-track {
    flex: 1;
    height: 6px;
    border-radius: 9911px;
    background: #e2e8f0;
    overflow: hidden;
    min-width: 72px;
}

.lux-search-result__meter-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    transition: width 0.35s ease;
}

.lux-search-result__meter-value {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #64748b;
    white-space: nowrap;
}

.lux-search-result__open {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-top: 0.15rem;
    border-radius: 12px;
    color: #64748b;
    background: #f8fafc;
    border: 0px solid #e2e8f0;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.lux-search-result__open:hover {
    color: #fff;
    background: var(--lux-primary, #5b5ff4);
    border-color: transparent;
    transform: translateY(-1px);
    text-decoration: none;
}

/* —— Pagination —— */
.lux-search-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.875rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
}

.lux-search-pagination__summary {
    font-size: 0.8125rem;
    color: #64748b;
}

.lux-search-pagination__summary strong {
    color: #0f172a;
    font-weight: 800;
}

.lux-search-pagination__controls {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.lux-search-pagination__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    color: #475569;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.lux-search-pagination__btn:hover:not(:disabled) {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-search-pagination__btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.lux-search-pagination__pages {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-search-pagination__page {
    min-width: 36px;
    height: 36px;
    padding: 0 0.625rem;
    border: 0px solid transparent;
    border-radius: 12px;
    background: transparent;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.lux-search-pagination__page:hover {
    background: #f1f5f9;
    color: #0f172a;
}

.lux-search-pagination__page.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-search-pagination__ellipsis {
    padding: 0 0.25rem;
    color: #94a3b8;
    font-size: 0.875rem;
    user-select: none;
}

.lux-search-pagination__size {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-search-pagination__size select {
    height: 36px;
    padding: 0 0.65rem;
    border-radius: 12px;
    border: 0px solid #e2e8f0;
    background: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    cursor: pointer;
}

/* —— Landing / empty —— */
.lux-search-landing {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 1.5rem;
    border-radius: var(--lux-search-radius-sm);
    border: 0px dashed rgba(148, 163, 184, 0.4);
    background: rgba(248, 250, 252, 0.6);
    text-align: center;
    min-height: 320px;
}

.lux-search-landing__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 0.875rem;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-search-landing__title {
    margin: 0 0 0.35rem;
    font-size: 1.0625rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-search-landing__text {
    margin: 0;
    font-size: 0.875rem;
    color: #64748b;
    line-height: 1.5;
    max-width: 32rem;
}

.lux-search-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 1.5rem;
    text-align: center;
    min-height: 320px;
}

.lux-search-empty__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 1rem;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    color: #94a3b8;
    background: #f1f5f9;
}

.lux-search-empty__title {
    margin: 0 0 0.35rem;
    font-size: 1.125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-search-empty__text {
    margin: 0;
    font-size: 0.875rem;
    color: #64748b;
    line-height: 1.5;
    max-width: 28rem;
}

/* —— Skeleton —— */
.lux-search-skeleton {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lux-search-skeleton__row {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 0.875rem;
    padding: 1.125rem 1.25rem;
    border-radius: var(--lux-search-radius-sm);
    border: 0px solid #e2e8f0;
    background: #fff;
}

.lux-search-skeleton__icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
}

.lux-search-skeleton__lines {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

@media (max-width: 1100px) {
    .lux-search-hero__inner--split {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .lux-search-layout {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .lux-search-sidebar {
        position: static;
    }

    .lux-search-filters--stack {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .lux-search-filter--stack {
        width: auto;
        flex: 1;
        min-width: 140px;
    }
}

@media (max-width: 767px) {
    .lux-search-page {
        padding: 0 12px 20px;
    }

    .lux-search-hero,
    .lux-search-hero--compact {
        padding: 16px;
        border-radius: 16px;
    }

    .lux-search-bar {
        flex-wrap: wrap;
        border-radius: 16px;
        padding: 0.625rem;
    }

    .lux-search-bar__input {
        width: 100%;
        padding-left: 0.25rem;
    }

    .lux-search-bar__submit {
        width: 100%;
        min-height: 44px;
        border-radius: 12px;
    }

    .lux-search-result {
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-rows: auto auto;
    }

    .lux-search-result__rank-col {
        grid-column: 1;
        grid-row: 1;
    }

    .lux-search-result__icon {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }

    .lux-search-result__body {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .lux-search-result__open {
        display: none;
    }

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

    .lux-search-pagination__controls {
        justify-content: center;
    }

    .lux-search-pagination__size {
        justify-content: center;
    }
}

body.lux-shell-dark .lux-search-hero,
body.lux-shell-dark .lux-search-panel,
body.lux-shell-dark .lux-search-sidebar__card,
body.lux-shell-dark .lux-search-result {
    background: rgba(30, 41, 59, 0.92);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-search-hero__title,
body.lux-shell-dark .lux-search-panel__title strong,
body.lux-shell-dark .lux-search-result__title,
body.lux-shell-dark .lux-search-empty__title,
body.lux-shell-dark .lux-search-landing__title {
    color: #f8fafc;
}

body.lux-shell-dark .lux-search-bar {
    background: rgba(15, 23, 42, 0.6);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-search-bar__input {
    color: #f8fafc;
}

body.lux-shell-dark .lux-search-filter {
    background: rgba(30, 41, 59, 0.88);
    border-color: rgba(51, 65, 85, 0.9);
    color: #cbd5e1;
}

body.lux-shell-dark .lux-search-landing {
    background: rgba(15, 23, 42, 0.5);
    border-color: rgba(51, 65, 85, 0.7);
}

body.lux-shell-dark .lux-search-insights li,
body.lux-shell-dark .lux-search-result__reason,
body.lux-shell-dark .lux-search-result__rank {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-search-insights strong {
    color: #f8fafc;
}

body.lux-shell-dark .lux-search-pagination__btn,
body.lux-shell-dark .lux-search-pagination__size select {
    background: rgba(30, 41, 59, 0.88);
    border-color: rgba(51, 65, 85, 0.9);
    color: #cbd5e1;
}

/* ========== luxury-appconfig.css ========== */

/* ========== Application Config — luxury admin layout ========== */

.lux-appconfig {
    --lux-ac-radius: 12px;
    --lux-ac-radius-sm: 12px;
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 64px);
    min-height: 0;
}

/* —— Hero —— */
.lux-appconfig-hero {
    position: relative;
    z-index: 20;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0 0 4px;
    border-radius: var(--lux-ac-radius);
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
    overflow: visible;
    flex-shrink: 0;
}

.lux-appconfig-hero__glow {
    position: absolute;
    top: -55%;
    right: -4%;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14), transparent 70%);
    pointer-events: none;
}

.lux-appconfig-hero__top {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    gap: 0.45rem;
    padding: 8px 10px;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
}

.lux-appconfig-hero__brand {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-width: min(100%, 320px);
    flex: 1 1 280px;
}

.lux-appconfig-hero__icon {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-appconfig-hero__intro {
    min-width: 0;
}

.lux-appconfig-hero__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin: 0 0 0.2rem;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-appconfig-hero__kicker i {
    color: var(--lux-primary, #5b5ff4);
}

.lux-appconfig-hero__title {
    margin: 0 0 0.2rem;
    font-size: clamp(1rem, 1.6vw, 1.25rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
    line-height: 1.15;
}

.lux-appconfig-hero__subtitle {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
    max-width: 34rem;
}

.lux-appconfig-hero__guide-links {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-top: 0.65rem;
}

.lux-appconfig-hero__guide-link {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(15, 118, 110, 0.28);
    background: linear-gradient(180deg, rgba(45, 212, 191, 0.18), rgba(45, 212, 191, 0.08));
    color: #0f766e;
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
}

.lux-appconfig-hero__guide-link--compact {
    gap: 0.22rem;
    padding: 0.14rem 0.35rem 0.14rem 0.14rem;
    font-size: 0.6rem;
    letter-spacing: 0.01em;
}

.lux-appconfig-hero__guide-link--compact > i:first-child {
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.58rem;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.lux-appconfig-hero__guide-link-ext {
    margin-left: 0.02rem;
    font-size: 0.55rem;
    opacity: 0.75;
}

.lux-appconfig-hero__guide-link--ghost {
    border-color: rgba(100, 116, 139, 0.28);
    background: rgba(255, 255, 255, 0.7);
    color: #475569;
}

.lux-appconfig-hero__tip-link {
    appearance: none;
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    color: #0f766e;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}

.lux-appconfig-hero__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(72px, 1fr));
    gap: 0.35rem;
    flex: 1 1 320px;
    max-width: 420px;
}

.lux-appconfig-hero__stat {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    padding: 0.4rem 0.45rem;
    border-radius: 11px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.82);
}

.lux-appconfig-hero__stat-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-appconfig-hero__stat-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.15;
}

.lux-appconfig-hero__stat-body strong {
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-appconfig-hero__stat-body span {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-appconfig-hero__context,
.lux-appconfig-hero__guide {
    position: relative;
    z-index: 1;
    padding: 8px 12px 12px;
}

.lux-appconfig-hero__context {
    display: block;
    background: linear-gradient(
        90deg,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05) 0%,
        rgba(20, 184, 166, 0.04) 100%
    );
}

.lux-appconfig-hero__context-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    width: 100%;
}

.lux-appconfig-hero__context-left {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    flex: 1 1 280px;
    min-width: 0;
}

.lux-appconfig-hero__context-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-end;
    gap: 0.35rem;
    flex: 0 0 auto;
    margin-left: auto;
}

.lux-appconfig-hero__context-actions .lux-appconfig-hero__meta-item {
    flex: 0 0 auto;
}

.lux-appconfig-hero__meta-static--compact {
    min-height: 40px;
    padding: 0.3rem 0.55rem;
    border-color: rgba(226, 232, 240, 0.95);
    background: #fff;
}

.lux-appconfig-hero__meta-item--compact {
    min-width: 72px;
}

/* —— Hero identity strip (Name / Parent / Type) —— */
.lux-hero-identity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.65rem;
    margin-top: 0.35rem;
    width: 100%;
}

.lux-hero-identity__divider {
    flex-shrink: 0;
    width: 1px;
    height: 1.1rem;
    background: rgba(148, 163, 184, 0.45);
}

.lux-hero-identity__item {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.45rem;
    min-width: 0;
    max-width: 100%;
}

.lux-hero-identity__item.is-editing {
    flex: 1 1 220px;
    align-items: flex-start;
}

.lux-hero-identity__label {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #94a3b8;
    line-height: 1.3;
}

.lux-hero-identity__value-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    min-height: 28px;
    padding: 0.2rem 0.45rem;
    border: 1px dashed rgba(148, 163, 184, 0.45);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    text-align: left;
    transition:
        border-color 0.12s ease,
        background 0.12s ease,
        box-shadow 0.12s ease;
}

.lux-hero-identity__value-btn:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05);
}

.lux-hero-identity__value {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
    word-break: break-word;
    white-space: normal;
}

.lux-hero-identity__edit-hint {
    flex-shrink: 0;
    font-size: 0.6875rem;
    color: var(--lux-primary, #5b5ff4);
    opacity: 0.75;
}

.lux-hero-identity__value-btn:hover .lux-hero-identity__edit-hint {
    opacity: 1;
}

.lux-hero-identity__editor {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    flex: 1;
    min-width: min(100%, 200px);
    padding: 0.25rem 0.35rem;
    border-radius: 8px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.lux-hero-identity__input,
.lux-hero-identity__select {
    flex: 1 1 140px;
    min-width: 0;
    height: 30px;
    padding: 0 0.625rem;
    border-radius: 7px;
    border: 1px solid #e2e8f0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #0f172a;
    background: #fff;
}

.lux-hero-identity__input:focus,
.lux-hero-identity__select:focus {
    outline: none;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-hero-identity__editor-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
}

.lux-hero-identity__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0px solid #e2e8f0;
    border-radius: 7px;
    background: #f8fafc;
    color: #64748b;
    cursor: pointer;
}

.lux-hero-identity__action--save:not(:disabled) {
    color: #fff;
    background: var(--lux-primary, #5b5ff4);
    border-color: transparent;
}

.lux-hero-identity__action:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lux-appconfig-hero__context-main {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: min(100%, 280px);
    flex: 1 1 240px;
}

.lux-appconfig-hero__context-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    color: #0d9488;
    background: rgba(20, 184, 166, 0.12);
    border: 0px solid rgba(20, 184, 166, 0.18);
}

.lux-appconfig-hero__context-copy {
    min-width: 0;
}

.lux-appconfig-hero__pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    margin-bottom: 0.25rem;
}

.lux-appconfig-hero__pill {
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.4rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1.35;
}

.lux-appconfig-hero__pill--org {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.lux-appconfig-hero__pill--role {
    color: #0f766e;
    background: rgba(20, 184, 166, 0.12);
    border: 0px solid rgba(20, 184, 166, 0.18);
}

.lux-appconfig-hero__pill--muted {
    color: #64748b;
    background: #f1f5f9;
    border: 0px solid #e2e8f0;
}

.lux-appconfig-hero__pill--current {
    color: #047857;
    background: #d1fae5;
    border: 0px solid #a7f3d0;
}

.lux-appconfig-hero__context-title {
    margin: 0 0 0.15rem;
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.2;
}

.lux-appconfig-hero__context-desc {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: #64748b;
    max-width: 36rem;
}

.lux-appconfig-hero__meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(88px, 1fr));
    gap: 0.35rem;
    margin: 0;
    flex: 0 1 auto;
    align-items: stretch;
}

.lux-appconfig-hero__meta--with-identity {
    flex: 1 1 360px;
    width: 100%;
    max-width: 100%;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
}

.lux-appconfig-hero__meta--with-identity.lux-appconfig-hero__meta--org {
    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
}

.lux-appconfig-hero__meta--with-identity.lux-appconfig-hero__meta--editing {
    grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
}

.lux-appconfig-hero__meta-item--editable.is-editing {
    grid-column: span 2;
}

.lux-appconfig-hero__meta-item {
    min-width: 0;
    display: flex;
}

.lux-appconfig-hero__meta--org {
    grid-template-columns: repeat(5, minmax(80px, 1fr));
}

.lux-appconfig-hero__meta-item--type,
.lux-appconfig-hero__meta-item--popover {
    height: 100%;
}

.lux-appconfig-hero__meta-trigger--type {
    border-color: rgba(100, 116, 139, 0.35);
    background: rgba(248, 250, 252, 0.9);
}

.lux-appconfig-hero__meta-trigger--type:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
}

.lux-appconfig-hero__meta-trigger--type .lux-appconfig-hero__meta-trigger-icon {
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-appconfig-hero__type-editor {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.2rem;
    width: 100%;
    min-height: 44px;
    padding: 0.3rem 0.45rem;
    border-radius: 8px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.lux-appconfig-hero__type-controls {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
}

.lux-appconfig-hero__type-select {
    flex: 1;
    min-width: 0;
    height: 26px;
    padding: 0 0.4rem;
    border-radius: 6px;
    border: 0px solid #e2e8f0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #0f172a;
    background: #fff;
}

.lux-appconfig-hero__type-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
}

.lux-appconfig-hero__type-action--save:not(:disabled) {
    color: #fff;
    background: #0e7490;
}

.lux-appconfig-hero__type-action:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lux-appconfig-hero__meta-static {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.12rem;
    width: 100%;
    min-height: 44px;
    padding: 0.35rem 0.625rem;
    border-radius: 8px;
    border: 0px solid transparent;
    background: rgba(248, 250, 252, 0.65);
}

.lux-appconfig-hero__meta-static--editable {
    border-color: rgba(226, 232, 240, 0.95);
    background: #fff;
}

.lux-appconfig-hero__meta-value-row {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
}

.lux-appconfig-hero__meta-value-row .lux-appconfig-hero__meta-value {
    flex: 1;
    min-width: 0;
}

.lux-appconfig-hero__meta-edit {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    border-radius: 6px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.75rem;
    cursor: pointer;
}

.lux-appconfig-hero__meta-edit:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-appconfig-hero__meta-editor {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.2rem;
    width: 100%;
    min-height: 44px;
    padding: 0.3rem 0.45rem;
    border-radius: 8px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.lux-appconfig-hero__meta-editor-row {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
}

.lux-appconfig-hero__meta-input,
.lux-appconfig-hero__meta-select {
    flex: 1;
    min-width: 0;
    height: 26px;
    padding: 0 0.4rem;
    border-radius: 6px;
    border: 0px solid #e2e8f0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #0f172a;
    background: #fff;
}

.lux-appconfig-hero__meta-input:focus,
.lux-appconfig-hero__meta-select:focus {
    outline: none;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-appconfig-hero__meta-editor-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    flex-shrink: 0;
}

.lux-appconfig-hero__meta-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
}

.lux-appconfig-hero__meta-action--save:not(:disabled) {
    color: #fff;
    background: var(--lux-primary, #5b5ff4);
}

.lux-appconfig-hero__meta-action:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lux-appconfig-hero__meta-item dt,
.lux-appconfig-hero__meta-label {
    display: block;
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
    line-height: 1.2;
}

.lux-appconfig-hero__meta-item dd,
.lux-appconfig-hero__meta-value {
    display: block;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.25;
}

.lux-appconfig-hero__meta-item--popover {
    position: relative;
}

.lux-appconfig-hero__meta-trigger {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    min-height: 44px;
    padding: 0.35rem 0.45rem;
    border: 0px dashed rgba(148, 163, 184, 0.55);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    text-align: left;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition:
        background 0.12s ease,
        border-color 0.12s ease,
        border-style 0.12s ease,
        box-shadow 0.12s ease,
        transform 0.12s ease;
}

.lux-appconfig-hero__meta-trigger:hover {
    border-style: solid;
    border-color: rgba(100, 116, 139, 0.45);
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.lux-appconfig-hero__meta-trigger.is-open {
    border-style: solid;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

.lux-appconfig-hero__meta-trigger--overridden {
    border-color: rgba(14, 116, 144, 0.35);
    background: rgba(14, 116, 144, 0.04);
}

.lux-appconfig-hero__meta-trigger--overridden:hover,
.lux-appconfig-hero__meta-trigger--overridden.is-open {
    border-color: rgba(14, 116, 144, 0.55);
    background: rgba(14, 116, 144, 0.08);
}

.lux-appconfig-hero__meta-trigger--parent-overridden {
    border-color: rgba(4, 120, 87, 0.35);
    background: rgba(4, 120, 87, 0.04);
}

.lux-appconfig-hero__meta-trigger--parent-overridden:hover,
.lux-appconfig-hero__meta-trigger--parent-overridden.is-open {
    border-color: rgba(4, 120, 87, 0.55);
    background: rgba(4, 120, 87, 0.08);
}

.lux-appconfig-hero__meta-trigger--locked {
    border-color: rgba(245, 158, 11, 0.35);
    background: rgba(245, 158, 11, 0.05);
}

.lux-appconfig-hero__meta-trigger--locked:hover,
.lux-appconfig-hero__meta-trigger--locked.is-open {
    border-color: rgba(245, 158, 11, 0.55);
    background: rgba(245, 158, 11, 0.1);
}

.lux-appconfig-hero__meta-trigger-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
}

.lux-appconfig-hero__meta-trigger--overridden .lux-appconfig-hero__meta-trigger-icon {
    color: #0e7490;
    background: rgba(14, 116, 144, 0.12);
}

.lux-appconfig-hero__meta-trigger--parent-overridden .lux-appconfig-hero__meta-trigger-icon {
    color: #047857;
    background: rgba(4, 120, 87, 0.12);
}

.lux-appconfig-hero__meta-trigger--locked .lux-appconfig-hero__meta-trigger-icon {
    color: #b45309;
    background: rgba(245, 158, 11, 0.14);
}

.lux-appconfig-hero__meta-trigger-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.1rem;
}

.lux-appconfig-hero__meta-trigger-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
    line-height: 1.2;
}

.lux-appconfig-hero__meta-trigger-value {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
}

.lux-appconfig-hero__meta-trigger--overridden.has-items .lux-appconfig-hero__meta-trigger-value {
    color: #0e7490;
}

.lux-appconfig-hero__meta-trigger--parent-overridden.has-items .lux-appconfig-hero__meta-trigger-value {
    color: #047857;
}

.lux-appconfig-hero__meta-trigger--locked.has-items .lux-appconfig-hero__meta-trigger-value {
    color: #b45309;
}

.lux-appconfig-hero__meta-trigger-chevron {
    flex-shrink: 0;
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-appconfig-hero__meta-trigger:hover .lux-appconfig-hero__meta-trigger-chevron,
.lux-appconfig-hero__meta-trigger.is-open .lux-appconfig-hero__meta-trigger-chevron {
    color: #64748b;
}

.lux-appconfig-hero__popover {
    max-height: 260px;
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
    overflow: hidden;
}

.lux-appconfig-hero__popover-head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.lux-appconfig-hero__popover-head .fe {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
}

.lux-appconfig-hero__popover--overridden .lux-appconfig-hero__popover-head .fe {
    color: #0e7490;
    background: rgba(14, 116, 144, 0.1);
}

.lux-appconfig-hero__popover--parent-overridden .lux-appconfig-hero__popover-head .fe {
    color: #047857;
    background: rgba(4, 120, 87, 0.1);
}

.lux-appconfig-hero__popover--locked .lux-appconfig-hero__popover-head .fe {
    color: #b45309;
    background: rgba(245, 158, 11, 0.12);
}

.lux-appconfig-hero__popover-head strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-appconfig-hero__popover-head span {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-appconfig-hero__popover-empty {
    margin: 0;
    padding: 0.65rem;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-appconfig-hero__popover-list {
    margin: 0;
    padding: 0.35rem;
    list-style: none;
    overflow-y: auto;
}

.lux-appconfig-hero__popover-list-item {
    padding: 0.4rem 0.45rem;
    border-radius: 7px;
}

.lux-appconfig-hero__popover-list-item:hover {
    background: #f8fafc;
}

.lux-appconfig-hero__popover-module {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    line-height: 1.3;
}

.lux-appconfig-hero__popover-setting {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.35;
}

.lux-appconfig-hero__guide-lead {
    margin: 0 0 0.45rem;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #475569;
    font-weight: 600;
}

.lux-appconfig-hero__tips {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.25rem 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-appconfig-hero__tips li {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: #64748b;
}

.lux-appconfig-hero__tips i {
    flex-shrink: 0;
    width: 18px;
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
}

/* —— Layout —— */
.lux-appconfig__layout {
    display: grid;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    gap: 6px;
    align-items: stretch;
    flex: 1;
    min-height: 0;
}

.lux-appconfig__sidebar {
    display: flex;
    flex-direction: column;
    position: relative;
    top: auto;
    min-height: 0;
    max-height: none;
    height: 100%;
}

.lux-appconfig__main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.lux-appconfig-panel {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* —— Configuration navigator (unified tree sidebar) —— */
.lux-ac-nav {
    --ac-tree-select-accent: #0e7490;
    --ac-tree-select-accent-bright: #06b6d4;
    --ac-tree-select-bg: rgba(14, 116, 144, 0.1);
    --ac-tree-select-text: #0c4a6e;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    border-radius: var(--lux-ac-radius);
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.lux-ac-nav__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    padding: 0.45rem 0.65rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: #fafbfc;
}

.lux-ac-nav__title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #0f172a;
    min-width: 0;
}

.lux-ac-nav__howto {
    flex-shrink: 0;
}

.lux-ac-nav__tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.25rem;
    padding: 0.45rem 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: #f8fafc;
}

.lux-ac-nav__tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    min-height: 32px;
    padding: 0.3rem 0.45rem;
    border: 1px solid transparent;
    border-radius: 11px;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-ac-nav__tab:hover {
    color: #334155;
    background: #fff;
    border-color: #e2e8f0;
}

.lux-ac-nav__tab.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    border-color: transparent;
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-ac-nav__tab-count {
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.3rem;
    border-radius: 9911px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 800;
    background: rgba(15, 23, 42, 0.08);
}

.lux-ac-nav__tab.is-active .lux-ac-nav__tab-count {
    background: rgba(255, 255, 255, 0.22);
}

.lux-ac-nav__toolbar {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-ac-nav__search {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    padding: 0 0.625rem;
    height: 32px;
    border-radius: 8px;
    border: 0px solid #e2e8f0;
    background: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-ac-nav__search:focus-within {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-ac-nav__search i {
    color: #94a3b8;
    font-size: 0.875rem;
    flex-shrink: 0;
}

.lux-ac-nav__search input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 0.8125rem;
    color: #0f172a;
    outline: none;
}

.lux-ac-nav__search input::placeholder {
    color: #94a3b8;
}

.lux-ac-nav__search-clear {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
}

.lux-ac-nav__add,
.lux-ac-nav__icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    border-radius: 8px;
    font-size: 0.8125rem;
    color: #64748b;
    background: #f1f5f9;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s ease, color 0.15s ease;
}

.lux-ac-nav__add {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-ac-nav__add:hover,
.lux-ac-nav__icon-btn:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    color: var(--lux-primary, #5b5ff4);
}

.lux-ac-nav__selection {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.55rem;
    margin: 0.35rem 0.55rem 0;
    border-radius: 8px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.6875rem;
    color: #64748b;
    min-width: 0;
}

.lux-ac-nav__selection strong {
    color: #0f172a;
    font-weight: 700;
    font-size: 0.75rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.lux-ac-nav__tree-wrap {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0.25rem 0.35rem 0.45rem;
    overscroll-behavior: contain;
}

.lux-ac-nav__footer {
    padding: 0.4rem 0.65rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
    font-size: 0.75rem;
    font-weight: 600;
    color: #94a3b8;
}

/* —— Compact tree: single-level indent only (no depth stacking) —— */
.lux-ac-tree {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 100%;
}

.lux-ac-tree-branch,
.lux-ac-tree-node {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.lux-ac-tree-children {
    margin-left: 12px;
    padding-left: 8px;
    border-left: 1px solid rgba(148, 163, 184, 0.35);
}

.lux-ac-tree-row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 2px;
    min-height: 30px;
    padding: 1px 4px 1px 2px;
    border-radius: 8px;
    transition: background 0.12s ease, box-shadow 0.12s ease;
}

.lux-ac-tree-row:hover {
    background: #f1f5f9;
}

/* Tree selection — ring + solid icon + right check (not main-menu left bar) */
.lux-ac-tree-row.is-selected {
    padding-right: 22px;
    background: rgba(14, 116, 144, 0.07);
    box-shadow:
        0 0 0 1.5px rgba(14, 116, 144, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.lux-ac-tree-row.is-selected::after {
    content: "✓";
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: linear-gradient(145deg, #0e7490 0%, #06b6d4 100%);
    color: #fff;
    font-size: 8px;
    font-weight: 800;
    line-height: 15px;
    text-align: center;
    box-shadow: 0 2px 5px rgba(14, 116, 144, 0.28);
    pointer-events: none;
}

.lux-ac-tree-row.is-selected .lux-ac-tree-name {
    font-weight: 700;
    color: var(--ac-tree-select-text);
}

.lux-ac-tree-row.is-selected .lux-ac-tree-icon--org,
.lux-ac-tree-row.is-selected .lux-ac-tree-icon--role {
    color: #fff;
    background: linear-gradient(145deg, #0e7490 0%, #06b6d4 100%);
    box-shadow: 0 2px 6px rgba(14, 116, 144, 0.22);
}

.lux-ac-tree-row.is-selected .lux-ac-tree-toggle {
    color: var(--ac-tree-select-accent);
}

.lux-ac-tree-row.is-selected .lux-ac-tree-badge {
    color: #0e7490;
    background: rgba(6, 182, 212, 0.12);
    border-color: rgba(14, 116, 144, 0.24);
}

.lux-ac-tree-row.is-disabled {
    opacity: 0.45;
}

.lux-ac-tree-toggle {
    flex-shrink: 0;
    width: 20px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    transition: background 0.12s ease, color 0.12s ease;
}

.lux-ac-tree-toggle:hover {
    background: #e2e8f0;
    color: var(--lux-primary, #5b5ff4);
}

.lux-ac-tree-toggle.is-open i {
    transform: rotate(90deg);
}

.lux-ac-tree-toggle--spacer {
    width: 20px;
    flex-shrink: 0;
    pointer-events: none;
}

.lux-ac-tree-label {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 2px 4px 2px 0;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
    border-radius: 6px;
}

.lux-ac-tree-label:disabled {
    cursor: not-allowed;
}

.lux-ac-tree-icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6875rem;
}

.lux-ac-tree-icon--org {
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-ac-tree-icon--role {
    color: #0d9488;
    background: rgba(20, 184, 166, 0.12);
}

.lux-ac-tree-copy {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.lux-ac-tree-name {
    font-size: 0.75rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.lux-ac-tree-badge {
    flex-shrink: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.05rem 0.35rem;
    border-radius: 9911px;
    color: #64748b;
    background: #f1f5f9;
    border: 0px solid #e2e8f0;
    line-height: 1.35;
}

.lux-ac-tree-current {
    flex-shrink: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.05rem 0.35rem;
    border-radius: 9911px;
    color: #047857;
    background: #d1fae5;
    line-height: 1.35;
}

.lux-ac-tree-create {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin: 2px 0 4px 28px;
    padding: 0.25rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 0px dashed rgba(148, 163, 184, 0.4);
}

.lux-ac-tree-create__input {
    flex: 1;
    min-width: 0;
    height: 28px;
    padding: 0 0.625rem;
    border-radius: 6px;
    border: 0px solid #e2e8f0;
    font-size: 0.75rem;
    background: #fff;
}

.lux-ac-tree-create__input:focus {
    outline: none;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-ac-tree-create__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: #e2e8f0;
    color: #64748b;
    cursor: pointer;
}

.lux-ac-tree-create__btn--save:not(:disabled) {
    color: #fff;
    background: var(--lux-primary, #5b5ff4);
}

.lux-ac-tree-create__btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lux-ac-tree-empty {
    margin: 1rem 0.75rem;
    font-size: 0.8125rem;
    color: #64748b;
    text-align: center;
}

/* Legacy tree panel styles removed — use lux-ac-nav above */

/* —— Empty state —— */
.lux-appconfig-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 420px;
    padding: 1.5rem 1rem;
    border-radius: var(--lux-ac-radius);
    border: 0px dashed rgba(148, 163, 184, 0.45);
    background: rgba(248, 250, 252, 0.75);
    text-align: center;
}

.lux-appconfig-empty__icon {
    width: 56px;
    height: 56px;
    margin-bottom: 0.875rem;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-appconfig-empty__title {
    margin: 0 0 0.35rem;
    font-size: 1.0625rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-appconfig-empty__text {
    margin: 0;
    max-width: 28rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #64748b;
}

/* —— Config panel (right) —— */
.lux-appconfig-panel__card {
    border-radius: var(--lux-ac-radius);
    border: 0px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.lux-appconfig-panel__role-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    padding: 0.35rem 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(248, 250, 252, 0.92);
    flex-shrink: 0;
}

/* —— Role membership bar —— */
.lux-ac-role-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 42%),
        linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.94));
    flex-shrink: 0;
    position: relative;
    z-index: 6;
}

.lux-ac-role-bar__context {
    min-width: 0;
    flex: 1 1 220px;
}

.lux-ac-role-bar__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
    margin-bottom: 0.12rem;
}

.lux-ac-role-bar__title-row {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.lux-ac-role-bar__title {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-ac-role-bar__id {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-ac-role-bar__hint {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: #64748b;
}

.lux-ac-role-bar__actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.lux-ac-role-bar__action-wrap {
    position: relative;
}

.lux-ac-role-bar__members-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.5rem;
    padding: 0.35rem 0.55rem 0.35rem 0.4rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.lux-ac-role-bar__members-btn:hover,
.lux-ac-role-bar__members-btn.is-open {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.34);
    box-shadow: 0 6px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-ac-role-bar__members-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 11px;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.8125rem;
}

.lux-ac-role-bar__members-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.05rem;
    text-align: left;
}

.lux-ac-role-bar__members-label {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-ac-role-bar__members-sub {
    font-size: 0.6875rem;
    color: #64748b;
    line-height: 1.2;
}

.lux-ac-role-bar__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.375rem;
    height: 1.375rem;
    padding: 0 0.35rem;
    border-radius: 9911px;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.lux-ac-role-bar__refresh-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.5rem;
    padding: 0 0.65rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    cursor: pointer;
    transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease;
}

.lux-ac-role-bar__refresh-btn:hover {
    color: #334155;
    border-color: #cbd5e1;
    background: #f8fafc;
}

.lux-ac-role-bar__refresh-btn i {
    font-size: 0.75rem;
}

.lux-ac-role-panel {
    position: absolute;
    top: calc(100% + 0.45rem);
    right: 0;
    width: min(24rem, calc(100vw - 2rem));
    border: 0px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
    overflow: hidden;
    z-index: 40;
}

.lux-ac-role-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid #eef2f7;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), rgba(248, 250, 252, 0.96));
}

.lux-ac-role-panel__header strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-ac-role-panel__eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
    margin-bottom: 0.1rem;
}

.lux-ac-role-panel__meta {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-ac-role-panel__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.625rem;
    height: 1.625rem;
    padding: 0;
    border: 0px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
}

.lux-ac-role-panel__search {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.55rem 0.75rem 0;
    padding: 0 0.55rem;
    min-height: 2rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}

.lux-ac-role-panel__search i {
    color: #94a3b8;
    font-size: 0.75rem;
}

.lux-ac-role-panel__search input {
    width: 100%;
    border: none;
    background: transparent;
    font-size: 0.6875rem;
    color: #0f172a;
    outline: none;
}

.lux-ac-role-panel__body {
    max-height: 18rem;
    overflow-y: auto;
    padding: 0.55rem 0.75rem 0.65rem;
}

.lux-ac-role-panel__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-ac-role-panel__member {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    padding: 0.45rem 0.625rem;
    border: 0px solid #eef2f7;
    border-radius: 12px;
    background: #fff;
}

.lux-ac-role-panel__member.is-new,
.lux-ac-role-panel__member.is-updated {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03);
}

.lux-ac-role-panel__member-main {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    flex: 1;
}

.lux-ac-role-panel__member-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.625rem;
    height: 1.625rem;
    border-radius: 9911px;
    flex-shrink: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-ac-role-panel__member-copy {
    min-width: 0;
}

.lux-ac-role-panel__member-copy strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-ac-role-panel__member-tag {
    display: inline-flex;
    margin-top: 0.08rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ac-role-panel__member-tag.is-new,
.lux-ac-role-panel__member-tag.is-changed {
    color: var(--lux-primary, #5b5ff4);
}

.lux-ac-role-panel__member-tag.is-current {
    color: #94a3b8;
}

.lux-ac-role-panel__member-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
}

.lux-ac-role-panel__role-select.noborderselect {
    min-width: 5.5rem;
    max-width: 7rem;
    height: 1.625rem;
    padding: 0 0.35rem;
    border: 0px solid #e2e8f0 !important;
    border-radius: 8px;
    background: #fff;
    font-size: 0.6875rem !important;
    font-weight: 700;
    color: #334155;
}

.lux-ac-role-panel__assigned-role {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    white-space: nowrap;
}

.lux-ac-role-panel__remove-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: rgba(239, 68, 68, 0.08);
    color: #dc2626;
    cursor: pointer;
}

.lux-ac-role-panel__empty {
    padding: 0.75rem;
    border: 0px dashed #e2e8f0;
    border-radius: 12px;
    font-size: 0.75rem;
    color: #64748b;
    text-align: center;
}

.lux-ac-role-panel__add {
    margin-top: 0.55rem;
    padding: 0.55rem;
    border: 0px dashed rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03);
}

.lux-ac-role-panel__add-copy strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ac-role-panel__add-copy span {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-ac-role-panel__add-controls {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.45rem;
}

.lux-ac-role-panel__select {
    flex: 1;
    min-width: 0;
}

.lux-ac-role-select__control {
    min-height: 2rem !important;
    border-radius: 11px !important;
    border-color: #e2e8f0 !important;
    box-shadow: none !important;
    font-size: 0.6875rem;
}

.lux-ac-role-select__menu {
    font-size: 0.6875rem;
    z-index: 50 !important;
}

.lux-ac-role-select__option {
    font-size: 0.6875rem !important;
}

.lux-ac-role-panel__add-btn {
    min-height: 2rem;
    padding: 0 0.65rem;
    border: none;
    border-radius: 11px;
    background: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
}

.lux-ac-role-panel__add-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lux-ac-role-panel__footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    padding: 0.55rem 0.75rem;
    border-top: 1px solid #eef2f7;
    background: #f8fafc;
}

.lux-ac-role-panel__cancel {
    min-height: 1.875rem;
    padding: 0 0.55rem;
    border: none;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
}

.lux-ac-role-panel__save {
    min-height: 1.875rem;
    padding: 0 0.65rem;
    border: none;
    border-radius: 9911px;
    background: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
}

.lux-ac-role-panel__save:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lux-appconfig-panel__employees {
    display: flex;
    align-items: center;
}

.lux-appconfig-panel__refresh {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0px solid #e2e8f0;
    border-radius: 7px;
    background: #fff;
    font-size: 0.75rem;
    color: #64748b;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease;
}

.lux-appconfig-panel__refresh:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #334155;
}

/* —— Panel filter toolbar —— */
.lux-appconfig-panel__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.55rem;
    padding: 0.3rem 0.5rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: #f8fafc;
    flex-shrink: 0;
    position: sticky;
    top: 0;
    z-index: 4;
}

.lux-appconfig-panel__toolbar-primary {
    display: flex;
    flex: 1 1 320px;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.lux-appconfig-panel__toolbar-secondary {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: auto;
    flex-shrink: 0;
}

.lux-appconfig-panel__filters {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem;
    border-radius: 11px;
    border: 0px solid #e2e8f0;
    background: #fff;
}

.lux-appconfig-panel__expand-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem;
    border-radius: 11px;
    border: 0px solid #e2e8f0;
    background: #fff;
}

.lux-appconfig-panel__expand-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 7px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

.lux-appconfig-panel__expand-btn:hover {
    color: #334155;
    background: #f1f5f9;
}

.lux-appconfig-panel__expand-btn i {
    font-size: 0.75rem;
}

.lux-appconfig-panel__filter {
    min-height: 28px;
    padding: 0.25rem 0.55rem;
    border: none;
    border-radius: 7px;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}

.lux-appconfig-panel__filter:hover {
    color: #334155;
    background: #f1f5f9;
}

.lux-appconfig-panel__filter.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    box-shadow: 0 2px 8px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}

.lux-appconfig-panel__filter--overridden.is-active {
    background: linear-gradient(135deg, #0e7490, #06b6d4);
}

.lux-appconfig-panel__filter--parent-overridden.is-active {
    background: linear-gradient(135deg, #047857, #10b981);
}

.lux-appconfig-panel__filter--locked.is-active {
    background: linear-gradient(135deg, #b45309, #f59e0b);
}

.lux-appconfig-panel__search {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 140px;
    max-width: 280px;
    height: 30px;
    padding: 0 0.55rem;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
    transition: border-color 0.12s ease, box-shadow 0.12s ease;
    margin-bottom: 0;
}

.lux-appconfig-panel__search:focus-within {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-appconfig-panel__search i {
    color: #94a3b8;
    font-size: 0.8125rem;
    flex-shrink: 0;
}

.lux-appconfig-panel__search input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 0.75rem;
    color: #0f172a;
    outline: none;
}

.lux-appconfig-panel__search input::placeholder {
    color: #94a3b8;
}

.lux-appconfig-panel__search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
}

.lux-appconfig-panel__filter-summary {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #94a3b8;
    white-space: nowrap;
}

.lux-appconfig-panel__toolbar-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-appconfig-panel__dirty-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 0.625rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #b45309;
    background: rgba(245, 158, 11, 0.12);
    border: 0px solid rgba(245, 158, 11, 0.22);
}

.lux-appconfig-panel__filter-empty {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 180px;
    padding: 1.25rem;
    border-radius: 12px;
    border: 0px dashed rgba(148, 163, 184, 0.45);
    background: rgba(248, 250, 252, 0.75);
    text-align: center;
}

.lux-appconfig-panel__filter-empty .fe {
    font-size: 1.25rem;
    color: #94a3b8;
}

.lux-appconfig-panel__filter-empty p {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #64748b;
}

.lux-appconfig-panel__filter-reset {
    min-height: 30px;
    padding: 0 0.75rem;
    border: none;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    cursor: pointer;
}

.lux-appconfig-panel__filter-reset:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.lux-appconfig-inline-input,
.lux-appconfig-panel .appConfig.addnewConfigInput,
.lux-appconfig-panel .appConfig.addnewConfigSelect {
    height: 32px !important;
    padding: 0 0.65rem;
    border-radius: 12px !important;
    border: 0px solid #e2e8f0 !important;
    font-size: 0.8125rem !important;
    background: #fff;
}

.lux-appconfig-panel .appConfig.addnewConfigSelect {
    min-width: 120px;
}

.lux-appconfig-action-icon {
    cursor: pointer;
    padding: 0.25rem;
    border-radius: 6px;
    transition: background 0.15s ease;
}

.lux-appconfig-action-icon:hover {
    background: #f1f5f9;
}

.lux-appconfig-panel__body {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding: 0 !important;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.lux-appconfig-panel__body-inner {
    height: 100%;
    overflow-y: auto;
    padding: 0.75rem;
    scroll-behavior: smooth;
    scrollbar-gutter: stable;
}

.lux-appconfig-panel__body-inner::-webkit-scrollbar {
    width: 8px;
}

.lux-appconfig-panel__body-inner::-webkit-scrollbar-track {
    background: transparent;
}

.lux-appconfig-panel__body-inner::-webkit-scrollbar-thumb {
    border-radius: 9911px;
    background: rgba(148, 163, 184, 0.45);
    border: 2px solid transparent;
    background-clip: padding-box;
}

.lux-appconfig-panel__body-inner::-webkit-scrollbar-thumb:hover {
    background: rgba(100, 116, 139, 0.55);
    background-clip: padding-box;
}

.lux-appconfig-panel__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr));
    gap: 0.75rem;
    margin: 0;
}

.lux-appconfig-panel__grid > .card,
.lux-appconfig-panel__grid > .lux-appconfig-module {
    margin: 0 !important;
    height: 100%;
}

.lux-appconfig-panel__subgrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
    gap: 0.55rem;
    margin: 0.35rem 0 0;
    width: 100%;
}

.lux-appconfig-panel__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.625rem;
    flex-shrink: 0;
    padding: 0.55rem 0.75rem !important;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.lux-appconfig-btn {
    min-height: 38px;
    padding: 0.45rem 1.25rem !important;
    border-radius: 9911px !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    border: none !important;
}

.lux-appconfig-btn--primary {
    color: #fff !important;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6)) !important;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-appconfig-btn--primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.34);
}

.lux-appconfig-btn--ghost {
    color: #475569 !important;
    background: #fff !important;
    border: 0px solid #e2e8f0 !important;
    box-shadow: none !important;
}

.lux-appconfig-btn--ghost:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
}

.lux-appconfig-btn--compact {
    min-height: 28px !important;
    padding: 0.2rem 0.75rem !important;
    font-size: 0.6875rem !important;
}

.lux-appconfig-btn:disabled,
.lux-appconfig-btn:disabled:hover {
    opacity: 0.42;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

/* —— Module cards —— */
.lux-appconfig-module {
    border-radius: var(--lux-ac-radius) !important;
    border: 0px solid rgba(226, 232, 240, 0.95) !important;
    background: #fff;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 8px 24px rgba(15, 23, 42, 0.04);
    overflow: hidden;
    transition:
        box-shadow 0.18s ease,
        border-color 0.18s ease,
        transform 0.18s ease;
}

.lux-appconfig-module:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18) !important;
    box-shadow:
        0 2px 4px rgba(15, 23, 42, 0.05),
        0 12px 28px rgba(15, 23, 42, 0.07);
}

.lux-appconfig-module.is-disabled {
    opacity: 0.72;
}

.lux-appconfig-module.is-enabled.is-locked {
    border-color: rgba(245, 158, 11, 0.28) !important;
}

.lux-appconfig-module.card-collapsed .lux-appconfig-module__chevron {
    transform: rotate(180deg);
}

.lux-appconfig-module__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.55rem 0.75rem !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    border-bottom: 1px solid rgba(226, 232, 240, 0.95) !important;
    cursor: pointer;
    user-select: none;
    transition: background 0.14s ease;
}

.lux-appconfig-module__header:hover {
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), rgba(248, 250, 252, 0.98));
}

.lux-appconfig-module__title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    flex: 1;
}

.lux-appconfig-module__title-copy {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.lux-appconfig-module__count {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 18px;
    padding: 0 0.4rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    background: #eef2f7;
    border: 0px solid #e2e8f0;
}

.lux-appconfig-module.is-enabled .lux-appconfig-module__count {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.lux-appconfig-module.is-disabled .lux-appconfig-module__count {
    color: #94a3b8;
    background: #f1f5f9;
}

.lux-appconfig-module__icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8125rem;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-appconfig-module__name,
.lux-appconfig-module__header .text-color-gray-aaa {
    font-size: 0.8125rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

.lux-appconfig-module__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    flex-shrink: 0;
}

.lux-appconfig-module__open-editor {
    color: var(--lux-primary, #5b5ff4);
}

.lux-appconfig-module__open-editor:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-appconfig-module.is-open-in-editor {
    outline: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-appconfig-module--editor {
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.lux-appconfig-module--editor .lux-appconfig-module__header {
    margin-bottom: 0.55rem;
    padding: 0.55rem 0.7rem !important;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    border-radius: 12px;
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07) 0%, rgba(20, 184, 166, 0.04) 45%, #fff 100%);
    cursor: default;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
}

.lux-appconfig-module--editor .lux-appconfig-module__icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    font-size: 0.875rem;
}

.lux-appconfig-module--editor .lux-appconfig-module__name {
    font-size: 0.9375rem !important;
}

.lux-appconfig-module--editor .lux-appconfig-module__body {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0 !important;
    background: transparent !important;
}

.lux-appconfig-module--editor .lux-appconfig-panel__subgrid,
.lux-appconfig-module--editor .lux-appconfig-panel__subgrid--wide {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
    gap: 0.85rem;
}

.lux-appconfig-editor-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.45rem;
    padding: 0.4rem 0.55rem;
    border-radius: 10px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #fff;
}

.lux-appconfig-editor-legend__note {
    flex: 1 1 180px;
    min-width: 0;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: #64748b;
}

.lux-appconfig-editor-section {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    min-width: 0;
}

.lux-appconfig-editor-section__header {
    display: none;
}

.lux-appconfig-module--editor .lux-appconfig-editor-section__header {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0 0.15rem;
}

.lux-appconfig-editor-section__kicker {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-appconfig-editor-section__title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.2;
}

.lux-appconfig-editor-section__hint {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.3;
    color: #64748b;
}

.lux-ac-status-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    min-height: 22px;
    padding: 0 0.5rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
    border: 1px solid transparent;
}

.lux-ac-status-chip i {
    font-size: 0.7rem;
}

.lux-ac-status-chip--inherited {
    color: #475569;
    background: #f1f5f9;
    border-color: #e2e8f0;
}

.lux-ac-status-chip--overridden {
    color: #0e7490;
    background: rgba(6, 182, 212, 0.12);
    border-color: rgba(6, 182, 212, 0.22);
}

.lux-ac-status-chip--parent-overridden {
    color: #047857;
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.24);
}

.lux-ac-status-chip--locked {
    color: #b45309;
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(245, 158, 11, 0.28);
}

.right_sidebar.lux-create-panel.lux-create-panel--appconfig-module {
    z-index: 10060;
}

.right_sidebar.lux-create-panel.lux-create-panel--appconfig-module .lux-create-panel__header {
    padding-bottom: 0;
}

.right_sidebar.lux-create-panel.lux-create-panel--appconfig-module .lux-create-panel__header-main {
    padding: 0.65rem 0.9rem 0.35rem;
}

.right_sidebar.lux-create-panel.lux-create-panel--appconfig-module .lux-create-panel__kicker {
    margin-bottom: 0;
}

.right_sidebar.lux-create-panel.lux-create-panel--appconfig-module .lux-create-panel__title {
    font-size: 0.98rem;
}

.right_sidebar.lux-create-panel.lux-create-panel--appconfig-module .lux-create-panel__subtitle {
    margin-top: 0.1rem;
    font-size: 0.6875rem;
}

.right_sidebar.lux-create-panel.lux-create-panel--appconfig-module .lux-create-panel__header-toolbar {
    padding: 0.4rem 0.9rem 0.55rem;
}

.right_sidebar.lux-create-panel.lux-create-panel--appconfig-module .lux-create-panel__body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: 0.55rem 0.85rem 0.9rem;
    background:
        radial-gradient(1200px 420px at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 55%),
        #f4f7fb;
}

.lux-appconfig-module-drawer__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.55rem;
}

.lux-appconfig-module-drawer__search {
    flex: 1 1 220px;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    height: 32px;
    margin: 0;
    padding: 0 0.6rem;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    transition: border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

.lux-appconfig-module-drawer__search:focus-within {
    background: #fff;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-appconfig-module-drawer__search i {
    color: #94a3b8;
    font-size: 0.8125rem;
    flex-shrink: 0;
}

.lux-appconfig-module-drawer__search input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 600;
    color: #0f172a;
    outline: none;
}

.lux-appconfig-module-drawer__search input::placeholder {
    color: #94a3b8;
    font-weight: 500;
}

.lux-appconfig-module-drawer__search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: #e2e8f0;
    color: #475569;
    cursor: pointer;
}

.lux-appconfig-module-drawer__search-clear:hover {
    background: #cbd5e1;
}

.lux-appconfig-module-drawer__search-meta {
    flex-shrink: 0;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    white-space: nowrap;
}

.lux-appconfig-module-drawer__actions {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
}

.lux-appconfig-module-drawer__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 180px;
    margin-top: 0.5rem;
    padding: 1.5rem 1rem;
    border-radius: 16px;
    border: 1px dashed #cbd5e1;
    background: rgba(255, 255, 255, 0.72);
    text-align: center;
    color: #64748b;
}

.lux-appconfig-module-drawer__empty i {
    font-size: 1.25rem;
    color: #94a3b8;
}

.lux-appconfig-module-drawer__empty p {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #475569;
}

.lux-appconfig-module-drawer__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 0.2rem;
}

.lux-create-panel--appconfig-module .lux-appconfig-panel__toolbar-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Richer cards inside the module drawer */
.lux-create-panel--appconfig-module .lux-ac-config-block {
    border: 1px solid rgba(226, 232, 240, 0.98);
    border-radius: 16px;
    background: #fff;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.03),
        0 10px 28px rgba(15, 23, 42, 0.05);
}

.lux-create-panel--appconfig-module .lux-ac-config-block:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow:
        0 2px 6px rgba(15, 23, 42, 0.04),
        0 14px 32px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.lux-create-panel--appconfig-module .lux-ac-config-block.is-overridden {
    background: linear-gradient(180deg, rgba(6, 182, 212, 0.05) 0%, #fff 34%);
}

.lux-create-panel--appconfig-module .lux-ac-config-block.is-locked {
    background: linear-gradient(180deg, rgba(245, 158, 11, 0.06) 0%, #fff 34%);
}

.lux-create-panel--appconfig-module .lux-ac-config-block__header {
    padding: 0.7rem 0.85rem;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid #e8edf3;
}

.lux-create-panel--appconfig-module .lux-ac-config-block__body {
    padding: 0.75rem 0.85rem 0.85rem;
}

.lux-create-panel--appconfig-module .lux-appconfig-setting-list {
    gap: 0.55rem;
}

.lux-create-panel--appconfig-module .list-group-item.lux-appconfig-setting {
    padding: 0.8rem 0.9rem;
    border: 1px solid #e8edf3 !important;
    border-radius: 14px !important;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.lux-create-panel--appconfig-module .list-group-item.lux-appconfig-setting:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

.lux-create-panel--appconfig-module .lux-ac-config-table-wrap {
    border: 1px solid #e8edf3;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.lux-create-panel--appconfig-module .lux-ac-config-block__list-item,
.lux-create-panel--appconfig-module .lux-ac-config-block__kv-item,
.lux-create-panel--appconfig-module .lux-ac-config-block__field-row {
    border: 1px solid #eef2f7;
    border-radius: 10px;
    background: #fcfdff;
    padding: 0.45rem 0.55rem;
}

.lux-create-panel--appconfig-module .lux-ac-config-block__input,
.lux-create-panel--appconfig-module .lux-ac-config-block__textarea,
.lux-create-panel--appconfig-module .lux-appconfig-setting__input {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    min-height: 36px;
    background: #fff;
}

.lux-create-panel--appconfig-module .lux-ac-config-block__add-row,
.lux-create-panel--appconfig-module .lux-ac-config-block__kv-add {
    border: 1px dashed rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
}

.lux-appconfig-module__chevron {
    transition: transform 0.18s ease;
}

.lux-appconfig-module__body {
    padding: 0.65rem 0.75rem 0.75rem !important;
    background: #fff;
}

.lux-appconfig-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    transition: background 0.12s ease, color 0.12s ease;
}

.lux-appconfig-icon-btn:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

/* Setting list */
.lux-appconfig-setting-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.lux-appconfig-panel .tp-setting.list-group-item,
.lux-appconfig-panel .list-group-item.lux-appconfig-setting {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.55rem 0.65rem;
    margin: 0;
    border: 0px solid #e8edf3 !important;
    border-radius: 12px !important;
    background: #fff;
    font-size: 0.8125rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.02);
    transition:
        border-color 0.14s ease,
        background 0.14s ease,
        box-shadow 0.14s ease;
}

.lux-appconfig-setting.is-inherited {
    border-left: 3px solid rgba(148, 163, 184, 0.45) !important;
}

.lux-appconfig-setting.is-overridden {
    border-left: 3px solid rgba(14, 116, 144, 0.75) !important;
    background: linear-gradient(90deg, rgba(6, 182, 212, 0.04), #fff 28%);
}

.lux-appconfig-setting.is-locked {
    border-left-color: rgba(245, 158, 11, 0.75) !important;
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.05), #fff 28%);
}

.lux-appconfig-panel .list-group-item.lux-appconfig-setting:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22) !important;
    background: #fcfdff;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}

.lux-appconfig-setting__main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
    flex: 1;
    min-width: 0;
}

.lux-appconfig-setting__label {
    flex: 1;
    min-width: 0;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
    padding-right: 0.35rem;
}

.lux-appconfig-setting__controls {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.lux-appconfig-setting__value {
    display: flex;
    align-items: center;
}

.lux-appconfig-setting__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.12rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 0px solid #eef2f7;
}

.lux-appconfig-setting__input,
.lux-appconfig-panel .list-group-item input[type="text"],
.lux-appconfig-panel .list-group-item input[type="number"] {
    height: 32px;
    min-width: 120px;
    max-width: 220px;
    padding: 0 0.65rem;
    border-radius: 8px;
    border: 0px solid #e2e8f0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #0f172a;
    background: #fff;
    transition: border-color 0.12s ease, box-shadow 0.12s ease;
}

.lux-appconfig-setting__input:focus,
.lux-appconfig-panel .list-group-item input:focus {
    outline: none;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-appconfig-setting__checkbox .custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--lux-primary, #5b5ff4);
    background: var(--lux-primary, #5b5ff4);
}

.lux-appconfig-panel__subgrid--wide {
    grid-template-columns: 1fr;
}

.lux-appconfig-panel__subgrid--levels {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
    gap: 0.55rem;
}

/* —— Complex config blocks (lists, maps, nested) —— */
.lux-ac-config-block {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 0px solid #e8edf3;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-ac-config-block:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}

.lux-ac-config-block.is-inherited {
    border-left: 3px solid rgba(148, 163, 184, 0.45);
}

.lux-ac-config-block.is-overridden {
    border-left: 3px solid rgba(14, 116, 144, 0.75);
}

.lux-ac-config-block.is-locked {
    border-left-color: rgba(245, 158, 11, 0.75) !important;
}

.lux-ac-config-block--wide {
    grid-column: 1 / -1;
}

.lux-ac-config-block--nested {
    height: 100%;
    background: #fcfdff;
}

.lux-ac-config-block__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    padding: 0.45rem 0.6rem;
    background: #f8fafc;
    border-bottom: 1px solid #eef2f7;
}

.lux-ac-config-block__header--nested {
    padding: 0.4rem 0.55rem;
    background: #f1f5f9;
}

.lux-ac-config-block__title {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
    flex: 1;
}

.lux-ac-config-block__accent {
    flex-shrink: 0;
    width: 4px;
    align-self: stretch;
    min-height: 28px;
    border-radius: 9911px;
    background: linear-gradient(180deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
}

.lux-ac-config-block.is-inherited .lux-ac-config-block__accent {
    background: linear-gradient(180deg, #94a3b8, #cbd5e1);
}

.lux-ac-config-block.is-overridden .lux-ac-config-block__accent {
    background: linear-gradient(180deg, #0891b2, #22d3ee);
}

.lux-ac-config-block.is-locked .lux-ac-config-block__accent {
    background: linear-gradient(180deg, #d97706, #fbbf24);
}

.lux-ac-config-block__title-copy {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    min-width: 0;
}

.lux-ac-config-block__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.lux-ac-config-block__label {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
    line-height: 1.3;
}

.lux-ac-config-block__count {
    flex-shrink: 0;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.45rem;
    border-radius: 9911px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
    background: #eef2f7;
    border: 1px solid #e2e8f0;
}

.lux-ac-config-block__body {
    padding: 0.625rem 0.6rem 0.6rem;
}

.lux-ac-config-block__body.appconfig-item {
    max-height: 240px;
    min-height: 100px;
    overflow-y: auto;
}

.lux-ac-config-block__list,
.lux-ac-config-block__field-list,
.lux-ac-config-block__kv-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.lux-ac-config-block__list-item,
.lux-ac-config-block__kv-item,
.lux-ac-config-block__field-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 32px;
    padding: 0.35rem 0.45rem;
    border-radius: 8px;
    border: 0px solid #eef2f7;
    background: #fff;
    font-size: 0.75rem;
}

.lux-ac-config-block__list-item--selectable {
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease;
}

.lux-ac-config-block__list-item--selectable:hover,
.lux-ac-config-block__list-item--selectable.is-selected {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}

.lux-ac-config-block__list-index {
    flex-shrink: 0;
    width: 1.25rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #94a3b8;
    text-align: center;
}

.lux-ac-config-block__list-value,
.lux-ac-config-block__kv-key,
.lux-ac-config-block__kv-value {
    flex: 1;
    min-width: 0;
    font-weight: 600;
    color: #0f172a;
    word-break: break-word;
}

.lux-ac-config-block__kv-item .lux-ac-config-block__kv-input {
    flex: 1 1 auto;
    min-width: 0;
}

.lux-ac-config-block__kv-key {
    flex: 0 1 40%;
    color: #64748b;
    font-weight: 700;
}

.lux-ac-config-block__remove {
    flex-shrink: 0;
    color: #ef4444 !important;
}

.lux-ac-config-block__add-row,
.lux-ac-config-block__kv-add {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem;
    margin-bottom: 0.35rem;
    border-radius: 8px;
    border: 0px dashed rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03);
}

.lux-ac-config-block__input,
.lux-ac-config-block__textarea,
.lux-appconfig-panel .appConfig.addnewInput,
.lux-appconfig-panel .appConfig.addnewKeyValueInput {
    flex: 1;
    min-width: 0;
    height: 32px;
    padding: 0 0.55rem;
    border-radius: 8px;
    border: 0px solid #e2e8f0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #0f172a;
    background: #fff;
}

.lux-ac-config-block__textarea {
    min-height: 56px;
    height: auto;
    padding: 0.45rem 0.55rem;
    resize: vertical;
}

.lux-ac-config-block__add-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    flex-shrink: 0;
}

.lux-ac-config-block__add-save {
    color: var(--lux-primary, #5b5ff4) !important;
}

.lux-ac-config-block__field-row {
    flex-wrap: wrap;
    justify-content: space-between;
}

.lux-ac-config-block__field-label {
    flex: 1;
    min-width: 120px;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    text-transform: capitalize;
}

.lux-ac-config-block__field-value {
    flex: 1 1 160px;
    display: flex;
    justify-content: flex-end;
    min-width: 0;
}

.lux-ac-config-block__select {
    min-width: 160px;
    width: 100%;
}

/* Permission / group tables */
.lux-appconfig-panel .table-responsive.lux-ac-config-table-wrap {
    margin: 0.35rem 0 0.65rem;
    border-radius: 12px;
    border: 0px solid #e8edf3;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
    background: #fff;
}

.lux-ac-config-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin-bottom: 0 !important;
    font-size: 0.75rem;
}

.lux-ac-config-table__col-label {
    width: 24%;
}

.lux-ac-config-table__col-perm {
    width: 8%;
}

.lux-ac-config-table__col-actions {
    width: 96px;
}

.lux-ac-config-table thead th {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    background: #f8fafc;
    border-bottom: 1px solid #eef2f7;
    padding: 0.625rem 0.45rem;
    vertical-align: middle;
    text-align: center;
    white-space: nowrap;
}

.lux-ac-config-table thead th:first-child {
    text-align: left;
    padding-left: 0.75rem;
}

.lux-ac-config-table__perm-head {
    min-width: 3.25rem;
}

.lux-ac-config-table__actions-head {
    padding-right: 0.65rem !important;
}

.lux-ac-config-table__row {
    display: table-row;
}

.lux-ac-config-table__row td {
    vertical-align: middle;
    padding: 0.625rem 0.45rem;
    border-top: 1px solid #eef2f7 !important;
    border-bottom: none !important;
}

.lux-ac-config-table__label {
    font-weight: 700;
    color: #334155;
    text-align: left;
    padding-left: 0.75rem !important;
    white-space: normal;
    word-break: break-word;
}

.lux-ac-config-table__cell {
    text-align: center;
    vertical-align: middle;
}

.lux-appconfig-onoff {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 3.4rem;
    justify-content: center;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font: inherit;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease, opacity 0.12s ease;
}

.lux-appconfig-onoff__dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.9;
    flex-shrink: 0;
}

.lux-appconfig-onoff__label {
    position: relative;
    top: 0.5px;
}

.lux-appconfig-onoff.is-on {
    background: #d1fae5;
    color: #047857;
    border-color: rgba(16, 185, 129, 0.35);
    box-shadow: 0 1px 2px rgba(4, 120, 87, 0.08);
}

.lux-appconfig-onoff.is-off {
    background: #ffe4e6;
    color: #be123c;
    border-color: rgba(244, 63, 94, 0.28);
    box-shadow: 0 1px 2px rgba(190, 18, 60, 0.06);
}

.lux-appconfig-onoff:not(:disabled):hover {
    transform: translateY(-1px);
}

.lux-appconfig-onoff.is-on:not(:disabled):hover {
    box-shadow: 0 8px 16px rgba(16, 185, 129, 0.18);
}

.lux-appconfig-onoff.is-off:not(:disabled):hover {
    box-shadow: 0 8px 16px rgba(244, 63, 94, 0.14);
}

.lux-appconfig-onoff.is-readonly,
.lux-appconfig-onoff:disabled {
    cursor: default;
    opacity: 0.78;
}

.lux-appconfig-setting__value .lux-appconfig-onoff,
.lux-ac-config-block__field-value .lux-appconfig-onoff {
    min-width: 3.6rem;
    padding: 0.34rem 0.65rem;
    font-size: 0.6875rem;
}

.lux-ac-config-table__checkbox.custom-control {
    display: inline-flex;
    align-items: center;
    min-height: 1.125rem;
    padding-left: 1.25rem;
    margin: 0;
}

.lux-ac-config-table__checkbox .custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--lux-primary, #5b5ff4);
    background: var(--lux-primary, #5b5ff4);
}

.lux-ac-config-table__actions {
    text-align: right;
    white-space: nowrap;
    padding-right: 0.65rem !important;
    vertical-align: middle;
}

.lux-ac-config-table__actions .lux-appconfig-setting__actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.1rem;
    padding: 0.1rem 0.15rem;
    margin: 0;
    border-radius: 8px;
    background: #f8fafc;
    border: 0px solid #eef2f7;
}

.lux-ac-config-table__row.is-overridden {
    background: linear-gradient(90deg, rgba(6, 182, 212, 0.05), transparent 40%);
}

.lux-ac-config-table__row.is-locked {
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.05), transparent 40%);
}

.lux-ac-config-table.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(248, 250, 252, 0.85);
}

.lux-ac-config-table.table-striped tbody tr:nth-of-type(odd).is-overridden {
    background: linear-gradient(90deg, rgba(6, 182, 212, 0.05), rgba(248, 250, 252, 0.85) 40%);
}

.lux-ac-config-table.table-striped tbody tr:nth-of-type(odd).is-locked {
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.05), rgba(248, 250, 252, 0.85) 40%);
}

.lux-appconfig-panel .multivalueitem li.multivalueitemvalue:hover {
    background-color: transparent;
}

.lux-appconfig-panel .appConfig.addnewInput,
.lux-appconfig-panel .appConfig.addnewKeyValueInput {
    height: 32px !important;
    border-radius: 12px !important;
    border: 0px solid #e2e8f0 !important;
    font-size: 0.8125rem !important;
    padding: 0 0.65rem;
}

/* Permission tables */
.lux-appconfig-panel .table-responsive {
    border-radius: 12px;
    border: 0px solid #e2e8f0;
    overflow: hidden;
}

.lux-appconfig-panel .table {
    margin-bottom: 0 !important;
    font-size: 0.8125rem;
}

.lux-appconfig-panel .table thead th {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.lux-appconfig-panel .table-striped tbody tr:nth-of-type(odd) {
    background: rgba(248, 250, 252, 0.8);
}

/* Icon action links in config rows */
.lux-appconfig-panel .link {
    color: #64748b;
    transition: color 0.15s ease, background 0.15s ease;
}

.lux-appconfig-panel .link:hover {
    color: var(--lux-primary, #5b5ff4);
}

.lux-appconfig-panel .link .fa-chain-broken,
.lux-appconfig-panel .link .fe-unlock {
    color: #0e7490;
}

.lux-appconfig-panel .link .fa-lock,
.lux-appconfig-panel .link .fe-lock {
    color: #b45309;
}

/* Profile read-only embed */
.profile-access-fieldset .lux-appconfig-panel__footer {
    display: none;
}

@media (max-width: 992px) {
    .lux-appconfig__layout {
        grid-template-columns: 1fr;
    }

    .lux-appconfig__sidebar {
        position: static;
        max-height: none;
    }

    .lux-ac-nav {
        height: auto;
        min-height: 420px;
        max-height: 560px;
    }

    .lux-appconfig-panel__body-inner {
        padding: 0.55rem;
    }

    .lux-appconfig-panel__grid {
        grid-template-columns: 1fr;
    }

    .lux-appconfig-panel__expand-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .lux-ac-role-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-ac-role-bar__actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .lux-ac-role-bar__members-btn,
    .lux-ac-role-bar__refresh-btn {
        width: 100%;
        justify-content: center;
    }

    .lux-ac-role-panel {
        right: auto;
        left: 0;
        width: 100%;
    }

    .lux-appconfig-setting {
        flex-direction: column;
        align-items: stretch !important;
    }

    .lux-appconfig-setting__controls {
        justify-content: space-between;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .lux-appconfig {
        padding: 0;
    }

    .lux-appconfig-hero__top {
        flex-direction: column;
    }

    .lux-appconfig-hero__stats {
        max-width: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-appconfig-hero__meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .lux-appconfig-hero__meta-item dd,
    .lux-appconfig-hero__meta-value {
        max-width: none;
    }

    .lux-appconfig-hero__tips {
        grid-template-columns: 1fr;
    }

    .lux-appconfig-hero__context-actions {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }

    .lux-hero-identity__divider {
        display: none;
    }

    .lux-hero-identity__item {
        flex: 1 1 100%;
    }
}

.lux-appconfig-hero__context-actions .lux-appconfig-hero__meta-trigger {
    min-height: 40px;
    min-width: 88px;
}

body.lux-shell-dark .lux-appconfig-hero,
body.lux-shell-dark .lux-ac-nav,
body.lux-shell-dark .lux-appconfig-panel__card,
body.lux-shell-dark .lux-appconfig-module {
    background: rgba(30, 41, 59, 0.92);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-appconfig-hero__title,
body.lux-shell-dark .lux-appconfig-hero__context-title,
body.lux-shell-dark .lux-appconfig-hero__stat-body strong,
body.lux-shell-dark .lux-appconfig-hero__meta-item dd,
body.lux-shell-dark .lux-appconfig-hero__meta-value,
body.lux-shell-dark .lux-appconfig-hero__meta-trigger-value,
body.lux-shell-dark .lux-ac-nav__title,
body.lux-shell-dark .lux-ac-tree-name,
body.lux-shell-dark .lux-appconfig-panel__name,
body.lux-shell-dark .lux-appconfig-empty__title {
    color: #f8fafc;
}

body.lux-shell-dark .lux-appconfig-hero__stat,
body.lux-shell-dark .lux-appconfig-hero__pill--muted {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-appconfig-hero__context {
    background: rgba(15, 23, 42, 0.45);
}

body.lux-shell-dark .lux-appconfig-hero__guide-lead {
    color: #cbd5e1;
}

body.lux-shell-dark .lux-appconfig-hero__top {
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-appconfig-hero__meta-static {
    background: rgba(15, 23, 42, 0.45);
}

body.lux-shell-dark .lux-appconfig-hero__meta-trigger {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-appconfig-hero__meta-trigger--overridden {
    border-color: rgba(34, 211, 238, 0.35);
    background: rgba(6, 182, 212, 0.08);
}

body.lux-shell-dark .lux-appconfig-hero__meta-trigger--parent-overridden {
    border-color: rgba(52, 211, 153, 0.35);
    background: rgba(16, 185, 129, 0.08);
}

body.lux-shell-dark .lux-appconfig-hero__meta-trigger--locked {
    border-color: rgba(251, 191, 36, 0.35);
    background: rgba(245, 158, 11, 0.08);
}

body.lux-shell-dark .lux-appconfig-hero__meta-trigger:hover,
body.lux-shell-dark .lux-appconfig-hero__meta-trigger.is-open {
    background: rgba(15, 23, 42, 0.72);
}

body.lux-shell-dark .lux-appconfig-hero__popover {
    background: rgba(30, 41, 59, 0.98);
    border-color: rgba(51, 65, 85, 0.9);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
}

body.lux-shell-dark .lux-appconfig-hero__popover-head {
    background: rgba(15, 23, 42, 0.65);
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-appconfig-hero__popover-head strong,
body.lux-shell-dark .lux-appconfig-hero__popover-setting {
    color: #f8fafc;
}

body.lux-shell-dark .lux-appconfig-hero__popover-list-item:hover {
    background: rgba(15, 23, 42, 0.55);
}

body.lux-shell-dark .lux-ac-nav__tabs,
body.lux-shell-dark .lux-ac-nav__footer {
    background: rgba(15, 23, 42, 0.65);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-ac-nav__search {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-ac-nav__search input {
    color: #f8fafc;
}

body.lux-shell-dark .lux-ac-nav {
    --ac-tree-select-accent: #22d3ee;
    --ac-tree-select-accent-bright: #06b6d4;
    --ac-tree-select-bg: rgba(6, 182, 212, 0.14);
    --ac-tree-select-text: #a5f3fc;
}

body.lux-shell-dark .lux-ac-tree-row:hover {
    background: rgba(15, 23, 42, 0.55);
}

body.lux-shell-dark .lux-ac-tree-row.is-selected {
    background: rgba(6, 182, 212, 0.1);
    box-shadow:
        0 0 0 1.5px rgba(34, 211, 238, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.lux-shell-dark .lux-ac-tree-row.is-selected::after {
    background: linear-gradient(145deg, #0891b2 0%, #22d3ee 100%);
    box-shadow: 0 2px 6px rgba(6, 182, 212, 0.35);
}

body.lux-shell-dark .lux-ac-tree-row.is-selected .lux-ac-tree-name {
    color: var(--ac-tree-select-text);
}

body.lux-shell-dark .lux-ac-tree-row.is-selected .lux-ac-tree-icon--org,
body.lux-shell-dark .lux-ac-tree-row.is-selected .lux-ac-tree-icon--role {
    color: #0f172a;
    background: linear-gradient(145deg, #22d3ee 0%, #67e8f9 100%);
    box-shadow: 0 2px 6px rgba(6, 182, 212, 0.28);
}

body.lux-shell-dark .lux-appconfig-panel__body {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.55), rgba(15, 23, 42, 0.72));
}

body.lux-shell-dark .lux-appconfig-panel .table-responsive.lux-ac-config-table-wrap {
    background: rgba(30, 41, 59, 0.72);
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-ac-config-table thead th {
    color: #94a3b8;
    background: rgba(15, 23, 42, 0.55);
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-ac-config-table__row td {
    border-top-color: rgba(51, 65, 85, 0.9) !important;
}

body.lux-shell-dark .lux-ac-config-table__actions .lux-appconfig-setting__actions {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-ac-config-table.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(15, 23, 42, 0.35);
}

body.lux-shell-dark .lux-ac-config-block {
    background: rgba(30, 41, 59, 0.72);
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-ac-config-block__header,
body.lux-shell-dark .lux-ac-config-block__header--nested {
    background: rgba(15, 23, 42, 0.55);
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-ac-config-block__label,
body.lux-shell-dark .lux-ac-config-block__list-value,
body.lux-shell-dark .lux-ac-config-block__kv-value,
body.lux-shell-dark .lux-ac-config-table__label {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-ac-config-block__list-item,
body.lux-shell-dark .lux-ac-config-block__kv-item,
body.lux-shell-dark .lux-ac-config-block__field-row {
    background: rgba(15, 23, 42, 0.45);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-ac-config-block__input,
body.lux-shell-dark .lux-ac-config-block__textarea {
    color: #f8fafc;
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-appconfig-panel .list-group-item.lux-appconfig-setting {
    background: rgba(30, 41, 59, 0.72);
    border-color: rgba(51, 65, 85, 0.95) !important;
    color: #cbd5e1;
}

body.lux-shell-dark .lux-appconfig-setting.is-overridden {
    background: linear-gradient(90deg, rgba(6, 182, 212, 0.08), rgba(30, 41, 59, 0.72) 28%);
}

body.lux-shell-dark .lux-appconfig-setting.is-locked {
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.08), rgba(30, 41, 59, 0.72) 28%);
}

body.lux-shell-dark .lux-appconfig-setting__label {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-appconfig-setting__actions {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-appconfig-module__body {
    background: rgba(30, 41, 59, 0.55);
}

body.lux-shell-dark .lux-appconfig-module__header {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.88));
}

body.lux-shell-dark .lux-appconfig-module__name {
    color: #f8fafc !important;
}

body.lux-shell-dark .lux-appconfig-panel .list-group-item {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9) !important;
    color: #cbd5e1;
}

body.lux-shell-dark .lux-appconfig-panel__footer {
    background: rgba(15, 23, 42, 0.65);
    border-top-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-hero-identity__value-btn,
body.lux-shell-dark .lux-hero-identity__editor,
body.lux-shell-dark .lux-appconfig-hero__meta-static--compact,
body.lux-shell-dark .lux-hero-identity__input,
body.lux-shell-dark .lux-hero-identity__select,
body.lux-shell-dark .lux-appconfig-hero__meta-editor,
body.lux-shell-dark .lux-appconfig-hero__meta-input,
body.lux-shell-dark .lux-appconfig-hero__meta-select,
body.lux-shell-dark .lux-appconfig-panel__role-bar,
body.lux-shell-dark .lux-ac-role-bar,
body.lux-shell-dark .lux-ac-role-bar__members-btn,
body.lux-shell-dark .lux-ac-role-bar__refresh-btn,
body.lux-shell-dark .lux-ac-role-panel,
body.lux-shell-dark .lux-appconfig-panel__toolbar,
body.lux-shell-dark .lux-appconfig-panel__expand-actions,
body.lux-shell-dark .lux-appconfig-panel__filters,
body.lux-shell-dark .lux-appconfig-panel__search,
body.lux-shell-dark .lux-appconfig-panel__refresh {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-ac-role-bar__title,
body.lux-shell-dark .lux-ac-role-panel__header strong,
body.lux-shell-dark .lux-ac-role-panel__member-copy strong,
body.lux-shell-dark .lux-ac-role-panel__add-copy strong {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-ac-role-panel__member,
body.lux-shell-dark .lux-ac-role-panel__search,
body.lux-shell-dark .lux-ac-role-panel__close,
body.lux-shell-dark .lux-ac-role-panel__role-select.noborderselect {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
    color: #cbd5e1;
}

body.lux-shell-dark .lux-ac-role-panel__footer {
    background: rgba(15, 23, 42, 0.45);
    border-top-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-hero-identity__value,
body.lux-shell-dark .lux-hero-identity__input,
body.lux-shell-dark .lux-hero-identity__select,
body.lux-shell-dark .lux-appconfig-hero__meta-input,
body.lux-shell-dark .lux-appconfig-hero__meta-select,
body.lux-shell-dark .lux-ac-field__value,
body.lux-shell-dark .lux-ac-field__input,
body.lux-shell-dark .lux-ac-field__select,
body.lux-shell-dark .lux-appconfig-panel__search input {
    color: #f8fafc;
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-appconfig-panel__header {
    background: rgba(15, 23, 42, 0.45);
}

body.lux-shell-dark .lux-hero-identity__value-btn:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
}

body.lux-shell-dark .lux-hero-identity__edit-hint {
    color: #a5b4fc;
}

body.lux-shell-dark .lux-appconfig-hero__meta-edit {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
    color: #c7d2fe;
}

body.lux-shell-dark .lux-appconfig-panel__dirty-badge {
    color: #fcd34d;
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(245, 158, 11, 0.28);
}

body.lux-shell-dark .lux-appconfig-module__count {
    color: #cbd5e1;
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-appconfig-module.is-enabled .lux-appconfig-module__count {
    color: #c7d2fe;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

body.lux-shell-dark .lux-appconfig-panel__expand-btn:hover {
    background: rgba(15, 23, 42, 0.55);
    color: #e2e8f0;
}

body.lux-shell-dark .lux-appconfig-panel__filter {
    color: #94a3b8;
}

body.lux-shell-dark .lux-appconfig-panel__filter:hover {
    color: #e2e8f0;
    background: rgba(15, 23, 42, 0.55);
}

body.lux-shell-dark .lux-appconfig-panel__filter-empty {
    background: rgba(15, 23, 42, 0.45);
    border-color: rgba(51, 65, 85, 0.7);
}

body.lux-shell-dark .lux-appconfig-panel__filter-empty p {
    color: #94a3b8;
}

body.lux-shell-dark .lux-appconfig-empty {
    background: rgba(15, 23, 42, 0.5);
    border-color: rgba(51, 65, 85, 0.7);
}

/* ========== luxury-auth.css ========== */

/* ========== Auth pages — luxury split layout ========== */

/* Lock auth pages to the viewport so the login card does not scroll. */
.auth {
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    overflow: hidden;
}

body:has(.auth),
#root:has(.auth) {
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
}

.auth .auth-screen {
    position: relative;
    min-height: 0;
    height: 100%;
    width: 100%;
    max-width: 100%;
    display: flex;
    overflow: hidden;
    background: #0c1222;
}

.auth-screen__backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: #0c1222;
    background-image: url("/assets/images/login-background.jpeg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.auth-screen__backdrop::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            112deg,
            rgba(8, 12, 28, 0.94) 0%,
            rgba(10, 22, 48, 0.88) 38%,
            rgba(13, 71, 90, 0.55) 52%,
            rgba(15, 23, 42, 0.72) 68%,
            rgba(8, 12, 28, 0.82) 100%
        ),
        radial-gradient(ellipse 80% 60% at 20% 80%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22), transparent 55%),
        radial-gradient(ellipse 60% 50% at 85% 20%, rgba(20, 184, 166, 0.12), transparent 50%);
    pointer-events: none;
}

.auth-screen__layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

/* —— Brand panel —— */
.auth-screen__brand {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    max-height: 100vh;
    padding: clamp(0.75rem, 2vh, 1.5rem) clamp(1.25rem, 3vw, 2rem);
    overflow: hidden;
}

.auth-screen__brand-scrim {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, transparent 40%),
        linear-gradient(90deg, rgba(0, 0, 0, 0.35) 0%, transparent 70%);
    pointer-events: none;
}

.auth-screen__brand-content {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 640px;
    color: #f8fafc;
}

@media (min-width: 992px) {
    .auth-screen__brand-content {
        transform: scale(min(1, calc((100vh - 2.5rem) / 940)));
        transform-origin: center center;
    }
}

.auth-screen__brand-logo {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 1.25rem;
    padding: 0;
    background: none;
    border: none;
    backdrop-filter: none;
}

.auth-screen__brand-mark {
    position: relative;
    flex-shrink: 0;
    width: 64px;
    height: 64px;
}

.auth-screen__brand-mark-glow {
    position: absolute;
    inset: -8px;
    border-radius: 22px;
    background: radial-gradient(circle, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45), transparent 70%);
    filter: blur(8px);
    opacity: 0.85;
}

.auth-screen__brand-mark-ring {
    position: absolute;
    inset: 0;
    border-radius: 20px;
    padding: 2px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.55), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.85) 45%, rgba(20, 184, 166, 0.75));
    box-shadow:
        0 12px 32px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35),
        0 0 0 1px rgba(255, 255, 255, 0.12) inset;
}

.auth-screen__brand-mark-inner {
    position: absolute;
    inset: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: linear-gradient(160deg, #ffffff 0%, #f1f5f9 100%);
}

.auth-screen__brand-mark-icon {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.auth-screen__brand-wordmark {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-width: 0;
}

.auth-screen__brand-name-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.auth-screen__brand-name {
    font-size: clamp(1.375rem, 2.2vw, 1.75rem);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
    background: linear-gradient(135deg, #ffffff 0%, #e0e7ff 55%, #a5f3fc 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.25));
}

.auth-screen__brand-pro {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    box-sizing: border-box;
    min-height: 28px;
    padding: 4px 12px;
    margin-left: 8px;
    margin-top: 4px;
    border-radius: 9911px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 18px;
    text-transform: uppercase;
    color: #422006;
    background: linear-gradient(135deg, #fde68a 0%, #fbbf24 48%, #f59e0b 100%);
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
}

.auth-screen__brand-wordmark .brand-logo-wrapper {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.auth-screen__brand-wordmark .brand-logo-wrapper--image {
    align-items: center;
}

.auth-screen__brand-wordmark .app-brand-logo--auth {
    filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.25));
}

.auth-screen__brand-reg {
    font-size: 0.55em;
    font-weight: 700;
    vertical-align: super;
    color: rgba(226, 232, 240, 0.65);
    -webkit-text-fill-color: rgba(226, 232, 240, 0.65);
    background: none;
    filter: none;
}

.auth-screen__brand-tagline {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: rgba(226, 232, 240, 0.72);
    line-height: 1.4;
}

.auth-screen__brand-kicker {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem 0.7rem;
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(226, 232, 240, 0.78);
    line-height: 1.35;
}

.auth-screen__brand-kicker-label {
    font-weight: 700;
    letter-spacing: 0.12em;
    color: rgba(226, 232, 240, 0.82);
}

.auth-screen__brand-kicker-sep {
    width: 1px;
    height: 0.85em;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(148, 163, 184, 0.55) 20%,
        rgba(226, 232, 240, 0.75) 50%,
        rgba(148, 163, 184, 0.55) 80%,
        transparent 100%
    );
    opacity: 0.9;
}

.auth-screen__brand-kicker-ai {
    font-family: var(--lux-brand-font, inherit);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    line-height: 1.2;
    background-image: linear-gradient(110deg, #99f6e4 0%, #c4b5fd 48%, #5eead4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.auth-screen__brand-item--ai .auth-screen__brand-item-icon {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    color: #fff;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
}

.auth-screen__brand-item--ai .auth-screen__brand-item-icon .fe {
    color: inherit;
}

.auth-screen__brand-item--ai .auth-screen__brand-item-title {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.auth-screen__brand-item--ai .auth-screen__brand-item-title::after {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--lux-accent, #14b8a6);
    box-shadow: 0 0 0 2px rgba(var(--lux-accent-rgb, 20, 184, 166), 0.22);
}

.auth-screen__brand-title {
    margin: 0 0 12px;
    font-size: clamp(1.375rem, 2.4vw, 1.875rem);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.2;
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.auth-screen__brand-subtitle {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgba(226, 232, 240, 0.88);
    max-width: none;
}

.auth-screen__brand-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.auth-screen__brand-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.07);
    border: 0px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: 0.2s ease;
}

.auth-screen__brand-item:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateX(4px);
}

.auth-screen__brand-item-icon {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    color: #fff;
    font-size: 17px;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
}

.auth-screen__brand-item-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.auth-screen__brand-item-title {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
}

.auth-screen__brand-item-text {
    font-size: 12px;
    line-height: 1.5;
    color: rgba(226, 232, 240, 0.82);
}

.auth-login__ms-busy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 41px;
    min-width: 215px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
}

.auth-legal__content {
    max-height: min(52vh, 420px);
    overflow-y: auto;
    padding-right: 4px;
    font-size: 13px;
    line-height: 1.55;
    color: #475569;
}

.auth-legal__content--full {
    max-height: min(68vh, 560px);
}

.auth-legal__content p {
    margin-bottom: 0.75rem;
}

.auth-legal__heading {
    margin: 1rem 0 0.4rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
}

.auth-legal__updated {
    margin-top: 1.25rem;
    font-size: 12px;
    color: #94a3b8;
}

/* —— Form column —— */
.auth-screen__form {
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    padding: clamp(0.75rem, 2vh, 1.75rem) clamp(1rem, 3vw, 2.5rem) 0;
}

.auth-screen__form-inner {
    width: 100%;
    max-width: 400px;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
}

@media (min-width: 992px) {
    .auth-screen__form {
        align-items: stretch;
        justify-content: stretch;
        padding: clamp(1rem, 2.5vh, 2rem) clamp(1.25rem, 3.5vw, 3rem) 0;
    }

    .auth-screen__form-inner {
        max-width: 392px;
        margin-left: auto;
        margin-right: auto;
        transform: none;
    }

    .auth-screen__footer {
        max-width: 392px;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .auth-screen__footer-brand,
    .auth-screen__footer-nav {
        justify-content: center;
    }
}

/* —— Luxury login card —— */
.auth .auth-screen .auth-login__card {
    position: relative;
    margin: 0;
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.auth-login__card-glow {
    position: absolute;
    inset: -20% -12% -28%;
    z-index: 0;
    border-radius: 50%;
    background:
        radial-gradient(ellipse 70% 55% at 50% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28), transparent 62%),
        radial-gradient(ellipse 50% 40% at 85% 90%, rgba(20, 184, 166, 0.14), transparent 55%);
    filter: blur(28px);
    opacity: 0.9;
    pointer-events: none;
}

.auth-login__card-ring {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: 26px;
    padding: 1px;
    background: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35) 42%,
        rgba(20, 184, 166, 0.28) 68%,
        rgba(255, 255, 255, 0.55) 100%
    );
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.auth-login__card-inner {
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 24px;
    background:
        linear-gradient(168deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 250, 252, 0.97) 48%, rgba(255, 255, 255, 0.94) 100%);
    backdrop-filter: blur(24px) saturate(1.2);
    -webkit-backdrop-filter: blur(24px) saturate(1.2);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 1) inset,
        0 0 0 1px rgba(15, 23, 42, 0.05),
        0 4px 6px rgba(15, 23, 42, 0.03),
        0 20px 48px rgba(15, 23, 42, 0.14),
        0 40px 80px rgba(15, 23, 42, 0.1);
    overflow: hidden;
}

.auth-login__card-inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 12%;
    right: 12%;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45) 30%,
        rgba(20, 184, 166, 0.4) 70%,
        transparent
    );
    pointer-events: none;
}

.auth-login__head {
    text-align: center;
    padding: clamp(1rem, 2.2vh, 1.75rem) clamp(1.25rem, 2.5vw, 2rem) 0.2rem;
}

.auth-login__head .text-center.mb-1 {
    margin-bottom: 0 !important;
}

.auth-login__head .header-brand {
    padding: 0;
    margin: 0 auto 1rem;
    border: none;
    background: none;
    display: flex;
    justify-content: center;
    width: 100%;
}

.auth-login__brand {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 15px;
    margin-bottom: 0 !important;
}

.auth-login__brand .app-brand-block,
.auth-login__brand .app-brand-block--wordmark {
    align-items: center;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
}

.auth-login__brand .app-brand-wordmark__mark {
    margin-inline: auto;
}

.auth-login__brand .app-brand-wordmark__logo-col {
    align-items: stretch;
}

.auth-login__brand .brand-logo-wrapper,
.auth-login__brand .brand-logo-wrapper--image,
.auth-login__brand .brand-logo-wrapper--logo-only {
    justify-content: flex-start;
    width: fit-content;
    max-width: 100%;
}

.auth-login__brand .app-brand-wordmark__rule {
    align-self: flex-start;
}

.auth-login__brand .app-brand-tagline--card {
    align-self: stretch;
}

.auth-login__brand .app-brand-logo--card {
    max-height: 1.75rem;
    max-width: 14rem;
}

.auth-login__ai-whisper {
    position: relative;
    z-index: 1;
    margin-top: auto;
    padding: 0.55rem clamp(1.25rem, 2.5vw, 2rem) 0.7rem;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.5), rgba(248, 250, 252, 0.95));
    text-align: center;
    pointer-events: none;
    user-select: none;
}

.auth-login__ai-whisper-line {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    max-width: 100%;
    min-height: 1.1rem;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.35;
    color: #94a3b8;
}

.auth-login__ai-whisper-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    border-radius: 5px;
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.16), rgba(91, 95, 244, 0.14));
    color: #0d9488;
    font-size: 0.625rem;
    line-height: 1;
}

.auth-login__ai-whisper-icon .fe {
    line-height: 1;
    color: #5b5ff4;
}

.auth-login__ai-whisper-kicker {
    flex-shrink: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: linear-gradient(110deg, #0d9488 0%, #5b5ff4 55%, #14b8a6 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.auth-login__ai-whisper-live {
    position: relative;
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.18);
}

.auth-login__ai-whisper-live::after {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: 50%;
    border: 1px solid rgba(34, 197, 94, 0.55);
    animation: auth-login-ai-live 1.8s ease-out infinite;
}

.auth-login__ai-whisper-sep {
    flex-shrink: 0;
    color: #cbd5e1;
}

.auth-login__ai-whisper-text {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #64748b;
}

.auth-login__ai-whisper-caret {
    flex-shrink: 0;
    width: 1px;
    height: 0.85em;
    margin-left: 1px;
    border-radius: 1px;
    background: #cbd5e1;
    animation: auth-login-ai-caret 1.1s steps(1) infinite;
}

@keyframes auth-login-ai-caret {
    0%,
    45% {
        opacity: 0.85;
    }
    50%,
    100% {
        opacity: 0;
    }
}

@keyframes auth-login-ai-live {
    0% {
        transform: scale(0.85);
        opacity: 0.7;
    }
    70% {
        transform: scale(1.85);
        opacity: 0;
    }
    100% {
        transform: scale(1.85);
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .auth-login__ai-whisper-caret {
        animation: none;
        opacity: 0.55;
    }

    .auth-login__ai-whisper-live::after {
        animation: none;
        opacity: 0;
    }
}

.auth-login__eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
}

.auth .auth-screen .auth-login__title.card-title {
    margin: 0 0 0.4rem;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.2;
    color: #0f172a;
}

.auth-login__subtitle {
    margin: 0 auto;
    max-width: 18rem;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.5;
    color: #64748b;
}

.auth .auth-screen .auth-login__body.card-body {
    padding: clamp(0.75rem, 1.8vh, 1.25rem) clamp(1.25rem, 2.5vw, 2rem) clamp(0.85rem, 2vh, 1.35rem);
}

.auth-login__foot {
    padding: 0 clamp(1.25rem, 2.5vw, 2rem) clamp(0.85rem, 2vh, 1.35rem);
    text-align: center;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.5), rgba(248, 250, 252, 0.95));
}

.auth-login__foot-text {
    margin: 0;
    padding-top: 1rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #64748b;
}

.auth-login__link {
    font-weight: 700;
    color: var(--lux-primary, #5b5ff4) !important;
    text-decoration: none;
    transition: color 0.15s ease;
}

.auth-login__link:hover {
    color: var(--lux-primary-dark, #3730a3) !important;
    text-decoration: underline;
}

.auth-login__label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    width: 100%;
}

.auth .auth-screen .auth-login__card .form-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.auth .auth-screen .auth-login__card .form-group {
    margin-bottom: clamp(0.55rem, 1.4vh, 1rem);
}

.auth-login__remember {
    margin-bottom: 0.35rem !important;
}

.auth-login__remember .custom-control-label {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #475569;
}

.auth .auth-screen .auth-login__card .auth-login__field.passwordinputcontainer {
    position: relative;
}

.auth .auth-screen .auth-login__card .auth-login__field.passwordinputcontainer .input-icon-addon {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: 2.75rem;
    min-width: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 1rem;
    pointer-events: none;
}

.auth .auth-screen .auth-login__card .auth-login__field.passwordinputcontainer .form-control,
.auth .auth-screen .auth-login__card .auth-login__field.passwordinputcontainer .passwordinput {
    padding-left: 2.75rem !important;
}

.auth .auth-screen .auth-login__card .auth-login__field.passwordinputcontainer .passwordinput {
    padding-right: 2.75rem !important;
}

.auth .auth-screen .auth-login__card .form-control {
    min-height: clamp(40px, 5.5vh, 48px);
    border-radius: 14px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    font-size: 0.875rem;
    font-weight: 500;
    color: #0f172a;
    background: rgba(255, 255, 255, 0.92);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.auth .auth-screen .auth-login__card .form-control::placeholder {
    color: #94a3b8;
    font-weight: 400;
}

.auth .auth-screen .auth-login__card .form-control:focus {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.55);
    background: #fff;
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2),
        0 0 0 4px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.auth-login__actions.form-footer {
    margin-top: 0.25rem;
    padding: 0;
}

.auth .auth-screen .auth-login__card .auth-login__submit.btn-primary,
.auth .auth-screen .auth-login__card .form-footer .btn-primary {
    min-height: clamp(42px, 5.8vh, 50px);
    border-radius: 14px;
    font-weight: 700;
    font-size: 0.9375rem;
    letter-spacing: 0.01em;
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4) 0%, #6366f1 42%, var(--lux-accent, #14b8a6) 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.25) inset,
        0 12px 28px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.32);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.auth .auth-screen .auth-login__card .auth-login__submit.btn-primary:hover,
.auth .auth-screen .auth-login__card .form-footer .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.3) inset,
        0 16px 36px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.38);
}

.auth-login__sso {
    display: flex;
    justify-content: center;
    width: 100%;
}

.auth-login__ms {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.auth-login__ms .microsoftlogin {
    flex-shrink: 0;
    align-self: center;
}

.auth-login__ms-error {
    width: 100%;
    max-width: 280px;
    margin-top: 0.5rem;
    text-align: center;
}

.auth .auth-screen .auth-login__or {
    color: #94a3b8;
    margin: clamp(0.55rem, 1.4vh, 1rem) 0 clamp(0.45rem, 1.2vh, 0.85rem);
}

.auth-login__success {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 1rem 1.1rem;
    border-radius: 14px;
    background: rgba(16, 185, 129, 0.08);
    border: 0px solid rgba(16, 185, 129, 0.22);
}

.auth-login__success .fe {
    flex-shrink: 0;
    margin-top: 0.1rem;
    font-size: 1.25rem;
    color: #059669;
}

.auth-login__success p {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.55;
    color: #047857;
    font-weight: 500;
}

/* —— Page footer (below glass card, on backdrop) —— */
.auth-screen__footer {
    flex-shrink: 0;
    width: 100%;
    max-width: 400px;
    margin: 0.75rem auto 0;
    padding: 0 0.25rem 0.85rem;
    text-align: center;
}

.auth-screen__footer-divider {
    height: 1px;
    margin: 0 0 clamp(0.4rem, 1vh, 0.75rem);
    width: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.1) 12%,
        rgba(20, 184, 166, 0.32) 50%,
        rgba(255, 255, 255, 0.1) 88%,
        transparent 100%
    );
    opacity: 0.9;
}

.auth-screen__footer-brand {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.4rem 0.65rem;
    margin-bottom: clamp(0.3rem, 0.8vh, 0.55rem);
}

.auth-screen__footer-tagline {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(226, 232, 240, 0.82);
    line-height: 1.35;
}

.auth-screen__footer-version {
    display: inline-flex;
    align-items: center;
    padding: 0.125rem 0.625rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: rgba(226, 232, 240, 0.88);
    background: rgba(255, 255, 255, 0.06);
    border: 0px solid rgba(255, 255, 255, 0.12);
}

.auth-screen__footer-legal {
    margin: 0 0 clamp(0.3rem, 0.8vh, 0.55rem);
    max-width: none;
    font-size: 0.75rem;
    line-height: 1.4;
    color: rgba(148, 163, 184, 0.82);
}

.auth-screen__footer-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.625rem;
    margin: 0;
}

.auth-screen__footer-link {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: rgba(203, 213, 225, 0.82);
    text-decoration: none;
    transition: color 0.18s ease, opacity 0.18s ease;
}

.auth-screen__footer-link:hover {
    color: #fff;
    text-decoration: none;
    opacity: 1;
}

.auth-screen__footer-sep {
    color: rgba(148, 163, 184, 0.4);
    font-size: 0.6875rem;
    line-height: 1;
    user-select: none;
}

.auth .auth-screen .auth-login__card .text-muted {
    color: #64748b !important;
}

.auth .auth-screen .auth-login__card .text-primary {
    color: var(--lux-primary, #5b5ff4) !important;
    font-weight: 600;
}

.auth .auth-screen .auth-login__card .auth-login__alert {
    margin-bottom: 1rem;
    border-radius: 14px;
    border: 0px solid rgba(239, 68, 68, 0.22);
    background: linear-gradient(180deg, #fef2f2, #fff5f5);
    font-size: 0.8125rem;
    font-weight: 500;
}

/* Mobile: stack — brand becomes compact header band */
@media (max-width: 991px) {
    .auth-screen__layout {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
    }

    .auth-screen__brand {
        height: auto;
        max-height: none;
        flex-shrink: 0;
        padding: 0.85rem 1.25rem 0.65rem;
        align-items: flex-start;
    }

    .auth-screen__brand-content {
        transform: none;
    }

    .auth-screen__brand-headline,
    .auth-screen__brand-list {
        display: none;
    }

    .auth-screen__brand-logo {
        margin-bottom: 0;
        gap: 14px;
    }

    .auth-screen__brand-mark {
        width: 48px;
        height: 48px;
    }

    .auth-screen__brand-mark-icon {
        width: 28px;
        height: 28px;
    }

    .auth-screen__brand-name {
        font-size: 1.25rem;
    }

    .auth-screen__brand-tagline {
        font-size: 12px;
    }

    .auth-screen__form {
        align-items: stretch;
        justify-content: stretch;
        padding: 0 1.25rem 0;
        overflow: hidden;
    }

    .auth-screen__form-inner {
        transform: none;
        max-width: 100%;
        height: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .auth-screen__footer {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
        margin-top: 0.65rem;
        padding-bottom: 0.85rem;
    }

    .auth-screen__footer-brand {
        flex-direction: column;
    }

    .auth-screen__footer-legal {
        font-size: 0.75rem;
    }

    .auth-screen__backdrop::after {
        background:
            linear-gradient(
                180deg,
                rgba(8, 12, 28, 0.88) 0%,
                rgba(10, 22, 48, 0.75) 28%,
                rgba(15, 23, 42, 0.65) 100%
            );
    }
}

/* Short viewports: keep form readable without hiding brand */
@media (max-height: 820px) {
    .auth-login__eyebrow {
        margin-bottom: 0.2rem;
        font-size: 0.6875rem;
    }

    .auth .auth-screen .auth-login__title.card-title {
        font-size: 1.25rem;
        margin-bottom: 0.25rem;
    }

    .auth-login__subtitle {
        font-size: 0.75rem;
        line-height: 1.35;
    }

    .auth-screen__footer-tagline {
        font-size: 0.6875rem;
    }
}

@media (max-height: 700px) {
    .auth-login__subtitle {
        display: none;
    }

    .auth-screen__footer-tagline,
    .auth-screen__footer-version {
        display: none;
    }
}

@media (max-width: 767px) {
    .auth-login__head {
        padding: 1.1rem 1.25rem 0.1rem;
    }

    .auth .auth-screen .auth-login__body.card-body,
    .auth-login__foot {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .auth .auth-screen .auth-login__title.card-title {
        font-size: 1.3125rem;
    }
}

/* ========== luxury-project-details.css ========== */

/* ========== Project Details — luxury dashboard layout ========== */

.pd-page {
    --pd-radius: 22px;
    --pd-radius-sm: 14px;
    --pd-gap: 18px;
    padding: 0 var(--lux-page-gutter-x) var(--lux-page-block-bottom);
}

.pd-page__body {
    padding-top: 4px;
}

/* Project details — align horizontal rhythm with list / deliverables pages */
.lux-project-details-page.pd-page {
    --pd-gap: 14px;
    padding: 0 var(--lux-page-gutter-x) var(--lux-page-block-bottom);
}

.lux-project-details-page .pd-page__body {
    padding-top: 0;
}

/* Unified back navigation — “Back to &lt;page&gt;”, small type */
.lux-back-nav,
.pd-back-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.35rem;
    margin: 0 0 0.5rem;
    font-size: 0.6875rem;
    line-height: 1.35;
    font-family: Inter, system-ui, -apple-system, sans-serif;
}

.lux-back-nav--with-actions {
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
}

.lux-back-nav__trail {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.35rem;
    min-width: 0;
}

.lux-back-nav__actions {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-left: auto;
}

.lux-back-nav__action-link {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin: 0;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    font-size: inherit;
    font-weight: 600;
    font-family: inherit;
    letter-spacing: 0.01em;
    color: #475569;
    text-decoration: none;
    transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease;
}

.lux-back-nav__action-link:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
}

.lux-back-nav__link,
.lux-bid-detail__back,
.lux-inv-detail__back-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin: 0;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    font-size: inherit;
    font-weight: 600;
    font-family: inherit;
    letter-spacing: 0.01em;
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
    transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease;
}

.lux-back-nav__link:hover,
.lux-bid-detail__back:hover,
.lux-inv-detail__back-btn:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
}

.lux-back-nav__icon {
    font-size: 0.75rem;
    line-height: 1;
    opacity: 0.9;
}

.lux-back-nav__text {
    font-size: inherit;
    font-weight: inherit;
}

.lux-back-nav__sep,
.lux-bid-detail__breadcrumb-sep {
    color: #cbd5e1;
    font-size: inherit;
    font-weight: 500;
}

.lux-back-nav__current,
.lux-bid-detail__breadcrumb-current {
    font-size: inherit;
    font-weight: 600;
    color: #64748b;
}

.pd-back-nav__link {
    margin: 0;
}

.lux-project-details-page .pd-hero {
    margin: 0 0 0.65rem;
}

.lux-project-details-page .pd-hero.pd-hero--dense {
    padding: 0.85rem 1rem 0.9rem;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
}

.lux-project-details-page .pd-hero--dense .pd-hero__glow {
    display: none;
}

.lux-project-details-page .pd-hero--dense .pd-hero__inner {
    gap: 0.75rem;
    align-items: center;
}

.lux-project-details-page .pd-hero--dense .pd-hero__title {
    margin: 0.25rem 0 0.4rem;
    font-size: 1.25rem;
    letter-spacing: -0.03em;
    line-height: 1.25;
}

.lux-project-details-page .pd-hero--dense .pd-hero__meta-row {
    margin-bottom: 0;
    gap: 0.35rem;
}

.lux-project-details-page .pd-hero--dense .pd-hero__badge {
    padding: 0.15rem 0.55rem;
    font-size: 0.62rem;
}

.lux-project-details-page .pd-hero--dense .pd-hero__id {
    font-size: 0.68rem;
}

.lux-project-details-page .pd-hero--dense .pd-chip {
    padding: 0.2rem 0.55rem;
    font-size: 0.68rem;
    gap: 0.3rem;
}

.lux-project-details-page .pd-hero--dense .pd-hero__chips {
    gap: 0.35rem;
}

.lux-project-details-page .pd-hero--dense .pd-hero__facts {
    margin: 0.65rem 0 0;
    padding: 0.45rem;
    gap: 0.35rem;
    border-radius: 12px;
    box-shadow: none;
    background: rgba(248, 250, 252, 0.9);
}

.lux-project-details-page .pd-hero--dense .pd-hero__fact {
    padding: 0.35rem 0.45rem;
    gap: 0.4rem;
    border-radius: 10px;
    background: #fff;
}

.lux-project-details-page .pd-hero--dense .pd-hero__fact-icon {
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 8px;
    font-size: 0.75rem;
}

.lux-project-details-page .pd-hero--dense .pd-hero__fact-label {
    font-size: 0.55rem;
}

.lux-project-details-page .pd-hero--dense .pd-hero__fact-value {
    font-size: 0.78rem;
    margin-top: 0;
}

.lux-project-details-page .pd-nav {
    margin-bottom: 0.75rem;
}

.lux-project-details-page .pd-overview {
    margin: 0;
}

/* Project details — rich summary tiles */
.lux-project-details-page .pd-summary-stats {
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.lux-project-details-page .pd-summary-stats .pd-stat-tile {
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    border-radius: 16px;
}

.lux-project-details-page .pd-summary-stats .pd-stat-tile:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.lux-project-details-page .pd-stat-tile__hint {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.62rem;
    font-weight: 650;
    color: #94a3b8;
}

.lux-project-details-page .lux-pd-tab .lux-settings-tab__stats {
    border-bottom: none;
    background: transparent;
}

.lux-project-details-page .lux-pd-tab .lux-settings-tab__stat {
    border: none;
    box-shadow: none;
    background: transparent;
}

.lux-project-details-page .lux-pd-dashboard__categories {
    border: none;
    background: transparent;
    padding-left: 0;
    padding-right: 0;
}

.lux-project-details-page .lux-pd-dashboard__category-row {
    border: none;
    background: transparent;
    padding-left: 0;
    padding-right: 0;
}

/* Deliverable details — same shell as project details */
.lux-deliverable-details-page.pd-page {
    --pd-gap: 14px;
    padding: 0 var(--lux-page-gutter-x) var(--lux-page-block-bottom);
}

.lux-deliverable-details-page .pd-page__body {
    padding-top: 0;
}

.lux-deliverable-details-page .pd-hero {
    margin: 0 0 0.75rem;
}

.lux-deliverable-details-page .pd-nav {
    margin-bottom: 0.75rem;
}

.lux-deliverable-details-page .pd-overview,
.lux-deliverable-details-page .lux-del-overview {
    margin: 0;
}

.lux-deliverable-details-page .pd-back-nav {
    margin: 0.65rem 0 0.5rem;
}

.lux-del-hero.pd-hero,
.lux-pd-hero.pd-hero {
    border-radius: 16px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 32px rgba(15, 23, 42, 0.06);
}

.lux-pd-hero.pd-hero .pd-hero__badge {
    letter-spacing: 0.04em;
}

.lux-pd-hero.pd-hero .pd-hero__title {
    font-family: "Plus Jakarta Sans", Inter, system-ui, sans-serif;
}

.lux-del-overview.pd-workspace {
    align-items: start;
    gap: var(--pd-gap, 14px);
}

.lux-del-overview__main {
    min-width: 0;
}

.lux-del-page-loading {
    padding: 2rem 1rem;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #64748b;
}

.lux-detail-page-skeleton {
    padding: 0 0 1rem;
}

.lux-detail-page-skeleton__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 0.75rem;
}

@media (max-width: 991px) {
    .lux-detail-page-skeleton__grid {
        grid-template-columns: 1fr;
    }
}

.lux-chart-panel-skeleton {
    width: 100%;
}

.lux-item-collab__loading-row {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
    margin-bottom: 0.85rem;
}

.lux-del-empty__icon {
    display: inline-grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 0.65rem;
    border-radius: 14px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 1.25rem;
}

/* KPI strip */
.lux-del-kpi-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
}

.lux-del-kpi {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.55rem;
    border-radius: 12px;
    border: 0px solid rgba(15, 23, 42, 0.07);
    background: #f8fafc;
}

.lux-del-kpi.is-green { background: rgba(16, 185, 129, 0.08); border-color: rgba(16, 185, 129, 0.2); }
.lux-del-kpi.is-amber { background: rgba(245, 158, 11, 0.08); border-color: rgba(245, 158, 11, 0.2); }
.lux-del-kpi.is-slate { background: rgba(148, 163, 184, 0.1); }
.lux-del-kpi.is-rose { background: rgba(244, 63, 94, 0.06); border-color: rgba(244, 63, 94, 0.15); }

.lux-del-kpi__icon {
    width: 1.75rem;
    height: 1.75rem;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.85);
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-del-kpi__value {
    display: block;
    font-size: 1.125rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-del-kpi__label {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

/* Inner sections */
.lux-del-section {
    border-radius: 14px;
    border: 0px solid rgba(15, 23, 42, 0.07);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-del-section__head {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.75rem 0.9rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), #fff 55%);
}

.lux-del-section__icon {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-del-section__title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-del-section__subtitle {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.4;
}

.lux-del-section__body {
    padding: 0.85rem 0.9rem 0.95rem;
}

.lux-del-section.is-flush .lux-del-section__body {
    padding: 0;
}

.lux-del-about {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: #334155;
    font-weight: 500;
}

.lux-del-fact-group {
    border-radius: 14px;
    border: 0px solid rgba(15, 23, 42, 0.07);
    overflow: hidden;
    background: #fff;
}

.lux-del-fact-group.is-delivery {
    border-color: rgba(14, 165, 233, 0.15);
    background: linear-gradient(180deg, rgba(14, 165, 233, 0.04), #fff 40%);
}

.lux-del-fact-group.is-project {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), #fff 40%);
}

.lux-del-fact-group__head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.lux-del-fact-group__emoji {
    font-size: 1.1rem;
}

.lux-del-fact-group__title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-del-fact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem 0.65rem;
    padding: 0.75rem 0.85rem 0.85rem;
}

.lux-del-fact--wide {
    grid-column: 1 / -1;
}

.lux-del-fact {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.lux-del-fact__label {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-del-fact__value {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 0.55rem;
    border-radius: 10px;
    border: 0px solid #e2e8f0;
    background: #f8fafc;
    font-size: 0.75rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.35;
    word-break: break-word;
}

.lux-del-fact__icon {
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.lux-del-collapsible {
    border-radius: 14px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    overflow: hidden;
}

.lux-del-collapsible__summary {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.7rem 0.85rem;
    cursor: pointer;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    list-style: none;
}

.lux-del-collapsible__summary::-webkit-details-marker {
    display: none;
}

.lux-del-collapsible__chevron {
    margin-left: auto;
    color: #94a3b8;
    transition: transform 0.15s ease;
}

.lux-del-collapsible[open] .lux-del-collapsible__chevron {
    transform: rotate(180deg);
}

.lux-del-collapsible__body {
    padding: 0 0.85rem 0.85rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

/* Right rail */
.lux-del-rail.pd-workspace__aside {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lux-del-rail__head {
    padding: 0 0.15rem;
}

.lux-del-rail__eyebrow {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-del-rail__hint {
    margin: 0.15rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-del-aside-card {
    border-radius: 16px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.lux-del-aside-card__head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 0.8rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), #fff 55%);
}

.lux-del-aside-card__icon {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-del-aside-card__title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-del-aside-card__body {
    padding: 0.75rem 0.8rem 0.85rem;
}

.lux-del-aside-card__body--checklist {
    padding: 0.65rem 0.75rem 0.75rem;
}

.lux-del-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 0.65rem;
    padding-left: 0.35rem;
}

.lux-del-timeline__step {
    display: flex;
    gap: 0.55rem;
    padding: 0.45rem 0 0.45rem 0.15rem;
    position: relative;
}

.lux-del-timeline__step:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 0.4rem;
    top: 1.35rem;
    bottom: -0.2rem;
    width: 2px;
    background: #e2e8f0;
}

.lux-del-timeline__step.is-active .lux-del-timeline__dot {
    background: var(--lux-primary, #5b5ff4);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.lux-del-timeline__dot {
    width: 10px;
    height: 10px;
    margin-top: 0.35rem;
    border-radius: 999px;
    background: #cbd5e1;
    flex-shrink: 0;
    z-index: 1;
}

.lux-del-timeline__label {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-del-timeline__value {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-del-meta-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding-top: 0.5rem;
    border-top: 1px dashed rgba(15, 23, 42, 0.1);
}

.lux-del-meta-list__row {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.6875rem;
}

.lux-del-meta-list__row span {
    color: #64748b;
    font-weight: 600;
}

.lux-del-meta-list__row strong {
    color: #0f172a;
    font-weight: 800;
    text-align: right;
}

@media (max-width: 1100px) {
    .lux-del-kpi-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-del-fact-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .lux-del-overview.pd-workspace {
        grid-template-columns: 1fr;
    }
}

/* Work items list — same gutter rhythm as project list */
.lux-workitem-requests {
    width: 100%;
    padding: 0 0 var(--lux-page-block-bottom);
    background:
        radial-gradient(ellipse 65% 40% at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), transparent 55%),
        radial-gradient(ellipse 50% 35% at 100% 0%, rgba(20, 184, 166, 0.03), transparent 50%),
        transparent;
}

.workitemslist.lux-workitem-requests {
    padding-bottom: 1rem;
}

/* Context card — horizontal gutters from lux-register-page child rule */
.lux-workitem-requests .lux-deliverable-context {
    margin-top: 0.35rem;
    margin-bottom: var(--lux-page-block-gap-y);
    padding: 0.65rem 0.85rem 0.7rem;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 14px;
    background:
        radial-gradient(110% 80% at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 52%),
        radial-gradient(80% 60% at 100% 0%, rgba(20, 184, 166, 0.05), transparent 48%),
        linear-gradient(165deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 8px 20px rgba(15, 23, 42, 0.04);
}

.lux-workitem-context .lux-deliverable-context__project-link {
    font-size: 0.625rem;
    font-weight: 700;
    color: var(--lux-primary, #5b5ff4);
    text-decoration: none;
}

.lux-workitem-context .lux-deliverable-context__project-link:hover {
    text-decoration: underline;
}

.lux-workitem-summary__stage-flow {
    margin: 0.35rem 0 0.45rem;
}

/* Work items — date toolbar (legacy; prefer PageInnerHeader date range) */
.lux-workitem-date-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem 0.75rem;
    margin: 0 0 0.75rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 16px;
    background:
        radial-gradient(110% 80% at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 52%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.95));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 10px 24px rgba(15, 23, 42, 0.04);
}

.lux-workitem-date-toolbar__main {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.lux-workitem-date-toolbar__icon {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.lux-workitem-date-toolbar__eyebrow {
    display: block;
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-workitem-date-toolbar__value {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-workitem-date-toolbar__presets {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.lux-workitem-date-toolbar__chip {
    padding: 0.28rem 0.55rem;
    border: 0px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease;
}

.lux-workitem-date-toolbar__chip:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-workitem-date-toolbar__chip.is-active {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

/* Work items — luxury register table (fluid, no horizontal scroll) */
.lux-workitem-list,
.lux-workitem-register__list {
    --lux-bid-list-cols:
        2rem
        4.25rem
        minmax(0, 1.7fr)
        minmax(0, 0.72fr)
        minmax(0, 0.95fr)
        minmax(0, 0.82fr)
        minmax(0, 0.72fr)
        minmax(0, 0.78fr)
        5.75rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.lux-workitem-list-shell .lux-bid-list__head,
.lux-workitem-list-shell .lux-bid-list__item,
.lux-workitem-register .lux-bid-list__head,
.lux-workitem-register .lux-bid-list__item {
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
    gap: 0.45rem;
    box-sizing: border-box;
}

.lux-workitem-register .lux-bid-list__body {
    overflow-x: hidden !important;
    overflow-y: visible;
    width: 100%;
    max-width: 100%;
}

.lux-workitem-register .lux-bid-list__item {
    min-height: 4.25rem;
    align-items: center;
}

.lux-workitem-register .lux-bid-list__col,
.lux-workitem-register .lux-bid-list__head-cell {
    min-width: 0;
    overflow: hidden;
}

.lux-workitem-register .lux-bid-list__col--actions,
.lux-workitem-register .lux-bid-list__head-cell--actions {
    overflow: visible;
    justify-self: end;
}

.lux-workitem-row__index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.45rem;
    height: 1.45rem;
    padding: 0 0.25rem;
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.12);
    font-size: 0.625rem;
    font-weight: 800;
    color: #64748b;
    font-variant-numeric: tabular-nums;
}

.lux-workitem-row__ref {
    display: inline-flex;
    max-width: 100%;
    padding: 0.16rem 0.4rem;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(248, 250, 252, 0.95);
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #475569;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-row__name-col {
    display: flex;
    flex-direction: column;
    gap: 0.16rem;
    min-width: 0;
}

.lux-workitem-row__name-col.is-clickable {
    cursor: pointer;
}

.lux-workitem-row__name {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    max-width: 100%;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #0f172a;
    text-decoration: none;
}

.lux-workitem-row__name-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-row__name i {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: var(--lux-primary, #5b5ff4);
    opacity: 0;
    transition: opacity 0.14s ease;
}

.lux-workitem-row:hover .lux-workitem-row__name,
.lux-workitem-row.is-menu-open .lux-workitem-row__name {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-workitem-row:hover .lux-workitem-row__name i,
.lux-workitem-row.is-menu-open .lux-workitem-row__name i {
    opacity: 1;
}

.lux-workitem-row__description {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-row__tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.22rem;
    max-width: 100%;
}

.lux-workitem-row__prio {
    display: inline-flex;
    padding: 0.1rem 0.38rem;
    border-radius: 999px;
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-workitem-row__prio.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-workitem-row__prio.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-workitem-row__prio.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-workitem-row__prio.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-workitem-row__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.18rem;
    padding: 0.1rem 0.38rem;
    border-radius: 999px;
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    max-width: 100%;
}

.lux-workitem-row__badge-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-row__badge.is-indigo {
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}

.lux-workitem-row__badge.is-slate {
    background: #f1f5f9;
    color: #64748b;
}

.lux-workitem-row__badge.is-overdue {
    background: rgba(244, 63, 94, 0.12);
    color: #be123c;
}

.lux-workitem-row__category {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    max-width: 100%;
    padding: 0.24rem 0.45rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(255, 255, 255, 0.92);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
}

.lux-workitem-row__category i {
    font-size: 0.7rem;
    color: var(--lux-primary, #5b5ff4);
    opacity: 0.75;
    flex-shrink: 0;
}

.lux-workitem-row__category > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-row__owner {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    max-width: 100%;
}

.lux-workitem-row__owner-avatar {
    width: 1.75rem;
    height: 1.75rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: linear-gradient(145deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22), rgba(20, 184, 166, 0.16));
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.05);
    font-size: 0.625rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-workitem-row__owner-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.02rem;
}

.lux-workitem-row__owner-name {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-row__owner-copy em {
    font-style: normal;
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-workitem-row__dates-col {
    min-width: 0;
}

.lux-workitem-row__dates {
    display: flex;
    flex-direction: column;
    gap: 0.16rem;
    min-width: 0;
}

.lux-workitem-row__date {
    display: flex;
    flex-direction: column;
    min-width: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-row__date em {
    font-style: normal;
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-workitem-row__date.is-due {
    color: #b45309;
}

.lux-workitem-row__date.is-due.is-late,
.lux-workitem-row.is-overdue .lux-workitem-row__date.is-due {
    color: #be123c;
}

.lux-workitem-row__hours {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    max-width: 100%;
}

.lux-workitem-row__hours-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.3rem;
    min-width: 0;
}

.lux-workitem-row__hours-label {
    font-size: 0.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
    flex-shrink: 0;
}

.lux-workitem-row__hours strong {
    min-width: 0;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-row__hours.is-green strong { color: #047857; }
.lux-workitem-row__hours.is-amber strong { color: #b45309; }
.lux-workitem-row__hours.is-indigo strong { color: #4338ca; }

.lux-workitem-row__hours-track {
    height: 0.32rem;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.lux-workitem-row__hours-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #14b8a6);
}

.lux-workitem-row__hours.is-green .lux-workitem-row__hours-fill {
    background: linear-gradient(90deg, #10b981, #34d399);
}

.lux-workitem-row__hours.is-amber .lux-workitem-row__hours-fill {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.lux-workitem-row__checklist {
    display: inline-flex;
    align-items: center;
    gap: 0.18rem;
    max-width: 100%;
    padding: 0.1rem 0.38rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.5rem;
    font-weight: 800;
    white-space: nowrap;
}

.lux-workitem-row__checklist-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-row__checklist.is-green {
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.18);
    color: #047857;
}
.lux-workitem-row__checklist.is-amber {
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(245, 158, 11, 0.2);
    color: #b45309;
}
.lux-workitem-row__checklist.is-slate {
    background: rgba(100, 116, 139, 0.1);
    border-color: rgba(100, 116, 139, 0.14);
    color: #475569;
}
.lux-workitem-row__checklist.is-muted {
    background: #f1f5f9;
    border-color: rgba(148, 163, 184, 0.18);
    color: #94a3b8;
}

.lux-workitem-row__status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.22rem;
    max-width: 100%;
    padding: 0.28rem 0.5rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.5625rem;
    font-weight: 800;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.lux-workitem-row__status-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-row__status.is-sky {
    background: rgba(14, 165, 233, 0.12);
    border-color: rgba(14, 165, 233, 0.18);
    color: #0369a1;
}
.lux-workitem-row__status.is-indigo {
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.18);
    color: #4338ca;
}
.lux-workitem-row__status.is-amber {
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(245, 158, 11, 0.2);
    color: #b45309;
}
.lux-workitem-row__status.is-green {
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.18);
    color: #047857;
}
.lux-workitem-row__status.is-slate {
    background: rgba(100, 116, 139, 0.1);
    border-color: rgba(100, 116, 139, 0.14);
    color: #475569;
}
.lux-workitem-row__status.is-rose {
    background: rgba(244, 63, 94, 0.12);
    border-color: rgba(244, 63, 94, 0.18);
    color: #be123c;
}

.lux-workitem-row__status .spin {
    animation: lux-spin 1s linear infinite;
}

.lux-workitem-row__actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.18rem;
    flex-shrink: 0;
    width: 100%;
}

.lux-workitem-row__action {
    width: 1.7rem;
    height: 1.7rem;
    flex: 0 0 1.7rem;
    display: grid;
    place-items: center;
    border-radius: 9px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(255, 255, 255, 0.96);
    color: #64748b;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
    cursor: pointer;
    transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease, transform 0.14s ease;
}

.lux-workitem-row__action:hover {
    color: var(--lux-primary-dark, #3730a3);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: #fff;
    transform: translateY(-1px);
}

.lux-workitem-row__action--menu {
    color: #475569;
}

.lux-workitem-row.is-deleted {
    opacity: 0.72;
}

@media (max-width: 1100px) {
    .lux-workitem-date-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-workitem-date-toolbar__presets {
        justify-content: flex-start;
    }

    .lux-workitem-list,
    .lux-workitem-register__list {
        --lux-bid-list-cols:
            1.75rem
            3.75rem
            minmax(0, 1.55fr)
            minmax(0, 0.65fr)
            minmax(0, 0.85fr)
            minmax(0, 0.75fr)
            minmax(0, 0.65fr)
            minmax(0, 0.7fr)
            5.5rem;
    }

    .lux-workitem-row__badge-text,
    .lux-workitem-row__checklist-text,
    .lux-workitem-row__owner-copy em {
        display: none;
    }
}

@media (max-width: 900px) {
    .lux-workitem-list,
    .lux-workitem-register__list {
        --lux-bid-list-cols:
            1.5rem
            minmax(0, 1.7fr)
            minmax(0, 0.9fr)
            minmax(0, 0.75fr)
            minmax(0, 0.8fr)
            5.25rem;
    }

    .lux-workitem-register .lux-bid-list__head-cell--id,
    .lux-workitem-register .lux-bid-list__col--id,
    .lux-workitem-register .lux-bid-list__head-cell--category,
    .lux-workitem-register .lux-bid-list__col--category,
    .lux-workitem-register .lux-bid-list__head-cell--dates,
    .lux-workitem-register .lux-bid-list__col--dates {
        display: none;
    }
}

/* Work item create panel (deliverable context + assign-task theme) */
.lux-create-panel--work-item-create .lux-create-panel__body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0;
    overflow: hidden;
}

.lux-workitem-create-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1;
    height: 100%;
}

.lux-workitem-create-context {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.95rem 1.1rem 0.9rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    background:
        radial-gradient(110% 100% at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 55%),
        radial-gradient(80% 80% at 100% 0%, rgba(20, 184, 166, 0.08), transparent 50%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.lux-workitem-create-context__hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
}

.lux-workitem-create-context__identity {
    min-width: 0;
    flex: 1;
}

.lux-workitem-create-context__badge {
    display: inline-flex;
    align-items: center;
    margin: 0 0 0.35rem;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-workitem-create-context__name {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: #0f172a;
    text-decoration: none;
}

.lux-workitem-create-context__name:hover {
    color: var(--lux-primary, #5b5ff4);
}

.lux-workitem-create-context__name i {
    font-size: 0.75rem;
    opacity: 0.55;
    flex-shrink: 0;
}

.lux-workitem-create-context__meta-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.45rem;
    margin: 0.4rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-workitem-create-context__project-link,
.lux-workitem-create-context__meta-line > span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: inherit;
    text-decoration: none;
}

.lux-workitem-create-context__project-link:hover {
    color: var(--lux-primary, #5b5ff4);
}

.lux-workitem-create-context__project-link i,
.lux-workitem-create-context__meta-line > span i {
    font-size: 0.75rem;
    opacity: 0.7;
}

.lux-workitem-create-context__dot {
    opacity: 0.45;
}

.lux-workitem-create-context__ref {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}

.lux-workitem-create-context__status {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.625rem;
}

.lux-workitem-create-context__status.is-green { color: #047857; }
.lux-workitem-create-context__status.is-amber { color: #b45309; }
.lux-workitem-create-context__status.is-sky { color: #0369a1; }
.lux-workitem-create-context__status.is-slate { color: #475569; }
.lux-workitem-create-context__status.is-rose { color: #be123c; }

.lux-workitem-create-context__orb {
    width: 2.75rem;
    height: 2.75rem;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: var(--lux-primary-dark, #3730a3);
    background:
        linear-gradient(145deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16), rgba(20, 184, 166, 0.12));
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
    font-size: 1.15rem;
}

.lux-workitem-create-context__facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-workitem-create-context__fact {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.6rem 0.65rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.lux-workitem-create-context__fact-icon {
    width: 1.75rem;
    height: 1.75rem;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.8rem;
}

.lux-workitem-create-context__fact-copy {
    min-width: 0;
}

.lux-workitem-create-context__fact-label {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-workitem-create-context__fact-value {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-create-panel__form {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.lux-workitem-create-panel__form .lux-planner-assign-form {
    min-height: 0;
    flex: 1;
}

.lux-create-panel--work-item-create .lux-planner-assign-form__scroll {
    padding: 0.85rem 1.05rem 1rem;
    background:
        radial-gradient(circle at top right, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 42%),
        linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.98));
}

.lux-create-panel--work-item-create .lux-planner-assign-form__sections .lux-create-section {
    border-radius: 16px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.lux-workitem-create-footer {
    border-top: 1px solid rgba(148, 163, 184, 0.14);
    background:
        linear-gradient(180deg, rgba(248, 250, 252, 0.98), #ffffff);
    padding: 0.85rem 1.05rem 1rem;
    box-shadow: 0 -10px 28px rgba(15, 23, 42, 0.04);
}

.lux-workitem-create-footer .lux-create-footer__alert {
    margin: -0.85rem -1.05rem 0.7rem;
    padding: 0.5rem 1.05rem;
}

.lux-workitem-create-footer__summary {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.7rem;
}

.lux-workitem-create-footer__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    min-width: 0;
    flex: 1;
}

.lux-workitem-create-footer__stat {
    min-width: 0;
    padding: 0.45rem 0.65rem;
    border-radius: 12px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.lux-workitem-create-footer__stat span {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-workitem-create-footer__stat strong {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-workitem-create-footer__empty {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.4;
}

.lux-workitem-create-footer__keep {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    padding: 0.4rem 0.65rem;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.9);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-workitem-create-footer__keep input {
    margin: 0;
}

.lux-workitem-create-footer__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0;
}

.lux-workitem-create-footer__hint {
    margin: 0;
    flex: 1;
    min-width: 12rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.4;
}

/* Portaled selects/dates above work-item create drawer */
body:has(#lux-workitem-create-panel.open) .custom-select__menu-portal {
    z-index: 13150 !important;
}

body:has(#lux-workitem-create-panel.open) #lux-date-picker-portal .react-datepicker-popper,
body:has(#lux-workitem-create-panel.open) .lux-date-picker-popper {
    z-index: 13150 !important;
}

@media (max-width: 900px) {
    .lux-workitem-create-context__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .lux-workitem-create-context__facts {
        grid-template-columns: 1fr;
    }

    .lux-workitem-create-footer__summary,
    .lux-workitem-create-footer__bar {
        flex-direction: column;
        align-items: stretch;
    }
}

/* File manager — luxury workspace */
.lux-file-manager {
    padding-bottom: var(--lux-page-block-bottom);
}

.lux-file-summary__folder-note {
    margin: 0.35rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-file-summary__folder-note i {
    margin-right: 0.25rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-file-summary__highlights {
    margin-top: 0.65rem;
}

.lux-file-recent {
    margin: 0 0 1rem;
    padding: 0.85rem 1rem 1rem;
    border-radius: 16px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), #fff 55%);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.lux-file-recent__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}

.lux-file-recent__eyebrow {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-file-recent__title {
    margin: 0.1rem 0 0;
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-file-recent__count {
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
}

.lux-file-recent__track {
    display: flex;
    gap: 0.55rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
    scrollbar-width: thin;
}

.lux-file-recent__card {
    position: relative;
    flex: 0 0 9.5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    padding: 0.7rem 0.75rem;
    border-radius: 14px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    text-align: left;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.lux-file-recent__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.lux-file-recent__icon {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    margin-bottom: 0.15rem;
}

.lux-file-recent__icon.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-file-recent__icon.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-file-recent__icon.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-file-recent__icon.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-file-recent__icon.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-file-recent__icon.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-file-recent__name {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-file-recent__meta {
    font-size: 0.5625rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-file-recent__star {
    position: absolute;
    top: 0.45rem;
    right: 0.45rem;
    color: #d97706;
    font-size: 0.6875rem;
}

.lux-file-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin: 0 0 0.85rem;
    padding: 0.65rem 0.85rem;
    border-radius: 14px;
    border: 0px solid rgba(15, 23, 42, 0.07);
    background: #fff;
}

.lux-file-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.15rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-file-breadcrumb__item {
    display: inline-flex;
    align-items: center;
}

.lux-file-breadcrumb__sep {
    margin: 0 0.25rem;
    color: #cbd5e1;
    font-size: 0.6875rem;
}

.lux-file-breadcrumb__link,
.lux-file-breadcrumb__current {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.6875rem;
    font-weight: 700;
    border: none;
    background: none;
    padding: 0.15rem 0.35rem;
    border-radius: 8px;
}

.lux-file-breadcrumb__link {
    color: var(--lux-primary, #5b5ff4);
    cursor: pointer;
}

.lux-file-breadcrumb__link:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-file-breadcrumb__current {
    color: #0f172a;
}

.lux-file-toolbar__actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.lux-file-toolbar__view {
    display: inline-flex;
    padding: 0.15rem;
    border-radius: 10px;
    background: #f1f5f9;
    border: 0px solid rgba(15, 23, 42, 0.06);
}

.lux-file-toolbar__view-btn {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
}

.lux-file-toolbar__view-btn.is-active {
    background: #fff;
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.lux-file-toolbar__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.75rem;
    border-radius: 10px;
    font-size: 0.6875rem;
    font-weight: 800;
    border: 0px solid transparent;
    cursor: pointer;
}

.lux-file-toolbar__btn--ghost {
    background: #fff;
    border-color: rgba(15, 23, 42, 0.1);
    color: #334155;
}

.lux-file-toolbar__btn--primary {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), #8b5cf6);
    color: #fff;
    box-shadow: 0 4px 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-file-list {
    --lux-bid-list-cols:
        2.25rem 2.75rem minmax(12rem, 1.5fr) minmax(7rem, 0.95fr) minmax(6.5rem, 0.8fr)
        minmax(6.5rem, 0.75fr) minmax(4.5rem, 0.55fr) 2.5rem;
}

.lux-file-list-shell .lux-bid-list__head,
.lux-file-list-shell .lux-bid-list__item {
    min-width: 52rem;
}

.lux-file-row {
    cursor: pointer;
}

.lux-file-row__type-icon {
    width: 1.75rem;
    height: 1.75rem;
    display: grid;
    place-items: center;
    border-radius: 8px;
    margin: 0 auto;
}

.lux-file-row__type-icon.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-file-row__type-icon.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-file-row__type-icon.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-file-row__type-icon.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-file-row__type-icon.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-file-row__type-icon.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-file-row__name {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.lux-file-row__name-text {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-file-row__star {
    display: inline;
    color: #d97706;
    font-size: 0.625rem;
    margin-left: 0.2rem;
}

.lux-file-row__kind {
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    width: fit-content;
    padding: 0.08rem 0.35rem;
    border-radius: 999px;
}

.lux-file-row__kind.is-indigo { background: rgba(99, 102, 241, 0.1); color: #4338ca; }
.lux-file-row__kind.is-rose { background: rgba(244, 63, 94, 0.1); color: #be123c; }
.lux-file-row__kind.is-sky { background: rgba(14, 165, 233, 0.1); color: #0369a1; }
.lux-file-row__kind.is-green { background: rgba(16, 185, 129, 0.1); color: #047857; }

.lux-file-row__shared-empty {
    font-size: 0.625rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-file-row__shared {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-file-row__avatars {
    display: flex;
}

.lux-file-row__avatar {
    width: 1.35rem;
    height: 1.35rem;
    margin-left: -0.25rem;
    border-radius: 999px;
    border: 2px solid #fff;
    display: grid;
    place-items: center;
    font-size: 0.5rem;
    font-weight: 800;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18), rgba(14, 165, 233, 0.14));
    color: var(--lux-primary-dark, #3730a3);
}

.lux-file-row__avatars .lux-file-row__avatar:first-child {
    margin-left: 0;
}

.lux-file-row__shared-more {
    font-size: 0.5625rem;
    font-weight: 800;
    color: #64748b;
}

.lux-file-row__owner {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.lux-file-row__owner-avatar {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: 0.5625rem;
    font-weight: 800;
    background: #f1f5f9;
    color: #475569;
    flex-shrink: 0;
}

.lux-file-row__owner-name {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-file-row__date,
.lux-file-row__size {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
}

.lux-file-grid-wrap {
    border-radius: 16px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    overflow: hidden;
}

.lux-file-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
    gap: 0.65rem;
    padding: 0.85rem;
}

.lux-file-grid__card {
    position: relative;
    border-radius: 14px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    overflow: hidden;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.lux-file-grid__card:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
}

.lux-file-grid__open {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
    padding: 0.75rem 0.75rem 2.15rem;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.lux-file-grid__icon {
    width: 2.25rem;
    height: 2.25rem;
    display: grid;
    place-items: center;
    border-radius: 12px;
    margin-bottom: 0.15rem;
}

.lux-file-grid__icon.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-file-grid__icon.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-file-grid__icon.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-file-grid__icon.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }

.lux-file-grid__name {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-file-grid__meta {
    font-size: 0.5625rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-file-grid__dot {
    margin: 0 0.15rem;
}

.lux-file-grid__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    margin-top: 0.15rem;
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
    font-size: 0.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: rgba(14, 165, 233, 0.1);
    color: #0369a1;
}

.lux-file-grid__actions {
    position: absolute;
    right: 0.35rem;
    bottom: 0.35rem;
    display: flex;
    gap: 0.2rem;
}

.lux-file-grid__action {
    width: 1.65rem;
    height: 1.65rem;
    display: grid;
    place-items: center;
    border: 0px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
}

.lux-file-grid__action:hover {
    color: var(--lux-primary, #5b5ff4);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

@media (max-width: 768px) {
    .lux-file-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-file-toolbar__actions {
        justify-content: space-between;
    }
}

/* Chat — luxury messaging workspace */
.lux-chat-workspace {
    display: grid;
    grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
    gap: 0.75rem;
    min-height: calc(100vh - 14rem);
}
.lux-chat-sidebar {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-radius: 16px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    overflow: hidden;
}
.lux-chat-sidebar__tabs { display: flex; border-bottom: 1px solid rgba(15, 23, 42, 0.06); }
.lux-chat-sidebar__tab {
    flex: 1; padding: 0.65rem; border: none; background: transparent;
    font-size: 0.6875rem; font-weight: 800; color: #64748b; cursor: pointer;
}
.lux-chat-sidebar__tab.is-active {
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: inset 0 -2px 0 var(--lux-primary, #5b5ff4);
}
.lux-chat-sidebar__search {
    display: flex; align-items: center; gap: 0.4rem;
    margin: 0.65rem; padding: 0.45rem 0.65rem; border-radius: 10px;
    border: 0px solid rgba(15, 23, 42, 0.08); background: #f8fafc;
}
.lux-chat-sidebar__search input {
    flex: 1; border: none; background: transparent; font-size: 0.6875rem; outline: none;
}
.lux-chat-sidebar__list { flex: 1; overflow-y: auto; padding: 0 0.35rem 0.5rem; }
.lux-chat-sidebar__item {
    width: 100%; display: flex; align-items: center; gap: 0.55rem;
    padding: 0.55rem 0.5rem; border: none; border-radius: 12px;
    background: transparent; text-align: left; cursor: pointer;
}
.lux-chat-sidebar__item:hover { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06); }
.lux-chat-sidebar__item.is-active {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}
.lux-chat-sidebar__avatar {
    position: relative; width: 2.1rem; height: 2.1rem; border-radius: 999px;
    display: grid; place-items: center; font-size: 0.625rem; font-weight: 800;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18), rgba(14, 165, 233, 0.14));
    color: var(--lux-primary-dark, #3730a3); flex-shrink: 0;
}
.lux-chat-sidebar__status {
    position: absolute; right: 0; bottom: 0; width: 0.55rem; height: 0.55rem;
    border-radius: 999px; border: 2px solid #fff;
}
.lux-chat-sidebar__status.online { background: #10b981; }
.lux-chat-sidebar__status.offline { background: #94a3b8; }
.lux-chat-sidebar__copy { min-width: 0; flex: 1; }
.lux-chat-sidebar__name {
    display: block; font-size: 0.75rem; font-weight: 800; color: #0f172a;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.lux-chat-sidebar__preview {
    display: block; font-size: 0.625rem; font-weight: 600; color: #94a3b8;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.lux-chat-sidebar__badge {
    min-width: 1.15rem; height: 1.15rem; padding: 0 0.25rem; border-radius: 999px;
    background: var(--lux-primary, #5b5ff4); color: #fff; font-size: 0.5625rem;
    font-weight: 800; display: grid; place-items: center;
}
.lux-chat-thread {
    display: flex; flex-direction: column; min-height: 0;
    border-radius: 16px; border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff; overflow: hidden;
}
.lux-chat-thread--empty { place-items: center; justify-content: center; }
.lux-chat-thread__empty { text-align: center; padding: 2rem; color: #64748b; }
.lux-chat-thread__empty i { font-size: 2rem; color: var(--lux-primary, #5b5ff4); margin-bottom: 0.5rem; }
.lux-chat-thread__head {
    display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
    padding: 0.75rem 1rem; border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), #fff);
}
.lux-chat-thread__identity { display: flex; align-items: center; gap: 0.65rem; min-width: 0; }
.lux-chat-thread__avatar {
    width: 2.35rem; height: 2.35rem; border-radius: 999px; display: grid; place-items: center;
    font-size: 0.6875rem; font-weight: 800;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2), rgba(14, 165, 233, 0.15));
}
.lux-chat-thread__title { margin: 0; font-size: 0.9375rem; font-weight: 800; color: #0f172a; }
.lux-chat-thread__meta { margin: 0.1rem 0 0; font-size: 0.625rem; font-weight: 600; color: #64748b; }
.lux-chat-thread__dot { margin: 0 0.25rem; opacity: 0.5; }
.lux-chat-thread__actions { display: flex; gap: 0.25rem; }
.lux-chat-thread__action {
    width: 2rem; height: 2rem; border-radius: 10px; border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff; color: #64748b; cursor: pointer;
}
.lux-chat-thread__messages {
    flex: 1; overflow-y: auto; margin: 0; padding: 1rem; list-style: none;
    display: flex; flex-direction: column; gap: 0.75rem; background: #f8fafc;
}
.lux-chat-msg { display: flex; gap: 0.5rem; max-width: 85%; }
.lux-chat-msg.is-mine { margin-left: auto; flex-direction: row-reverse; }
.lux-chat-msg__avatar {
    width: 1.75rem; height: 1.75rem; border-radius: 999px; display: grid; place-items: center;
    font-size: 0.5625rem; font-weight: 800; background: #e2e8f0; color: #475569; flex-shrink: 0;
}
.lux-chat-msg__bubble {
    padding: 0.55rem 0.75rem; border-radius: 14px; background: #fff;
    border: 0px solid rgba(15, 23, 42, 0.08); box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.lux-chat-msg.is-mine .lux-chat-msg__bubble {
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), rgba(139, 92, 246, 0.1));
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}
.lux-chat-msg__author { display: block; font-size: 0.5625rem; font-weight: 800; color: #64748b; margin-bottom: 0.15rem; }
.lux-chat-msg__text { margin: 0; font-size: 0.75rem; font-weight: 600; color: #0f172a; line-height: 1.45; }
.lux-chat-msg__file {
    display: flex; align-items: center; gap: 0.45rem; margin-top: 0.35rem; padding: 0.4rem 0.55rem;
    border-radius: 10px; border: 0px solid rgba(15, 23, 42, 0.08); background: #f8fafc; cursor: pointer; width: 100%;
}
.lux-chat-msg__file strong { display: block; font-size: 0.625rem; }
.lux-chat-msg__file em { font-style: normal; font-size: 0.5625rem; color: #94a3b8; }
.lux-chat-msg__time { display: block; margin-top: 0.25rem; font-size: 0.5rem; font-weight: 700; color: #94a3b8; }
.lux-chat-thread__composer {
    display: grid; grid-template-columns: auto 1fr auto; gap: 0.45rem; align-items: flex-end;
    padding: 0.65rem 0.85rem; border-top: 1px solid rgba(15, 23, 42, 0.06); background: #fff;
}
.lux-chat-thread__composer-tools { display: flex; gap: 0.2rem; }
.lux-chat-thread__composer-tools button,
.lux-chat-thread__send {
    width: 2rem; height: 2rem; border-radius: 10px; border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff; color: #64748b; cursor: pointer;
}
.lux-chat-thread__composer textarea {
    resize: none; min-height: 2rem; max-height: 6rem; padding: 0.45rem 0.65rem;
    border-radius: 12px; border: 0px solid rgba(15, 23, 42, 0.1); font-size: 0.75rem;
}
.lux-chat-thread__send {
    background: var(--lux-primary, #5b5ff4); color: #fff; border-color: transparent;
}
.lux-chat-thread__send:disabled { opacity: 0.45; cursor: not-allowed; }

/* HRMS settings — luxury admin workspace */
.lux-hrms-settings { padding-bottom: var(--lux-page-block-bottom); }
.lux-hrms-settings__hero {
    margin-bottom: 0.85rem; padding: 1rem 1.1rem; border-radius: 16px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), #fff 60%);
}
.lux-hrms-settings__title { margin: 0.35rem 0 0; font-size: 1.25rem; font-weight: 800; color: #0f172a; }
.lux-hrms-settings__subtitle { margin: 0.25rem 0 0; font-size: 0.8125rem; font-weight: 600; color: #64748b; max-width: 42rem; }
.lux-hrms-settings__stats { margin-top: 0.5rem; font-size: 0.6875rem; font-weight: 700; color: #475569; }
.lux-hrms-settings__dot { margin: 0 0.3rem; opacity: 0.45; }
.lux-hrms-settings__nav {
    display: flex; flex-wrap: wrap; gap: 0.45rem; margin-bottom: 0.85rem;
}
.lux-hrms-settings__nav-item {
    display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.45rem 0.75rem;
    border-radius: 999px; border: 0px solid rgba(15, 23, 42, 0.1); background: #fff;
    font-size: 0.6875rem; font-weight: 800; color: #475569; cursor: pointer;
}
.lux-hrms-settings__nav-item.is-active {
    color: var(--lux-primary-dark, #3730a3);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}
.lux-hrms-settings__content { display: flex; flex-direction: column; gap: 0.75rem; }
.lux-hrms-settings__panel {
    border-radius: 16px; border: 0px solid rgba(15, 23, 42, 0.08); background: #fff; padding: 0.75rem;
}
.lux-hrms-settings__card { margin: 0; }
.lux-hrms-settings__grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 0.75rem;
}
.lux-hrms-settings__field { display: flex; flex-direction: column; gap: 0.25rem; }
.lux-hrms-settings__label { font-size: 0.625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: #64748b; }
.lux-hrms-settings__required { color: #e11d48; margin-left: 0.15rem; }
.lux-hrms-settings__input {
    padding: 0.45rem 0.65rem; border-radius: 10px; border: 0px solid rgba(15, 23, 42, 0.1);
    background: #f8fafc; font-size: 0.75rem; font-weight: 600; color: #334155;
}
.lux-hrms-settings__note {
    margin: 0.75rem 0 0; padding: 0.55rem 0.65rem; border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06); font-size: 0.6875rem; font-weight: 600; color: #475569;
}
.lux-hrms-settings__toggles { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.lux-hrms-settings__toggle-row {
    display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
    padding: 0.55rem 0.65rem; border-radius: 12px; border: 0px solid rgba(15, 23, 42, 0.06); background: #f8fafc;
    font-size: 0.75rem; font-weight: 700; color: #0f172a;
}
.lux-hrms-settings__switch { position: relative; display: inline-flex; cursor: not-allowed; }
.lux-hrms-settings__switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.lux-hrms-settings__switch-track {
    width: 2rem; height: 1.1rem; border-radius: 999px; background: #cbd5e1; position: relative;
}
.lux-hrms-settings__switch input:checked + .lux-hrms-settings__switch-track { background: var(--lux-primary, #5b5ff4); }

/* HRMS settings — per-tab luxury shells */
.lux-settings-tab {
    border-radius: 16px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.lux-settings-tab__head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.1rem 0.85rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), #fff 55%);
}

.lux-settings-tab__icon {
    width: 2.5rem;
    height: 2.5rem;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-settings-tab__eyebrow {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-settings-tab__title {
    margin: 0.15rem 0 0;
    font-size: 1.0625rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-settings-tab__subtitle {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
    max-width: 40rem;
}

.lux-settings-tab__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
    gap: 0.45rem;
    padding: 0.65rem 1.1rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.05);
    background: #f8fafc;
}

.lux-settings-tab__stat {
    padding: 0.45rem 0.55rem;
    border-radius: 10px;
    border: 0px solid rgba(15, 23, 42, 0.06);
    background: #fff;
}

.lux-settings-tab__stat-label {
    display: block;
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-settings-tab__stat-value {
    display: block;
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
    margin-top: 0.1rem;
}

.lux-settings-tab__stat-hint {
    display: block;
    font-size: 0.5625rem;
    font-weight: 600;
    color: #94a3b8;
    margin-top: 0.08rem;
}

.lux-settings-tab__stat.is-green .lux-settings-tab__stat-value { color: #047857; }
.lux-settings-tab__stat.is-amber .lux-settings-tab__stat-value { color: #b45309; }
.lux-settings-tab__stat.is-rose .lux-settings-tab__stat-value { color: #be123c; }
.lux-settings-tab__stat.is-slate .lux-settings-tab__stat-value { color: #475569; }
.lux-settings-tab__stat.is-violet .lux-settings-tab__stat-value { color: #6d28d9; }
.lux-settings-tab__stat.is-sky .lux-settings-tab__stat-value { color: #0369a1; }
.lux-settings-tab__stat.is-mint .lux-settings-tab__stat-value { color: #047857; }
.lux-settings-tab__stat.is-sun .lux-settings-tab__stat-value { color: #b45309; }

.lux-settings-tab__body {
    padding: 0.85rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lux-settings-tab__stack {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lux-settings-tab--mobile .lux-settings-tab__body {
    padding: 0;
}

.lux-settings-tab--mobile .lux-mobile-app--embedded {
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.lux-hrms-settings__field-hint {
    font-size: 0.5625rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-hrms-settings__channels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 0.55rem;
}

.lux-hrms-settings__toggle-copy {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.lux-hrms-settings__toggle-copy em {
    font-style: normal;
    font-size: 0.5625rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-hrms-settings__note.is-warning {
    background: rgba(245, 158, 11, 0.1);
    color: #b45309;
    border: 0px solid rgba(245, 158, 11, 0.2);
}

.lux-hrms-settings__note.is-success {
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
    border: 0px solid rgba(16, 185, 129, 0.2);
}

/* Schedulers register */
.lux-schedule-register {
    border-radius: 14px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    overflow: hidden;
    background: #fff;
}

.lux-schedule-register__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.55rem 0.75rem;
    background: #f8fafc;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.lux-schedule-register__label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-schedule-register__count {
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
}

.lux-schedule-register__head {
    display: grid;
    grid-template-columns: 2rem 5.5rem minmax(0, 1fr) minmax(9rem, 0.9fr) minmax(11.5rem, max-content);
    gap: 0.5rem;
    padding: 0.45rem 0.75rem;
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.lux-schedule-register__head .is-actions { text-align: right; }

.lux-schedule-register__body {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.45rem;
}

.lux-schedule-register__empty {
    margin: 0.5rem;
    border: none;
    box-shadow: none;
}

.lux-schedule-row {
    display: grid;
    grid-template-columns: 2rem 5.5rem minmax(0, 1fr) minmax(9rem, 0.9fr) minmax(11.5rem, max-content);
    gap: 0.5rem;
    align-items: center;
    padding: 0.6rem 0.65rem;
    border-radius: 12px;
    border: 0px solid rgba(15, 23, 42, 0.06);
    background: #fff;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.lux-schedule-row:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}

.lux-schedule-row.is-deleted { opacity: 0.65; background: #fafafa; }
.lux-schedule-row.is-skeleton {
    pointer-events: none;
    cursor: default;
}

.lux-schedule-row.is-skeleton:hover {
    box-shadow: none;
    border-color: rgba(15, 23, 42, 0.06);
}

.lux-schedule-row__index {
    font-size: 0.625rem;
    font-weight: 800;
    color: #94a3b8;
    text-align: center;
}

.lux-schedule-row__status {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    font-size: 0.5625rem;
    font-weight: 800;
    white-space: nowrap;
}

.lux-schedule-row__status.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-schedule-row__status.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-schedule-row__status.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-schedule-row__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.lux-schedule-row__id {
    font-size: 0.5625rem;
    font-weight: 800;
    color: var(--lux-primary, #5b5ff4);
}

.lux-schedule-row__name {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.lux-schedule-row__name.is-struck { text-decoration: line-through; color: #94a3b8; }

.lux-schedule-row__type {
    font-size: 0.5625rem;
    font-weight: 800;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
}

.lux-schedule-row__cron {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
    background: #f8fafc;
    padding: 0.15rem 0.4rem;
    border-radius: 6px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-schedule-row__runs {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.lux-schedule-row__run-label {
    display: block;
    font-size: 0.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.lux-schedule-row__run strong {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
}

.lux-schedule-row__run strong.is-live { color: #047857; }

.lux-schedule-row__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    flex-wrap: nowrap;
    min-width: 0;
}

/* Paused / Active segmented control */
.lux-schedule-power {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    height: 2.125rem;
    padding: 0.15rem;
    border-radius: 12px;
    border: 0px solid rgba(15, 23, 42, 0.1);
    background: #f1f5f9;
    gap: 0.12rem;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
    box-sizing: border-box;
}

.lux-schedule-power.is-disabled {
    opacity: 0.45;
    pointer-events: none;
}

.lux-schedule-power__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    height: 100%;
    padding: 0 0.55rem;
    border: none;
    border-radius: 9px;
    background: transparent;
    box-sizing: border-box;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
    white-space: nowrap;
}

.lux-schedule-power__btn i {
    font-size: 0.75rem;
    opacity: 0.85;
}

.lux-schedule-power__btn:hover:not(:disabled):not(.is-selected) {
    color: #334155;
    background: rgba(255, 255, 255, 0.65);
}

.lux-schedule-power__btn.is-selected {
    color: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
}

.lux-schedule-power.is-paused .lux-schedule-power__btn:first-child.is-selected {
    background: linear-gradient(135deg, #f59e0b, #d97706);
}

.lux-schedule-power.is-paused .lux-schedule-power__btn:first-child.is-selected i {
    color: #fff;
}

.lux-schedule-power.is-active .lux-schedule-power__btn:last-child.is-selected {
    background: linear-gradient(135deg, #10b981, #059669);
}

.lux-schedule-power.is-active .lux-schedule-power__btn:last-child.is-selected i {
    color: #fff;
}

.lux-schedule-power__btn:disabled {
    cursor: not-allowed;
}

.lux-schedule-row__remove {
    flex-shrink: 0;
    width: 2.125rem;
    height: 2.125rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 0px solid rgba(15, 23, 42, 0.1);
    background: #fff;
    color: #94a3b8;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    box-sizing: border-box;
}

.lux-schedule-row__remove i {
    font-size: 0.875rem;
    line-height: 1;
}

.lux-schedule-row__remove:hover,
.lux-schedule-row__remove.is-confirm {
    color: #be123c;
    border-color: rgba(244, 63, 94, 0.25);
    background: rgba(244, 63, 94, 0.08);
}

/* Service health */
.lux-health-dashboard .lux-health-panel__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-health-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    border: 0px solid rgba(15, 23, 42, 0.06);
    background: #f8fafc;
}

.lux-health-row.is-green { border-color: rgba(16, 185, 129, 0.2); background: rgba(16, 185, 129, 0.04); }
.lux-health-row.is-rose { border-color: rgba(244, 63, 94, 0.2); background: rgba(244, 63, 94, 0.04); }

.lux-health-row__icon {
    width: 1.75rem;
    height: 1.75rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    flex-shrink: 0;
}

.lux-health-row__icon.is-green { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-health-row__icon.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-health-row__copy { min-width: 0; flex: 1; }

.lux-health-row__name {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-health-row__host {
    display: block;
    font-size: 0.5625rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-health-row__pill {
    font-size: 0.5625rem;
    font-weight: 800;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    white-space: nowrap;
}

.lux-health-row__pill.is-green { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-health-row__pill.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-health-panel__empty {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    padding: 0.5rem 0;
}

@media (max-width: 900px) {
    .lux-schedule-register__head,
    .lux-schedule-row {
        grid-template-columns: 1.75rem 1fr;
        grid-template-rows: auto auto auto;
    }

    .lux-schedule-row__status { grid-column: 2; justify-self: start; }
    .lux-schedule-row__main { grid-column: 1 / -1; }
    .lux-schedule-row__runs { grid-column: 1 / -1; flex-direction: row; gap: 1rem; }
    .lux-schedule-row__actions {
        grid-column: 1 / -1;
        justify-content: stretch;
        width: 100%;
    }

    .lux-schedule-power {
        flex: 1;
        min-width: 0;
    }

    .lux-schedule-power__btn {
        flex: 1;
        justify-content: center;
        padding: 0 0.35rem;
    }

    .lux-schedule-row__remove {
        width: 2.125rem;
        flex-shrink: 0;
    }

    .lux-schedule-register__head span:not(:first-child) { display: none; }
}

/* User calendar — luxury workspace */
.lux-user-calendar-page {
    padding-bottom: var(--lux-page-block-bottom);
}

.lux-user-calendar-summary__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.65rem;
}

.lux-user-calendar-summary__legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.5625rem;
    font-weight: 800;
    background: #f1f5f9;
    color: #475569;
}

.lux-user-calendar-summary__legend-dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 999px;
    background: currentColor;
}

.lux-user-calendar-summary__legend-item.is-green { color: #047857; background: rgba(16, 185, 129, 0.1); }
.lux-user-calendar-summary__legend-item.is-indigo { color: #4338ca; background: rgba(99, 102, 241, 0.1); }
.lux-user-calendar-summary__legend-item.is-sky { color: #0369a1; background: rgba(14, 165, 233, 0.1); }
.lux-user-calendar-summary__legend-item.is-amber { color: #b45309; background: rgba(245, 158, 11, 0.12); }

.lux-user-calendar-workspace {
    display: grid;
    grid-template-columns: minmax(15rem, 18rem) minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
}

.lux-user-calendar-main {
    display: grid;
    gap: 0.65rem;
    min-width: 0;
}

.lux-user-calendar-sidebar {
    border-radius: 16px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), #fff 40%);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    position: sticky;
    top: 4.5rem;
    max-height: calc(100vh - 10rem);
    display: flex;
    flex-direction: column;
}

.lux-user-calendar-sidebar__head {
    padding: 0.85rem 0.9rem 0.65rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.lux-user-calendar-sidebar__eyebrow {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-user-calendar-sidebar__title {
    margin: 0.2rem 0 0;
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-user-calendar-sidebar__hint {
    margin: 0.25rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-user-calendar-sidebar__list {
    list-style: none;
    margin: 0;
    padding: 0.45rem;
    overflow-y: auto;
    flex: 1;
    display: grid;
    gap: 0.4rem;
}

.lux-user-calendar-sidebar__item {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.45rem;
    text-align: left;
    border: 0px solid rgba(15, 23, 42, 0.07);
    border-radius: 12px;
    padding: 0.55rem 0.65rem;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-user-calendar-sidebar__item-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}

.lux-user-calendar-sidebar__item:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
    transform: translateY(-1px);
}

.lux-user-calendar-sidebar__item.is-selected {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-user-calendar-sidebar__item-time {
    display: block;
    font-size: 0.5625rem;
    font-weight: 700;
    color: #64748b;
}

.lux-user-calendar-sidebar__item-title {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.3;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.lux-user-calendar-sidebar__item-desc {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-user-calendar-sidebar__badge {
    display: inline-flex;
    flex-shrink: 0;
    align-self: flex-start;
    margin: 0;
    padding: 0.15rem 0.4rem;
    border-radius: 999px;
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.lux-user-calendar-sidebar__badge.is-green { color: #047857; background: rgba(16, 185, 129, 0.12); }
.lux-user-calendar-sidebar__badge.is-indigo { color: #4338ca; background: rgba(99, 102, 241, 0.12); }
.lux-user-calendar-sidebar__badge.is-sky { color: #0369a1; background: rgba(14, 165, 233, 0.12); }
.lux-user-calendar-sidebar__badge.is-amber { color: #b45309; background: rgba(245, 158, 11, 0.14); }

.lux-user-calendar-sidebar__empty {
    margin: 0.5rem;
}

.lux-user-calendar-shell {
    position: relative;
    border-radius: 16px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 10px 32px rgba(15, 23, 42, 0.06);
    min-height: 620px;
    display: flex;
    flex-direction: column;
}

.lux-user-calendar-shell.is-loading::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.45);
    pointer-events: none;
    z-index: 2;
}

.lux-user-calendar-shell__empty {
    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    padding: 1rem;
    pointer-events: none;
}

.lux-user-calendar-shell__empty .lux-register-empty__actions {
    pointer-events: auto;
}

.lux-user-calendar-toolbar {
    position: relative;
    z-index: 6;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.7rem 0.85rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), #fff 55%);
    pointer-events: auto;
}

.lux-user-calendar-toolbar button {
    pointer-events: auto;
}

.lux-user-calendar-toolbar__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.lux-user-calendar-toolbar__row--primary {
    justify-content: space-between;
}

.lux-user-calendar-toolbar__row--filters {
    padding-top: 0.15rem;
    border-top: 1px dashed rgba(15, 23, 42, 0.08);
}

.lux-user-calendar-toolbar__left,
.lux-user-calendar-toolbar__center,
.lux-user-calendar-toolbar__views {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.lux-user-calendar-toolbar__center {
    flex-direction: column;
    align-items: center;
    min-width: 10rem;
}

.lux-user-calendar-toolbar__chip,
.lux-user-calendar-toolbar__nav-btn,
.lux-user-calendar-toolbar__today,
.lux-user-calendar-toolbar__filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    border: 0px solid rgba(15, 23, 42, 0.1);
    background: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    color: #475569;
    cursor: pointer;
    transition: 0.15s ease;
}

.lux-user-calendar-toolbar__chip:hover,
.lux-user-calendar-toolbar__filter-pill:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-user-calendar-toolbar__chip.is-active,
.lux-user-calendar-toolbar__filter-pill.is-active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), #8b5cf6);
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-user-calendar-toolbar__today {
    padding: 0.35rem 0.75rem;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.lux-user-calendar-toolbar__nav-btn {
    width: 2rem;
    height: 2rem;
    padding: 0;
    justify-content: center;
    border-radius: 10px;
}

.lux-user-calendar-toolbar__nav {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.lux-user-calendar-toolbar__label {
    margin: 0.15rem 0 0;
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
    text-align: center;
}

.lux-user-calendar-toolbar__loading {
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
}

.lux-user-calendar-toolbar__loading .fe-loader {
    animation: lux-cal-spin 0.9s linear infinite;
}

@keyframes lux-cal-spin {
    to { transform: rotate(360deg); }
}

.lux-user-calendar-toolbar__search {
    flex: 1;
    min-width: 12rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.65rem;
    border-radius: 12px;
    border: 0px solid rgba(15, 23, 42, 0.1);
    background: #fff;
}

.lux-user-calendar-toolbar__search input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    font-size: 0.75rem;
    font-weight: 600;
    color: #0f172a;
    background: transparent;
}

.lux-user-calendar-toolbar__status-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.lux-user-calendar .rbc-toolbar {
    display: none;
}

.lux-user-calendar {
    flex: 1;
    padding: 0 0.35rem 0.35rem;
    font-family: inherit;
}

.lux-user-calendar .rbc-header {
    padding: 0.6rem 0.35rem;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
    border-color: rgba(15, 23, 42, 0.06);
    background: #f8fafc;
}

.lux-user-calendar .rbc-time-header,
.lux-user-calendar .rbc-month-view,
.lux-user-calendar .rbc-time-view {
    border-color: rgba(15, 23, 42, 0.06);
}

.lux-user-calendar .rbc-today {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-user-calendar .rbc-off-range-bg {
    background: #f8fafc;
}

.lux-user-calendar .rbc-current-time-indicator {
    background: var(--lux-primary, #5b5ff4);
    height: 2px;
}

.lux-user-calendar .rbc-time-slot {
    border-color: rgba(15, 23, 42, 0.04);
}

.lux-user-calendar .rbc-timeslot-group {
    min-height: 3.25rem;
}

.lux-user-calendar .rbc-event {
    border: none !important;
    outline: none;
}

.lux-user-calendar .rbc-event:focus {
    outline: 2px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    outline-offset: 1px;
}

.lux-user-calendar .rbc-show-more {
    font-size: 0.625rem;
    font-weight: 800;
    color: var(--lux-primary, #5b5ff4);
    background: transparent;
}

.lux-user-calendar .rbc-agenda-view table {
    border-color: rgba(15, 23, 42, 0.06);
}

.lux-user-calendar .rbc-agenda-date-cell,
.lux-user-calendar .rbc-agenda-time-cell {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    white-space: nowrap;
}

.lux-user-calendar-event {
    display: flex;
    align-items: flex-start;
    gap: 0.3rem;
    overflow: hidden;
    height: 100%;
}

.lux-user-calendar-event__dot {
    width: 0.35rem;
    height: 0.35rem;
    border-radius: 999px;
    background: currentColor;
    flex-shrink: 0;
    margin-top: 0.2rem;
    opacity: 0.7;
}

.lux-user-calendar-event__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
}

.lux-user-calendar-event__title {
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-user-calendar-event__desc {
    font-size: 0.5625rem;
    opacity: 0.85;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-user-calendar-event.is-green { color: #047857; }
.lux-user-calendar-event.is-indigo { color: #4338ca; }
.lux-user-calendar-event.is-sky { color: #0369a1; }
.lux-user-calendar-event.is-amber { color: #b45309; }

.lux-user-calendar-agenda-event {
    display: grid;
    gap: 0.15rem;
    text-align: left;
    width: 100%;
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
}

.lux-user-calendar-agenda-event__badge {
    font-size: 0.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.lux-user-calendar-panel {
    border-radius: 14px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.lux-user-calendar-panel__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.85rem 0.9rem;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), #fff);
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.lux-user-calendar-panel__badge {
    display: inline-flex;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lux-user-calendar-panel__badge.is-green { color: #047857; background: rgba(16, 185, 129, 0.12); }
.lux-user-calendar-panel__badge.is-indigo { color: #4338ca; background: rgba(99, 102, 241, 0.12); }
.lux-user-calendar-panel__badge.is-sky { color: #0369a1; background: rgba(14, 165, 233, 0.12); }
.lux-user-calendar-panel__badge.is-amber { color: #b45309; background: rgba(245, 158, 11, 0.14); }

.lux-user-calendar-panel__title {
    margin: 0.35rem 0 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-user-calendar-panel__subtitle {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-user-calendar-panel__close {
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.06);
    color: #475569;
    cursor: pointer;
}

.lux-user-calendar-panel__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    margin: 0;
    padding: 0.75rem 0.9rem;
}

.lux-user-calendar-panel__fact dt {
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-user-calendar-panel__fact dd {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-user-calendar-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0 0.9rem 0.85rem;
}

.lux-user-calendar-panel__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.75rem;
    border-radius: 10px;
    border: 0px solid rgba(15, 23, 42, 0.1);
    background: #fff;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
    text-decoration: none;
    cursor: pointer;
}

.lux-user-calendar-panel__btn--primary {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), #8b5cf6);
}

/* —— Calendar grid (luxury RBC view only) —— */
.lux-user-calendar-shell {
    min-height: 640px;
}

.lux-user-calendar-grid {
    position: relative;
    z-index: 1;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.lux-user-calendar-grid__surface {
    position: relative;
    flex: 1;
    min-height: 420px;
    border-radius: 0 0 14px 14px;
    overflow: hidden;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 42%),
        linear-gradient(180deg, #fafbff 0%, #fff 28%);
}

.lux-user-calendar-grid__body {
    position: relative;
    z-index: 1;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.lux-user-calendar-grid.is-loading .lux-user-calendar-grid__surface {
    opacity: 0.72;
}

.lux-user-calendar-grid__loader {
    position: absolute;
    top: 0.75rem;
    right: 1rem;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
    font-size: 0.625rem;
    font-weight: 800;
    color: #475569;
}

.lux-user-calendar-grid__loader-ring {
    width: 0.85rem;
    height: 0.85rem;
    border-radius: 999px;
    border: 2px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    border-top-color: var(--lux-primary, #5b5ff4);
    animation: lux-cal-spin 0.8s linear infinite;
}

.lux-user-calendar-grid__empty {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    place-items: center;
    padding: 1rem;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.35);
}

.lux-user-calendar-grid__empty-card {
    max-width: 26rem;
    pointer-events: auto;
}

/* Day headers (month) */
.lux-cal-day-head {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    min-width: 1.75rem;
}

.lux-cal-day-head__link {
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
}

.lux-cal-day-head__num {
    width: 1.75rem;
    height: 1.75rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    color: #334155;
}

.lux-cal-day-head.is-today .lux-cal-day-head__num {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), #8b5cf6);
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
}

.lux-cal-day-head.is-off .lux-cal-day-head__num {
    color: #94a3b8;
}

.lux-cal-day-head__pill {
    font-size: 0.4375rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

/* Week / day column headers */
.lux-cal-col-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    padding: 0.15rem 0;
}

.lux-cal-col-head__weekday {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-cal-col-head__date {
    width: 1.85rem;
    height: 1.85rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-cal-col-head.is-today .lux-cal-col-head__date {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), #8b5cf6);
    box-shadow: 0 4px 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.32);
}

.lux-cal-col-head__pill {
    font-size: 0.4375rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-cal-col-head.is-single-day {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 0.5rem;
    padding: 0.2rem 0.35rem;
}

.lux-cal-col-head.is-single-day .lux-cal-col-head__weekday {
    font-size: 0.6875rem;
    color: #475569;
    text-transform: none;
    letter-spacing: 0;
}

.lux-cal-col-head__date-row {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
}

.lux-cal-col-head__month {
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
}

.lux-cal-gutter-head {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

/* Event chips */
.lux-cal-event-wrap,
.lux-cal-agenda-wrap {
    height: 100%;
    width: 100%;
}

.lux-cal-event-wrap.is-selected .lux-cal-event,
.lux-cal-agenda-wrap.is-selected .lux-cal-agenda-card {
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45), 0 8px 20px rgba(15, 23, 42, 0.12);
}

.lux-cal-event {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 1.5rem;
    border: none;
    border-radius: 10px;
    padding: 0.3rem 0.45rem 0.3rem 0.55rem;
    text-align: left;
    cursor: pointer;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.07);
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.lux-cal-event:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.1);
}

.lux-cal-event__glow {
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    border-radius: 10px 0 0 10px;
    background: currentColor;
    opacity: 0.85;
}

.lux-cal-event__rail {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, currentColor, transparent 68%);
    opacity: 0.06;
    pointer-events: none;
}

.lux-cal-event__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
    min-width: 0;
}

.lux-cal-event__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.25rem;
}

.lux-cal-event__time {
    font-size: 0.5rem;
    font-weight: 700;
    opacity: 0.8;
}

.lux-cal-event__status {
    font-size: 0.4375rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.08rem 0.3rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.65);
}

.lux-cal-event__title {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-cal-event__desc {
    font-size: 0.5625rem;
    font-weight: 600;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-cal-event.is-green { color: #047857; }
.lux-cal-event.is-indigo { color: #4338ca; }
.lux-cal-event.is-sky { color: #0369a1; }
.lux-cal-event.is-amber { color: #b45309; }

.lux-cal-event__status.is-green { color: #047857; }
.lux-cal-event__status.is-indigo { color: #4338ca; }
.lux-cal-event__status.is-sky { color: #0369a1; }
.lux-cal-event__status.is-amber { color: #b45309; }

/* Agenda rows */
.lux-cal-agenda-date {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.lux-cal-agenda-date__label {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-cal-agenda-date.is-today .lux-cal-agenda-date__label {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-cal-agenda-date__pill {
    font-size: 0.4375rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
}

.lux-cal-agenda-card {
    position: relative;
    width: 100%;
    text-align: left;
    border: 0px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    padding: 0.55rem 0.65rem 0.55rem 0.75rem;
    background: #fff;
    cursor: pointer;
    transition: 0.15s ease;
}

.lux-cal-agenda-card:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.lux-cal-agenda-card__accent {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    border-radius: 12px 0 0 12px;
    background: currentColor;
}

.lux-cal-agenda-card.is-green { color: #047857; }
.lux-cal-agenda-card.is-indigo { color: #4338ca; }
.lux-cal-agenda-card.is-sky { color: #0369a1; }
.lux-cal-agenda-card.is-amber { color: #b45309; }

.lux-cal-agenda-card__badge {
    display: inline-flex;
    margin-bottom: 0.2rem;
    padding: 0.1rem 0.35rem;
    border-radius: 999px;
    font-size: 0.4375rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: rgba(15, 23, 42, 0.05);
    color: inherit;
}

.lux-cal-agenda-card__title {
    display: block;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-cal-agenda-card__desc {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
}

.lux-cal-agenda-card__when {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.5625rem;
    font-weight: 700;
    color: #94a3b8;
}

/* RBC overrides — luxury grid */
.lux-user-calendar.rbc-lux {
    padding: 0.25rem 0.4rem 0.5rem;
}

.lux-user-calendar .rbc-month-view,
.lux-user-calendar .rbc-time-view {
    border: 0px solid rgba(15, 23, 42, 0.06);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.lux-user-calendar .rbc-header {
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
    min-height: 3.25rem;
    padding: 0.45rem 0.35rem;
    border-color: rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, #f8fafc, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
}

.lux-user-calendar .rbc-header > a,
.lux-user-calendar .rbc-header > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.lux-user-calendar .rbc-time-header {
    border-color: rgba(15, 23, 42, 0.06);
}

.lux-user-calendar .rbc-time-header-gutter {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 0.25rem 0.5rem;
    border-color: rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, #f8fafc, #fff);
}

.lux-user-calendar .rbc-row.rbc-time-header-cell {
    display: flex;
    flex: 1 1 0;
    min-height: 3.25rem;
}

.lux-user-calendar .rbc-time-header-cell-single-day .rbc-header {
    flex: 1 1 auto;
    min-height: 3.5rem;
}

.lux-user-calendar .rbc-time-header-cell-single-day .lux-cal-col-head.is-single-day {
    width: 100%;
}

.lux-user-calendar .rbc-month-row + .rbc-month-row {
    border-color: rgba(15, 23, 42, 0.05);
}

.lux-user-calendar .rbc-day-bg {
    border-color: rgba(15, 23, 42, 0.05);
    transition: background 0.15s ease;
}

.lux-user-calendar .rbc-day-bg.lux-rbc-day.is-today {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07);
}

.lux-user-calendar .rbc-day-bg.lux-rbc-day.is-weekend {
    background: rgba(248, 250, 252, 0.9);
}

.lux-user-calendar .rbc-off-range-bg {
    background: #f1f5f9;
}

.lux-user-calendar .rbc-date-cell {
    padding: 0.35rem 0.25rem 0.15rem;
    text-align: center;
}

.lux-user-calendar .rbc-row-segment {
    padding: 0 2px 3px;
}

.lux-user-calendar .rbc-event {
    background: transparent !important;
    padding: 0 !important;
}

.lux-user-calendar .rbc-event.rbc-selected,
.lux-user-calendar .rbc-event.lux-rbc-event.is-selected {
    background: transparent !important;
}

.lux-user-calendar .rbc-event-label {
    display: none;
}

.lux-user-calendar .rbc-current-time-indicator {
    height: 2px;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #8b5cf6);
    box-shadow: 0 0 8px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
}

.lux-user-calendar .rbc-time-slot {
    border-color: rgba(15, 23, 42, 0.04);
}

.lux-user-calendar .rbc-timeslot-group {
    min-height: 3.5rem;
    border-color: rgba(15, 23, 42, 0.05);
}

.lux-user-calendar .rbc-time-gutter .rbc-label {
    font-size: 0.625rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-user-calendar .rbc-time-content {
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.lux-user-calendar .rbc-time-header-content {
    border-left: 1px solid rgba(15, 23, 42, 0.06);
}

.lux-user-calendar .rbc-allday-cell {
    border-color: rgba(15, 23, 42, 0.05);
}

.lux-user-calendar .rbc-show-more {
    margin: 2px 4px;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.5625rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-user-calendar .rbc-agenda-view {
    border: 0px solid rgba(15, 23, 42, 0.06);
    border-radius: 12px;
    overflow: hidden;
}

.lux-user-calendar .rbc-agenda-table {
    border-color: rgba(15, 23, 42, 0.06);
}

.lux-user-calendar .rbc-agenda-date-cell,
.lux-user-calendar .rbc-agenda-time-cell {
    padding: 0.65rem 0.75rem;
    vertical-align: top;
    border-color: rgba(15, 23, 42, 0.06);
    background: #fafbff;
}

.lux-user-calendar .rbc-agenda-event-cell {
    padding: 0.45rem 0.65rem;
    border-color: rgba(15, 23, 42, 0.06);
}

.lux-user-calendar .rbc-overlay {
    border-radius: 12px;
    border: 0px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
    padding: 0.35rem;
}

.lux-user-calendar .rbc-overlay-header {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0.25rem 0.35rem 0.15rem;
}

/* Custom luxury calendar (no react-big-calendar) */
.lux-user-calendar-shell.lux-custom-cal-root {
    display: flex;
    flex-direction: column;
    min-height: 640px;
}

.lux-user-calendar-shell.lux-custom-cal-root .lux-user-calendar-toolbar {
    flex-shrink: 0;
    border-radius: 0;
}

.lux-user-calendar-shell.lux-custom-cal-root .lux-user-calendar-grid {
    flex: 1;
    min-height: 0;
}

.lux-user-calendar-shell.lux-custom-cal-root .lux-user-calendar-grid__surface {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    border-radius: 0 0 14px 14px;
}

.lux-custom-cal {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.lux-custom-cal__today-pill {
    font-size: 0.4375rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    padding: 0.1rem 0.35rem;
    border-radius: 999px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

/* Month */
.lux-custom-cal--month {
    padding: 0.5rem 0.55rem 0.65rem;
}

.lux-custom-cal__weekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.25rem;
    margin-bottom: 0.35rem;
}

.lux-custom-cal__weekday {
    text-align: center;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    padding: 0.25rem 0;
}

.lux-custom-cal__month-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.3rem;
    flex: 1;
}

.lux-custom-cal__month-cell {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 5.5rem;
    padding: 0.35rem 0.3rem;
    border: 0px solid rgba(15, 23, 42, 0.07);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    text-align: left;
    transition: 0.15s ease;
}

.lux-custom-cal__month-cell:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.lux-custom-cal__month-cell.is-today {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.lux-custom-cal__month-cell.is-off-month {
    opacity: 0.55;
    background: #f8fafc;
}

.lux-custom-cal__month-cell.is-weekend:not(.is-today) {
    background: #fafbff;
}

.lux-custom-cal__month-cell-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.2rem;
    margin-bottom: 0.25rem;
}

.lux-custom-cal__month-day {
    width: 1.5rem;
    height: 1.5rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-custom-cal__month-cell.is-today .lux-custom-cal__month-day {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), #8b5cf6);
}

.lux-custom-cal__month-events {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    flex: 1;
}

.lux-custom-cal__more {
    font-size: 0.5rem;
    font-weight: 800;
    color: var(--lux-primary, #5b5ff4);
}

.lux-cal-event.is-mini {
    min-height: auto;
    padding: 0.2rem 0.35rem;
    border-radius: 6px;
}

.lux-cal-event.is-mini .lux-cal-event__title {
    font-size: 0.5625rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-cal-event.is-mini .lux-cal-event__glow,
.lux-cal-event.is-mini .lux-cal-event__rail {
    display: none;
}

.lux-cal-event.is-selected {
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
}

/* Week / day time grid */
.lux-custom-cal--time {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.lux-custom-cal__time-scroll {
    flex: 1;
    overflow: auto;
    min-height: 420px;
    max-height: min(68vh, 720px);
}

.lux-custom-cal__time-layout {
    display: flex;
    min-width: min(100%, 640px);
}

.lux-custom-cal__gutter {
    flex-shrink: 0;
    width: 3.25rem;
    border-right: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, #f8fafc, #fff);
}

.lux-custom-cal__gutter-label {
    display: block;
    text-align: center;
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    padding: 0.45rem 0.15rem;
}

.lux-custom-cal__gutter-slots {
    position: relative;
}

.lux-custom-cal__gutter-hour {
    position: absolute;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    font-size: 0.5625rem;
    font-weight: 700;
    color: #94a3b8;
    text-align: center;
    padding-right: 0.25rem;
}

.lux-custom-cal__day-cols {
    display: flex;
    flex: 1;
    min-width: 0;
}

.lux-custom-cal__day-cols.is-single .lux-custom-cal__day-col {
    flex: 1;
    min-width: 0;
}

.lux-custom-cal__day-col {
    flex: 1;
    min-width: 5.5rem;
    border-right: 1px solid rgba(15, 23, 42, 0.05);
    display: flex;
    flex-direction: column;
}

.lux-custom-cal__day-col.is-today {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03);
}

.lux-custom-cal__day-col.is-weekend:not(.is-today) {
    background: rgba(248, 250, 252, 0.8);
}

.lux-custom-cal__col-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    padding: 0.45rem 0.25rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, #f8fafc, #fff);
}

.lux-custom-cal__day-col.is-single .lux-custom-cal__col-head {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem 0.5rem;
    padding: 0.55rem 0.65rem;
}

.lux-custom-cal__col-weekday {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-custom-cal__day-col.is-single .lux-custom-cal__col-weekday {
    font-size: 0.75rem;
    color: #475569;
    text-transform: none;
    letter-spacing: 0;
}

.lux-custom-cal__col-date {
    width: 1.85rem;
    height: 1.85rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-custom-cal__day-col.is-today .lux-custom-cal__col-date {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), #8b5cf6);
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-custom-cal__allday-row {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.3rem 0.25rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    min-height: 2rem;
}

.lux-custom-cal__slots {
    position: relative;
    flex: 1;
}

.lux-custom-cal__hour-line {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(15, 23, 42, 0.05);
    pointer-events: none;
}

.lux-custom-cal__now-line {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    z-index: 3;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #8b5cf6);
    box-shadow: 0 0 8px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
    pointer-events: none;
}

.lux-custom-cal__now-dot {
    position: absolute;
    left: -4px;
    top: -4px;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--lux-primary, #5b5ff4);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.lux-custom-cal__timed-slot {
    position: absolute;
    z-index: 2;
    padding: 0 1px;
    box-sizing: border-box;
}

.lux-custom-cal__timed-slot .lux-cal-event {
    height: 100%;
}

.lux-cal-event.is-compact {
    padding: 0.25rem 0.4rem;
}

.lux-cal-event.is-compact .lux-cal-event__desc {
    display: none;
}

/* Agenda */
.lux-custom-cal--agenda {
    padding: 0.55rem 0.65rem 0.75rem;
    overflow-y: auto;
    max-height: min(68vh, 720px);
}

.lux-custom-cal--agenda-empty {
    display: grid;
    place-items: center;
    min-height: 12rem;
    color: #64748b;
    font-size: 0.8125rem;
    font-weight: 600;
}

.lux-custom-cal__agenda-day {
    margin-bottom: 0.85rem;
}

.lux-custom-cal__agenda-day-head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.4rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.lux-custom-cal__agenda-day-label {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-custom-cal__agenda-day.is-today .lux-custom-cal__agenda-day-label {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-custom-cal__agenda-day-count {
    margin-left: auto;
    font-size: 0.5625rem;
    font-weight: 800;
    color: #64748b;
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
    background: #f1f5f9;
}

.lux-custom-cal__agenda-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.4rem;
}

.lux-custom-cal__agenda-item {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(6.5rem, 8rem) minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.5rem 0.65rem;
    text-align: left;
    padding: 0.55rem 0.65rem;
    border: 0px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: 0.15s ease;
}

.lux-custom-cal__agenda-item:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}

.lux-custom-cal__agenda-item.is-selected {
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
}

.lux-custom-cal__agenda-item-time {
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
    line-height: 1.35;
}

.lux-custom-cal__agenda-item-body {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.lux-custom-cal__agenda-item-body strong {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-custom-cal__agenda-item-body span {
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-custom-cal__agenda-badge {
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.15rem 0.4rem;
    border-radius: 999px;
    white-space: nowrap;
    align-self: flex-start;
}

.lux-custom-cal__agenda-badge.is-green { color: #047857; background: rgba(16, 185, 129, 0.12); }
.lux-custom-cal__agenda-badge.is-indigo { color: #4338ca; background: rgba(99, 102, 241, 0.12); }
.lux-custom-cal__agenda-badge.is-sky { color: #0369a1; background: rgba(14, 165, 233, 0.12); }
.lux-custom-cal__agenda-badge.is-amber { color: #b45309; background: rgba(245, 158, 11, 0.14); }

@media (max-width: 900px) {
    .lux-custom-cal__time-layout {
        min-width: 100%;
    }

    .lux-custom-cal__day-col {
        min-width: 4.25rem;
    }

    .lux-custom-cal__month-cell {
        min-height: 4.25rem;
    }

    .lux-custom-cal__agenda-item {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .lux-custom-cal__agenda-badge {
        justify-self: start;
    }
}

@media (max-width: 600px) {
    .lux-custom-cal__month-grid {
        gap: 0.2rem;
    }

    .lux-custom-cal__month-cell {
        min-height: 3.75rem;
        padding: 0.25rem 0.2rem;
    }

    .lux-custom-cal__gutter {
        width: 2.5rem;
    }

    .lux-custom-cal__day-cols {
        overflow-x: auto;
    }
}

/* Error 500 — luxury fault page */
.lux-error-page {
    min-height: 100vh; display: grid; place-items: center; padding: 1.5rem;
    background: radial-gradient(circle at 20% 20%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 45%),
                radial-gradient(circle at 80% 80%, rgba(244, 63, 94, 0.06), transparent 40%), #f8fafc;
    position: relative; overflow: hidden;
}
.lux-error-page__glow {
    position: absolute; width: 22rem; height: 22rem; border-radius: 999px; filter: blur(60px); opacity: 0.35;
}
.lux-error-page__glow--rose { top: -4rem; right: -4rem; background: rgba(244, 63, 94, 0.35); }
.lux-error-page__glow--indigo { bottom: -5rem; left: -5rem; background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35); }
.lux-error-page__card {
    position: relative; width: min(100%, 32rem); padding: 1.5rem 1.5rem 1.25rem;
    border-radius: 20px; border: 0px solid rgba(15, 23, 42, 0.08); background: #fff;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.1);
}
.lux-error-page__art {
    display: flex; align-items: center; justify-content: center; gap: 0.75rem;
    margin: 1rem 0 0.75rem; padding: 1rem; border-radius: 16px;
    background: linear-gradient(135deg, rgba(244, 63, 94, 0.08), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06));
}
.lux-error-page__code { font-size: 2.5rem; font-weight: 900; color: #0f172a; line-height: 1; }
.lux-error-page__icon { font-size: 2rem; color: #e11d48; }
.lux-error-page__eyebrow {
    display: block; font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.08em;
    text-transform: uppercase; color: #e11d48;
}
.lux-error-page__title { margin: 0.25rem 0 0; font-size: 1.35rem; font-weight: 800; color: #0f172a; }
.lux-error-page__text { margin: 0.45rem 0 0; font-size: 0.8125rem; font-weight: 600; color: #64748b; line-height: 1.55; }
.lux-error-page__hints { list-style: none; margin: 0.75rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.lux-error-page__hints li {
    display: flex; align-items: flex-start; gap: 0.4rem; font-size: 0.6875rem; font-weight: 600; color: #475569;
}
.lux-error-page__hints i { color: #10b981; margin-top: 0.1rem; }
.lux-error-page__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.lux-error-page__btn {
    display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.5rem 0.85rem;
    border-radius: 10px; font-size: 0.75rem; font-weight: 800; text-decoration: none; cursor: pointer; border: none;
}
.lux-error-page__btn--primary {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), #8b5cf6); color: #fff;
    box-shadow: 0 4px 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}
.lux-error-page__btn--ghost {
    background: #fff; border: 0px solid rgba(15, 23, 42, 0.12); color: #334155;
}
.lux-error-page__footer {
    margin-top: 1rem; padding-top: 0.75rem; border-top: 1px solid rgba(15, 23, 42, 0.06);
    font-size: 0.5625rem; font-weight: 700; color: #94a3b8;
}

@media (max-width: 900px) {
    .lux-chat-workspace { grid-template-columns: 1fr; min-height: auto; }
    .lux-chat-sidebar { max-height: 16rem; }
    .lux-user-calendar-workspace {
        grid-template-columns: 1fr;
    }

    .lux-user-calendar-sidebar {
        position: static;
        max-height: none;
    }

    .lux-user-calendar-toolbar__row--primary {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-user-calendar-toolbar__center {
        align-items: flex-start;
    }
}

/* Deliverable details — recurring schedules */
.pd-card--recurring {
    overflow: hidden;
}

.pd-card--recurring .pd-card__body--flush {
    padding: 0;
}

.lux-recurring-panel__card-hint {
    margin: 0.12rem 0 0;
    font-size: 0.625rem;
    color: #64748b;
    line-height: 1.4;
    font-weight: 500;
}

.lux-recurring-panel {
    padding: 0.65rem 0.75rem 0.75rem;
}

.lux-recurring-panel__toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
}

.lux-recurring-panel__toolbar-copy {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: #64748b;
    font-weight: 600;
    flex: 1;
    min-width: 0;
}

.lux-recurring-panel__composer {
    margin-bottom: 0.65rem;
    padding: 0.65rem 0.7rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    border-radius: 14px;
    background: linear-gradient(180deg, #fff 0%, rgba(248, 250, 252, 0.96) 100%);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-recurring-panel__composer-title {
    margin: 0 0 0.5rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-recurring-panel__composer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem 0.6rem;
}

.lux-recurring-panel__composer-cron {
    grid-column: 1 / -1;
}

.lux-recurring-panel__composer-grid .form-group {
    margin-bottom: 0 !important;
}

.lux-recurring-panel__field-label {
    margin: 0 0 0.3rem;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.lux-recurring-panel__cron-control {
    padding: 0.45rem 0.55rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
}

.lux-recurring-panel__cron-value {
    flex: 1;
    min-width: 0;
    text-align: left;
}

.lux-recurring-panel__field-hint {
    margin: 0.2rem 0 0;
    font-size: 0.5625rem;
    color: #94a3b8;
    font-weight: 600;
}

.lux-recurring-panel__composer-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.55rem;
    padding-top: 0.55rem;
    border-top: 1px dashed #e2e8f0;
}

.lux-recurring-panel__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    min-height: 2rem;
    padding: 0 0.85rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.14s ease, box-shadow 0.14s ease;
}

.lux-recurring-panel__btn.is-primary {
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-recurring-panel__btn.is-primary:hover {
    transform: translateY(-1px);
}

.lux-recurring-panel__btn.is-ghost {
    border: 0px solid #e2e8f0;
    background: #fff;
    color: #64748b;
}

.lux-recurring-panel__btn.is-compact {
    flex-shrink: 0;
}

.lux-recurring-panel__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1rem 0.75rem 1.1rem;
    border: 0px dashed #e2e8f0;
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.7);
}

.lux-recurring-panel__empty-icon {
    width: 2.5rem;
    height: 2.5rem;
    display: grid;
    place-items: center;
    margin-bottom: 0.45rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 1.1rem;
}

.lux-recurring-panel__empty h5 {
    margin: 0 0 0.3rem;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-recurring-panel__empty p {
    margin: 0 0 0.55rem;
    max-width: 22rem;
    font-size: 0.625rem;
    line-height: 1.45;
    color: #64748b;
    font-weight: 600;
}

.lux-recurring-panel__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-recurring-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.6rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
}

.lux-recurring-row.is-enabled {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: linear-gradient(180deg, #fff 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04) 100%);
}

.lux-recurring-row.is-paused {
    opacity: 0.72;
}

.lux-recurring-row__main {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    min-width: 0;
}

.lux-recurring-row__icon {
    width: 1.75rem;
    height: 1.75rem;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
}

.lux-recurring-row__copy {
    min-width: 0;
}

.lux-recurring-row__copy strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-recurring-row__cron {
    margin: 0.12rem 0 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--lux-primary-dark, #3730a3);
    line-height: 1.35;
}

.lux-recurring-row__meta {
    margin: 0.15rem 0 0;
    font-size: 0.5625rem;
    color: #64748b;
    font-weight: 600;
}

.lux-recurring-row__dot {
    margin: 0 0.2rem;
}

.lux-recurring-row__aside {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.lux-recurring-row__next {
    text-align: right;
}

.lux-recurring-row__next-label {
    display: block;
    font-size: 0.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
}

.lux-recurring-row__next strong {
    font-size: 0.625rem;
    color: #0f172a;
}

.lux-recurring-row__actions {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-recurring-row__switch {
    position: relative;
    display: inline-flex;
    margin: 0;
    cursor: pointer;
}

.lux-recurring-row__switch input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.lux-recurring-row__switch-ui {
    width: 2rem;
    height: 1.15rem;
    border-radius: 999px;
    background: #cbd5e1;
    transition: background 0.15s ease;
}

.lux-recurring-row__switch-ui::after {
    content: "";
    position: absolute;
    top: 0.14rem;
    left: 0.14rem;
    width: 0.85rem;
    height: 0.85rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2);
    transition: transform 0.15s ease;
}

.lux-recurring-row__switch input:checked + .lux-recurring-row__switch-ui {
    background: var(--lux-primary, #5b5ff4);
}

.lux-recurring-row__switch input:checked + .lux-recurring-row__switch-ui::after {
    transform: translateX(0.85rem);
}

.lux-recurring-row__remove {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.lux-recurring-row__remove:hover {
    background: #fef2f2;
    color: #dc2626;
}

.lux-deliverable-details-page .custom-select__menu-portal,
.lux-deliverable-details-page .lux-date-picker-popper,
body:has(.lux-deliverable-details-page) #lux-date-picker-portal .react-datepicker-popper {
    z-index: 10150 !important;
}

@media (max-width: 768px) {
    .lux-recurring-panel__composer-grid {
        grid-template-columns: 1fr;
    }

    .lux-recurring-row {
        grid-template-columns: 1fr;
    }

    .lux-recurring-row__aside {
        justify-content: space-between;
        width: 100%;
    }
}

/* —— Hero —— */
.pd-hero {
    position: relative;
    margin: 12px 0 16px;
    padding: 22px 24px;
    border-radius: var(--pd-radius);
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 252, 0.88));
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.07);
    overflow: hidden;
}

.pd-hero__glow {
    position: absolute;
    top: -40%;
    right: -5%;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18), transparent 70%);
    pointer-events: none;
}

.pd-hero__inner {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.pd-hero__badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 9911px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.15);
    margin-right: 8px;
}

.pd-hero__id {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    letter-spacing: 0.04em;
}

.pd-hero__title {
    margin: 8px 0 12px;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.6px;
    line-height: 1.2;
    color: #0f172a;
}

.pd-hero__code {
    color: var(--lux-primary, #5b5ff4);
}

.pd-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pd-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 9911px;
    font-size: 12px;
    font-weight: 600;
}

.pd-chip--soft {
    color: #475569;
    background: #f1f5f9;
    border: 0px solid #e2e8f0;
}

.pd-chip--accent {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.pd-hero__actions {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    flex-shrink: 0;
}

.pd-icon-btn {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 0px solid #e2e8f0;
    background: #fff;
    transition: 0.15s ease;
}

.pd-icon-btn:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}


.pd-hero {
    position: relative;
    overflow: hidden;
}

.pd-hero__accent {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--lux-primary, #5b5ff4), #14b8a6);
    z-index: 1;
}

.pd-hero__meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.35rem;
}

.pd-hero__meta-chip {
    display: inline-flex;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
    background: rgba(241, 245, 249, 0.95);
    border: 1px solid #e2e8f0;
}

.pd-hero__facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(7.25rem, 1fr));
    gap: 0.4rem;
    margin: 0.7rem 0 0;
    padding: 0.5rem;
    border-radius: 12px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.96));
}

.pd-hero__fact {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
    padding: 0.45rem 0.5rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #eef2f7;
}

.pd-hero__fact-icon {
    width: 1.85rem;
    height: 1.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    flex-shrink: 0;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.pd-hero__fact-label {
    display: block;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #94a3b8;
}

.pd-hero__fact-value {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.84rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pd-card__copy {
    min-width: 0;
}

.pd-card__eyebrow {
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.pd-card__subtitle {
    margin: 0.15rem 0 0;
    font-size: 0.74rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.4;
}

.pd-about-panel {
    padding: 0 1.05rem 1.05rem;
}

.lux-project-details-page .pd-about-text {
    margin: 0;
    padding: 0.95rem 1rem;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #fff, #f8fafc);
    font-size: 0.9rem;
    line-height: 1.6;
    color: #334155;
}

.pd-fact-group__icon {
    width: 2.15rem;
    height: 2.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    flex-shrink: 0;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.pd-fact-group--commercial .pd-fact-group__icon {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.pd-fact-group--people .pd-fact-group__icon {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}

.pd-fact-group--delivery .pd-fact-group__icon {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.pd-fact-group__eyebrow {
    display: block;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.pd-fact-group__subtitle {
    margin: 0.15rem 0 0;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-project-details-page .pd-fact-group {
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.lux-project-details-page .pd-fact {
    padding: 0.7rem 0.75rem;
    border-radius: 12px;
    border: 1px solid transparent;
    background: rgba(255, 255, 255, 0.82);
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-project-details-page .pd-fact:hover {
    border-color: #e2e8f0;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.pd-rail__title {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-project-details-page .pd-card--timeline {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.lux-project-details-page .pd-card--timeline::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(180deg, #0ea5e9, #6366f1);
}

.lux-project-details-page .pd-card--about,
.lux-project-details-page .pd-card--comments {
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.lux-project-details-page.pd-page {
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 42%),
        radial-gradient(circle at 100% 8%, rgba(20, 184, 166, 0.05), transparent 40%),
        transparent;
}

@media (max-width: 900px) {
    .pd-hero__facts {
        margin-left: 0.85rem;
        margin-right: 0.85rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.pd-hero--compact {
    margin: 0 0 12px;
    padding: 16px;
}

.pd-hero--compact .pd-hero__title {
    font-size: 18px;
}

/* —— Nav pills —— */
.pd-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
    padding: 6px;
    border-radius: 9911px;
    background: rgba(241, 245, 249, 0.8);
    border: 0px solid #e2e8f0;
    width: fit-content;
    max-width: 100%;
}

.pd-nav__item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 11px 16px;
    border: none;
    border-radius: 9911px;
    background: transparent;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: 0.18s ease;
    text-decoration: none !important;
}

.pd-nav__item i {
    font-size: 14px;
    opacity: 0.85;
}

.pd-nav__item:hover:not(.is-disabled) {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(255, 255, 255, 0.7);
}

.pd-nav__item.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
}

.pd-nav__item.is-disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.pd-nav__item--link {
    color: #64748b;
}

.pd-nav__item--link.active,
.pd-nav__item--link:hover {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(255, 255, 255, 0.7);
}

/* —— Summary stat tiles —— */
.pd-summary-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--pd-gap);
    margin-bottom: var(--pd-gap);
}

.pd-stat-tile {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-radius: var(--pd-radius-sm);
    border: 0px solid transparent;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pd-stat-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.pd-stat-tile__icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    font-size: 18px;
}

.pd-stat-tile__value {
    display: block;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.5px;
    line-height: 1;
    color: #0f172a;
}

.pd-stat-tile__label {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}

.pd-stat-tile--mint {
    background: linear-gradient(135deg, #ecfdf5, #d1fae5);
    border-color: #a7f3d0;
}
.pd-stat-tile--mint .pd-stat-tile__icon {
    background: #10b981;
    color: #fff;
}

.pd-stat-tile--sky {
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
    border-color: #bfdbfe;
}
.pd-stat-tile--sky .pd-stat-tile__icon {
    background: #3b82f6;
    color: #fff;
}

.pd-stat-tile--violet {
    background: linear-gradient(135deg, #f5f3ff, #ede9fe);
    border-color: #ddd6fe;
}
.pd-stat-tile--violet .pd-stat-tile__icon {
    background: #8b5cf6;
    color: #fff;
}

.pd-stat-tile--sun {
    background: linear-gradient(135deg, #fffbeb, #fef3c7);
    border-color: #fde68a;
}
.pd-stat-tile--sun .pd-stat-tile__icon {
    background: #f59e0b;
    color: #fff;
}

/* —— Workspace grid —— */
.pd-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: var(--pd-gap);
    align-items: start;
}

.pd-workspace__main {
    display: flex;
    flex-direction: column;
    gap: var(--pd-gap);
    min-width: 0;
}

.pd-workspace__aside,
.pd-rail {
    display: flex;
    flex-direction: column;
    gap: var(--pd-gap);
    position: sticky;
    top: 80px;
    min-width: 0;
}

.pd-rail__head {
    padding: 4px 2px 0;
}

.pd-rail__eyebrow {
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #94a3b8;
}

.pd-rail__hint {
    margin: 4px 0 0;
    font-size: 12px;
    color: #64748b;
    line-height: 1.4;
}

.pd-rail--embedded .pd-rail__head {
    display: none;
}

.pd-rail--embedded .pd-card {
    padding: 16px 18px;
}

.pd-rail--embedded .pd-card__title {
    font-size: 14px;
}

/* —— Cards —— */
.pd-card {
    padding: 20px 22px;
    border-radius: var(--pd-radius);
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.pd-card__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.pd-card__head .pd-card__actions {
    margin-left: auto;
}

.pd-card__icon {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 15px;
}

.pd-card__title {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.2px;
    color: #1e293b;
}

.pd-about-text {
    margin: 0;
    padding: 14px 16px;
    border-radius: var(--pd-radius-sm);
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
    border: 0px solid #e2e8f0;
    color: #475569;
    font-size: 14px;
    line-height: 1.65;
}

/* —— Fact groups —— */
.pd-fact-groups {
    display: flex;
    flex-direction: column;
    gap: var(--pd-gap);
}

.pd-fact-group {
    padding: 18px 20px;
    border-radius: var(--pd-radius);
    border: 0px solid #e2e8f0;
    background: #fff;
}

.pd-fact-group__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.pd-fact-group__emoji {
    font-size: 22px;
    line-height: 1;
}

.pd-fact-group__title {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
    color: #334155;
}

.pd-fact-group--commercial {
    background: linear-gradient(180deg, #fff, #fffbeb);
    border-color: #fde68a;
}

.pd-fact-group--people {
    background: linear-gradient(180deg, #fff, #eff6ff);
    border-color: #bfdbfe;
}

.pd-fact-group--delivery {
    background: linear-gradient(180deg, #fff, #f5f3ff);
    border-color: #ddd6fe;
}

.pd-fact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}

.pd-fact {
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.85);
    border: 0px solid rgba(226, 232, 240, 0.8);
    transition: 0.15s ease;
}

.pd-fact:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
}

.pd-fact--wide {
    grid-column: 1 / -1;
}

.pd-fact__label {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.pd-fact__value {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.35;
}

.pd-fact__icon {
    color: var(--lux-primary, #5b5ff4);
    font-size: 13px;
}

/* —— Collapsible sections —— */
.pd-collapsible {
    border-radius: var(--pd-radius);
    border: 0px solid #e2e8f0;
    background: #fff;
    overflow: hidden;
}

.pd-collapsible__summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    font-size: 14px;
    font-weight: 800;
    color: #334155;
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background 0.15s ease;
}

.pd-collapsible__summary::-webkit-details-marker {
    display: none;
}

.pd-collapsible__summary:hover {
    background: #f8fafc;
}

.pd-collapsible__summary i:first-child {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
}

.pd-collapsible__chevron {
    margin-left: auto;
    transition: transform 0.2s ease;
    color: #94a3b8;
}

.pd-collapsible[open] .pd-collapsible__chevron {
    transform: rotate(180deg);
}

.pd-collapsible__body {
    padding: 0 20px 18px;
    border-top: 1px solid #f1f5f9;
}

.pd-collapsible__body--flush {
    padding: 0;
}

.pd-card--flush {
    padding: 0;
    overflow: hidden;
}

.pd-card--flush .card,
.pd-card--flush .section-banner {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* —— Timeline aside —— */
.pd-timeline {
    position: relative;
    padding-left: 8px;
}

.pd-timeline__step {
    position: relative;
    display: flex;
    gap: 14px;
    padding-bottom: 18px;
    padding-left: 20px;
}

.pd-timeline__step:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 14px;
    bottom: 0;
    width: 2px;
    background: #e2e8f0;
}

.pd-timeline__step.is-active .pd-timeline__dot {
    background: var(--lux-primary, #5b5ff4);
    box-shadow: 0 0 0 4px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.pd-timeline__dot {
    position: absolute;
    left: 0;
    top: 4px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #cbd5e1;
    border: 2px solid #fff;
    z-index: 1;
}

.pd-timeline__label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.pd-timeline__value {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #1e293b;
}

.pd-meta-list {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px dashed #e2e8f0;
}

.pd-meta-list__row {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 0;
    font-size: 12px;
    color: #64748b;
}

.pd-meta-list__row strong {
    color: #1e293b;
    font-weight: 700;
    text-align: right;
}

/* —— Deliverables panel —— */
.pd-deliverables {
    padding: 18px 20px;
    border-radius: var(--pd-radius);
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
}

.pd-deliverables__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.pd-deliverables__icon {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(20, 184, 166, 0.12);
    color: #0d9488;
}

.pd-deliverables__title {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: #1e293b;
}

.pd-deliverables .card {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    margin: 0 !important;
}

.pd-deliverables .card-header {
    display: none;
}

.pd-deliverables .card-body {
    padding: 0 !important;
}

.pd-deliverables h4 {
    color: var(--lux-primary, #5b5ff4) !important;
    font-weight: 800 !important;
}

.pd-deliverables .progress {
    height: 6px;
    border-radius: 9911px;
    background: #e2e8f0;
    overflow: hidden;
}

.pd-deliverables .progress-bar-success {
    background: linear-gradient(90deg, var(--lux-accent, #14b8a6), var(--lux-primary, #5b5ff4)) !important;
    border-radius: 9911px;
}

/* —— Feedback teaser —— */
.pd-feedback-teaser {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 18px 22px;
    border: 0px dashed rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    border-radius: var(--pd-radius);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), rgba(20, 184, 166, 0.06));
    cursor: pointer;
    text-align: left;
    transition: 0.18s ease;
}

.pd-feedback-teaser:hover {
    border-style: solid;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.pd-feedback-teaser__icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--lux-primary, #5b5ff4);
    color: #fff;
    font-size: 18px;
    flex-shrink: 0;
}

.pd-feedback-teaser__copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.pd-feedback-teaser__copy strong {
    font-size: 14px;
    color: #1e293b;
}

.pd-feedback-teaser__copy span {
    font-size: 12px;
    color: #64748b;
}

.pd-feedback-teaser__arrow {
    color: var(--lux-primary, #5b5ff4);
    font-size: 18px;
}

/* —— Comments card —— */
.pd-card--comments {
    padding: 0;
    overflow: hidden;
}

.pd-card__head--comments {
    padding: 18px 22px 0;
    margin-bottom: 0;
}

.pd-card--comments .card {
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    background: transparent !important;
}

.pd-card--comments .card-header {
    padding: 12px 22px 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    background: transparent !important;
}

.pd-card--comments .page-header-tab .nav-link {
    border-radius: 9911px !important;
    padding: 8px 14px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    margin-right: 4px;
}

.pd-card--comments .page-header-tab .nav-link.active {
    color: var(--lux-primary-dark, #3730a3) !important;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1) !important;
}

.pd-card--checklist .section-banner,
.pd-card--checklist .subHeading {
    border-radius: 0;
}

/* —— Empty state —— */
.pd-empty {
    text-align: center;
    padding: 48px 24px;
}

.pd-empty.lux-register-empty {
    padding: 0;
    text-align: left;
}

.pd-empty.lux-register-empty .lux-register-empty__copy {
    text-align: left;
}

.pd-empty__title {
    margin: 16px 0 6px;
    font-size: 16px;
    font-weight: 700;
    color: #334155;
}

.pd-empty__hint {
    margin: 0;
    font-size: 13px;
    color: #94a3b8;
}

/* —— Embedded / sidebar —— */
.pd-overview--embedded {
    padding: 0;
}

.pd-overview--embedded .pd-summary-stats {
    grid-template-columns: repeat(2, 1fr);
}

.pd-overview--embedded .pd-workspace {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
    gap: 14px;
}

.pd-overview--embedded .pd-workspace__aside,
.pd-overview--embedded .pd-rail {
    position: static;
    top: auto;
}

.view_project_right_sidebar.lux-view-project-panel .lux-create-panel__body {
    padding: 0;
    overflow: hidden;
}

.view_project_right_sidebar.lux-view-project-panel .lux-view-project-panel__scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 18px 24px;
    -webkit-overflow-scrolling: touch;
}

.view_task_right_sidebar.lux-view-deliverable-panel .lux-create-panel__body,
.view_project_right_sidebar.lux-view-po-panel .lux-create-panel__body {
    padding: 0;
    overflow: hidden;
}

.view_task_right_sidebar.lux-view-deliverable-panel .lux-view-deliverable-panel__scroll,
.view_project_right_sidebar.lux-view-po-panel .lux-view-po-panel__scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 18px 24px;
    -webkit-overflow-scrolling: touch;
}

.lux-create-panel--invoice .lux-invoice-generate {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
}

.lux-invoice-generate__form {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 0 0.15rem;
}

.lux-invoice-generate__items .lux-create-section__head {
    flex-wrap: wrap;
}

.lux-invoice-generate__add-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-left: auto;
    padding: 0.35rem 0.6rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    border-radius: 8px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #4338ca;
    cursor: pointer;
}

.lux-invoice-generate__table-wrap {
    overflow: auto;
}

.lux-invoice-generate__table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.75rem;
}

.lux-invoice-generate__table th {
    padding: 0.4rem 0.5rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.35);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    text-align: left;
}

.lux-invoice-generate__table td {
    padding: 0.35rem 0.5rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    vertical-align: middle;
}

.lux-invoice-generate__remove {
    display: inline-grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border: none;
    border-radius: 8px;
    background: rgba(244, 63, 94, 0.08);
    color: #e11d48;
    cursor: pointer;
}

.lux-invoice-generate__remove:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}



/* —— Luxury status control (details heroes) —— */
.lux-status-control {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    z-index: 6;
}

.lux-status-control__eyebrow {
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-status-control__trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 2.15rem;
    padding: 0.35rem 0.7rem 0.35rem 0.55rem;
    border-radius: 999px;
    border: 1px solid transparent;
    background: #f8fafc;
    color: #0f172a;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.lux-status-control__trigger:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.1);
}

.lux-status-control__trigger:disabled,
.lux-status-control__trigger.is-readonly {
    cursor: default;
    opacity: 1;
}

.lux-status-control__dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.06);
    flex-shrink: 0;
}

.lux-status-control__icon {
    display: grid;
    place-items: center;
    font-size: 0.9rem;
}

.lux-status-control__label {
    white-space: nowrap;
}

.lux-status-control__chevron {
    color: inherit;
    opacity: 0.7;
    font-size: 0.85rem;
}

.lux-status-control__trigger.is-sky {
    color: #0369a1;
    background: rgba(14, 165, 233, 0.12);
    border-color: rgba(14, 165, 233, 0.22);
}
.lux-status-control__trigger.is-indigo {
    color: #4338ca;
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.22);
}
.lux-status-control__trigger.is-amber {
    color: #b45309;
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(245, 158, 11, 0.28);
}
.lux-status-control__trigger.is-green {
    color: #047857;
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.24);
}
.lux-status-control__trigger.is-slate {
    color: #475569;
    background: rgba(100, 116, 139, 0.12);
    border-color: rgba(100, 116, 139, 0.22);
}

.lux-status-control__menu {
    position: absolute;
    top: calc(100% + 0.4rem);
    right: 0;
    width: min(18.5rem, 84vw);
    border-radius: 16px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.14);
    overflow: hidden;
    z-index: 40;
}

/* Portaled to document.body so project/deliverable heroes (overflow:hidden) cannot clip it */
.lux-status-control__menu--portal {
    position: fixed;
    top: auto;
    right: auto;
    z-index: 10060;
}

.lux-status-control__menu-head {
    padding: 0.7rem 0.85rem 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.94));
}

.lux-status-control__menu-head strong {
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-status-control__menu-head span {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.68rem;
    color: #64748b;
}

.lux-status-control__list {
    list-style: none;
    margin: 0;
    padding: 0.35rem;
}

.lux-status-control__option {
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.55rem;
    border: 0;
    border-radius: 12px;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: background 0.12s ease;
}

.lux-status-control__option:hover:not(:disabled):not(.is-current) {
    background: rgba(248, 250, 252, 0.95);
}

.lux-status-control__option.is-current {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    cursor: default;
}

.lux-status-control__option.is-disabled,
.lux-status-control__option:disabled {
    opacity: 0.48;
    cursor: not-allowed;
}

.lux-status-control__option-icon {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 10px;
    display: grid;
    place-items: center;
    font-size: 0.85rem;
    background: rgba(241, 245, 249, 0.95);
    color: #475569;
}

.lux-status-control__option.is-sky .lux-status-control__option-icon {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}
.lux-status-control__option.is-indigo .lux-status-control__option-icon {
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}
.lux-status-control__option.is-amber .lux-status-control__option-icon {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}
.lux-status-control__option.is-green .lux-status-control__option-icon {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}
.lux-status-control__option.is-slate .lux-status-control__option-icon {
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

.lux-status-control__option-copy {
    min-width: 0;
}

.lux-status-control__option-copy strong {
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-status-control__option-copy span {
    display: block;
    margin-top: 0.05rem;
    font-size: 0.65rem;
    color: #64748b;
    line-height: 1.3;
}

.lux-status-control__option-check {
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.85rem;
}

.pd-hero--dense .lux-status-control__trigger {
    min-height: 1.9rem;
    padding: 0.28rem 0.6rem 0.28rem 0.45rem;
    font-size: 0.75rem;
}

.lux-create-panel--deliverable .lux-create-panel__body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0;
    overflow: hidden;
}

.lux-deliverable-create {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1;
    height: 100%;
}

.lux-deliverable-create__scroll {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0.85rem 1rem 1rem;
    background:
        radial-gradient(circle at top right, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 42%),
        linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.98));
}

.lux-deliverable-create__context {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.85rem;
}

.lux-deliverable-create__context-card {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
    padding: 0.65rem 0.7rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.lux-deliverable-create__context-icon {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 10px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.85rem;
}

.lux-deliverable-create__context-copy {
    min-width: 0;
}

.lux-deliverable-create__context-label {
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-deliverable-create__context-value {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-deliverable-create__workspace {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    align-items: start;
}

.lux-deliverable-create__section--access {
    grid-column: 1 / -1;
}

.lux-deliverable-create__fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.15rem 0.75rem;
}

.lux-deliverable-create__field {
    min-width: 0;
}

.lux-deliverable-create__field--full {
    grid-column: 1 / -1;
}

.lux-create-panel--deliverable .lux-deliverable-create__section .lux-create-section__body {
    padding-top: 0.7rem;
}

.lux-create-panel--deliverable .lux-project-access {
    margin: 0;
}

.lux-create-panel--deliverable .lux-create-footer {
    flex-shrink: 0;
}

@media (max-width: 991px) {
    .lux-deliverable-create__workspace,
    .lux-deliverable-create__fields {
        grid-template-columns: 1fr;
    }

    .lux-deliverable-create__section--access,
    .lux-deliverable-create__field--full {
        grid-column: auto;
    }
}

.view_project_right_sidebar .pd-page,
.view_project_right_sidebar .pd-hero {
    margin: 0;
    border-radius: 0;
    box-shadow: none;
}

.view_project_right_sidebar .pd-hero--compact {
    margin-bottom: 12px;
    border-radius: var(--pd-radius-sm);
}

.view_project_right_sidebar .pd-nav {
    display: none;
}

/* —— Responsive —— */
@media (max-width: 1100px) {
    .pd-workspace {
        grid-template-columns: 1fr;
    }

    .pd-workspace__aside,
    .pd-rail {
        position: static;
        top: auto;
    }
}

@media (max-width: 991px) {
    .pd-overview--embedded .pd-workspace {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .pd-page {
        padding: 0 12px 20px;
    }

    .pd-hero__inner {
        flex-direction: column;
    }

    .pd-hero__title {
        font-size: 20px;
    }

    .pd-summary-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .pd-nav {
        border-radius: 16px;
        width: 100%;
    }

    .pd-fact-grid {
        grid-template-columns: 1fr;
    }
}

/* ========== Team estimates — luxury panel & editor ========== */

/* ========== Team estimates — luxury summary & editor ========== */
.pd-estimates,
.lux-estimate-panel {
    position: relative;
    padding: 1.15rem 1.25rem 1.25rem;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background:
        radial-gradient(circle at 100% 0%, rgba(245, 158, 11, 0.08), transparent 42%),
        radial-gradient(circle at 0% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 48%),
        #fff;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.pd-estimates::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #f59e0b, var(--lux-primary, #5b5ff4));
}

.pd-estimates__head {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 1rem;
}

.pd-estimates__icon {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.18), rgba(251, 191, 36, 0.08));
    color: #d97706;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.18);
}

.pd-estimates__icon i {
    font-size: 1.1rem;
}

.pd-estimates__titles {
    flex: 1;
    min-width: 0;
}

.pd-estimates__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.pd-estimates__subtitle {
    margin: 0.2rem 0 0;
    font-size: 0.78rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-estimate-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.lux-estimate-kpi {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    background: linear-gradient(180deg, #fff, #f8fafc);
    border: 1px solid #e2e8f0;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.03);
}

.lux-estimate-kpi.is-muted {
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
}

.lux-estimate-kpi.is-accent {
    border-color: rgba(13, 148, 136, 0.28);
    background: linear-gradient(180deg, rgba(45, 212, 191, 0.08), #fff);
}

.lux-estimate-kpi__label {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-estimate-kpi__value {
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
    line-height: 1;
}

.lux-estimate-kpi.is-accent .lux-estimate-kpi__value {
    color: #0f766e;
}

.pd-estimates__teams {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.pd-estimates__team-card {
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pd-estimates__team-card:hover,
.pd-estimates__team-card.is-expanded {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.pd-estimates__team-row {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.7rem;
    width: 100%;
    padding: 0.85rem 0.95rem;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s ease;
}

.pd-estimates__team-row:hover {
    background: #f8fafc;
}

.pd-estimates__team-chevron {
    width: 1.35rem;
    height: 1.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    flex-shrink: 0;
}

.pd-estimates__team-avatar {
    width: 2.15rem;
    height: 2.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.pd-estimates__team-info {
    min-width: 0;
}

.pd-estimates__team-name {
    display: block;
    font-size: 0.9rem;
    font-weight: 750;
    color: #0f172a;
}

.pd-estimates__team-meta {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.74rem;
    color: #64748b;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pd-estimates__team-hours-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.12rem;
    flex-shrink: 0;
}

.pd-estimates__team-hours {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--lux-primary-dark, #3730a3);
    line-height: 1;
}

.pd-estimates__team-hours-unit {
    font-size: 0.65rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.pd-estimates__team-detail {
    padding: 0 0.85rem 0.9rem;
    border-top: 1px solid #f1f5f9;
    background: linear-gradient(180deg, #f8fafc, #fff);
}

.pd-estimates__team-detail-empty {
    margin: 0.75rem 0 0;
    font-size: 0.8rem;
    color: #94a3b8;
}

.lux-estimate-table {
    --est-cols: minmax(5.5rem, 0.85fr) minmax(4.5rem, 0.7fr) minmax(0, 1.4fr) 4.25rem;
    display: grid;
    gap: 0.25rem;
    margin-top: 0.75rem;
}

.lux-estimate-table.has-auto {
    --est-cols: minmax(5.5rem, 0.85fr) minmax(4.5rem, 0.7fr) minmax(0, 1.35fr) 3.75rem 3.75rem;
}

.lux-estimate-table.has-revised {
    --est-cols: minmax(5.5rem, 0.85fr) minmax(4.5rem, 0.7fr) minmax(0, 1.35fr) 3.75rem 3.75rem;
}

.lux-estimate-table.has-auto.has-revised {
    --est-cols: minmax(5rem, 0.8fr) minmax(4rem, 0.65fr) minmax(0, 1.2fr) 3.4rem 3.4rem 3.4rem;
}

.lux-estimate-table__head,
.lux-estimate-table__row {
    display: grid;
    grid-template-columns: var(--est-cols);
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.lux-estimate-table__head {
    padding: 0.35rem 0.55rem 0.5rem;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #94a3b8;
    border-bottom: 1px solid #e2e8f0;
}

.lux-estimate-table__head span:nth-child(n+4),
.lux-estimate-table__hours {
    text-align: right;
}

.lux-estimate-table__row {
    padding: 0.55rem;
    border-radius: 10px;
    background: #fff;
    border: 1px solid transparent;
    font-size: 0.8rem;
}

.lux-estimate-table__row:nth-child(even) {
    background: rgba(248, 250, 252, 0.9);
}

.lux-estimate-table__row:hover {
    border-color: #e2e8f0;
}

.lux-estimate-table__month,
.lux-estimate-table__type {
    font-weight: 700;
    color: #334155;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-estimate-table__type {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-estimate-table__resource {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
    color: #0f172a;
}

.lux-estimate-table__hours {
    font-weight: 800;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}

.lux-estimate-table__hours.is-muted {
    color: #64748b;
}

.lux-estimate-table__hours.is-accent {
    color: #0f766e;
}

.pd-estimates__extra {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px dashed #e2e8f0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.pd-estimates__empty {
    text-align: center;
    padding: 1.5rem 1rem;
    color: #94a3b8;
}

.pd-estimates__empty i {
    display: block;
    font-size: 1.75rem;
    margin-bottom: 0.55rem;
    opacity: 0.55;
}

.pd-estimates__empty p {
    margin: 0 0 0.35rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: #64748b;
}

.pd-estimates__empty-hint {
    display: block;
    margin-bottom: 0.9rem;
    font-size: 0.78rem;
    line-height: 1.45;
    color: #94a3b8;
}

.pd-estimates__empty--sidebar {
    padding: 2.25rem 1.25rem;
    border-radius: 16px;
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
}

.lux-estimate-kpi.is-hero {
    grid-column: span 1;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), #fff);
}

.lux-estimate-kpi__unit {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
    font-style: normal;
}

.lux-estimate-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1rem;
    margin: 0 0 0.9rem;
    padding: 0.55rem 0.7rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.lux-estimate-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.72rem;
    font-weight: 650;
    color: #475569;
}

.lux-estimate-legend__item i {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: #94a3b8;
}

.lux-estimate-legend__item.is-primary i { background: var(--lux-primary, #5b5ff4); }
.lux-estimate-legend__item.is-muted i { background: #64748b; }
.lux-estimate-legend__item.is-accent i { background: #0d9488; }

.pd-estimates__teams-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.55rem;
}

.pd-estimates__teams-hint {
    font-size: 0.74rem;
    font-weight: 650;
    color: #64748b;
}

.pd-estimates__team-types {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-top: 0.35rem;
}

.pd-estimates__team-types em {
    font-style: normal;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.pd-estimates__team-share {
    margin-top: 0.45rem;
    height: 0.35rem;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    max-width: 14rem;
}

.pd-estimates__team-share-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
}

.pd-estimates__team-row {
    grid-template-columns: auto auto minmax(0, 1fr) auto;
}

.lux-estimate-detail {
    display: grid;
    gap: 0.75rem;
    padding-top: 0.15rem;
}

.lux-estimate-detail__type-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.lux-estimate-detail__type-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.6rem;
    border-radius: 999px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    font-size: 0.74rem;
}

.lux-estimate-detail__type-chip em {
    font-style: normal;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-estimate-detail__type-chip strong {
    font-weight: 800;
    color: #0f172a;
}

.lux-estimate-month {
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    overflow: hidden;
}

.lux-estimate-month__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.8rem;
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
    border-bottom: 1px solid #e2e8f0;
}

.lux-estimate-month__title {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.86rem;
    color: #0f172a;
}

.lux-estimate-month__title i { color: #94a3b8; }

.lux-estimate-month__totals {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.1rem;
}

.lux-estimate-month__totals strong {
    font-size: 0.9rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-estimate-month__totals span {
    font-size: 0.65rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-estimate-month__type {
    padding: 0.65rem 0.75rem 0.75rem;
    border-top: 1px solid #f1f5f9;
}

.lux-estimate-month__type-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    margin-bottom: 0.5rem;
}

.lux-estimate-month__type-label {
    display: inline-flex;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-estimate-month__type-total {
    font-size: 0.74rem;
    font-weight: 750;
    color: #64748b;
}

.lux-estimate-lines {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.45rem;
}

.lux-estimate-lines__item {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
    gap: 0.65rem;
    align-items: center;
    padding: 0.65rem 0.7rem;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
}

.lux-estimate-lines__name {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    font-size: 0.82rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-estimate-lines__name i {
    color: #94a3b8;
    flex-shrink: 0;
}

.lux-estimate-lines__name span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-estimate-facts {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.4rem;
}

.lux-estimate-fact {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.1rem;
    min-width: 4.25rem;
    padding: 0.35rem 0.5rem;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #e2e8f0;
}

.lux-estimate-fact span {
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-estimate-fact strong {
    font-size: 0.84rem;
    font-weight: 800;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}

.lux-estimate-fact.is-primary {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-estimate-fact.is-primary strong {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-estimate-fact.is-muted strong { color: #64748b; }

.lux-estimate-fact.is-accent {
    border-color: rgba(13, 148, 136, 0.28);
    background: rgba(13, 148, 136, 0.06);
}

.lux-estimate-fact.is-accent strong { color: #0f766e; }


/* Right-rail Team estimates — narrow stacked readability */
.lux-estimate-panel--rail {
    padding: 0.9rem 0.85rem 1rem;
}

.lux-estimate-panel--rail .pd-estimates__head {
    margin-bottom: 0.7rem;
    gap: 0.55rem;
}

.lux-estimate-panel--rail .pd-estimates__icon {
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
}

.lux-estimate-panel--rail .pd-estimates__title {
    font-size: 0.95rem;
}

.lux-estimate-panel--rail .pd-estimates__subtitle {
    font-size: 0.7rem;
}

.lux-estimate-rail-hero {
    margin-bottom: 0.75rem;
    padding: 0.75rem 0.8rem;
    border-radius: 14px;
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), rgba(20, 184, 166, 0.06)),
        #fff;
}

.lux-estimate-rail-hero__total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.65rem;
}

.lux-estimate-rail-hero__total span {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-estimate-rail-hero__total strong {
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--lux-primary-dark, #3730a3);
    font-variant-numeric: tabular-nums;
}

.lux-estimate-rail-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    margin-top: 0.55rem;
    padding-top: 0.55rem;
    border-top: 1px dashed rgba(148, 163, 184, 0.45);
    font-size: 0.72rem;
    font-weight: 650;
    color: #64748b;
}

.lux-estimate-rail-hero__meta strong {
    color: #0f172a;
    font-weight: 800;
}

.pd-estimates__teams-toolbar--rail {
    margin-bottom: 0.45rem;
}

.lux-estimate-link-btn {
    border: 0;
    background: transparent;
    padding: 0;
    font-size: 0.72rem;
    font-weight: 750;
    color: var(--lux-primary, #5b5ff4);
    cursor: pointer;
}

.lux-estimate-link-btn:hover {
    text-decoration: underline;
}

.lux-estimate-panel--rail .pd-estimates__team-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 0.7rem 0.7rem;
    gap: 0.5rem;
}

.lux-estimate-panel--rail .pd-estimates__team-name {
    font-size: 0.84rem;
}

.lux-estimate-panel--rail .pd-estimates__team-meta {
    white-space: normal;
    font-size: 0.7rem;
}

.pd-estimates__team-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.35rem;
}

.pd-estimates__team-preview em {
    font-style: normal;
    padding: 0.12rem 0.4rem;
    border-radius: 6px;
    font-size: 0.62rem;
    font-weight: 750;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}

.lux-estimate-panel--rail .pd-estimates__team-share {
    max-width: 100%;
}

.lux-estimate-panel--rail .pd-estimates__team-hours {
    font-size: 0.95rem;
}

.lux-estimate-panel--rail .pd-estimates__team-detail {
    padding: 0 0.55rem 0.7rem;
}

.lux-estimate-detail.is-rail .lux-estimate-detail__type-strip {
    gap: 0.3rem;
}

.lux-estimate-detail.is-rail .lux-estimate-month__head {
    flex-wrap: wrap;
    padding: 0.55rem 0.65rem;
}

.lux-estimate-detail.is-rail .lux-estimate-lines__item {
    grid-template-columns: 1fr;
    gap: 0.45rem;
    padding: 0.55rem 0.6rem;
}

.lux-estimate-facts.is-stacked {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(4.5rem, 1fr));
    width: 100%;
    justify-content: stretch;
}

.lux-estimate-facts.is-stacked .lux-estimate-fact {
    align-items: flex-start;
    min-width: 0;
}

.pd-rail .lux-estimate-panel--rail {
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}


.lux-estimate-month-block__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.05rem;
}

.lux-estimate-month-block__meta em {
    font-style: normal;
    font-size: 0.62rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-estimate-team-card__head-stat em {
    font-style: normal;
    font-size: 0.62rem;
    font-weight: 700;
    color: #64748b;
}

@media (max-width: 767px) {
    .lux-estimate-lines__item {
        grid-template-columns: 1fr;
    }

    .lux-estimate-facts {
        justify-content: flex-start;
    }

    .pd-estimates__teams-toolbar {
        flex-direction: column;
        align-items: stretch;
    }
}


/* Buttons */
.lux-estimate-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.7rem 1.1rem;
    border-radius: 999px;
    border: none;
    font-size: 0.82rem;
    font-weight: 750;
    cursor: pointer;
    transition: 0.18s ease;
}

.lux-estimate-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lux-estimate-btn--sm {
    padding: 0.45rem 0.9rem;
    font-size: 0.75rem;
}

.lux-estimate-btn--primary {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    box-shadow: 0 8px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-estimate-btn--primary:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
}

.lux-estimate-btn--ghost {
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}

.lux-estimate-btn--ghost:hover:not(:disabled) {
    background: #e2e8f0;
    color: #0f172a;
}

.pd-estimates__head .lux-estimate-btn--sm {
    flex-shrink: 0;
    margin-top: 0.15rem;
}

/* Editor sidebar */
.lux-estimate-sidebar__backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000000;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(5px);
    cursor: pointer;
}

.lux-estimate-sidebar {
    width: min(720px, 96vw) !important;
    z-index: 1000001 !important;
    box-shadow: -24px 0 60px rgba(15, 23, 42, 0.18) !important;
}

.right_sidebar.lux-estimate-sidebar:not(.open) {
    pointer-events: none;
    visibility: hidden;
}

.lux-estimate-sidebar__shell {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background:
        radial-gradient(circle at 100% 0%, rgba(245, 158, 11, 0.1), transparent 36%),
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 42%),
        #fff;
}

.lux-estimate-sidebar__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.35rem 1rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-estimate-sidebar__head-copy {
    min-width: 0;
}

.lux-estimate-sidebar__kicker {
    display: block;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-estimate-sidebar__title {
    margin: 0.25rem 0 0;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
}

.lux-estimate-sidebar__subtitle {
    margin: 0.35rem 0 0;
    max-width: 34rem;
    font-size: 0.82rem;
    line-height: 1.5;
    color: #64748b;
}

.lux-estimate-sidebar__close {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    flex-shrink: 0;
    transition: 0.15s ease;
}

.lux-estimate-sidebar__close:hover {
    color: #0f172a;
    background: #f8fafc;
    border-color: #cbd5e1;
}

.lux-estimate-sidebar__summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(6.5rem, 1fr));
    gap: 0.55rem;
    padding: 0.85rem 1.35rem;
    border-bottom: 1px solid #e2e8f0;
    background: rgba(248, 250, 252, 0.86);
}

.lux-estimate-sidebar__summary-kpi {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.7rem 0.8rem;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e2e8f0;
}

.lux-estimate-sidebar__summary-kpi span {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-estimate-sidebar__summary-kpi strong {
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1;
}

.lux-estimate-sidebar__summary-kpi.is-primary {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), #fff);
}

.lux-estimate-sidebar__summary-kpi.is-primary strong {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-estimate-sidebar__summary-kpi.is-muted strong {
    color: #64748b;
}

.lux-estimate-sidebar__body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.35rem 1.25rem;
}

.lux-estimate-sidebar__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1.35rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.lux-estimate-sidebar__foot-hint {
    margin: 0;
    max-width: 18rem;
    font-size: 0.74rem;
    line-height: 1.45;
    color: #94a3b8;
}

.lux-estimate-sidebar__foot-actions {
    display: flex;
    gap: 0.55rem;
    flex-shrink: 0;
}

/* Team cards in editor */
.lux-estimate-team-card {
    margin-bottom: 1rem;
    padding: 1rem 1.05rem 1.05rem;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.lux-estimate-team-card__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #f1f5f9;
}

.lux-estimate-team-card__icon {
    width: 2.35rem;
    height: 2.35rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
}

.lux-estimate-team-card__copy {
    min-width: 0;
}

.lux-estimate-team-card__name {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-estimate-team-card__types {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.74rem;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-estimate-team-card__head-stat {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
    padding: 0.4rem 0.65rem;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), rgba(20, 184, 166, 0.06));
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-estimate-team-card__head-stat span {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-estimate-team-card__head-stat strong {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    line-height: 1;
}

.lux-estimate-team-card__remove {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #ef4444 !important;
    opacity: 0.72;
    cursor: pointer;
}

.lux-estimate-team-card__remove:hover {
    opacity: 1;
    background: #fef2f2;
}

.lux-estimate-team-card__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 1.15rem 0.75rem;
    margin-bottom: 0.5rem;
    border-radius: 12px;
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
    text-align: center;
    color: #94a3b8;
}

.lux-estimate-team-card__empty i {
    font-size: 1.25rem;
    margin-bottom: 0.15rem;
}

.lux-estimate-team-card__empty p {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 700;
    color: #64748b;
}

.lux-estimate-team-card__empty span {
    font-size: 0.74rem;
}

.lux-estimate-month-block {
    margin-bottom: 0.85rem;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    background: #fff;
}

.lux-estimate-month-block__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.8rem;
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
}

.lux-estimate-month-block__title {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    font-size: 0.82rem;
    color: #334155;
}

.lux-estimate-month-block__title i {
    color: #94a3b8;
}

.lux-estimate-month-block__title strong {
    font-weight: 800;
    color: #0f172a;
}

.lux-estimate-month-block__subtotal {
    font-size: 0.8rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    font-variant-numeric: tabular-nums;
}

.lux-estimate-month-block__remove {
    width: 1.75rem;
    height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #ef4444 !important;
    cursor: pointer;
}

.lux-estimate-month-block__remove:hover {
    background: #fef2f2;
}

.lux-estimate-type-block {
    padding: 0.7rem 0.8rem 0.85rem;
    border-top: 1px solid #f1f5f9;
}

.lux-estimate-type-block__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
}

.lux-estimate-type-block__label {
    display: inline-flex;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-estimate-type-block__total {
    font-size: 0.75rem;
    font-weight: 750;
    color: #64748b;
    font-variant-numeric: tabular-nums;
}

/* Aligned hour grid */
.lux-estimate-grid {
    --grid-cols: minmax(0, 1fr) 4.5rem;
    display: grid;
    grid-template-columns: var(--grid-cols);
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.35rem;
    border-bottom: 1px solid #f8fafc;
    font-size: 0.8rem;
    min-width: 0;
}

.lux-estimate-grid.has-auto {
    --grid-cols: minmax(0, 1fr) 4.25rem 4.25rem;
}

.lux-estimate-grid.has-revised {
    --grid-cols: minmax(0, 1fr) 4.25rem 4.25rem;
}

.lux-estimate-grid.has-auto.has-revised {
    --grid-cols: minmax(0, 1fr) 3.85rem 3.85rem 3.85rem;
}

.lux-estimate-grid--head {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 0.45rem;
    margin-bottom: 0.15rem;
}

.lux-estimate-grid--head span:not(:first-child),
.lux-estimate-grid__cell.is-hours {
    text-align: right;
}

.lux-estimate-grid__cell.is-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 650;
    color: #0f172a;
}

.lux-estimate-grid__cell.is-hours {
    font-weight: 750;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}

.lux-estimate-grid__cell.is-muted {
    color: #64748b;
}

.lux-estimate-grid__cell.is-accent {
    color: #0f766e;
}

/* Legacy line classes kept for compatibility */
.lux-estimate-line {
    display: grid;
    grid-template-columns: 1fr repeat(3, 64px);
    gap: 8px;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid #f8fafc;
    font-size: 12px;
}

.lux-estimate-line--head {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 8px;
    margin-bottom: 4px;
}

.lux-estimate-line__name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
    color: #334155;
}

.lux-estimate-line__val {
    text-align: center;
    font-weight: 700;
    color: #1e293b;
}

.lux-estimate-line__val--muted {
    color: #64748b;
}

.lux-estimate-line__val--accent {
    color: #0d9488;
}

.lux-estimate-team-card__totals {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px dashed #e2e8f0;
}

.lux-estimate-team-card__totals-label {
    display: block;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 0.45rem;
}

.lux-estimate-team-card__totals-vals {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.lux-estimate-team-card__total-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    font-size: 0.74rem;
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
}

.lux-estimate-team-card__total-chip em {
    font-style: normal;
    font-weight: 700;
    font-size: 0.65rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-estimate-team-card__total-chip strong {
    font-weight: 800;
    color: #0f172a;
}

.lux-estimate-add-line-btn,
.lux-estimate-add-team-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem;
    margin-top: 0.65rem;
    border: 1px dashed rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.78rem;
    font-weight: 750;
    cursor: pointer;
    transition: 0.15s ease;
}

.lux-estimate-add-line-btn:hover,
.lux-estimate-add-team-btn:hover {
    border-style: solid;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-estimate-add-team {
    padding: 1rem;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    margin-top: 0.5rem;
}

.lux-estimate-add-team__head {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-bottom: 0.85rem;
}

.lux-estimate-add-team__head i {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.lux-estimate-add-team__head strong {
    display: block;
    font-size: 0.88rem;
    color: #0f172a;
}

.lux-estimate-add-team__head p {
    margin: 0.15rem 0 0;
    font-size: 0.74rem;
    color: #64748b;
}

.lux-estimate-add-team__actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

/* Add line modal */
.lux-estimate-line-modal {
    position: fixed;
    inset: 0;
    z-index: 1000002;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}

.lux-estimate-line-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(4px);
}

.lux-estimate-line-modal__panel {
    position: relative;
    width: min(540px, 100%);
    max-height: 90vh;
    overflow-y: auto;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background:
        radial-gradient(circle at 100% 0%, rgba(245, 158, 11, 0.08), transparent 40%),
        #fff;
    box-shadow: 0 32px 80px rgba(15, 23, 42, 0.22);
}

.lux-estimate-line-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1.25rem 1.35rem 0;
}

.lux-estimate-line-modal__kicker {
    display: block;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-estimate-line-modal__title {
    margin: 0.25rem 0 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-estimate-line-modal__form {
    padding: 1.1rem 1.35rem 1.35rem;
}

.lux-estimate-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.9rem;
}

.lux-estimate-field--wide {
    grid-column: 1 / -1;
}

.lux-estimate-field__label {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-estimate-input {
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    font-weight: 600;
}

.lux-estimate-line-modal__foot {
    display: flex;
    justify-content: flex-end;
    gap: 0.55rem;
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid #f1f5f9;
}

@media (max-width: 767px) {
    .lux-estimate-form-grid {
        grid-template-columns: 1fr;
    }

    .pd-estimates__team-row {
        grid-template-columns: auto minmax(0, 1fr) auto;
        grid-template-areas:
            "chevron info hours"
            "avatar info hours";
    }

    .pd-estimates__team-chevron { grid-area: chevron; }
    .pd-estimates__team-avatar { display: none; }
    .pd-estimates__team-info { grid-area: info; }
    .pd-estimates__team-hours-wrap { grid-area: hours; }

    .pd-estimates__team-detail {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .lux-estimate-table {
        min-width: 28rem;
    }

    .lux-estimate-table.has-auto,
    .lux-estimate-table.has-revised {
        min-width: 34rem;
    }

    .lux-estimate-table.has-auto.has-revised {
        min-width: 40rem;
    }

    .lux-estimate-sidebar {
        width: min(100vw, 100%) !important;
    }

    .lux-estimate-sidebar__foot {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-estimate-sidebar__foot-actions {
        width: 100%;
    }

    .lux-estimate-sidebar__foot-actions .lux-estimate-btn {
        flex: 1;
    }

    .lux-estimate-team-card__head {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .lux-estimate-team-card__head-stat {
        grid-column: 2;
        align-items: flex-start;
        justify-self: start;
    }

    .lux-estimate-grid,
    .lux-estimate-grid.has-auto,
    .lux-estimate-grid.has-revised,
    .lux-estimate-grid.has-auto.has-revised,
    .lux-estimate-line {
        grid-template-columns: minmax(0, 1fr) repeat(3, 3.1rem);
        font-size: 0.74rem;
    }
}

/* ========== Checklist — luxury panel & editor ========== */

/* ========== Project details Checklist — luxury rail summary ========== */
.pd-checklist,
.lux-checklist-panel {
    position: relative;
    padding: 1rem 0.95rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background:
        radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.1), transparent 42%),
        radial-gradient(circle at 0% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 48%),
        #fff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.pd-checklist::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #10b981, var(--lux-primary, #5b5ff4));
}

.pd-checklist.is-complete::before {
    background: linear-gradient(180deg, #059669, #34d399);
}

.pd-checklist.is-progress::before {
    background: linear-gradient(180deg, #f59e0b, #10b981);
}

.pd-checklist.is-ready::before {
    background: linear-gradient(180deg, #0ea5e9, #6366f1);
}

.pd-checklist__head {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-bottom: 0.85rem;
}

.pd-checklist__icon {
    width: 2.35rem;
    height: 2.35rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.18), rgba(20, 184, 166, 0.08));
    color: #059669;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.18);
}

.pd-checklist__titles {
    flex: 1;
    min-width: 0;
}

.pd-checklist__title {
    margin: 0;
    font-size: 0.98rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.pd-checklist__subtitle {
    margin: 0.15rem 0 0;
    font-size: 0.72rem;
    color: #64748b;
    line-height: 1.4;
}

.pd-checklist__hero {
    padding: 0.85rem;
    margin-bottom: 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(16, 185, 129, 0.18);
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.06), #fff);
}

.pd-checklist__hero-top {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.7rem;
}

.pd-checklist__ring {
    position: relative;
    width: 3.25rem;
    height: 3.25rem;
    flex-shrink: 0;
}

.pd-checklist__ring svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.pd-checklist__ring-bg {
    fill: none;
    stroke: #e2e8f0;
    stroke-width: 3;
}

.pd-checklist__ring-fill {
    fill: none;
    stroke: var(--lux-primary, #5b5ff4);
    stroke-width: 3;
    stroke-linecap: round;
    transition: stroke-dasharray 0.4s ease;
}

.pd-checklist__ring.is-complete .pd-checklist__ring-fill {
    stroke: #10b981;
}

.pd-checklist__ring-label {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 800;
    color: #0f172a;
}

.pd-checklist__hero-copy {
    min-width: 0;
}

.pd-checklist__hero-copy strong {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.9rem;
    font-weight: 800;
    color: #0f172a;
}

.pd-checklist__hero-copy > span:last-child {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.72rem;
    font-weight: 650;
    color: #64748b;
    line-height: 1.35;
}

.pd-checklist__bar {
    height: 0.4rem;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    margin-bottom: 0.65rem;
}

.pd-checklist__bar > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #10b981, var(--lux-primary, #5b5ff4));
}

.pd-checklist.is-complete .pd-checklist__bar > span {
    background: linear-gradient(90deg, #059669, #34d399);
}

.pd-checklist__bar--editor {
    margin: 0.45rem 0 0;
    max-width: 14rem;
}

.pd-checklist__kpi-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.4rem;
}

.pd-checklist__kpi {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.45rem 0.5rem;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #e2e8f0;
}

.pd-checklist__kpi span {
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.pd-checklist__kpi strong {
    font-size: 0.88rem;
    font-weight: 800;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}

.pd-checklist__kpi.is-muted strong { color: #64748b; }
.pd-checklist__kpi.is-req strong { color: #b45309; }

.pd-checklist__list-wrap {
    margin-bottom: 0.55rem;
}

.pd-checklist__list-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}

.pd-checklist__list-head strong {
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.pd-checklist__list-head span {
    font-size: 0.68rem;
    font-weight: 650;
    color: #94a3b8;
}

.pd-checklist__preview {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.4rem;
}

.pd-checklist__preview-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
    align-items: flex-start;
    padding: 0.65rem 0.7rem;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
}

.pd-checklist__preview-item.is-done {
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.06), #fff);
    border-color: rgba(16, 185, 129, 0.22);
}

.pd-checklist__preview-mark {
    width: 1.5rem;
    height: 1.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #e2e8f0;
    color: #94a3b8;
    flex-shrink: 0;
    margin-top: 0.05rem;
}

.pd-checklist__preview-item.is-done .pd-checklist__preview-mark {
    background: rgba(16, 185, 129, 0.16);
    color: #059669;
}

.pd-checklist__preview-body {
    min-width: 0;
}

.pd-checklist__preview-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.45rem;
}

.pd-checklist__preview-q {
    font-size: 0.78rem;
    font-weight: 750;
    color: #0f172a;
    line-height: 1.35;
}

.pd-checklist__req-tag {
    flex-shrink: 0;
    font-style: normal;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fde68a;
}

.pd-checklist__preview-a {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #059669;
    line-height: 1.35;
    word-break: break-word;
}

.pd-checklist__preview-a.is-empty {
    color: #94a3b8;
    font-weight: 650;
}

.pd-checklist__more {
    display: block;
    width: 100%;
    margin-top: 0.45rem;
    padding: 0.45rem;
    border: 0;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.72rem;
    font-weight: 750;
    cursor: pointer;
}

.pd-checklist__more:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.pd-checklist__empty {
    text-align: center;
    padding: 1.15rem 0.75rem;
    border-radius: 14px;
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
    color: #94a3b8;
    margin-bottom: 0.55rem;
}

.pd-checklist__empty-icon {
    display: inline-flex;
    width: 2.4rem;
    height: 2.4rem;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.45rem;
    border-radius: 12px;
    background: rgba(16, 185, 129, 0.1);
    color: #059669;
}

.pd-checklist__empty strong {
    display: block;
    font-size: 0.88rem;
    font-weight: 800;
    color: #475569;
}

.pd-checklist__empty p {
    margin: 0.3rem 0 0.75rem;
    font-size: 0.74rem;
    line-height: 1.45;
    color: #94a3b8;
}

.pd-checklist__configure {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.2rem;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 0.72rem;
    font-weight: 750;
    color: #64748b;
    cursor: pointer;
}

.pd-checklist__configure:hover {
    color: var(--lux-primary, #5b5ff4);
}

.pd-checklist__status-badge {
    display: inline-block;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fde68a;
}

.pd-checklist__status-badge.is-complete {
    color: #059669;
    background: #ecfdf5;
    border-color: #a7f3d0;
}

.pd-checklist__status-badge.is-progress {
    color: #0369a1;
    background: #e0f2fe;
    border-color: #bae6fd;
}

.pd-checklist__status-badge.is-ready {
    color: #6d28d9;
    background: #f5f3ff;
    border-color: #ddd6fe;
}

/* Answer / edit checklist sidebar */
.lux-checklist-sidebar__backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000000;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(5px);
    cursor: pointer;
}

.lux-checklist-sidebar {
    width: min(640px, 96vw) !important;
    z-index: 1000001 !important;
    box-shadow: -24px 0 60px rgba(15, 23, 42, 0.18) !important;
}

.lux-checklist-sidebar__shell {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background:
        radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.1), transparent 36%),
        #fff;
}

.lux-checklist-sidebar__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 1.3rem 1rem;
    border-bottom: 1px solid #e2e8f0;
}

.lux-checklist-sidebar__kicker {
    display: block;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-checklist-sidebar__title {
    margin: 0.25rem 0 0;
    font-size: 1.3rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-checklist-sidebar__subtitle {
    margin: 0.35rem 0 0;
    max-width: 28rem;
    font-size: 0.8rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-checklist-sidebar__close {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-checklist-sidebar__close:hover {
    color: #0f172a;
    background: #f8fafc;
}

.lux-checklist-sidebar__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    padding: 0.8rem 1.3rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.lux-checklist-sidebar__summary-kpi {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.65rem 0.7rem;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e2e8f0;
}

.lux-checklist-sidebar__summary-kpi span {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-checklist-sidebar__summary-kpi strong {
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-checklist-sidebar__summary-kpi.is-primary {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-checklist-sidebar__summary-kpi.is-complete {
    border-color: rgba(16, 185, 129, 0.28);
    background: rgba(16, 185, 129, 0.08);
}

.lux-checklist-sidebar__summary-kpi.is-complete strong {
    color: #059669;
}


.lux-checklist-sidebar__body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.3rem 1.2rem;
}

.lux-checklist-sidebar__foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
    padding: 0.95rem 1.3rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.lux-checklist-editor__status {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 0.95rem;
    margin-bottom: 0.85rem;
    border-radius: 14px;
    border: 1px solid rgba(16, 185, 129, 0.18);
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.06), #fff);
}


/* Checklist editor sidebar */
/* ========== Checklist configure panel — luxury ========== */
.lux-create-panel--checklist {
    z-index: 1000001;
}

.right_sidebar.lux-create-panel--checklist:not(.open) {
    pointer-events: none;
    visibility: hidden;
}

.lux-create-panel--checklist-wide.open {
    width: min(1040px, 96vw) !important;
    right: calc(-1 * min(1040px, 96vw) - 24px) !important;
}

.lux-create-panel--checklist .lux-create-panel__body,
.lux-create-panel--checklist .lux-overlay-shell__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden !important;
    padding: 0 !important;
}

.lux-create-panel--checklist .lux-checklist-editor {
    flex: 1;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.lux-create-panel--checklist .lux-checklist-editor__layout {
    flex: 1;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    margin: 0.75rem 0.85rem 0.85rem;
}

.lux-checklist-sidebar__fill {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
    padding: 0.85rem 1rem 1rem;
}

.lux-checklist-editor {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
    flex: 1;
}

.lux-checklist-editor__layout {
    display: grid;
    grid-template-columns: minmax(15rem, 18.5rem) minmax(0, 1fr);
    gap: 0;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    margin: 0.75rem 0.85rem 0.85rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.07);
}

.lux-checklist-editor__list-pane {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    border-right: 1px solid #e2e8f0;
    background:
        radial-gradient(circle at 0% 0%, rgba(16, 185, 129, 0.1), transparent 55%),
        #f8fafc;
}

.lux-checklist-editor__list-head {
    padding: 0.9rem 0.8rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
}

.lux-checklist-editor__list-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.lux-checklist-editor__list-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-checklist-editor__count {
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    color: #047857;
    background: rgba(16, 185, 129, 0.14);
}

.lux-checklist-editor__filter {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.55rem;
    padding: 0.45rem 0.6rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: #fff;
    color: #94a3b8;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.lux-checklist-editor__filter input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 600;
    color: #0f172a;
}

.lux-checklist-editor__new {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    width: 100%;
    margin-top: 0.55rem;
    min-height: 2.15rem;
    padding: 0 0.75rem;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, #059669, #047857);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(5, 150, 105, 0.28);
}

.lux-checklist-editor__new:hover,
.lux-checklist-editor__new.is-inline:hover {
    filter: brightness(1.04);
}

.lux-checklist-editor__new.is-inline {
    width: auto;
    margin-top: 0.65rem;
    padding: 0 0.9rem;
}

.lux-checklist-editor__list-body {
    flex: 1;
    overflow: auto;
    padding: 0.55rem 0.6rem 0.75rem;
}

.lux-checklist-editor__list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-checklist-editor__list-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.35rem;
    padding: 1.5rem 0.75rem;
    color: #64748b;
}

.lux-checklist-editor__list-empty i {
    font-size: 1.5rem;
    color: #94a3b8;
}

.lux-checklist-editor__list-empty strong {
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-checklist-editor__item {
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.03);
    transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.lux-checklist-editor__item:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.06);
}

.lux-checklist-editor__item.is-selected {
    border-color: rgba(16, 185, 129, 0.42);
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.12), 0 10px 22px rgba(16, 185, 129, 0.12);
}

.lux-checklist-editor__item-main {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    padding: 0.55rem 0.5rem 0.55rem 0.55rem;
}

.lux-checklist-editor__item-select {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.lux-checklist-editor__item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 10px;
    flex-shrink: 0;
    background: rgba(16, 185, 129, 0.12);
    color: #059669;
}

.lux-checklist-editor__item-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}

.lux-checklist-editor__item-name {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-checklist-editor__item-meta {
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.35;
}

.lux-checklist-editor__item-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    flex-shrink: 0;
}

.lux-checklist-editor__item-action {
    display: inline-grid;
    place-items: center;
    width: 1.7rem;
    height: 1.7rem;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
}

.lux-checklist-editor__item-action:hover {
    background: rgba(248, 250, 252, 0.95);
    border-color: rgba(226, 232, 240, 0.95);
    color: #0f172a;
}

.lux-checklist-editor__item-action.is-danger:hover {
    color: #dc2626;
    background: #fef2f2;
    border-color: #fecaca;
}

.lux-checklist-editor__form-pane {
    min-width: 0;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.85rem 0.95rem 0.85rem;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.85), #fff 28%);
}

.lux-cl-hero {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(255, 255, 255, 0.96) 48%, rgba(14, 165, 233, 0.08));
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.lux-cl-hero--edit {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(255, 255, 255, 0.96) 48%, rgba(16, 185, 129, 0.08));
}

.lux-cl-hero--view {
    background: linear-gradient(135deg, rgba(100, 116, 139, 0.1), rgba(255, 255, 255, 0.96) 48%, rgba(14, 165, 233, 0.06));
}

.lux-cl-hero__glow {
    position: absolute;
    inset: auto -12% -45% auto;
    width: 14rem;
    height: 14rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(16, 185, 129, 0.2), transparent 68%);
    pointer-events: none;
}

.lux-cl-hero__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.95rem 1rem;
}

.lux-cl-hero__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.4rem;
}

.lux-cl-hero__mode-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: rgba(16, 185, 129, 0.14);
    color: #047857;
}

.lux-cl-hero__mode-pill.is-edit {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
}

.lux-cl-hero__mode-pill.is-view {
    background: rgba(100, 116, 139, 0.16);
    color: #475569;
}

.lux-cl-hero__title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.2;
}

.lux-cl-hero__subtitle {
    margin: 0.3rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-cl-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0.65rem 0 0;
    padding: 0;
    list-style: none;
}

.lux-cl-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
    font-size: 0.625rem;
    font-weight: 700;
    color: #475569;
}

.lux-cl-hero__chip.is-muted { color: #94a3b8; }

.lux-cl-hero__aside {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    flex-shrink: 0;
}

.lux-cl-hero__action {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 2rem;
    padding: 0 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #fff;
    color: #475569;
    font-size: 0.6875rem;
    font-weight: 800;
    cursor: pointer;
}

.lux-cl-hero__action.is-primary {
    border: none;
    background: linear-gradient(135deg, #059669, #047857);
    color: #fff;
    box-shadow: 0 8px 18px rgba(5, 150, 105, 0.25);
}

.lux-checklist-editor__card {
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.lux-checklist-editor__card-head {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.8rem 0.9rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), #fff);
}

.lux-checklist-editor__card-head > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 10px;
    background: rgba(16, 185, 129, 0.12);
    color: #059669;
    flex-shrink: 0;
}

.lux-checklist-editor__card-head h3 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-checklist-editor__card-head p,
.lux-checklist-editor__card-hint {
    margin: 0.12rem 0 0;
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-checklist-editor__card-head--tools {
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.lux-checklist-editor__card-head--tools > div:first-child {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    min-width: 0;
}

.lux-checklist-editor__card-head--tools > div:first-child > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 10px;
    background: rgba(16, 185, 129, 0.12);
    color: #059669;
}

.lux-checklist-editor__card-tools {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-checklist-editor__tool-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    min-height: 1.85rem;
    padding: 0 0.65rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #fff;
    color: #475569;
    font-size: 0.625rem;
    font-weight: 800;
    cursor: pointer;
}

.lux-checklist-editor__tool-btn:hover,
.lux-checklist-editor__tool-btn.is-active {
    border-color: rgba(16, 185, 129, 0.35);
    color: #047857;
    background: rgba(16, 185, 129, 0.08);
}

.lux-checklist-editor__tool-btn.is-accent {
    border: none;
    background: linear-gradient(135deg, #059669, #047857);
    color: #fff;
    box-shadow: 0 6px 14px rgba(5, 150, 105, 0.25);
}

.lux-checklist-editor__card-body {
    padding: 0.85rem 0.9rem 0.95rem;
}

.lux-checklist-editor__card--questions {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.lux-checklist-editor__card--questions .lux-checklist-editor__card-head {
    flex-shrink: 0;
}

.lux-checklist-editor__questions-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: 1rem;
}

.lux-checklist-editor__form-pane > .lux-cl-hero,
.lux-checklist-editor__form-pane > .lux-checklist-editor__card:not(.lux-checklist-editor__card--questions),
.lux-checklist-editor__form-pane > .lux-checklist-editor__error,
.lux-checklist-editor__form-pane > .lux-checklist-editor__foot {
    flex-shrink: 0;
}

.lux-checklist-editor__foot {
    position: sticky;
    bottom: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), #fff);
    padding-top: 0.75rem;
    margin-top: 0.25rem;
}

.lux-checklist-editor__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 0.85rem;
}

.lux-checklist-editor__grid-full { grid-column: 1 / -1; }

.lux-checklist-editor__grid .form-group { margin-bottom: 0 !important; }

.lux-checklist-editor__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: auto;
    padding: 0.75rem 0.15rem 0.15rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-checklist-editor__foot-hint {
    margin: 0;
    max-width: 26rem;
    font-size: 0.6875rem;
    color: #94a3b8;
    line-height: 1.4;
}

.lux-checklist-editor__foot-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-left: auto;
}

.lux-checklist-editor__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.15rem;
    padding: 0 0.95rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.75rem;
    font-weight: 800;
    cursor: pointer;
}

.lux-checklist-editor__btn.is-ghost {
    border-color: rgba(148, 163, 184, 0.35);
    background: #fff;
    color: #475569;
}

.lux-checklist-editor__btn.is-ghost:hover {
    border-color: rgba(16, 185, 129, 0.35);
    color: #047857;
}

.lux-checklist-editor__btn.is-primary {
    background: linear-gradient(135deg, #059669, #047857);
    color: #fff;
    box-shadow: 0 10px 22px rgba(5, 150, 105, 0.28);
}

.lux-checklist-editor__error {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 0.85rem;
    border-radius: 12px;
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #b91c1c;
    font-size: 0.75rem;
    font-weight: 600;
}

.lux-checklist-editor__error-dismiss {
    margin-left: auto;
    border: none;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.lux-checklist-sidebar__body {
    flex: 1;
    overflow-y: auto;
    padding: 18px 22px;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.lux-checklist-sidebar__foot {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px 22px;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.lux-checklist-editor__status {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding: 14px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.lux-checklist-editor__status-copy {
    margin: 6px 0 0;
    font-size: 12px;
    color: #64748b;
}

.lux-checklist-change-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px;
    margin-bottom: 16px;
    border: 1px dashed rgba(16, 185, 129, 0.35);
    border-radius: 12px;
    background: rgba(16, 185, 129, 0.04);
    color: #059669;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.lux-checklist-change-btn:hover {
    border-style: solid;
    background: rgba(16, 185, 129, 0.08);
}

.lux-qt {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lux-qt-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.35rem;
    padding: 1.75rem 1rem;
    border-radius: 14px;
    border: 1px dashed rgba(148, 163, 184, 0.4);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.9), #fff);
}

.lux-qt-empty__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 0.25rem;
    border-radius: 14px;
    background: rgba(16, 185, 129, 0.12);
    color: #059669;
    font-size: 1.15rem;
}

.lux-qt-empty strong { font-size: 0.875rem; color: #0f172a; }

.lux-qt-empty p {
    margin: 0;
    max-width: 22rem;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-qt-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(135deg, #fff, rgba(248, 250, 252, 0.92));
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.lux-qt-card:hover {
    border-color: rgba(16, 185, 129, 0.28);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.lux-qt-card.is-required { border-color: rgba(245, 158, 11, 0.28); }
.lux-qt-card.is-answered { border-color: rgba(16, 185, 129, 0.32); }

.lux-qt-card__rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
}

.lux-qt-card__index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 10px;
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
    font-size: 0.6875rem;
    font-weight: 800;
}

.lux-qt-card__reorder {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.lux-qt-card__reorder-btn {
    display: inline-grid;
    place-items: center;
    width: 1.45rem;
    height: 1.45rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
}

.lux-qt-card__reorder-btn:hover:not(:disabled) {
    color: #047857;
    border-color: rgba(16, 185, 129, 0.35);
}

.lux-qt-card__reorder-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.lux-qt-card__content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lux-qt-card__field {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}

.lux-qt-card__label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-qt-card__input {
    width: 100%;
    min-height: 2.25rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 11px;
    background: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #0f172a;
    outline: none;
}

.lux-qt-card__input:focus {
    border-color: rgba(16, 185, 129, 0.45);
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12);
}

.lux-qt-card__input--comments { margin-top: 0.35rem; }

.lux-qt-card__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.65rem;
}

.lux-qt-card__type {
    flex: 1 1 12rem;
    min-width: 10rem;
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}

.lux-qt-card__toggles {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-qt-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    min-height: 2rem;
    padding: 0 0.65rem;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    color: #64748b;
    font-size: 0.625rem;
    font-weight: 800;
    cursor: pointer;
    user-select: none;
}

.lux-qt-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.lux-qt-toggle.is-on {
    border-color: rgba(16, 185, 129, 0.35);
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
}

.lux-qt-card__remove {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    margin-left: auto;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fff;
    color: #dc2626;
    cursor: pointer;
}

.lux-qt-card__remove:hover { background: #fef2f2; }

.lux-qt-card__preview-head {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.lux-qt-card__preview-title {
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.35;
}

.lux-qt-card__required {
    margin-left: 0.2rem;
    color: #d97706;
}

.lux-qt-card__preview-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.lux-qt-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    padding: 0.16rem 0.45rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
    background: #f1f5f9;
}

.lux-qt-answer {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-qt-answer--readonly .lux-qt-answer__value {
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-qt-answer--readonly .lux-qt-answer__comments {
    font-size: 0.75rem;
    color: #64748b;
}

.lux-qt-bool {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.lux-qt-bool__option {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.15rem;
    padding: 0 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 800;
    cursor: pointer;
}

.lux-qt-bool__option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.lux-qt-bool__option.is-selected {
    border-color: rgba(16, 185, 129, 0.4);
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.lux-checklist-change-modal {
    position: fixed;
    inset: 0;
    z-index: 1000100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.lux-checklist-change-modal__backdrop {
    position: absolute;
    inset: 0;
    border: none;
    background: rgba(15, 23, 42, 0.4);
    backdrop-filter: blur(4px);
}

.lux-checklist-change-modal__panel {
    position: relative;
    z-index: 1;
    width: min(28rem, 100%);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.2);
    overflow: hidden;
}

.lux-checklist-change-modal__head {
    padding: 1rem 1.1rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
}

.lux-checklist-change-modal__kicker {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-checklist-change-modal__title {
    margin: 0.25rem 0 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-checklist-change-modal__body { padding: 0.9rem 1.1rem; }

.lux-checklist-change-modal__hint {
    margin: 0 0 0.75rem;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-checklist-change-modal__foot {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.75rem 1.1rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.lux-checklist-inline {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 16px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.lux-checklist-inline__head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.lux-checklist-inline__title {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
    color: #1e293b;
    flex: 1;
}

.lux-checklist-inline__actions {
    display: flex;
    gap: 12px;
}

.lux-checklist-inline__action {
    font-size: 12px;
    font-weight: 700;
    color: #059669 !important;
}

.lux-checklist-inline__foot {
    display: flex;
    gap: 8px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e2e8f0;
}

@media (max-width: 900px) {
    .lux-checklist-editor__layout {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .lux-checklist-editor__list-pane {
        max-height: 14rem;
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
    }

    .lux-checklist-editor__grid {
        grid-template-columns: 1fr;
    }

    .lux-cl-hero__inner {
        flex-direction: column;
    }
}

/* ========== Service lines — luxury panel ========== */

.pd-service-lines {
    padding: 18px 20px;
    border-radius: var(--pd-radius);
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
}

.pd-service-lines__head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}

.pd-service-lines__icon {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(99, 102, 241, 0.12);
    color: #4f46e5;
    flex-shrink: 0;
}

.pd-service-lines__titles {
    flex: 1;
    min-width: 0;
}

.pd-service-lines__title {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: #1e293b;
}

.pd-service-lines__subtitle {
    margin: 2px 0 0;
    font-size: 12px;
    color: #94a3b8;
}

.pd-service-lines__hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
}

.pd-service-lines__hero-stat {
    padding: 12px 14px;
    border-radius: var(--pd-radius-sm);
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.08), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06));
    border: 0px solid rgba(99, 102, 241, 0.14);
    text-align: center;
}

.pd-service-lines__hero-label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 4px;
}

.pd-service-lines__hero-value {
    display: block;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.5px;
    color: #4f46e5;
    line-height: 1;
}

.pd-service-lines__hero-value--hours {
    color: var(--lux-primary, #5b5ff4);
}

.pd-service-lines__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pd-service-line-row {
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fafc;
    border: 0px solid #e2e8f0;
    transition: 0.15s ease;
}

.pd-service-line-row:hover {
    border-color: rgba(99, 102, 241, 0.25);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
}

.pd-service-line-row__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.pd-service-line-row__name {
    font-size: 13px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.35;
}

.pd-service-line-row__cost {
    font-size: 14px;
    font-weight: 800;
    color: #4f46e5;
    flex-shrink: 0;
}

.pd-service-line-row__metrics {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}

.pd-service-line-row__metrics i {
    margin-right: 4px;
    opacity: 0.75;
}

.pd-service-line-row__share {
    margin-left: auto;
    padding: 2px 8px;
    border-radius: 9911px;
    background: rgba(99, 102, 241, 0.1);
    color: #4f46e5;
    font-size: 12px;
    font-weight: 800;
}

.pd-service-line-row__bar {
    height: 4px;
    margin-top: 12px;
    border-radius: 9911px;
    background: #e2e8f0;
    overflow: hidden;
}

.pd-service-line-row__bar span {
    display: block;
    height: 100%;
    border-radius: 9911px;
    background: linear-gradient(90deg, #6366f1, var(--lux-primary, #5b5ff4));
    transition: width 0.5s ease;
}

.pd-service-lines__foot {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed #e2e8f0;
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
}

/* ========== luxury-profile.css ========== */

/* ========== Profile page — luxury employee details ========== */

/* Page shell — align with lux-project-details-page rhythm */
.profile-page.pd-page,
.lux-project-details-page.profile-page {
    --pd-gap: 14px;
    padding: 0 var(--lux-page-gutter-x) var(--lux-page-block-bottom);
}

.lux-project-details-page.profile-page .pd-back-nav {
    margin: 0.65rem 0 0.5rem;
}

.profile-page__body.pd-page__body {
    padding-top: 0;
}

.profile-page__workspace.pd-workspace {
    align-items: start;
}

.profile-page__main.pd-workspace__main {
    gap: var(--pd-gap, 14px);
    min-width: 0;
}

.profile-page .pd-hero.profile-hero {
    margin: 0 0 0.75rem;
    padding: 0.85rem 0.95rem 0.95rem;
}

.profile-page .profile-nav.pd-nav,
.lux-project-details-page.profile-page .pd-nav {
    margin-bottom: var(--pd-gap, 14px);
}

/* Tab content inside lux-settings-tab shells */
.profile-page .lux-settings-tab__stack {
    gap: 0.75rem;
}

.profile-page .lux-settings-tab__body .profile-security-wrap,
.profile-page .lux-settings-tab__body .profile-access-wrap {
    padding: 0;
}

.profile-access-refresh.lux-pd-tab__link-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.15rem;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    font-size: 0.625rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    cursor: pointer;
}

.profile-access-refresh.lux-pd-tab__link-btn:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.profile-access-empty {
    margin: 0;
    padding: 1.25rem;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.profile-page .profile-access-fieldset {
    margin: 0;
    padding: 0;
    border: none;
    min-width: 0;
}

.profile-page__empty {
    text-align: center;
}

.profile-page__empty-icon {
    display: inline-grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 0.65rem;
    border-radius: 14px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 1.25rem;
}

/* Luxury aside panels (teams / service lines) */
.lux-profile-aside-card {
    border-radius: 16px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.lux-profile-aside-card__head {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), #fff 55%);
}

.lux-profile-aside-card__icon {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-profile-aside-card__title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-profile-aside-card__body {
    padding: 0.75rem 0.85rem 0.85rem;
}

.lux-profile-aside-meta {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin-bottom: 0.65rem;
}

.lux-profile-aside-meta__label,
.lux-profile-aside-subblock__label {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-profile-aside-meta__value {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-profile-aside-subblock {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-profile-section.profile-section {
    border-color: rgba(15, 23, 42, 0.07);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.profile-page .pd-workspace {
    gap: var(--pd-gap, 18px);
    align-items: start;
}

.profile-page .pd-workspace__main {
    gap: var(--pd-gap, 18px);
}

.profile-page .pd-workspace__aside {
    gap: var(--pd-gap, 18px);
}

.profile-page .pd-empty {
    margin: 0;
    padding: 2rem 1.25rem;
}

/* —— Loading skeleton (profile details) —— */
.profile-page-skeleton {
    display: flex;
    flex-direction: column;
    gap: var(--pd-gap, 14px);
}

.profile-page-skeleton__hero {
    margin: 0;
    padding: 0.85rem 0.95rem 0.95rem;
    border-radius: var(--pd-radius, 16px);
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
}

.profile-page-skeleton__hero-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: flex-start;
}

.profile-page-skeleton__hero-copy {
    min-width: 0;
}

.profile-page-skeleton__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.65rem;
}

.profile-page-skeleton__hero-actions {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
}

.profile-page-skeleton__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.625rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.profile-page-skeleton__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0;
}

.profile-page-skeleton__workspace.pd-workspace {
    margin: 0;
}

.profile-page-skeleton__tab {
    padding: 0;
    overflow: hidden;
}

.profile-page-skeleton__tab-head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.1rem 0.85rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.profile-page-skeleton__tab-head-copy {
    flex: 1;
    min-width: 0;
}

.profile-page-skeleton__aside-card {
    padding: 0.85rem;
}

.profile-page-skeleton__form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    margin-top: 1.25rem;
}

.profile-page-skeleton__field {
    min-width: 0;
}

@media (max-width: 991px) {
    .profile-page-skeleton__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profile-page-skeleton__workspace.pd-workspace {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 575px) {
    .profile-page-skeleton__hero-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .profile-page-skeleton__hero-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .profile-page-skeleton__form-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* —— Profile hero (pd-hero + collapse, aligned with project details) —— */
.profile-hero {
    padding: 0;
}

.profile-hero__shell {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.profile-hero__header-bar {
    margin-bottom: 0;
    align-items: flex-start;
}

.profile-hero:not(.profile-hero--collapsed) .profile-hero__header-bar {
    margin-bottom: 0;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.profile-hero--collapsed .profile-hero__header-bar {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.profile-hero__header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.4rem;
    flex-shrink: 0;
}

.profile-hero__lead {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    min-width: 0;
    flex: 1;
}

.profile-hero__identity-block {
    display: flex;
    flex: 1;
    min-width: 0;
    gap: 1.25rem;
    align-items: flex-start;
}

.profile-hero__identity-block .pd-hero__identity {
    flex: 1 1 240px;
    min-width: 0;
}

.profile-hero__rail {
    flex: 1 1 300px;
    max-width: 440px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-self: stretch;
}

.profile-hero__rail-panel {
    padding: 12px 12px;
    border-radius: 14px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
    min-width: 0;
}

.profile-hero__rail .profile-hero__glance-title {
    margin-bottom: 8px;
}

.profile-hero__rail .profile-hero__skill-chips {
    margin-bottom: 6px;
}

.profile-hero__rail .profile-hero__glance-sub {
    margin-top: 2px;
}

.profile-hero__rail .profile-hero__glance-sub-label {
    margin-bottom: 4px;
}

.profile-hero__avatar-wrap {
    position: relative;
    flex-shrink: 0;
    width: 88px;
    height: 88px;
    border-radius: 22px;
    overflow: visible;
    border: 3px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    box-shadow: 0 12px 28px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    background: #f8fafc;
}

.profile-hero__avatar-wrap .profile-avatar-upload,
.profile-hero__avatar-wrap .profile-avatar-upload__frame {
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: inherit;
    overflow: hidden;
}

.profile-hero--collapsed {
    padding: 0.55rem 0.65rem 0.65rem;
}

.profile-hero--collapsed .profile-hero__avatar-wrap {
    width: 64px;
    height: 64px;
    border-radius: 16px;
}

.profile-hero__avatar-wrap .card,
.profile-hero__avatar-wrap > div {
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    background: transparent !important;
    height: 100%;
}

.profile-hero__avatar-wrap .crop-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.profile-hero__avatar-wrap .profileImgHolder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 24px;
}

.profile-hero__avatar-wrap .imageChangeButton,
.profile-hero__avatar-wrap .profile-avatar-upload__trigger {
    position: absolute;
    bottom: 4px;
    right: 4px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: 2px solid #fff;
    background: rgba(15, 23, 42, 0.82);
    border-radius: 9911px;
    color: #fff;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    float: none;
    top: auto;
    left: auto;
    transition: background 0.14s ease, transform 0.14s ease;
}

.profile-hero__avatar-wrap .profile-avatar-upload__trigger:hover {
    background: var(--lux-primary-dark, #3730a3);
    transform: scale(1.05);
}

/* Profile photo crop modal */
.profile-photo-crop {
    position: fixed;
    inset: 0;
    z-index: 12050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.profile-photo-crop__backdrop {
    position: absolute;
    inset: 0;
    border: none;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(4px);
    cursor: pointer;
}

.profile-photo-crop__panel {
    position: relative;
    z-index: 1;
    width: min(100%, 420px);
    border-radius: 20px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.22);
    overflow: hidden;
}

.profile-photo-crop__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.1rem 0.75rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.profile-photo-crop__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-photo-crop__kicker i {
    color: var(--lux-primary, #5b5ff4);
}

.profile-photo-crop__title {
    margin: 0.2rem 0 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}

.profile-photo-crop__sub {
    margin: 0.25rem 0 0;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}

.profile-photo-crop__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 0px solid #e2e8f0;
    border-radius: 9911px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
}

.profile-photo-crop__stage {
    position: relative;
    height: 320px;
    background: #0f172a;
}

.profile-photo-crop__zoom {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.75rem 1.1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.profile-photo-crop__zoom-label {
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-photo-crop__zoom input[type="range"] {
    flex: 1;
    min-width: 0;
}

.profile-photo-crop__foot {
    display: flex;
    justify-content: flex-end;
    gap: 0.625rem;
    padding: 0.75rem 1.1rem 1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.profile-photo-crop__btn {
    min-height: 2rem;
    padding: 0 0.9rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
}

.profile-photo-crop__btn--ghost {
    border: 0px solid #e2e8f0;
    background: #fff;
    color: #475569;
}

.profile-photo-crop__btn--primary {
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
}

.profile-photo-crop__btn--primary:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.profile-hero__status--inline {
    display: inline-flex;
    padding: 3px 12px;
    border-radius: 9911px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.profile-hero__status--inline.is-green {
    color: #047857;
    background: rgba(5, 150, 105, 0.12);
    border: 0px solid rgba(5, 150, 105, 0.25);
}

.profile-hero__status--inline.is-rose {
    color: #dc2626;
    background: rgba(220, 38, 38, 0.1);
    border: 0px solid rgba(220, 38, 38, 0.25);
}

.profile-hero__status--inline.is-slate {
    color: #475569;
    background: rgba(100, 116, 139, 0.12);
    border: 0px solid rgba(100, 116, 139, 0.2);
}

.profile-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin-bottom: 0.35rem;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-hero__eyebrow i {
    color: var(--lux-primary, #5b5ff4);
}

.profile-hero__meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.profile-hero__collapsed-line {
    margin: 8px 0 0;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
}

.profile-hero__actions {
    flex-shrink: 0;
}

.profile-hero__action {
    text-decoration: none;
    color: #64748b;
}

.profile-hero__action:hover {
    color: var(--lux-primary-dark, #3730a3);
}

/* —— At-a-glance: luxury stat ribbon (no boxed cards) —— */
.profile-hero__glance {
    margin-top: 0.85rem;
    padding: 0.75rem 0.85rem 0.8rem;
    border-radius: 16px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 48%),
        radial-gradient(circle at 100% 100%, rgba(20, 184, 166, 0.05), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(248, 250, 252, 0.55));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 8px 24px rgba(15, 23, 42, 0.04);
}

.profile-hero__glance-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.75);
}

.profile-hero__glance-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.profile-hero__glance-kicker i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 12px;
}

.profile-hero__glance-hint {
    margin: 0.2rem 0 0;
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.4;
}

.profile-hero__glance-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(6px);
}

.profile-hero__stat {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    flex: 1 1 140px;
    min-width: 0;
    padding: 0.7rem 0.85rem;
    border: none;
    background: transparent;
    box-shadow: none;
}

.profile-hero__stat:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 18%;
    right: 0;
    width: 1px;
    height: 64%;
    background: linear-gradient(
        180deg,
        transparent,
        rgba(148, 163, 184, 0.35) 20%,
        rgba(148, 163, 184, 0.35) 80%,
        transparent
    );
}

.profile-hero__stat-glow {
    position: absolute;
    inset: 0 auto auto 0;
    width: 3px;
    height: 100%;
    border-radius: 0 3px 3px 0;
    background: rgba(148, 163, 184, 0.35);
    opacity: 0;
    transition: opacity 0.18s ease;
}

.profile-hero__stat:hover .profile-hero__stat-glow {
    opacity: 1;
}

.profile-hero__stat.is-primary .profile-hero__stat-glow {
    background: linear-gradient(180deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    opacity: 1;
}

.profile-hero__stat.is-green .profile-hero__stat-glow {
    background: linear-gradient(180deg, #34d399, #059669);
    opacity: 1;
}

.profile-hero__stat.is-amber .profile-hero__stat-glow {
    background: linear-gradient(180deg, #fbbf24, #d97706);
    opacity: 1;
}

.profile-hero__stat-icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    border-radius: 12px;
    font-size: 0.875rem;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.profile-hero__stat.is-green .profile-hero__stat-icon {
    color: #047857;
    background: rgba(5, 150, 105, 0.1);
    border-color: rgba(5, 150, 105, 0.16);
}

.profile-hero__stat.is-amber .profile-hero__stat-icon {
    color: #b45309;
    background: rgba(251, 191, 36, 0.12);
    border-color: rgba(217, 119, 6, 0.18);
}

.profile-hero__stat-copy {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
    padding-top: 0.05rem;
}

.profile-hero__stat-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-hero__stat-value {
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.profile-hero__stat-hint {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.profile-hero__glance-title {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 12px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.profile-hero__glance-title i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 13px;
}

.profile-hero__dates {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.profile-hero__dates--rail {
    gap: 6px;
}

.profile-hero__dates--rail .profile-hero__date {
    padding: 6px 8px;
}

.profile-hero__dates--rail .profile-hero__date-value {
    font-size: 12px;
}

.profile-hero__date {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 12px;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    border: 0px solid rgba(226, 232, 240, 0.9);
}

.profile-hero__date.is-green {
    border-color: rgba(5, 150, 105, 0.22);
    background: rgba(5, 150, 105, 0.06);
}

.profile-hero__date.is-rose {
    border-color: rgba(220, 38, 38, 0.2);
    background: rgba(220, 38, 38, 0.05);
}

.profile-hero__date-label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-hero__date-value {
    font-size: 13px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.3;
}

.profile-hero__skill-chips {
    margin-bottom: 8px;
}

.profile-hero__glance-sub {
    margin-top: 4px;
}

.profile-hero__glance-sub-label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-hero__chip-list {
    gap: 6px;
}

.profile-hero__glance-empty {
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
}

.profile-aside-card__body {
    padding-top: 0;
}

.profile-aside-card__empty {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
}

.profile-aside-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 12px;
}

.profile-aside-meta__label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-aside-meta__value {
    font-size: 14px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.35;
}

.profile-aside-subblock {
    margin-top: 12px;
}

.profile-aside-subblock__label {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-aside-chip-list {
    gap: 6px;
}

.profile-aside-expandable {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.profile-aside-expand {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 0.3rem;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    font-size: 12px;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    cursor: pointer;
    transition: color 0.14s ease;
}

.profile-aside-expand:hover {
    color: var(--lux-primary, #5b5ff4);
}

.profile-aside-expand i {
    font-size: 12px;
}

.profile-aside-expand__meta {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
}

.profile-aside-skill-chips {
    margin-bottom: 4px;
}

.profile-page .profile-aside-card.pd-card {
    padding: 16px 18px;
}

.profile-aside {
    display: flex;
    flex-direction: column;
    gap: var(--pd-gap, 14px);
}

.profile-page .profile-aside-card .pd-card__head {
    margin-bottom: 4px;
}

.profile-page .profile-aside-card .pd-meta-list,
.profile-page .profile-aside-card .pd-timeline {
    margin: 0;
}

/* —— Personal information (luxury sections) —— */
.profile-page .pd-card--profile-luxury {
    padding: 0;
    overflow: hidden;
}

.profile-page .pd-card--profile-luxury > .pd-card__head {
    padding: 18px 22px 14px;
    margin-bottom: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.profile-personal-wrap {
    padding: 18px 22px 22px;
}

.profile-personal {
    display: flex;
    flex-direction: column;
    gap: var(--pd-gap, 18px);
}

.profile-page .pd-card--flush.pd-card--access,
.profile-page .pd-card--flush.pd-card--security {
    padding: 0;
    overflow: hidden;
}

.profile-page .pd-card--flush.pd-card--access > .pd-card__head,
.profile-page .pd-card--flush.pd-card--security > .pd-card__head {
    padding: 18px 22px 14px;
    margin-bottom: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.profile-page .pd-card--flush.pd-card--access .profile-access-fieldset,
.profile-page .pd-card--flush.pd-card--security .profile-security-wrap {
    padding: 18px 22px 22px !important;
}

/* —— Security settings —— */
.profile-security {
    display: flex;
    flex-direction: column;
    gap: var(--pd-gap, 14px);
}

.profile-security__section.profile-section {
    margin: 0;
}

.profile-section__icon--shield {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.profile-security__identity-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.profile-security__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.profile-security__field-label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-security__field-value {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 2.5rem;
    padding: 0 12px;
    border-radius: 12px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.9));
    font-size: 13px;
    font-weight: 700;
    color: #334155;
}

.profile-security__field-value.is-readonly {
    color: #64748b;
}

.profile-security__field-icon {
    color: var(--lux-primary, #5b5ff4);
    font-size: 14px;
    flex-shrink: 0;
}

.profile-security__alerts {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 14px;
}

.profile-security__alert {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 12px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.profile-security__alert i {
    flex-shrink: 0;
    margin-top: 1px;
    font-size: 14px;
}

.profile-security__alert.is-success {
    color: #047857;
    background: rgba(5, 150, 105, 0.1);
    border: 0px solid rgba(5, 150, 105, 0.22);
}

.profile-security__alert.is-error {
    color: #b91c1c;
    background: rgba(220, 38, 38, 0.08);
    border: 0px solid rgba(220, 38, 38, 0.2);
}

.profile-security__alert.is-warning {
    color: #b45309;
    background: rgba(251, 191, 36, 0.12);
    border: 0px solid rgba(217, 119, 6, 0.22);
}

.profile-security__section--password.is-disabled .profile-security__requirements,
.profile-security__section--password.is-disabled .profile-security__form,
.profile-security__section--password.is-disabled .profile-security__foot {
    opacity: 0.55;
    pointer-events: none;
    user-select: none;
}

.profile-security__section--password.is-disabled .profile-security__requirements {
    filter: grayscale(0.15);
}

.profile-security__submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* —— Preferences & notifications (preview / local until API) —— */
.profile-page .pd-card--settings.pd-card--profile-luxury > .pd-card__head {
    padding: 18px 22px 14px;
    margin-bottom: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.profile-settings {
    display: flex;
    flex-direction: column;
    gap: var(--pd-gap, 14px);
}

.profile-settings-banner {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 12px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
}

.profile-settings-banner i {
    flex-shrink: 0;
    margin-top: 1px;
    font-size: 14px;
}

.profile-settings-banner.is-preview {
    color: #3730a3;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.profile-settings-banner.is-preview i {
    color: var(--lux-primary, #5b5ff4);
}

.profile-settings-banner.is-muted {
    color: #64748b;
    background: rgba(248, 250, 252, 0.95);
    border: 0px solid rgba(226, 232, 240, 0.95);
}

.profile-settings-inline-hint {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 12px 0 0;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}

.profile-settings-inline-hint.is-warning {
    color: #b45309;
}

.profile-setting-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.profile-setting-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.75);
    cursor: pointer;
}

.profile-setting-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.profile-setting-row:first-child {
    padding-top: 0;
}

.profile-setting-row.is-disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.profile-setting-row__icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.875rem;
}

.profile-setting-row__copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.profile-setting-row__label {
    font-size: 13px;
    font-weight: 800;
    color: #0f172a;
}

.profile-setting-row__desc {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.profile-setting-toggle__input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.profile-setting-toggle__track {
    position: relative;
    display: block;
    width: 2.5rem;
    height: 1.375rem;
    border-radius: 9911px;
    background: #cbd5e1;
    transition: background 0.18s ease;
}

.profile-setting-toggle__track::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.18);
    transition: transform 0.18s ease;
}

.profile-setting-toggle__input:checked + .profile-setting-toggle__track {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
}

.profile-setting-toggle__input:checked + .profile-setting-toggle__track::after {
    transform: translateX(1.125rem);
}

.profile-setting-toggle__input:disabled + .profile-setting-toggle__track {
    opacity: 0.5;
}

.profile-setting-select {
    min-width: 10rem;
    max-width: 100%;
    min-height: 2.125rem;
    padding: 0 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: #fff;
    font-size: 12px;
    font-weight: 700;
    color: #334155;
}

.profile-setting-select:disabled {
    background: #f1f5f9;
    color: #94a3b8;
    cursor: not-allowed;
}

.profile-channel-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.profile-channel-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 12px;
    border-radius: 14px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.95);
    min-height: 100%;
}

.profile-channel-card.is-on {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), rgba(255, 255, 255, 0.96));
}

.profile-channel-card.is-soon {
    opacity: 0.72;
}

.profile-channel-card__icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.9375rem;
}

.profile-channel-card__copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.profile-channel-card__copy strong {
    font-size: 12px;
    font-weight: 800;
    color: #0f172a;
}

.profile-channel-card__copy span {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.profile-channel-card__badge {
    align-self: flex-start;
    padding: 2px 8px;
    border-radius: 9911px;
    background: rgba(148, 163, 184, 0.2);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.profile-channel-card__switch {
    display: flex;
    align-items: center;
    margin-top: auto;
    cursor: pointer;
}

.profile-channel-card__switch input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.profile-quiet-hours {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px 12px;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    border: 0px solid rgba(226, 232, 240, 0.9);
}

.profile-quiet-hours.is-disabled {
    opacity: 0.5;
    pointer-events: none;
}

.profile-quiet-hours__field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-quiet-hours__input {
    min-height: 2.125rem;
    padding: 0 0.625rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
}

body.lux-shell-dark .profile-settings-banner.is-preview {
    color: #c7d2fe;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

body.lux-shell-dark .profile-setting-row__label,
body.lux-shell-dark .profile-channel-card__copy strong {
    color: #e2e8f0;
}

body.lux-shell-dark .profile-channel-card,
body.lux-shell-dark .profile-quiet-hours {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .profile-setting-select,
body.lux-shell-dark .profile-quiet-hours__input {
    background: rgba(15, 23, 42, 0.65);
    border-color: rgba(51, 65, 85, 0.95);
    color: #e2e8f0;
}

/* —— Account activity (empty until server log) —— */
.profile-activity__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5rem 1.25rem;
    margin-bottom: var(--pd-gap, 14px);
    border-radius: 16px;
    border: 0px dashed rgba(148, 163, 184, 0.55);
    background:
        radial-gradient(circle at 50% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 55%),
        rgba(248, 250, 252, 0.9);
}

.profile-activity__empty-icon {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 0.75rem;
    border-radius: 14px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 1.35rem;
}

.profile-activity__empty-title {
    margin: 0 0 0.35rem;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}

.profile-activity__empty-hint {
    margin: 0;
    max-width: 28rem;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    line-height: 1.5;
}

.profile-activity__types {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.profile-activity__type {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.75);
}

.profile-activity__type:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.profile-activity__type:first-child {
    padding-top: 0;
}

.profile-activity__type-icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    border-radius: 12px;
    background: rgba(148, 163, 184, 0.12);
    color: #64748b;
    font-size: 0.875rem;
}

.profile-activity__type-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.profile-activity__type-copy strong {
    font-size: 13px;
    font-weight: 800;
    color: #334155;
}

.profile-activity__type-copy span {
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.35;
}

body.lux-shell-dark .profile-activity__empty {
    background: rgba(15, 23, 42, 0.45);
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .profile-activity__empty-title {
    color: #e2e8f0;
}

body.lux-shell-dark .profile-activity__type-copy strong {
    color: #cbd5e1;
}

.profile-security__input:disabled {
    background: #f1f5f9;
    color: #94a3b8;
    cursor: not-allowed;
}

.profile-security__requirements {
    margin-bottom: 14px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 55%),
        rgba(248, 250, 252, 0.95);
}

.profile-security__requirements-label {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-security__strength {
    height: 6px;
    border-radius: 9911px;
    background: #e2e8f0;
    overflow: hidden;
}

.profile-security__strength-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #cbd5e1;
    transition: width 0.2s ease, background 0.2s ease;
}

.profile-security__strength-bar.is-weak {
    background: linear-gradient(90deg, #fbbf24, #f59e0b);
}

.profile-security__strength-bar.is-good {
    background: linear-gradient(90deg, #34d399, #059669);
}

.profile-security__requirements-hint {
    margin: 8px 0 0;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}

.profile-security__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.profile-security__input-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.profile-security__input-label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-security__input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.profile-security__input-icon {
    position: absolute;
    left: 12px;
    z-index: 1;
    color: #94a3b8;
    font-size: 14px;
    pointer-events: none;
}

.profile-security__input {
    width: 100%;
    min-height: 2.625rem;
    padding: 0 2.5rem 0 2.35rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.profile-security__input:focus {
    outline: none;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.profile-security__input-toggle {
    position: absolute;
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 9911px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
}

.profile-security__input-toggle:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.profile-security__foot {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.profile-security__submit {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 2.25rem;
    padding: 0 1.1rem;
    border: none;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
    transition: transform 0.14s ease, box-shadow 0.14s ease;
}

.profile-security__submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.32);
}

.profile-page .pd-card:not(.pd-card--flush) {
    margin: 0;
}

.profile-section {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.profile-section__head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 18px 12px;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent);
}

.profile-section__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 16px;
    flex-shrink: 0;
}

.profile-section__title {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: #0f172a;
}

.profile-section__sub {
    margin: 4px 0 0;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    line-height: 1.4;
}

.profile-section__body {
    padding: 14px 18px 18px;
}

.profile-section__empty {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
    font-style: italic;
}

.profile-field-grid {
    display: grid;
    gap: 12px 16px;
}

.profile-field-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-field-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.profile-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.profile-field--full {
    grid-column: 1 / -1;
}

.profile-field__label {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-field__value {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 12px;
    border-radius: 12px;
    border: 0px solid #e2e8f0;
    background: #f8fafc;
    font-size: 13px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.35;
    min-height: 40px;
    word-break: break-word;
}

.profile-field__icon {
    color: var(--lux-primary, #5b5ff4);
    font-size: 14px;
    flex-shrink: 0;
}

.profile-subblock {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed rgba(226, 232, 240, 0.95);
}

.profile-subblock__label {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.profile-chip-list,
.profile-chip-list--aside {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.profile-chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 9911px;
    font-size: 12px;
    font-weight: 700;
    color: #3730a3;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.profile-skill-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.profile-skill-chip {
    padding: 6px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
    border: 0px solid #e2e8f0;
    background: #fff;
    color: #334155;
}

.profile-skill-chip.is-primary {
    border-color: rgba(5, 150, 105, 0.3);
    background: rgba(5, 150, 105, 0.08);
    color: #047857;
}

.profile-skill-chip.is-secondary {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: #3730a3;
}

.profile-flag-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

.profile-flag {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 12px 12px;
    border-radius: 14px;
    border: 0px solid #e2e8f0;
    background: #f8fafc;
    text-align: center;
}

.profile-flag i {
    font-size: 18px;
    color: #94a3b8;
}

.profile-flag span {
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
}

.profile-flag strong {
    font-size: 12px;
    font-weight: 800;
}

.profile-flag.is-on {
    border-color: rgba(5, 150, 105, 0.3);
    background: rgba(5, 150, 105, 0.08);
}

.profile-flag.is-on i { color: #059669; }
.profile-flag.is-on strong { color: #047857; }

.profile-flag.is-off strong { color: #94a3b8; }

.profile-exit-admin {
    margin-top: 16px;
    padding: 16px 18px;
    border-radius: 16px;
    border: 0px dashed rgba(220, 38, 38, 0.35);
    background: rgba(254, 242, 242, 0.65);
}

.profile-exit-admin__head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.profile-exit-admin__head i {
    font-size: 20px;
    color: #dc2626;
}

.profile-exit-admin__head strong {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: #991b1b;
}

.profile-exit-admin__head span {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #b91c1c;
}

.profile-exit-admin__body {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}

.profile-exit-admin__btn {
    padding: 8px 18px;
    border: none;
    border-radius: 9911px;
    background: #dc2626;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.profile-exit-admin__btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* —— Aside enhancements —— */
.profile-aside-card--chart {
    padding-bottom: 8px;
}

.profile-org-list {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed rgba(226, 232, 240, 0.95);
}

.pd-timeline__step.is-green.is-active .pd-timeline__dot {
    background: #059669;
    box-shadow: 0 0 0 4px rgba(5, 150, 105, 0.2);
}

.pd-timeline__step.is-rose .pd-timeline__dot {
    background: #dc2626;
}

/* —— Nav —— */
.profile-nav {
    margin-bottom: var(--pd-gap, 18px);
}

/* Legacy form card (access/security) */
.pd-card--profile-form > .pd-card__head,
.pd-card--security > .pd-card__head,
.pd-card--access > .pd-card__head {
    padding: 18px 22px 0;
    margin-bottom: 0;
}

.pd-fact-grid--single {
    grid-template-columns: 1fr;
}

.pd-card--profile-form .card-body,
.pd-card--security .card-body,
.pd-card--access .profile-access-fieldset {
    padding: 0 22px 22px !important;
}

.pd-card--profile-form .card {
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 12px !important;
    border-radius: var(--pd-radius-sm, 14px) !important;
    background: #f8fafc !important;
    overflow: hidden;
}

.pd-card--profile-form .card-header {
    padding: 14px 18px !important;
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent) !important;
    border-bottom: 1px solid #e2e8f0 !important;
    font-size: 13px;
    font-weight: 800;
    color: #475569;
}

.pd-card--security .form-control {
    border-radius: 12px !important;
    border: 0px solid #e2e8f0 !important;
}

.profile-access-fieldset {
    border: none;
    margin: 0;
    padding: 0;
}

.profile-empty {
    padding: 40px 24px;
}

.profile-empty__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 24px;
    margin-bottom: 12px;
}

/* Dark shell */
body.lux-shell-dark .profile-section {
    background: rgba(15, 23, 42, 0.65);
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .profile-hero__glance {
    border-color: rgba(51, 65, 85, 0.95);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 48%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.72), rgba(15, 23, 42, 0.55));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

body.lux-shell-dark .profile-hero__glance-head {
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .profile-hero__glance-stats {
    background: rgba(15, 23, 42, 0.35);
}

body.lux-shell-dark .profile-hero__stat-value {
    color: #e2e8f0;
}

body.lux-shell-dark .profile-hero__stat:not(:last-child)::after {
    background: linear-gradient(
        180deg,
        transparent,
        rgba(71, 85, 105, 0.65) 20%,
        rgba(71, 85, 105, 0.65) 80%,
        transparent
    );
}

body.lux-shell-dark .profile-hero__rail-panel,
body.lux-shell-dark .profile-hero__date {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .profile-hero__date-value {
    color: #e2e8f0;
}

body.lux-shell-dark .profile-aside-meta__value {
    color: #e2e8f0;
}

body.lux-shell-dark .profile-security__field-value {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.95);
    color: #cbd5e1;
}

body.lux-shell-dark .profile-security__requirements {
    background: rgba(15, 23, 42, 0.45);
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .profile-security__input {
    background: rgba(15, 23, 42, 0.65);
    border-color: rgba(51, 65, 85, 0.95);
    color: #e2e8f0;
}

body.lux-shell-dark .profile-security__strength {
    background: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .profile-field__value {
    background: rgba(15, 23, 42, 0.5);
    border-color: rgba(51, 65, 85, 0.95);
    color: #e2e8f0;
}

body.lux-shell-dark .profile-section__title,
body.lux-shell-dark .profile-hero-chart__title,
body.lux-shell-dark .profile-hero-stat__value {
    color: #e2e8f0;
}

@media (max-width: 1200px) {
    .profile-hero__stat {
        flex: 1 1 calc(50% - 1px);
    }

    .profile-hero__stat:nth-child(2n)::after {
        display: none;
    }

    .profile-field-grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .profile-page.pd-page {
        padding-left: 12px;
        padding-right: 12px;
        padding-bottom: 20px;
    }

    .profile-personal-wrap {
        padding: 14px 16px 18px;
    }

    .profile-page .pd-card--profile-luxury > .pd-card__head {
        padding: 16px 16px 12px;
    }

    .profile-hero__lead {
        flex-direction: column;
    }

    .profile-hero__identity-block {
        flex-direction: column;
        gap: 0.85rem;
    }

    .profile-hero__rail {
        max-width: none;
        width: 100%;
        grid-template-columns: 1fr;
    }

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

    .profile-hero__header-actions {
        justify-content: flex-end;
    }

    .profile-hero__actions {
        justify-content: flex-end;
    }

    .profile-hero__glance-stats {
        flex-direction: column;
        background: transparent;
    }

    .profile-hero__stat {
        flex: 1 1 auto;
        padding: 0.6rem 0.15rem;
    }

    .profile-hero__stat::after {
        display: none;
    }

    .profile-hero__stat + .profile-hero__stat {
        border-top: 1px solid rgba(226, 232, 240, 0.75);
    }

    .profile-field-grid--2,
    .profile-field-grid--3 {
        grid-template-columns: 1fr;
    }

    .profile-flag-list {
        grid-template-columns: 1fr;
    }

    .profile-security__identity-grid,
    .profile-security__form {
        grid-template-columns: 1fr;
    }

    .profile-channel-grid {
        grid-template-columns: 1fr;
    }

    .profile-setting-row--select {
        grid-template-columns: auto 1fr;
    }

    .profile-setting-row--select .profile-setting-row__control {
        grid-column: 1 / -1;
    }

    .profile-setting-select {
        width: 100%;
    }

    .profile-nav {
        width: 100%;
        border-radius: 16px;
    }
}

/* ========== luxury-page-header.css ========== */

/* ========== Shared page inner header — luxury toolbar ========== */

.lux-page-header {
    position: sticky;
    top: 0;
    z-index: 12;
    padding: 0.625rem var(--lux-page-gutter-x, 0.75rem);
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 40%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    overflow: visible;
}

.lux-page-header.is-query-open,
.lux-page-header:has(.is-open) {
    z-index: 1030;
}

.lux-page-header {
    --lux-page-header-search-width: 15.5rem;
    --lux-page-header-search-min-width: 9rem;
}

.lux-page-header__toolbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    overflow: visible;
}

.lux-page-header__group {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.lux-page-header__group--filters {
    flex: 0 1 auto;
    min-width: 0;
    flex-wrap: nowrap;
}

.lux-page-header__group--actions {
    flex: 0 1 auto;
    position: relative;
    overflow: visible;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    min-width: 0;
}

.lux-page-header__spacer {
    flex: 1 1 auto;
    min-width: 0.35rem;
}

.lux-page-header__team-wrap,
.lux-page-header__employee-wrap {
    position: relative;
    flex-shrink: 0;
}

.lux-page-header__team-btn,
.lux-page-header__employee-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    height: 2rem;
    padding: 0 0.625rem;
    border: 0px solid #e2e8f0;
    border-radius: 9911px;
    background: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
    max-width: 14rem;
}

.lux-page-header__employee-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 9rem;
}

.lux-page-header__employee-btn.is-static {
    cursor: default;
    pointer-events: none;
}

.lux-page-header__team-btn:hover,
.lux-page-header__team-btn.is-open,
.lux-page-header__employee-btn:hover,
.lux-page-header__employee-btn.is-open {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 4px 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-page-header__team-btn i,
.lux-page-header__employee-btn i {
    font-size: 0.75rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-page-header__team-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.0625rem;
    height: 1.0625rem;
    padding: 0 0.28rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

/* —— Teams popover —— */
.lux-page-header__team-panel,
.lux-page-header__employee-panel {
    position: absolute;
    top: calc(100% + 0.45rem);
    left: 0;
    width: 18.5rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04),
        0 20px 48px rgba(15, 23, 42, 0.14);
    overflow: hidden;
    z-index: 1040;
}

.lux-page-header__team-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.75rem 0.8rem 0.65rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 55%),
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), rgba(248, 250, 252, 0.96));
}

.lux-page-header__team-panel-head-main {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    min-width: 0;
}

.lux-page-header__team-panel-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 12px;
    flex-shrink: 0;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    font-size: 0.875rem;
}

.lux-page-header__team-panel-eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
    margin-bottom: 0.1rem;
}

.lux-page-header__team-panel-head strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-page-header__team-panel-meta {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.6875rem;
    color: #64748b;
    line-height: 1.35;
}

.lux-page-header__team-panel-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.625rem;
    height: 1.625rem;
    padding: 0;
    border: 0px solid #e2e8f0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.8);
    color: #64748b;
    font-size: 0.75rem;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-page-header__team-panel-close:hover {
    color: var(--lux-primary, #5b5ff4);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}

.lux-page-header__team-panel-body {
    padding: 0.55rem 0.75rem 0.65rem;
}

.lux-page-header__team-search {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0 0.55rem;
    min-height: 2rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    margin-bottom: 0.45rem;
}

.lux-page-header__team-search i {
    color: #94a3b8;
    font-size: 0.75rem;
}

.lux-page-header__team-search input {
    width: 100%;
    border: none;
    background: transparent;
    font-size: 0.6875rem;
    color: #0f172a;
    outline: none;
}

.lux-page-header__team-all {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.4rem;
    padding: 0.35rem 0.45rem 0.35rem 1.85rem;
    border-radius: 11px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    cursor: pointer;
}

.lux-page-header__team-all .lux-page-header__team-checkbox {
    left: 0.45rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.lux-page-header__team-all-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
}

.lux-page-header__team-checkbox {
    position: absolute;
    opacity: 0;
    width: 0.9375rem;
    height: 0.9375rem;
    margin: 0;
    cursor: pointer;
}

.lux-page-header__team-list {
    max-height: 11rem;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    scrollbar-width: thin;
}

.lux-page-header__team-list::-webkit-scrollbar {
    width: 4px;
}

.lux-page-header__team-list::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.45);
    border-radius: 9911px;
}

.lux-page-header__team-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.45rem 0.4rem 1.85rem;
    border: 0px solid transparent;
    border-radius: 12px;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease;
}

.lux-page-header__team-item .lux-page-header__team-checkbox {
    left: 0.45rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.lux-page-header__team-item:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
}

.lux-page-header__team-item.is-selected {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-page-header__team-item-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.9375rem;
    height: 0.9375rem;
    border: 1.5px solid #cbd5e1;
    border-radius: 4px;
    background: #fff;
    flex-shrink: 0;
    color: transparent;
    font-size: 0.6875rem;
    transition: border-color 0.12s ease, background 0.12s ease, color 0.12s ease;
}

.lux-page-header__team-item.is-selected .lux-page-header__team-item-mark {
    border-color: var(--lux-primary, #5b5ff4);
    background: var(--lux-primary, #5b5ff4);
    color: #fff;
}

.lux-page-header__team-item.is-self {
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    margin-bottom: 0.15rem;
    padding-bottom: 0.55rem;
}

.lux-page-header__team-item-name {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #334155;
    line-height: 1.3;
    min-width: 0;
}

.lux-page-header__team-empty {
    padding: 0.75rem;
    border: 0px dashed #e2e8f0;
    border-radius: 12px;
    font-size: 0.75rem;
    color: #64748b;
    text-align: center;
}

.lux-page-header__team-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    padding: 0.55rem 0.75rem 0.65rem;
    border-top: 1px solid #eef2f7;
    background: rgba(248, 250, 252, 0.92);
}

.lux-page-header__team-cancel,
.lux-page-header__team-apply {
    min-height: 1.875rem;
    padding: 0 0.65rem;
    border: none;
    border-radius: 9911px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
}

.lux-page-header__team-cancel {
    background: transparent;
    color: #64748b;
}

.lux-page-header__team-cancel:hover {
    color: #334155;
    background: #f1f5f9;
}

.lux-page-header__team-apply {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}

.lux-page-header__team-apply:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: none;
}

.lux-page-header__filters {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.12rem;
    border: 0px solid #e2e8f0;
    border-radius: 9911px;
    background: #fff;
    flex-shrink: 0;
}

.lux-page-header__filter {
    height: 1.75rem;
    padding: 0 0.625rem;
    border: none;
    border-radius: 9911px;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

.lux-page-header__filter:hover {
    color: #334155;
    background: #f1f5f9;
}

.lux-page-header__filter.is-active {
    color: #fff;
    background: var(--lux-primary, #5b5ff4);
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}

.lux-page-header__sort-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    height: 2rem;
    padding: 0 0.625rem;
    border: 0px solid #e2e8f0;
    border-radius: 9911px;
    background: #fff;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    white-space: nowrap;
    flex-shrink: 0;
    cursor: pointer;
}

.lux-page-header__sort-btn:hover {
    border-color: #cbd5e1;
    color: #334155;
}

.lux-page-header__search {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    width: var(--lux-page-header-search-width, 15.5rem);
    height: 2rem;
    padding: 0 0.75rem;
    border: 0px solid #e2e8f0;
    border-radius: 9911px;
    background: #fff;
    flex: 0 1 var(--lux-page-header-search-width, 15.5rem);
    min-width: var(--lux-page-header-search-min-width, 9rem);
    max-width: 100%;
    margin-bottom: 0;
    box-sizing: border-box;
}

.lux-page-header__search i {
    color: #94a3b8;
    font-size: 0.75rem;
    flex-shrink: 0;
}

.lux-page-header__search input {
    width: 100%;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 0.6875rem;
    color: #0f172a;
    outline: none;
}

.lux-page-header__search input::placeholder {
    color: #94a3b8;
}

.lux-page-header__search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.125rem;
    height: 1.125rem;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: #f1f5f9;
    color: #64748b;
    flex-shrink: 0;
    cursor: pointer;
}

/* Client-side list filter — lives with Status / Sort chips, not field search */
.lux-page-header__list-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    height: 2rem;
    margin-bottom: 0;
    padding: 0 0.55rem 0 0.45rem;
    border: 0px solid #e2e8f0;
    border-radius: 9911px;
    background: #fff;
    flex: 0 1 11.5rem;
    min-width: 7.5rem;
    max-width: 13rem;
    box-sizing: border-box;
    cursor: text;
}

.lux-page-header__list-filter > i.fe-filter {
    color: #94a3b8;
    font-size: 0.6875rem;
    flex-shrink: 0;
}

.lux-page-header__list-filter input {
    width: 100%;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #0f172a;
    outline: none;
}

.lux-page-header__list-filter input::placeholder {
    color: #94a3b8;
    font-weight: 500;
}

.lux-page-header__list-filter-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.125rem;
    height: 1.125rem;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: #f1f5f9;
    color: #64748b;
    flex-shrink: 0;
    cursor: pointer;
}

.lux-page-header__views {
    display: inline-flex;
    align-items: center;
    gap: 0.12rem;
    padding: 0.12rem;
    border: 0px solid #e2e8f0;
    border-radius: 9911px;
    background: #fff;
    flex-shrink: 0;
}

.lux-page-header__view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.625rem;
    height: 1.625rem;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: transparent;
    color: #64748b;
    font-size: 0.75rem;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

.lux-page-header__view-btn:hover {
    color: #334155;
    background: #f1f5f9;
}

.lux-page-header__view-btn.is-active {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-page-header__create-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    height: 2rem;
    padding: 0 0.65rem;
    margin-left: 0.1rem;
    border: none;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #fff;
    white-space: nowrap;
    flex-shrink: 0;
    order: 99;
    cursor: pointer;
    transition: transform 0.14s ease, box-shadow 0.14s ease;
}

.lux-module-hero__actions .lux-page-header__create-btn,
.lux-module-hero__create-btn {
    order: 0;
    margin-left: 0;
    height: 2.25rem;
    padding: 0 0.85rem;
    border-radius: 999px;
}

.lux-module-hero__actions .lux-page-header__action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    height: 2.25rem;
    padding: 0 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.85);
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
    text-decoration: none;
    cursor: pointer;
}

.lux-module-hero__actions .lux-page-header__action-btn:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    color: var(--lux-primary-dark, #3730a3);
    background: #fff;
}

.lux-page-header__create-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.26);
}

.lux-page-header__create-btn i {
    font-size: 0.75rem;
}

/* Keep Joyride `.create-link` target without legacy `.page button.create-link` overrides */
.page .lux-page-header .lux-page-header__create-btn.create-link,
.page .lux-module-hero .lux-page-header__create-btn.create-link {
    color: #fff;
    margin-top: 0;
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
}

.page .lux-page-header .lux-page-header__create-btn.create-link:hover,
.page .lux-module-hero .lux-page-header__create-btn.create-link:hover {
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.26);
}

body.lux-shell-dark .lux-page-header {
    border-bottom-color: rgba(51, 65, 85, 0.9);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 40%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(30, 41, 59, 0.94));
}

body.lux-shell-dark .lux-page-header__team-btn,
body.lux-shell-dark .lux-page-header__employee-btn,
body.lux-shell-dark .lux-page-header__filters,
body.lux-shell-dark .lux-page-header__sort-btn,
body.lux-shell-dark .lux-page-header__list-filter,
body.lux-shell-dark .lux-page-header__search,
body.lux-shell-dark .lux-page-header__views {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
    color: #cbd5e1;
}

body.lux-shell-dark .lux-page-header__team-panel,
body.lux-shell-dark .lux-page-header__employee-panel {
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.98), rgba(15, 23, 42, 0.98));
    border-color: rgba(51, 65, 85, 0.9);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.35);
}

body.lux-shell-dark .lux-page-header__team-panel-head {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 55%),
        rgba(15, 23, 42, 0.55);
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-page-header__team-panel-head strong,
body.lux-shell-dark .lux-page-header__team-item-name,
body.lux-shell-dark .lux-page-header__list-filter input,
body.lux-shell-dark .lux-page-header__search input {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-page-header__team-search,
body.lux-shell-dark .lux-page-header__team-panel-close,
body.lux-shell-dark .lux-page-header__team-item-mark {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-page-header__team-all {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

body.lux-shell-dark .lux-page-header__team-footer {
    background: rgba(15, 23, 42, 0.45);
    border-top-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-page-header__filter.is-active {
    color: #fff;
}

@media (max-width: 1199px) {
    .lux-page-header {
        --lux-page-header-search-width: 12.5rem;
        --lux-page-header-search-min-width: 8rem;
    }
}

@media (max-width: 991px) {
    .lux-page-header__toolbar {
        flex-wrap: wrap;
        align-items: stretch;
    }

    .lux-page-header__spacer {
        display: none;
    }

    .lux-page-header__group {
        width: 100%;
    }

    .lux-page-header__group--actions {
        justify-content: flex-end;
        align-items: center;
    }

    .lux-page-header {
        --lux-page-header-search-width: 100%;
        --lux-page-header-search-min-width: 0;
    }

    .lux-page-header__search {
        flex: 1 1 12rem;
        width: auto;
        min-width: 0;
        max-width: none;
    }
}

@media (max-width: 575px) {
    .lux-page-header__group--filters {
        flex-wrap: wrap;
    }

    .lux-page-header__create-btn span {
        display: none;
    }

    .lux-page-header__team-panel,
    .lux-page-header__employee-panel {
        left: 0;
        right: auto;
        width: min(18.5rem, calc(100vw - 1.5rem));
    }
}

.lux-page-header:not(.is-sticky) {
    position: relative;
}

.lux-page-header__calendar-nav {
    display: inline-flex;
    align-items: center;
    gap: 0.12rem;
    padding: 0.12rem;
    border: 0px solid #e2e8f0;
    border-radius: 9911px;
    background: #fff;
    flex-shrink: 0;
}

.lux-page-header__calendar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.625rem;
    height: 1.625rem;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: transparent;
    color: #64748b;
    font-size: 0.75rem;
    cursor: pointer;
}

.lux-page-header__calendar-btn:hover {
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-page-header__extras {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-page-header__action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    height: 2rem;
    padding: 0 0.55rem;
    border: 0px solid #e2e8f0;
    border-radius: 9911px;
    background: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
}

.lux-page-header__action-btn:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    color: var(--lux-primary, #5b5ff4);
}

.lux-page-header__action-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

@keyframes lux-spin {
    to {
        transform: rotate(360deg);
    }
}

.lux-spin {
    display: inline-block;
    animation: lux-spin 0.85s linear infinite;
}

.lux-page-header__action-btn--accent {
    color: #ea580c;
    border-color: rgba(234, 88, 12, 0.25);
}

.lux-page-header__filter-dropdown {
    position: relative;
    flex-shrink: 0;
}

.lux-page-header__filter-dropdown-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    height: 2rem;
    padding: 0 0.55rem;
    border: 0px solid #e2e8f0;
    border-radius: 9911px;
    background: #fff;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    white-space: nowrap;
    cursor: pointer;
}

.lux-page-header__filter-dropdown-btn.is-open,
.lux-page-header__filter-dropdown-btn:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    color: #334155;
    box-shadow: 0 4px 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-page-header__filter-dropdown-label {
    color: #94a3b8;
    font-weight: 700;
}

.lux-page-header__filter-dropdown-value {
    color: #334155;
    max-width: 6.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-page-header__filter-panel {
    position: absolute;
    top: calc(100% + 0.4rem);
    left: 0;
    min-width: 11.5rem;
    max-width: 15rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04),
        0 16px 40px rgba(15, 23, 42, 0.14);
    overflow: hidden;
    z-index: 1040;
}

.lux-page-header__filter-panel-head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 55%),
        rgba(248, 250, 252, 0.96);
}

.lux-page-header__filter-panel-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.625rem;
    height: 1.625rem;
    border-radius: 8px;
    flex-shrink: 0;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.75rem;
}

.lux-page-header__filter-panel-eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
    line-height: 1.2;
}

.lux-page-header__filter-panel-head strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-page-header__filter-panel-list {
    max-height: 13rem;
    overflow-y: auto;
    margin: 0;
    padding: 0.35rem;
    list-style: none;
    scrollbar-width: thin;
}

.lux-page-header__filter-panel-list::-webkit-scrollbar {
    width: 4px;
}

.lux-page-header__filter-panel-list::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.45);
    border-radius: 9911px;
}

.lux-page-header__filter-panel-item {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    padding: 0.42rem 0.45rem;
    border: 0px solid transparent;
    border-radius: 11px;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #475569;
    text-align: left;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.lux-page-header__filter-panel-item:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
}

.lux-page-header__filter-panel-item.is-active {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-page-header__filter-panel-item-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.875rem;
    height: 0.875rem;
    flex-shrink: 0;
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
}

.lux-page-header__filter-panel-item-label {
    flex: 1;
    min-width: 0;
    line-height: 1.3;
}

.lux-page-header__filter-panel-item-dir {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-page-header__filter-dropdown-menu {
    position: absolute;
    top: calc(100% + 0.35rem);
    left: 0;
    min-width: 10rem;
    max-height: 14rem;
    overflow-y: auto;
    margin: 0;
    padding: 0.35rem;
    list-style: none;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
    z-index: 35;
}

.lux-page-header__filter-dropdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    padding: 0.4rem 0.625rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    width: 100%;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #475569;
    text-align: left;
    cursor: pointer;
}

.lux-page-header__filter-dropdown-item:hover,
.lux-page-header__filter-dropdown-item.is-active {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-page-header__filters--wrap {
    flex-wrap: wrap;
    max-width: 100%;
}

.lux-page-header__date-wrap {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.lux-page-header__query-tools {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
    overflow: visible;
}

.lux-page-header__date-range,
.lux-page-header__field-query,
.lux-page-header__activity-calendar {
    position: relative;
    flex-shrink: 0;
    z-index: 1;
}

.lux-page-header__date-range.is-open,
.lux-page-header__field-query.is-open,
.lux-page-header__activity-calendar.is-open {
    z-index: 200;
}

.lux-page-header__date-range-btn,
.lux-page-header__field-query-btn,
.lux-page-header__activity-calendar-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    height: 2rem;
    padding: 0 0.55rem;
    border: 0px solid #e2e8f0;
    border-radius: 9911px;
    background: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-page-header__date-range-btn {
    max-width: 13rem;
}

.lux-page-header__field-query-btn {
    max-width: 10rem;
}

.lux-page-header__activity-calendar-btn {
    max-width: 14rem;
}

.lux-page-header__date-range-btn:hover,
.lux-page-header__date-range-btn.is-open,
.lux-page-header__field-query-btn:hover,
.lux-page-header__field-query.is-open .lux-page-header__field-query-btn,
.lux-page-header__activity-calendar-btn:hover,
.lux-page-header__activity-calendar.is-open .lux-page-header__activity-calendar-btn {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 4px 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-page-header__date-range-btn > i:first-child,
.lux-page-header__field-query-btn > i:first-child,
.lux-page-header__activity-calendar-btn > i:first-child {
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
    flex-shrink: 0;
}

.lux-page-header__date-range-value,
.lux-page-header__field-query-label,
.lux-page-header__activity-calendar-label {
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.lux-page-header__date-range-btn > i:last-child,
.lux-page-header__field-query-btn > i:last-child,
.lux-page-header__activity-calendar-btn > i:last-child {
    font-size: 0.6875rem;
    color: #94a3b8;
    flex-shrink: 0;
    transition: transform 0.14s ease;
}

.lux-page-header__date-range-btn.is-open > i:last-child,
.lux-page-header__field-query.is-open .lux-page-header__field-query-btn > i:last-child,
.lux-page-header__activity-calendar.is-open .lux-page-header__activity-calendar-btn > i:last-child {
    transform: rotate(180deg);
}

.lux-page-header__date-range-popover {
    position: absolute;
    top: calc(100% + 0.45rem);
    right: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    z-index: 210;
}

/* Portaled above register/summary panels (overflow:hidden ancestors on list pages). */
.lux-page-header__popover--portal {
    position: fixed;
    top: auto;
    left: auto;
    z-index: 1050;
}

.lux-page-header__date-range-popover--portal {
    position: fixed;
    top: auto;
    left: auto;
    z-index: 1050;
}

.lux-page-header__date-range-popover .DateRangePicker {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: 210 !important;
    margin: 0;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
}

/* Activity calendar dropdown */
.lux-page-header__activity-calendar-popover {
    position: absolute;
    top: calc(100% + 0.45rem);
    right: 0;
    left: auto;
    width: min(22rem, 92vw);
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
    z-index: 210;
    overflow: hidden;
}

.lux-page-header__activity-calendar-hints {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    padding: 0.55rem 0.85rem 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-page-header__activity-calendar-hints span {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-page-header__activity-calendar-hints i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
}

.lux-page-header__activity-calendar-body {
    padding: 0.45rem 0.65rem 0.55rem;
}

.lux-page-header__activity-calendar-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.55rem 0.85rem 0.75rem;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
    background: rgba(248, 250, 252, 0.85);
}

.lux-page-header__date-range-popover .DateRangePicker {
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04),
        0 16px 40px rgba(15, 23, 42, 0.14);
}

.lux-page-header__query-popover {
    position: absolute;
    top: calc(100% + 0.45rem);
    right: 0;
    width: min(22rem, calc(100vw - 1.5rem));
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04),
        0 20px 48px rgba(15, 23, 42, 0.16);
    overflow: hidden;
    z-index: 70;
}

.lux-page-header__query-popover-head {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 55%),
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), rgba(248, 250, 252, 0.96));
}

.lux-page-header__query-popover-head > div {
    flex: 1;
    min-width: 0;
}

.lux-page-header__query-popover-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 12px;
    flex-shrink: 0;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    font-size: 0.8125rem;
}

.lux-page-header__query-popover-eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
}

.lux-page-header__query-popover-head strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-page-header__query-popover-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.625rem;
    height: 1.625rem;
    padding: 0;
    border: 0px solid #e2e8f0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.85);
    color: #64748b;
    font-size: 0.75rem;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-page-header__query-tabs {
    display: flex;
    gap: 0.25rem;
    padding: 0.45rem 0.65rem 0;
}

.lux-page-header__query-tab {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    height: 1.875rem;
    padding: 0 0.45rem;
    border: 0px solid transparent;
    border-radius: 9911px;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    cursor: pointer;
}

.lux-page-header__query-tab.is-active {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.lux-page-header__query-popover-body {
    padding: 0.55rem 0.65rem 0.65rem;
}

.lux-page-header__query-hint {
    margin: 0 0 0.45rem;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-page-header__query-calendar-picker {
    overflow-x: auto;
    border: 0px solid #eef2f7;
    border-radius: 12px;
    background: #fff;
}

.lux-page-header__query-calendar-picker .DateRangePicker {
    margin: 0 auto;
}

.lux-page-header__query-search-fields {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-height: 9.5rem;
    overflow-y: auto;
    margin-bottom: 0.45rem;
    padding-right: 0.1rem;
    scrollbar-width: thin;
}

.lux-page-header__query-search-field {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    padding: 0.42rem 0.625rem;
    border: 0px solid transparent;
    border-radius: 11px;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #475569;
    text-align: left;
    cursor: pointer;
}

.lux-page-header__query-search-field.is-active,
.lux-page-header__query-search-field:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-page-header__query-search-field-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.875rem;
    height: 0.875rem;
    flex-shrink: 0;
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
}

.lux-page-header__query-search-input {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    min-height: 2.125rem;
    padding: 0 0.55rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    margin-bottom: 0.45rem;
}

.lux-page-header__query-search-input i {
    color: #94a3b8;
    font-size: 0.75rem;
    flex-shrink: 0;
}

.lux-page-header__query-search-input input {
    width: 100%;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 0.6875rem;
    color: #0f172a;
    outline: none;
}

.lux-page-header__query-search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.125rem;
    height: 1.125rem;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: #f1f5f9;
    color: #64748b;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-page-header__query-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    padding-top: 0.15rem;
}

.lux-page-header__query-summary {
    flex: 1;
    min-width: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-page-header__query-cancel,
.lux-page-header__query-done {
    min-height: 1.875rem;
    padding: 0 0.65rem;
    border: none;
    border-radius: 9911px;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    cursor: pointer;
}

.lux-page-header__query-cancel:hover,
.lux-page-header__query-done:hover {
    background: #f1f5f9;
    color: #334155;
}

.lux-page-header__query-submit {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 1.875rem;
    padding: 0 0.75rem;
    border: none;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
}

.lux-page-header__query-submit:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: none;
}

body.lux-shell-dark .lux-page-header__calendar-nav,
body.lux-shell-dark .lux-page-header__action-btn,
body.lux-shell-dark .lux-page-header__filter-dropdown-btn,
body.lux-shell-dark .lux-page-header__filter-dropdown-menu,
body.lux-shell-dark .lux-page-header__filter-panel {
    background: rgba(15, 23, 42, 0.92);
    border-color: rgba(51, 65, 85, 0.9);
    color: #cbd5e1;
}

body.lux-shell-dark .lux-page-header__filter-panel-head {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 55%),
        rgba(15, 23, 42, 0.55);
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-page-header__filter-panel-head strong,
body.lux-shell-dark .lux-page-header__filter-panel-item-label,
body.lux-shell-dark .lux-page-header__filter-dropdown-value {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-page-header__date-range-btn,
body.lux-shell-dark .lux-page-header__field-query-btn,
body.lux-shell-dark .lux-page-header__query-popover,
body.lux-shell-dark .lux-page-header__query-search-input,
body.lux-shell-dark .lux-page-header__date-range-popover,
body.lux-shell-dark .lux-page-header__query-calendar-picker {
    background: rgba(15, 23, 42, 0.92);
    border-color: rgba(51, 65, 85, 0.9);
    color: #cbd5e1;
}

body.lux-shell-dark .lux-page-header__query-popover-head {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 55%),
        rgba(15, 23, 42, 0.55);
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-page-header__query-popover-head strong,
body.lux-shell-dark .lux-page-header__query-search-input input,
body.lux-shell-dark .lux-page-header__date-range-value,
body.lux-shell-dark .lux-page-header__field-query-label,
body.lux-shell-dark .lux-page-header__query-summary {
    color: #e2e8f0;
}

@media (max-width: 1199px) {
    .lux-page-header__date-range-btn {
        max-width: 10.625rem;
    }

    .lux-page-header__field-query-btn {
        max-width: 7.5rem;
    }
}

@media (max-width: 991px) {
    .lux-page-header__query-popover {
        right: 0;
        left: auto;
        width: min(20rem, calc(100vw - 1rem));
    }
}

/* ========== luxury-timesheet.css ========== */

/* ========== Timesheet inner header — week controls on shared lux-page-header ========== */

.lux-page-header--timesheet {
    z-index: 30;
}

/* —— Week navigator (hero control) —— */
.lux-ts-header__week {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.2rem 0.28rem 0.2rem 0.55rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    border-radius: 9911px;
    background:
        radial-gradient(circle at 0% 50%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 58%),
        linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 6px 18px rgba(15, 23, 42, 0.05);
    flex-shrink: 0;
}

.lux-ts-header__week.is-current {
    border-color: rgba(5, 150, 105, 0.22);
    background:
        radial-gradient(circle at 0% 50%, rgba(5, 150, 105, 0.08), transparent 58%),
        linear-gradient(180deg, #fff 0%, #f0fdf4 100%);
}

.lux-ts-header__week-body {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    padding-right: 0.15rem;
}

.lux-ts-header__week-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 1.625rem;
    padding: 0 0.45rem;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #fff;
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    flex-shrink: 0;
}

.lux-ts-header__week.is-current .lux-ts-header__week-badge {
    background: linear-gradient(135deg, #059669, #047857);
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.28);
}

.lux-ts-header__week-range {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
    white-space: nowrap;
    letter-spacing: -0.01em;
}

.lux-ts-header__live {
    padding: 0.12rem 0.38rem;
    border-radius: 9911px;
    background: rgba(5, 150, 105, 0.12);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #047857;
    flex-shrink: 0;
}

.lux-ts-header__week-divider {
    width: 1px;
    height: 1.25rem;
    background: rgba(226, 232, 240, 0.95);
    flex-shrink: 0;
}

.lux-ts-header__nav {
    display: inline-flex;
    align-items: center;
    gap: 0.08rem;
    padding: 0.1rem;
    flex-shrink: 0;
}

.lux-ts-header__nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.625rem;
    height: 1.625rem;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: transparent;
    color: #64748b;
    font-size: 0.6875rem;
    cursor: pointer;
    transition: background 0.14s ease, color 0.14s ease;
}

.lux-ts-header__nav-btn:hover:not(:disabled) {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-ts-header__nav-btn--today {
    font-size: 0.45rem;
}

.lux-ts-header__week.is-current .lux-ts-header__nav-btn--today:not(:disabled) {
    color: #059669;
}

.lux-ts-header__nav-btn:disabled {
    opacity: 0.28;
    cursor: not-allowed;
    pointer-events: none;
}

.lux-ts-header__sync-btn.is-loading {
    opacity: 0.85;
    cursor: wait;
}

.lux-ts-header__sync-btn.is-loading .fa-spinner {
    color: #ea580c;
}

/* Dark shell */
body.lux-shell-dark .lux-ts-header__week {
    background:
        radial-gradient(circle at 0% 50%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 58%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(2, 6, 23, 0.88));
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-ts-header__week.is-current {
    background:
        radial-gradient(circle at 0% 50%, rgba(5, 150, 105, 0.12), transparent 58%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(2, 6, 23, 0.88));
    border-color: rgba(5, 150, 105, 0.28);
}

body.lux-shell-dark .lux-ts-header__week-range {
    color: #94a3b8;
}

body.lux-shell-dark .lux-ts-header__week-divider {
    background: rgba(51, 65, 85, 0.95);
}

@media (max-width: 1200px) {
    .lux-page-header--timesheet .lux-page-header__toolbar {
        flex-wrap: wrap;
        row-gap: 0.4rem;
    }

    .lux-page-header--timesheet .lux-page-header__spacer {
        display: none;
    }

    .lux-page-header--timesheet .lux-page-header__group--actions {
        width: 100%;
        justify-content: flex-end;
    }
}

@media (max-width: 768px) {
    .lux-ts-header__week {
        flex-wrap: wrap;
        border-radius: 14px;
        padding: 0.35rem 0.4rem;
        width: 100%;
    }

    .lux-ts-header__week-divider {
        display: none;
    }

    .lux-ts-header__nav {
        width: 100%;
        justify-content: flex-end;
        padding-top: 0.15rem;
        border-top: 1px solid rgba(226, 232, 240, 0.85);
    }
}

@media (max-width: 640px) {
    .lux-ts-header__week-range {
        white-space: normal;
        line-height: 1.35;
    }

    .lux-ts-header__live {
        display: none;
    }
}

/* —— Timesheet page shell (align with employees / attendance register rhythm) —— */
.lux-timesheet-page {
    display: flex;
    flex-direction: column;
    min-width: 0;
    --lux-ts-sticky-header-offset: 4.5rem;
}

@media (max-width: 960px) {
    .lux-timesheet-page {
        --lux-ts-sticky-header-offset: 5.75rem;
    }
}

@media (max-width: 640px) {
    .lux-timesheet-page {
        --lux-ts-sticky-header-offset: 6.5rem;
    }
}

.lux-timesheet-page > .lux-ts-pending,
.lux-timesheet-page > .lux-ts-lock-banner,
.lux-timesheet-page > .lux-ts-compliance,
.lux-timesheet-page > .lux-ts-intel,
.lux-timesheet-page > .lux-ts-view-tabs,
.lux-timesheet-page > .lux-page-audit-footer {
    margin-left: var(--lux-page-gutter-x);
    margin-right: var(--lux-page-gutter-x);
}

.lux-timesheet-page > .lux-ts-pending,
.lux-timesheet-page > .lux-ts-lock-banner,
.lux-timesheet-page > .lux-ts-compliance,
.lux-timesheet-page > .lux-ts-intel,
.lux-timesheet-page > .lux-ts-view-tabs {
    margin-bottom: var(--lux-page-block-gap-y);
}

.lux-timesheet-hero {
    margin-bottom: 0;
}

.lux-timesheet-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    cursor: pointer;
}

.lux-timesheet-hero__cta:hover:not(:disabled) {
    filter: brightness(1.05);
}

.lux-timesheet-hero__cta:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-timesheet-quick-nav {
    margin: 0 var(--lux-page-gutter-x) 0.85rem;
}

/* ========== Timesheet week summary panel ========== */

.lux-ts-summary {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0%, rgba(5, 150, 105, 0.06), transparent 42%),
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 45%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.lux-ts-summary.is-collapsed {
    padding-bottom: 0.65rem;
}

.lux-ts-summary__header-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.55rem;
    margin-bottom: 0.55rem;
}

.lux-ts-summary:not(.is-collapsed) .lux-ts-summary__header-bar {
    padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-ts-summary__header-main {
    min-width: 0;
}

/* Eyebrow — see luxury-summary-shared.css (.lux-summary-eyebrow) */

.lux-ts-summary__title {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-ts-summary.is-collapsed.has-data-quality-alert {
    border-color: rgba(217, 119, 6, 0.34);
    box-shadow: 0 10px 28px rgba(217, 119, 6, 0.1);
}

.lux-ts-summary.is-collapsed.has-data-quality-critical {
    border-color: rgba(220, 38, 38, 0.38);
    box-shadow: 0 12px 30px rgba(220, 38, 38, 0.12);
}

.lux-ts-summary__title-badge.is-data-quality {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    border: 1px solid rgba(217, 119, 6, 0.35);
    background: rgba(251, 191, 36, 0.16);
    color: #b45309;
    max-width: 100%;
    white-space: normal;
    text-align: left;
}

.lux-ts-summary__title-badge.is-data-quality.is-critical {
    border-color: rgba(220, 38, 38, 0.38);
    background: rgba(254, 226, 226, 0.72);
    color: #b91c1c;
}

.lux-ts-summary__collapsed-alert {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: 0.35rem 0 0;
    padding: 0.5rem 0.65rem;
    border-radius: 10px;
    border: 2px solid rgba(217, 119, 6, 0.34);
    background: rgba(255, 251, 235, 0.92);
    font-size: 0.75rem;
    line-height: 1.4;
}

.lux-ts-summary.has-data-quality-critical .lux-ts-summary__collapsed-alert {
    border-color: rgba(220, 38, 38, 0.42);
    background: rgba(254, 242, 242, 0.92);
}

.lux-ts-summary__collapsed-alert i {
    color: #d97706;
    flex-shrink: 0;
}

.lux-ts-summary.has-data-quality-critical .lux-ts-summary__collapsed-alert i {
    color: #dc2626;
}

.lux-ts-summary__collapsed-alert strong {
    font-weight: 800;
    color: #92400e;
}

.lux-ts-summary.has-data-quality-critical .lux-ts-summary__collapsed-alert strong {
    color: #991b1b;
}

.lux-ts-summary__collapsed-alert span {
    font-weight: 700;
    color: #78350f;
}

.lux-ts-summary.has-data-quality-critical .lux-ts-summary__collapsed-alert span {
    color: #9f1239;
}

.lux-ts-summary__title-badge {
    display: inline-block;
    margin-left: 0.45rem;
    padding: 0.12rem 0.45rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    vertical-align: middle;
}

.lux-ts-summary__status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin-left: 0.45rem;
    padding: 0.14rem 0.625rem;
    border-radius: 9911px;
    border: 0px solid transparent;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    vertical-align: middle;
}

.lux-ts-summary__status-badge.is-compact {
    margin-left: 0.35rem;
}

.lux-ts-summary__status-badge small {
    margin-left: 0.15rem;
    padding-left: 0.35rem;
    border-left: 1px solid rgba(255, 255, 255, 0.35);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: none;
    opacity: 0.92;
}

.lux-ts-summary__status-badge.is-green {
    background: rgba(5, 150, 105, 0.12);
    border-color: rgba(5, 150, 105, 0.22);
    color: #047857;
}

.lux-ts-summary__status-badge.is-blue {
    background: rgba(37, 99, 235, 0.12);
    border-color: rgba(37, 99, 235, 0.22);
    color: #1d4ed8;
}

.lux-ts-summary__status-badge.is-amber {
    background: rgba(217, 119, 6, 0.12);
    border-color: rgba(217, 119, 6, 0.22);
    color: #b45309;
}

.lux-ts-summary__status-badge.is-violet {
    background: rgba(124, 58, 237, 0.12);
    border-color: rgba(124, 58, 237, 0.22);
    color: #6d28d9;
}

.lux-ts-summary__status-badge.is-rose {
    background: rgba(225, 29, 72, 0.12);
    border-color: rgba(225, 29, 72, 0.22);
    color: #be123c;
}

.lux-ts-summary__status-badge.is-teal {
    background: rgba(20, 184, 166, 0.12);
    border-color: rgba(20, 184, 166, 0.22);
    color: #0f766e;
}

.lux-ts-summary__status-badge.is-slate {
    background: rgba(100, 116, 139, 0.12);
    border-color: rgba(100, 116, 139, 0.22);
    color: #475569;
}

.lux-ts-summary__status-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.55rem 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
}

.lux-ts-summary__status-main {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    min-width: 0;
}

.lux-ts-summary__status-main .lux-ts-summary__status-badge {
    margin-left: 0;
    width: fit-content;
}

.lux-ts-summary__status-hint {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-ts-summary__status-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-ts-summary__status-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.18rem 0.45rem;
    border-radius: 9911px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
}

.lux-ts-summary__status-chip strong {
    font-size: 0.6875rem;
    color: #0f172a;
}

.lux-ts-summary__status-chip.is-green { border-color: rgba(5, 150, 105, 0.22); color: #047857; }
.lux-ts-summary__status-chip.is-blue { border-color: rgba(37, 99, 235, 0.22); color: #1d4ed8; }
.lux-ts-summary__status-chip.is-amber { border-color: rgba(217, 119, 6, 0.22); color: #b45309; }
.lux-ts-summary__status-chip.is-violet { border-color: rgba(124, 58, 237, 0.22); color: #6d28d9; }
.lux-ts-summary__status-chip.is-rose { border-color: rgba(225, 29, 72, 0.22); color: #be123c; }
.lux-ts-summary__status-chip.is-teal { border-color: rgba(20, 184, 166, 0.22); color: #0f766e; }
.lux-ts-summary__status-chip.is-slate { border-color: rgba(100, 116, 139, 0.22); color: #475569; }

.lux-ts-summary__day-status {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.35rem;
}

.lux-ts-summary__day-status-cell {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-height: 3.1rem;
    padding: 0.42rem 0.35rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    text-align: center;
}

.lux-ts-summary__day-status-label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-ts-summary__day-status-value {
    font-size: 0.625rem;
    font-weight: 800;
    line-height: 1.25;
    color: #334155;
}

.lux-ts-summary__day-status-cell.is-green {
    border-color: rgba(5, 150, 105, 0.2);
    background: rgba(5, 150, 105, 0.06);
}

.lux-ts-summary__day-status-cell.is-blue {
    border-color: rgba(37, 99, 235, 0.2);
    background: rgba(37, 99, 235, 0.06);
}

.lux-ts-summary__day-status-cell.is-amber {
    border-color: rgba(217, 119, 6, 0.2);
    background: rgba(217, 119, 6, 0.06);
}

.lux-ts-summary__day-status-cell.is-violet {
    border-color: rgba(124, 58, 237, 0.2);
    background: rgba(124, 58, 237, 0.06);
}

.lux-ts-summary__day-status-cell.is-rose {
    border-color: rgba(225, 29, 72, 0.2);
    background: rgba(225, 29, 72, 0.06);
}

.lux-ts-summary__day-status-cell.is-teal {
    border-color: rgba(20, 184, 166, 0.2);
    background: rgba(20, 184, 166, 0.06);
}

.lux-ts-summary__day-status-cell.is-slate {
    border-color: rgba(100, 116, 139, 0.2);
    background: rgba(100, 116, 139, 0.06);
}

.lux-ts-summary__toggle,
.lux-att-summary__toggle,
.lux-inv-summary__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    flex-shrink: 0;
    min-height: 1.75rem;
    padding: 0 0.55rem;
    border: 1px solid #e2e8f0;
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.9);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    cursor: pointer;
    transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}

.lux-ts-summary__toggle:hover,
.lux-att-summary__toggle:hover,
.lux-inv-summary__toggle:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-ts-summary__collapsed-line,
.lux-ts-summary__context,
.lux-att-summary__collapsed-line,
.lux-inv-summary__collapsed-line,
.lux-inv-summary__context {
    margin: 0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-ts-summary__collapsed-line,
.lux-ts-summary__context {
    font-weight: 600;
}

.lux-ts-summary__body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    max-height: 3200px;
}

.lux-ts-summary__mix-bar {
    display: flex;
    height: 0.45rem;
    overflow: hidden;
    border-radius: 9911px;
    background: rgba(226, 232, 240, 0.65);
}

.lux-ts-summary__mix-bar--empty {
    align-items: center;
    justify-content: center;
    height: 1.75rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-ts-summary__mix-segment {
    min-width: 0;
    transition: width 0.25s ease;
}

.lux-ts-summary__mix-segment.is-green { background: linear-gradient(90deg, #059669, #10b981); }
.lux-ts-summary__mix-segment.is-blue { background: linear-gradient(90deg, #5b5ff4, #6366f1); }
.lux-ts-summary__mix-segment.is-amber { background: linear-gradient(90deg, #d97706, #f59e0b); }

.lux-ts-summary__data-quality {
    margin: 0 0 0.75rem;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 2px solid rgba(217, 119, 6, 0.42);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(254, 243, 199, 0.55));
    box-shadow: 0 10px 28px rgba(217, 119, 6, 0.12);
}

.lux-ts-summary__data-quality.has-critical {
    border-color: rgba(220, 38, 38, 0.55);
    background: linear-gradient(135deg, rgba(254, 242, 242, 0.98), rgba(254, 226, 226, 0.62));
    box-shadow: 0 12px 32px rgba(220, 38, 38, 0.14);
    animation: lux-ts-data-quality-pulse 2.4s ease-in-out infinite;
}

@keyframes lux-ts-data-quality-pulse {
    0%,
    100% {
        box-shadow: 0 12px 32px rgba(220, 38, 38, 0.12);
    }

    50% {
        box-shadow: 0 14px 36px rgba(220, 38, 38, 0.22);
    }
}

.lux-ts-summary__data-quality--clear {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0 0 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(5, 150, 105, 0.22);
    background: rgba(236, 253, 245, 0.72);
}

.lux-ts-summary__data-quality--clear i {
    color: #059669;
    font-size: 1rem;
}

.lux-ts-summary__data-quality--clear strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #047857;
}

.lux-ts-summary__data-quality--clear span {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: #0f766e;
}

.lux-ts-summary__data-quality-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    margin-bottom: 0.65rem;
}

.lux-ts-summary__data-quality-eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b45309;
}

.lux-ts-summary__data-quality.has-critical .lux-ts-summary__data-quality-eyebrow {
    color: #b91c1c;
}

.lux-ts-summary__data-quality-title {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.15rem 0 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: #78350f;
}

.lux-ts-summary__data-quality.has-critical .lux-ts-summary__data-quality-title {
    color: #991b1b;
}

.lux-ts-summary__data-quality-title i {
    color: #dc2626;
}

.lux-ts-summary__data-quality-sub {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #92400e;
    line-height: 1.45;
}

.lux-ts-summary__data-quality.has-critical .lux-ts-summary__data-quality-sub {
    color: #9f1239;
}

.lux-ts-summary__data-quality-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-ts-summary__data-quality-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.lux-ts-summary__data-quality-badge.is-critical {
    background: rgba(220, 38, 38, 0.14);
    border: 1px solid rgba(220, 38, 38, 0.35);
    color: #b91c1c;
}

.lux-ts-summary__data-quality-badge.is-high {
    background: rgba(217, 119, 6, 0.14);
    border: 1px solid rgba(217, 119, 6, 0.35);
    color: #b45309;
}

.lux-ts-summary__data-quality-badge.is-important {
    background: rgba(79, 70, 229, 0.12);
    border: 1px solid rgba(79, 70, 229, 0.28);
    color: #4338ca;
}

.lux-ts-summary__data-quality-list {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-ts-summary__data-quality-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(217, 119, 6, 0.24);
}

.lux-ts-summary__data-quality-item.is-critical {
    border-width: 2px;
    border-color: rgba(220, 38, 38, 0.42);
    background: rgba(255, 255, 255, 0.92);
}

.lux-ts-summary__data-quality-item.is-high {
    border-style: dashed;
    border-color: rgba(217, 119, 6, 0.42);
}

.lux-ts-summary__data-quality-item-main {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
}

.lux-ts-summary__data-quality-priority {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b45309;
}

.lux-ts-summary__data-quality-item.is-critical .lux-ts-summary__data-quality-priority {
    color: #b91c1c;
}

.lux-ts-summary__data-quality-item-main strong {
    font-size: 0.8125rem;
    color: #1f2937;
}

.lux-ts-summary__data-quality-entry {
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
}

.lux-ts-summary__data-quality-item-main em {
    font-style: normal;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.4;
}

.lux-ts-summary__data-quality-item-meta {
    display: grid;
    gap: 0.1rem;
    justify-items: end;
    text-align: right;
    flex-shrink: 0;
}

.lux-ts-summary__data-quality-item-meta span {
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
}

.lux-ts-summary__data-quality-item-meta strong {
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-ts-summary__data-quality-item-meta small {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #b45309;
}

.lux-ts-summary__attention {
    padding: 0.65rem 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-ts-summary__attention--clear {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    border-color: rgba(5, 150, 105, 0.25);
    background: rgba(5, 150, 105, 0.06);
    color: #047857;
}

.lux-ts-summary__attention--clear i {
    font-size: 1rem;
    flex-shrink: 0;
}

.lux-ts-summary__attention--clear strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #065f46;
}

.lux-ts-summary__attention--clear span {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: #059669;
}

.lux-ts-summary__attention-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    margin-bottom: 0.45rem;
}

.lux-ts-summary__attention-title {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-summary__attention-title i {
    color: #d97706;
    font-size: 0.875rem;
}

.lux-ts-summary__attention-count {
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
    padding: 0.15rem 0.45rem;
    border-radius: 9911px;
    background: rgba(241, 245, 249, 0.95);
}

.lux-ts-summary__attention-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-ts-summary__attention-item {
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: center;
    gap: 0.35rem 0.625rem;
    min-width: 0;
    padding: 0.35rem 0.55rem;
    border-radius: 12px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.85);
    font-size: 0.75rem;
}

.lux-ts-summary__attention-item.is-empty {
    border-color: rgba(148, 163, 184, 0.45);
    background: rgba(241, 245, 249, 0.9);
}

.lux-ts-summary__attention-item.is-under {
    border-color: rgba(217, 119, 6, 0.35);
    background: rgba(251, 191, 36, 0.1);
}

.lux-ts-summary__attention-item.is-over {
    border-color: rgba(220, 38, 38, 0.35);
    background: rgba(254, 226, 226, 0.55);
}

.lux-ts-summary__attention-day {
    font-weight: 800;
    color: #334155;
    white-space: nowrap;
}

.lux-ts-summary__attention-hours {
    font-weight: 800;
    color: #0f172a;
    white-space: nowrap;
}

.lux-ts-summary__attention-reason {
    font-weight: 600;
    color: #64748b;
    min-width: 0;
}

.lux-ts-summary__kpi-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-ts-summary__kpi {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    min-height: 5.75rem;
    padding: 0.7rem 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-ts-summary__kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }
.lux-ts-summary__kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-ts-summary__kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-ts-summary__kpi.is-violet { border-color: rgba(124, 58, 237, 0.2); }
.lux-ts-summary__kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-ts-summary__kpi.is-teal { border-color: rgba(20, 184, 166, 0.2); }

.lux-ts-summary__kpi-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
}

.lux-ts-summary__kpi-label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-summary__kpi-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 11px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.6875rem;
}

.lux-ts-summary__kpi.is-green .lux-ts-summary__kpi-icon {
    background: rgba(5, 150, 105, 0.12);
    color: #047857;
}

.lux-ts-summary__kpi.is-amber .lux-ts-summary__kpi-icon {
    background: rgba(217, 119, 6, 0.12);
    color: #b45309;
}

.lux-ts-summary__kpi.is-violet .lux-ts-summary__kpi-icon {
    background: rgba(124, 58, 237, 0.12);
    color: #6d28d9;
}

.lux-ts-summary__kpi.is-blue .lux-ts-summary__kpi-icon {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
}

.lux-ts-summary__kpi.is-teal .lux-ts-summary__kpi-icon {
    background: rgba(20, 184, 166, 0.12);
    color: #0f766e;
}

.lux-ts-summary__kpi-value {
    font-size: 1.125rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.1;
}

.lux-ts-summary__kpi-value.is-alert {
    color: #dc2626;
    animation: lux-ts-summary-blink 1.2s ease-in-out infinite;
}

@keyframes lux-ts-summary-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.55; }
}

.lux-ts-summary__kpi-hint {
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.35;
}

.lux-ts-summary__charts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-ts-summary__chart-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0.75rem 0.8rem 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-ts-summary__chart-panel--wide {
    grid-column: 1 / -1;
}

.lux-ts-summary__chart-panel--split {
    grid-column: 1 / -1;
}

.lux-ts-summary__chart-split {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 0.65rem;
    align-items: stretch;
    min-height: 0;
}

.lux-ts-summary__chart-split-main,
.lux-ts-summary__chart-split-side {
    min-width: 0;
    min-height: 0;
}

.lux-ts-summary__chart-split-side {
    display: flex;
    flex-direction: column;
    padding-left: 0.55rem;
    border-left: 1px dashed rgba(226, 232, 240, 0.95);
}

.lux-ts-summary__split-label {
    margin: 0 0 0.25rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-summary__panel-head {
    margin-bottom: 0.35rem;
}

.lux-ts-summary__panel-title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-summary__panel-sub {
    margin: 0.12rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.4;
}

.lux-ts-summary__chart-body {
    flex: 1;
    min-height: 0;
}

.lux-ts-summary__empty {
    margin: 0;
    padding: 2rem 0.625rem;
    text-align: center;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
}

/* Dark shell */
body.lux-shell-dark .lux-ts-summary {
    background:
        radial-gradient(circle at 100% 0%, rgba(5, 150, 105, 0.1), transparent 42%),
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 45%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(2, 6, 23, 0.88));
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-ts-summary__title,
body.lux-shell-dark .lux-ts-summary__panel-title,
body.lux-shell-dark .lux-ts-summary__kpi-value {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-ts-summary__kpi,
body.lux-shell-dark .lux-ts-summary__chart-panel,
body.lux-shell-dark .lux-ts-summary__attention {
    background: rgba(15, 23, 42, 0.65);
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-ts-summary__attention--clear {
    background: rgba(5, 150, 105, 0.12);
    border-color: rgba(5, 150, 105, 0.35);
}

body.lux-shell-dark .lux-ts-summary__attention-title,
body.lux-shell-dark .lux-ts-summary__attention-hours {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-ts-summary__chart-split-side {
    border-left-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-ts-summary__toggle {
    background: rgba(15, 23, 42, 0.75);
    border-color: rgba(51, 65, 85, 0.95);
    color: #94a3b8;
}

@media (max-width: 1400px) {
    .lux-ts-summary__kpi-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    .lux-ts-summary__charts {
        grid-template-columns: 1fr;
    }

    .lux-ts-summary__chart-panel--wide,
    .lux-ts-summary__chart-panel--split {
        grid-column: auto;
    }

    .lux-ts-summary__chart-split {
        grid-template-columns: 1fr;
    }

    .lux-ts-summary__chart-split-side {
        padding-left: 0;
        border-left: none;
        padding-top: 0.55rem;
        border-top: 1px dashed rgba(226, 232, 240, 0.95);
    }
}

@media (max-width: 768px) {
    .lux-ts-summary {
        padding: 0.65rem 0.85rem;
    }

    .lux-ts-summary__kpi-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-ts-summary__title-badge {
        display: block;
        margin: 0.25rem 0 0;
        width: fit-content;
    }

    .lux-ts-summary__status-badge.is-compact {
        display: inline-flex;
        margin: 0.25rem 0.15rem 0 0;
    }

    .lux-ts-summary__day-status {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* ========== Add time entry modal ========== */

.lux-ts-add-entry {
    position: fixed;
    inset: 0;
    z-index: 1000002;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}

.lux-ts-add-entry__backdrop {
    position: absolute;
    inset: 0;
    padding: 0;
    border: none;
    background:
        radial-gradient(ellipse at 50% 20%, rgba(91, 95, 244, 0.18), transparent 55%),
        rgba(8, 12, 28, 0.58);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    cursor: pointer;
}

body.lux-ts-add-entry-open {
    overflow: hidden;
}

/* Portaled react-select menus must sit above this modal (1000002) and all sections */
body.lux-ts-add-entry-open .custom-select__menu-portal {
    z-index: 1000020 !important;
}

body.lux-ts-add-entry-open .custom-select__menu-portal .custom-select__menu {
    border-radius: 12px !important;
    border: 1px solid rgba(226, 232, 240, 0.98) !important;
    box-shadow:
        0 18px 40px rgba(15, 23, 42, 0.2),
        0 3px 10px rgba(15, 23, 42, 0.08) !important;
    overflow: hidden;
    background: #fff !important;
    margin-top: 4px !important;
}

body.lux-ts-add-entry-open .custom-select__menu-portal .custom-select__menu-list {
    padding: 0.28rem !important;
    max-height: 220px !important;
}

body.lux-ts-add-entry-open .custom-select__menu-portal .custom-select__option {
    font-size: 0.8125rem !important;
    font-weight: 600;
    padding: 0 !important;
    background: transparent !important;
    color: inherit !important;
}

body.lux-ts-add-entry-open .custom-select__menu-portal .custom-select__option--is-focused,
body.lux-ts-add-entry-open .custom-select__menu-portal .custom-select__option--is-selected {
    background: transparent !important;
    color: inherit !important;
}

.lux-page-header__create-btn.is-busy {
    opacity: 0.72;
    cursor: default;
}

.lux-ts-add-entry__panel {
    position: relative;
    width: min(580px, 100%);
    max-height: min(90vh, 740px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(226, 232, 240, 0.98);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14), transparent 42%),
        radial-gradient(circle at 0% 0%, rgba(5, 150, 105, 0.1), transparent 40%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.8) inset,
        0 36px 90px rgba(15, 23, 42, 0.28),
        0 8px 24px rgba(91, 95, 244, 0.08);
    animation: lux-ts-add-entry-in 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

.lux-ts-add-entry__accent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        #059669 0%,
        var(--lux-primary, #5b5ff4) 48%,
        #2563eb 100%
    );
    z-index: 1;
}

@keyframes lux-ts-add-entry-in {
    from {
        opacity: 0;
        transform: translateY(16px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.lux-ts-add-entry__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.85rem 1.15rem 0.65rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), transparent);
}

.lux-ts-add-entry__head-main {
    min-width: 0;
    flex: 1;
}

.lux-ts-add-entry__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin-bottom: 0.12rem;
    padding: 0.1rem 0.42rem;
    border-radius: 999px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-add-entry__kicker i {
    color: var(--lux-primary, #5b5ff4);
}

.lux-ts-add-entry__title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.lux-ts-add-entry__sub {
    margin: 0.18rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-ts-add-entry__sub strong {
    color: #334155;
}

.lux-ts-add-entry__progress {
    display: inline-flex;
    align-items: center;
    gap: 0;
    margin-top: 0.45rem;
}

.lux-ts-add-entry__progress-dot {
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 999px;
    background: #e2e8f0;
    transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.lux-ts-add-entry__progress-dot.is-on {
    background: var(--lux-primary, #5b5ff4);
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    transform: scale(1.08);
}

.lux-ts-add-entry__progress-line {
    width: 1.5rem;
    height: 2px;
    background: linear-gradient(90deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35), #e2e8f0);
    border-radius: 999px;
}

.lux-ts-add-entry__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: #64748b;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease, transform 0.14s ease;
}

.lux-ts-add-entry__close:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    transform: scale(1.04);
}

.lux-ts-add-entry__body {
    flex: 1;
    overflow-y: auto;
    padding: 0.75rem 1.15rem 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.lux-ts-add-entry__section {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    position: relative;
    transition: opacity 0.18s ease, filter 0.18s ease;
}

.lux-ts-add-entry__section.is-dimmed {
    opacity: 0.72;
}

.lux-ts-add-entry__section--elevate {
    position: relative;
    z-index: 8;
    flex: 1 1 auto;
    min-height: 0;
    padding: 0.75rem 0.85rem 0.85rem;
    border-radius: 16px;
    border: 1px solid rgba(203, 213, 225, 0.95);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 48%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.85) inset,
        0 14px 32px rgba(15, 23, 42, 0.08);
}

.lux-ts-add-entry__section--reveal {
    animation: lux-ts-add-entry-section-in 0.22s ease;
}

@keyframes lux-ts-add-entry-section-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.lux-ts-add-entry__section-head {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.55rem;
}

.lux-ts-add-entry__step {
    display: inline-block;
    width: fit-content;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-add-entry__section-title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.lux-ts-add-entry__type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}

.lux-ts-add-entry__type-card {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.55rem;
    min-height: 0;
    padding: 0.55rem 0.7rem;
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 14px;
    background:
        linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.96) 100%);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    text-align: left;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease, background 0.16s ease;
}

.lux-ts-add-entry__type-card:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.32);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.07);
    transform: translateY(-1px);
}

.lux-ts-add-entry__type-card.is-active {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 55%),
        #fff;
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12) inset,
        0 8px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-ts-add-entry__type-card.is-green.is-active {
    border-color: rgba(5, 150, 105, 0.42);
    background:
        radial-gradient(circle at 100% 0%, rgba(5, 150, 105, 0.12), transparent 55%),
        #fff;
    box-shadow:
        0 0 0 1px rgba(5, 150, 105, 0.12) inset,
        0 8px 18px rgba(5, 150, 105, 0.12);
}

.lux-ts-add-entry__type-card.is-blue.is-active {
    border-color: rgba(37, 99, 235, 0.42);
    background:
        radial-gradient(circle at 100% 0%, rgba(37, 99, 235, 0.12), transparent 55%),
        #fff;
    box-shadow:
        0 0 0 1px rgba(37, 99, 235, 0.12) inset,
        0 8px 18px rgba(37, 99, 235, 0.12);
}

.lux-ts-add-entry__type-top {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    width: auto;
    margin-bottom: 0;
    position: relative;
}

.lux-ts-add-entry__type-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.85rem;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.lux-ts-add-entry__type-card.is-green .lux-ts-add-entry__type-icon {
    background: rgba(5, 150, 105, 0.14);
    color: #047857;
}

.lux-ts-add-entry__type-card.is-blue .lux-ts-add-entry__type-icon {
    background: rgba(37, 99, 235, 0.14);
    color: #1d4ed8;
}

.lux-ts-add-entry__type-check {
    position: absolute;
    top: -0.35rem;
    right: -0.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    font-size: 0.5rem;
    box-shadow: 0 2px 6px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-ts-add-entry__type-card.is-green .lux-ts-add-entry__type-check {
    background: linear-gradient(135deg, #10b981, #047857);
    box-shadow: 0 2px 6px rgba(5, 150, 105, 0.28);
}

.lux-ts-add-entry__type-card.is-blue .lux-ts-add-entry__type-check {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.28);
}

.lux-ts-add-entry__type-card strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.lux-ts-add-entry__type-hint {
    display: none;
}

.lux-ts-add-entry__type-card > strong,
.lux-ts-add-entry__type-card > .lux-ts-add-entry__type-hint {
    min-width: 0;
}

.lux-ts-add-entry__section:not(.is-dimmed) .lux-ts-add-entry__type-hint {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.3;
}

.lux-ts-add-entry__section:not(.is-dimmed) .lux-ts-add-entry__type-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
    padding: 0.65rem 0.75rem;
}

.lux-ts-add-entry__section:not(.is-dimmed) .lux-ts-add-entry__type-top {
    width: 100%;
    justify-content: space-between;
    margin-bottom: 0.05rem;
}

.lux-ts-add-entry__section:not(.is-dimmed) .lux-ts-add-entry__type-check {
    position: static;
}

.lux-ts-add-entry__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid rgba(226, 232, 240, 0.98);
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    position: relative;
    z-index: 2;
}

.lux-ts-add-entry__field--nested {
    margin-top: 0.15rem;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 55%),
        linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    z-index: 3;
}

.lux-ts-add-entry__label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-add-entry__label .fe {
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.8rem;
}

.lux-ts-add-entry__select .custom-select__control {
    min-height: 38px !important;
    border-radius: 11px !important;
    border: 1px solid #cbd5e1 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-ts-add-entry__select .custom-select__control:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4) !important;
}

.lux-ts-add-entry__select .custom-select__control--is-focused {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.55) !important;
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14) !important;
}

.lux-ts-add-entry__select .custom-select__value-container {
    padding: 0.15rem 0.65rem !important;
    font-size: 0.8125rem !important;
}

.lux-ts-add-entry__select .custom-select__placeholder {
    color: #94a3b8 !important;
    font-weight: 500 !important;
}

.lux-ts-add-entry__select .custom-select__single-value {
    color: #0f172a !important;
    font-weight: 700 !important;
}

.lux-ts-add-entry__value {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.lux-ts-add-entry__value i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.78rem;
    flex-shrink: 0;
}

.lux-ts-add-entry__value span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-ts-add-entry__opt {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.4rem 0.5rem;
    border-radius: 9px;
    transition: background 0.12s ease, box-shadow 0.12s ease;
}

.lux-ts-add-entry__opt.is-focused {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-ts-add-entry__opt.is-selected {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    box-shadow: 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12) inset;
}

.lux-ts-add-entry__opt-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 8px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.72rem;
    flex-shrink: 0;
}

.lux-ts-add-entry__opt-copy {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
    flex: 1;
}

.lux-ts-add-entry__opt-copy strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-ts-add-entry__opt-copy span {
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.25;
}

.lux-ts-add-entry__opt-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    font-size: 0.55rem;
    flex-shrink: 0;
}

.lux-ts-add-entry__empty {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    background: rgba(245, 158, 11, 0.08);
    border: 1px solid rgba(245, 158, 11, 0.18);
    color: #b45309;
    font-size: 0.8125rem;
    font-weight: 700;
}

.lux-ts-add-entry__hint {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-ts-add-entry__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.7rem 1.15rem 0.85rem;
    border-top: 1px solid rgba(226, 232, 240, 0.95);
    background:
        linear-gradient(180deg, rgba(248, 250, 252, 0.7), rgba(241, 245, 249, 0.95));
}

.lux-ts-add-entry__foot-note {
    margin: 0;
    flex: 1;
    min-width: 12rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
}

.lux-ts-add-entry__foot-note strong {
    color: #0f172a;
    font-weight: 800;
}

.lux-ts-add-entry__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.lux-ts-add-entry__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.35rem;
    padding: 0 1.05rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease, opacity 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease;
}

.lux-ts-add-entry__btn--ghost {
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #64748b;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lux-ts-add-entry__btn--ghost:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
}

.lux-ts-add-entry__btn--primary {
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 10px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.32);
}

.lux-ts-add-entry__btn--primary:hover:not(:disabled) {
    filter: brightness(1.04);
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.36);
}

.lux-ts-add-entry__btn--primary:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

body.lux-shell-dark .lux-ts-add-entry__panel {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16), transparent 42%),
        radial-gradient(circle at 0% 0%, rgba(5, 150, 105, 0.1), transparent 40%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(2, 6, 23, 0.96));
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-ts-add-entry__section--elevate,
body.lux-shell-dark .lux-ts-add-entry__field,
body.lux-shell-dark .lux-ts-add-entry__field--nested {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-ts-add-entry__opt-copy strong,
body.lux-shell-dark .lux-ts-add-entry__title,
body.lux-shell-dark .lux-ts-add-entry__section-title,
body.lux-shell-dark .lux-ts-add-entry__type-card strong,
body.lux-shell-dark .lux-ts-add-entry__foot-note strong {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-ts-add-entry__opt.is-focused,
body.lux-shell-dark .lux-ts-add-entry__opt.is-selected {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

body.lux-shell-dark .lux-ts-add-entry__type-card,
body.lux-shell-dark .lux-ts-add-entry__close,
body.lux-shell-dark .lux-ts-add-entry__btn--ghost {
    background: rgba(15, 23, 42, 0.75);
    border-color: rgba(51, 65, 85, 0.95);
    color: #94a3b8;
}

body.lux-shell-dark .lux-ts-add-entry__type-hint,
body.lux-shell-dark .lux-ts-add-entry__sub,
body.lux-shell-dark .lux-ts-add-entry__foot-note {
    color: #94a3b8;
}

body.lux-shell-dark .lux-ts-add-entry__select .custom-select__control {
    background: rgba(2, 6, 23, 0.65) !important;
    border-color: rgba(71, 85, 105, 0.95) !important;
}

body.lux-shell-dark .lux-ts-add-entry__select .custom-select__single-value {
    color: #e2e8f0 !important;
}

body.lux-shell-dark .lux-ts-add-entry__foot {
    background: rgba(2, 6, 23, 0.65);
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-ts-add-entry__head {
    background: transparent;
    border-color: rgba(51, 65, 85, 0.95);
}

@media (max-width: 640px) {
    .lux-ts-add-entry {
        padding: 0.75rem;
        align-items: flex-end;
    }

    .lux-ts-add-entry__panel {
        width: 100%;
        max-height: 92vh;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .lux-ts-add-entry__type-grid {
        grid-template-columns: 1fr;
    }

    .lux-ts-add-entry__foot {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-ts-add-entry__actions {
        width: 100%;
        justify-content: stretch;
    }

    .lux-ts-add-entry__btn {
        flex: 1;
    }
}

/* ========== Timesheet page workspace shell ========== */

.lux-ts-page__grid-shell {
    margin: 0 0.75rem 0.65rem;
    padding: 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04);
    overflow: visible;
}

.lux-ts-board--skeleton {
    pointer-events: none;
}

.lux-ts-board--skeleton .lux-ts-board__week-rail {
    margin-bottom: 0.45rem;
}

.lux-ts-board__body--skeleton {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.15rem 0.35rem 0.4rem;
}

.lux-ts-board__skeleton-entry {
    padding: 0.2rem 0;
}

.lux-ts-board__footer-totals--skeleton {
    margin-top: 0.35rem;
    padding: 0.45rem 0.35rem 0.625rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

/* ========== Timesheet entry board (compact luxury) ========== */

.lux-ts-board {
    position: relative;
    overflow: visible;
    border-radius: 14px;
    --lux-ts-col-meta: minmax(4.75rem, 0.55fr);
    --lux-ts-col-day: minmax(2.1rem, 0.85fr);
    --lux-ts-col-tools: 5.25rem;
    --lux-ts-grid-columns: var(--lux-ts-col-meta) repeat(7, var(--lux-ts-col-day)) var(--lux-ts-col-tools);
    --lux-ts-grid-gap: 0.1rem;
    padding: 0.1rem;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.045), transparent 42%),
        linear-gradient(180deg, rgba(248, 250, 252, 0.55), rgba(255, 255, 255, 0.2));
}

.lux-ts-board__grid-row {
    display: grid;
    grid-template-columns: var(--lux-ts-grid-columns);
    column-gap: var(--lux-ts-grid-gap);
    row-gap: 0.12rem;
    align-items: center;
}

.lux-ts-board__col-meta { grid-column: 1; }
.lux-ts-board__col-day-0 { grid-column: 2; }
.lux-ts-board__col-day-1 { grid-column: 3; }
.lux-ts-board__col-day-2 { grid-column: 4; }
.lux-ts-board__col-day-3 { grid-column: 5; }
.lux-ts-board__col-day-4 { grid-column: 6; }
.lux-ts-board__col-day-5 { grid-column: 7; }
.lux-ts-board__col-day-6 { grid-column: 8; }
.lux-ts-board__col-tools { grid-column: 9; }

.lux-ts-board__entry:not(.is-editing) > .lux-ts-board__entry-meta {
    grid-column: 1 / -1;
    grid-row: 1;
    align-self: stretch;
    padding: 0.12rem 0.35rem 0.18rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(248, 250, 252, 0.45));
}

.lux-ts-board__entry:not(.is-editing) > .lux-ts-board__day-slot,
.lux-ts-board__entry:not(.is-editing) > .lux-ts-board__col-tools {
    grid-row: 2;
}

.lux-ts-board__entry:not(.is-editing) .lux-ts-board__line-btn--compact {
    overflow: visible;
    flex-wrap: wrap;
    min-height: 1.55rem;
    padding: 0.1rem 0.12rem 0.1rem 0.08rem;
}

.lux-ts-board__entry:not(.is-editing) .lux-ts-board__line-btn--compact .lux-ts-board__line-title {
    flex: 1 1 auto;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    line-height: 1.25;
}

.lux-ts-board__entry:not(.is-editing) .lux-ts-board__line-trail {
    max-width: none;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}

.lux-ts-board__entry:not(.is-editing) > .lux-ts-board__col-tools {
    justify-content: flex-start;
    padding-top: 0.12rem;
}

.lux-ts-board.has-pending-save {
    padding-bottom: 4.5rem;
}

/* Week rail — aligned to entry grid */
.lux-ts-board__week-rail {
    width: 100%;
    min-width: 0;
    margin-bottom: 0.18rem;
    padding: 0.24rem 0.28rem 0.26rem;
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    border-radius: 12px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.11), transparent 48%),
        radial-gradient(circle at 100% 0%, rgba(5, 150, 105, 0.07), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 6px 18px rgba(15, 23, 42, 0.06);
}

.lux-ts-board__week-rail.is-sticky {
    position: sticky;
    top: calc(var(--lux-ts-sticky-header-offset, 4.5rem) + 0.25rem);
    z-index: 28;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.95));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 14px 36px rgba(15, 23, 42, 0.16),
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-ts-board__week-rail > * {
    grid-row: 1;
}

.lux-ts-board__rail-meta {
    display: flex;
    align-items: center;
    min-width: 0;
}

.lux-ts-board__rail-meta-label {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-ts-board__rail-tools {
    min-height: 0.25rem;
}

.lux-ts-board__week-day {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.02rem;
    min-width: 0;
    min-height: 2.1rem;
    padding: 0.14rem 0.06rem;
    border-radius: 10px;
    border: 1px solid transparent;
    text-align: center;
    margin: 0;
    font: inherit;
    color: inherit;
    background: rgba(255, 255, 255, 0.62);
    cursor: default;
}

.lux-ts-board__week-day.is-clickable {
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-ts-board__week-day.is-clickable:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    transform: translateY(-1px);
}

.lux-ts-board__week-day.is-today {
    border-color: rgba(5, 150, 105, 0.38);
    background: linear-gradient(180deg, rgba(5, 150, 105, 0.16), rgba(5, 150, 105, 0.05));
    box-shadow: 0 0 0 1px rgba(5, 150, 105, 0.08) inset;
}

.lux-ts-board__week-day.is-weekend .lux-ts-board__week-day-name {
    color: #c2410c;
}

.lux-ts-board__week-day-name {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
    line-height: 1.1;
}

.lux-ts-board__week-day-num {
    font-size: 0.875rem;
    font-weight: 900;
    line-height: 1.05;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.lux-ts-board__week-day-dot {
    position: absolute;
    top: 0.15rem;
    right: 0.15rem;
    width: 0.35rem;
    height: 0.35rem;
    border-radius: 9911px;
    background: #059669;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.95);
}

/* Footer totals — aligned to entry grid */
.lux-ts-board__footer-totals {
    margin-top: 0.4rem;
    padding: 0.4rem 0.35rem;
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    border-radius: 12px;
    background:
        radial-gradient(circle at 100% 50%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 55%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 4px 14px rgba(15, 23, 42, 0.05);
}

.lux-ts-board__footer-totals > * {
    grid-row: 1;
}

.lux-ts-board__footer-meta-label {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

.lux-ts-board__footer-day {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.lux-ts-board__footer-day-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.35rem;
    padding: 0.2rem 0.45rem;
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.92);
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-ts-board__footer-day.has-value .lux-ts-board__footer-day-value {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-board__footer-day-value.is-under-8h {
    background: rgba(251, 191, 36, 0.18);
    color: #b45309;
    box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.28);
}

.lux-ts-board__footer-day-value.is-over-8h {
    background: rgba(220, 38, 38, 0.14);
    color: #dc2626;
    box-shadow: inset 0 0 0 1px rgba(220, 38, 38, 0.28);
    animation: lux-ts-summary-blink 1.2s ease-in-out infinite;
}

.lux-ts-board__footer-day-value.is-on-target {
    background: rgba(5, 150, 105, 0.14);
    color: #047857;
    box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.28);
}

.lux-ts-board__footer-day-value.is-over {
    background: rgba(220, 38, 38, 0.12);
    color: #dc2626;
    animation: lux-ts-summary-blink 1.2s ease-in-out infinite;
}

.lux-ts-board__footer-grand {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.04rem;
    text-align: center;
}

.lux-ts-board__footer-grand-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-board__footer-grand-value {
    font-size: 0.9375rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    line-height: 1.1;
}

/* Body + empty state */
.lux-ts-board__body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

/* Group sections */
.lux-ts-board__group {
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    overflow: visible;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 3px 12px rgba(15, 23, 42, 0.04);
}

/* Editing rows open selects — allow menus to escape the card while portaled menus load */
.lux-ts-board__group:has(.lux-ts-board__entry.is-editing) {
    overflow: visible;
    z-index: 6;
    position: relative;
}

.lux-ts-board__group.is-project {
    border-top: 3px solid rgba(5, 150, 105, 0.55);
}

.lux-ts-board__group.is-non-project {
    border-top: 3px solid rgba(37, 99, 235, 0.45);
}

.lux-ts-board__group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    padding: 0.28rem 0.5rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92)),
        linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.7));
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

.lux-ts-board__group-id {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.28rem 0.4rem;
    min-width: 0;
}

.lux-ts-board__group-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.12rem 0.42rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.55) inset;
}

.lux-ts-board__group-badge.is-billable {
    background: rgba(5, 150, 105, 0.12);
    color: #047857;
}

.lux-ts-board__group-badge.is-non-billable {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
}

.lux-ts-board__group-badge.is-leave {
    background: rgba(234, 88, 12, 0.16);
    color: #c2410c;
}

.lux-ts-board__group-badge.is-holiday {
    background: rgba(220, 38, 38, 0.14);
    color: #b91c1c;
}

.lux-ts-board__group--leave {
    border-top: 2px solid rgba(234, 88, 12, 0.65);
    background: linear-gradient(180deg, rgba(255, 247, 237, 0.65), rgba(255, 255, 255, 0.98));
}

.lux-ts-board__group--leave .lux-ts-board__group-head {
    background: rgba(255, 237, 213, 0.45);
}

.lux-ts-board__group--holiday {
    border-top: 2px solid rgba(220, 38, 38, 0.55);
    background: linear-gradient(180deg, rgba(254, 242, 242, 0.65), rgba(255, 255, 255, 0.98));
}

.lux-ts-board__group--holiday .lux-ts-board__group-head {
    background: rgba(254, 226, 226, 0.4);
}

.lux-ts-board__group.is-scroll-highlight {
    animation: lux-ts-scroll-highlight 2.4s ease-out;
}

@keyframes lux-ts-scroll-highlight {
    0% { box-shadow: 0 0 0 0 rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35); }
    40% { box-shadow: 0 0 0 4px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2); }
    100% { box-shadow: 0 2px 12px rgba(15, 23, 42, 0.03); }
}

.lux-ts-board__group-code {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.lux-ts-board__group-name {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 14rem;
}

.lux-ts-board__group-meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.22rem;
    min-width: 0;
    margin-left: 0.1rem;
    padding-left: 0.4rem;
    border-left: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-ts-board__group-chip {
    display: inline-flex;
    align-items: center;
    max-width: 8.5rem;
    padding: 0.08rem 0.38rem;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #475569;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-ts-board__group-chip.is-category {
    border-color: rgba(5, 150, 105, 0.22);
    background: rgba(5, 150, 105, 0.1);
    color: #047857;
}

.lux-ts-board__group-chip.is-context {
    border-color: rgba(37, 99, 235, 0.2);
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
}

.lux-ts-board__group-count {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
    white-space: nowrap;
}

.lux-ts-board__group-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.28rem;
    flex-shrink: 0;
    min-height: 1.55rem;
}

.lux-ts-board__group-body {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding: 0.12rem 0.22rem 0.18rem;
}

/* Entry rows — aligned to week rail grid */
.lux-ts-board__entry {
    padding: 0.14rem 0.1rem;
    border: 1px solid transparent;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.98);
    transition: border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease;
}

.lux-ts-board__entry:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    background:
        linear-gradient(90deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.035), rgba(255, 255, 255, 0.98));
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.045);
}

.lux-ts-board__entry.is-editing {
    position: relative;
    padding: 0.22rem 0 0.28rem;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 55%),
        rgba(255, 255, 255, 0.99);
    overflow: visible;
    z-index: 22;
    box-shadow: 0 8px 22px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-ts-board__entry.is-editing .lux-ts-board__entry-meta {
    grid-column: 1 / -1;
    grid-row: 1;
    padding: 0 0.28rem;
}

.lux-ts-board__entry.is-editing .lux-ts-board__hours-row-label {
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    min-width: 0;
    padding-left: 0.2rem;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
}

.lux-ts-board__hours-row-label-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-ts-board__entry.is-editing .lux-ts-board__day-slot,
.lux-ts-board__entry.is-editing .lux-ts-board__col-tools {
    grid-row: 2;
}

.lux-ts-board__entry.is-editing .lux-ts-board__day-slot.is-editable {
    background:
        linear-gradient(180deg, #ffffff 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06) 100%);
    border: 1.5px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
}

.lux-ts-board__entry.is-editing .lux-ts-board__day-slot.is-disabled {
    background:
        repeating-linear-gradient(
            -45deg,
            rgba(241, 245, 249, 0.95),
            rgba(241, 245, 249, 0.95) 4px,
            rgba(226, 232, 240, 0.75) 4px,
            rgba(226, 232, 240, 0.75) 8px
        );
    border: 1px solid rgba(203, 213, 225, 0.85);
}

.lux-ts-board__entry.needs-hours:not(:focus-within) .lux-ts-board__day-slot.is-editable-empty {
    animation: lux-ts-hours-glow 2.2s ease-in-out infinite;
}

.lux-ts-board__entry.needs-hours:focus-within .lux-ts-board__day-slot.is-editable-empty {
    animation: none;
}

@keyframes lux-ts-hours-glow {
    0%, 100% { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }
    50% { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.38); }
}

.lux-ts-board__section-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    width: 100%;
    margin-bottom: 0.16rem;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-board__section-label-main {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    min-width: 0;
}

.lux-ts-board__section-label-main > .fe {
    font-size: 0.7rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-ts-board__entry.is-focus-pulse {
    animation: lux-ts-entry-pulse 2.4s ease-out;
}

@keyframes lux-ts-entry-pulse {
    0% { box-shadow: 0 0 0 0 rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35); }
    35% { box-shadow: 0 0 0 5px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); }
    100% { box-shadow: none; }
}

.lux-ts-board__entry.is-new-row {
    border-left: 2px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.5);
}

.lux-ts-board__entry.has-hours {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.02);
}

.lux-ts-board__entry--leave {
    background: rgba(255, 237, 213, 0.35);
    border-color: rgba(234, 88, 12, 0.28);
    border-left: 3px solid rgba(234, 88, 12, 0.7);
}

.lux-ts-board__entry--holiday {
    background: rgba(254, 226, 226, 0.35);
    border-color: rgba(220, 38, 38, 0.26);
    border-left: 3px solid rgba(220, 38, 38, 0.65);
}

.lux-ts-board__entry-meta {
    min-width: 0;
    padding-left: 0.2rem;
    align-self: center;
}

.lux-ts-board__entry-tools {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 0.22rem;
    flex-shrink: 0;
    padding-right: 0.15rem;
    min-height: 1.7rem;
}

.lux-ts-board__entry-total {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    padding: 0.2rem 0.35rem;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    font-size: 0.75rem;
    font-weight: 800;
    color: #64748b;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lux-ts-board__section-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.95rem;
    height: 0.95rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.55rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-board__section-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0.06rem 0.35rem;
    border-radius: 9911px;
    background: rgba(234, 88, 12, 0.12);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #c2410c;
}

.lux-ts-board__section-hint.is-icon {
    width: 1.05rem;
    height: 1.05rem;
    padding: 0;
    border-radius: 999px;
    background: rgba(234, 88, 12, 0.16);
    box-shadow: inset 0 0 0 1px rgba(234, 88, 12, 0.22);
}

.lux-ts-board__section-hint.is-icon i {
    font-size: 0.62rem;
    line-height: 1;
}

.lux-ts-board__entry.is-editing .lux-ts-board__entry-tools {
    justify-content: center;
}

.lux-ts-board__entry-total.has-value {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08));
    color: var(--lux-primary-dark, #3730a3);
}

/* Compact inline readout */
.lux-ts-board__line {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.3;
    color: #334155;
    min-width: 0;
}

.lux-ts-board__line strong {
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-board__line-sep {
    margin: 0 0.2rem;
    color: #cbd5e1;
    font-weight: 400;
}

.lux-ts-board__line-muted {
    color: #64748b;
    font-weight: 600;
}

.lux-ts-board__line-btn {
    display: block;
    width: 100%;
    padding: 0.22rem 0.35rem;
    border: 1px solid transparent;
    border-radius: 9px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.92), rgba(255, 255, 255, 0.98));
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-ts-board__line-btn:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07);
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-ts-board__line-btn--rich {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.35rem 0.4rem 0.38rem;
    border: 1px solid rgba(226, 232, 240, 0.98);
    border-radius: 11px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 55%),
        linear-gradient(165deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 3px 10px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.lux-ts-board__line-btn--rich:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.32);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 55%),
        linear-gradient(165deg, #fff, rgba(248, 250, 252, 0.98));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 8px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    transform: translateY(-0.5px);
}

/* Compact row identity — matches group-head language, single line */
.lux-ts-board__line-btn--compact {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    min-height: 1.7rem;
    padding: 0.18rem 0.28rem 0.18rem 0.22rem;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    text-align: left;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.14s ease, background 0.14s ease, box-shadow 0.14s ease;
}

.lux-ts-board__line-btn--compact:hover {
    border-color: rgba(226, 232, 240, 0.98);
    background:
        linear-gradient(90deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.96));
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

.lux-ts-board__line-btn--compact:focus-visible {
    outline: none;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.lux-ts-board__line-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    max-width: 5.75rem;
    min-height: 1.2rem;
    padding: 0.08rem 0.36rem;
    border-radius: 999px;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.55) inset;
}

.lux-ts-board__line-pill.is-category {
    padding: 0.1rem 0.48rem 0.1rem 0.5rem;
    background: rgba(5, 150, 105, 0.12);
    color: #047857;
}

.lux-ts-board__line-pill.is-project {
    width: 1.2rem;
    max-width: 1.2rem;
    padding: 0;
    background: rgba(5, 150, 105, 0.12);
    color: #047857;
    font-size: 0.62rem;
    text-transform: none;
    letter-spacing: 0;
}

.lux-ts-board__line-pill.is-non-project {
    width: 1.2rem;
    max-width: 1.2rem;
    padding: 0;
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
    font-size: 0.62rem;
    text-transform: none;
    letter-spacing: 0;
}

.lux-ts-board__line-pill.is-leave {
    width: 1.2rem;
    max-width: 1.2rem;
    padding: 0;
    background: rgba(234, 88, 12, 0.14);
    color: #c2410c;
    font-size: 0.62rem;
    text-transform: none;
    letter-spacing: 0;
}

.lux-ts-board__line-pill.is-holiday {
    width: 1.2rem;
    max-width: 1.2rem;
    padding: 0;
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
    font-size: 0.62rem;
    text-transform: none;
    letter-spacing: 0;
}

.lux-ts-board__line-btn--compact .lux-ts-board__line-title {
    flex: 0 1 auto;
    min-width: 0;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-ts-board__line-trail {
    display: inline-flex;
    align-items: center;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 6.5rem;
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-ts-board__line-trail::before {
    content: "·";
    margin-right: 0.28rem;
    color: #cbd5e1;
    font-weight: 700;
}

.lux-ts-board__line-btn--compact .lux-ts-board__line-icon {
    margin-left: auto;
    flex-shrink: 0;
    font-size: 0.7rem;
    color: #cbd5e1;
    opacity: 0.75;
    transition: color 0.14s ease, opacity 0.14s ease, transform 0.14s ease;
}

.lux-ts-board__line-btn--compact:hover .lux-ts-board__line-icon {
    color: var(--lux-primary, #5b5ff4);
    opacity: 1;
    transform: translateX(1px);
}

.lux-ts-board__line-open {
    display: inline-grid;
    place-items: center;
    margin-left: auto;
    flex-shrink: 0;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 8px;
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    background:
        linear-gradient(145deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05));
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset;
    transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease;
}

.lux-ts-board__line-open i {
    font-size: 0.68rem;
    line-height: 1;
}

.lux-ts-board__line-btn--compact:hover .lux-ts-board__line-open {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.42);
    background:
        linear-gradient(145deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.8) inset,
        0 3px 8px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    transform: translateY(-0.5px);
}

.lux-ts-board__line-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    flex-shrink: 0;
    border-radius: 9px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.72rem;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.lux-ts-board__line-badge.is-project {
    background: rgba(5, 150, 105, 0.14);
    color: #047857;
}

.lux-ts-board__line-badge.is-non-project {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
}

.lux-ts-board__line-badge.is-leave {
    background: rgba(234, 88, 12, 0.14);
    color: #c2410c;
}

.lux-ts-board__line-badge.is-holiday {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}

.lux-ts-board__line-body {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    min-width: 0;
    flex: 1;
}

.lux-ts-board__line-title {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.25;
    color: #0f172a;
    letter-spacing: -0.01em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-ts-board__line-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.22rem;
    min-width: 0;
}

.lux-ts-board__line-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 0.08rem 0.38rem;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #475569;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-ts-board__line-chip.is-category {
    border-color: rgba(5, 150, 105, 0.22);
    background: rgba(5, 150, 105, 0.1);
    color: #047857;
}

.lux-ts-board__line-chip.is-work {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-board__line-chip.is-division {
    border-color: rgba(14, 165, 233, 0.22);
    background: rgba(14, 165, 233, 0.1);
    color: #0369a1;
}

.lux-ts-board__line-chip.is-account {
    border-color: rgba(99, 102, 241, 0.22);
    background: rgba(99, 102, 241, 0.1);
    color: #4338ca;
}

.lux-ts-board__line-chip.is-partner {
    border-color: rgba(168, 85, 247, 0.22);
    background: rgba(168, 85, 247, 0.1);
    color: #7e22ce;
}

.lux-ts-board__line-chip.is-team {
    border-color: rgba(245, 158, 11, 0.28);
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}

.lux-ts-board__line-btn--rich .lux-ts-board__line-icon {
    margin: 0.1rem 0 0;
    flex-shrink: 0;
    opacity: 0.55;
    transition: opacity 0.15s ease, color 0.15s ease;
}

.lux-ts-board__line-btn--rich:hover .lux-ts-board__line-icon {
    opacity: 1;
    color: var(--lux-primary, #5b5ff4);
}

.lux-ts-board__line-icon {
    margin-left: 0.35rem;
    font-size: 0.6875rem;
    color: #94a3b8;
    vertical-align: middle;
}

.lux-ts-board__day-slot.is-inspectable {
    cursor: pointer;
}

.lux-ts-board__day-slot.is-inspectable:hover:not(:focus-within) {
    box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.lux-ts-board__footer-day.is-clickable {
    cursor: default;
}

.lux-ts-board__footer-day.is-clickable:hover {
    background: transparent;
}

/* Editable field grid */
.lux-ts-board__fields {
    display: grid;
    gap: 0.3rem;
}

.lux-ts-board__fields--project {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 0.35rem;
}

.lux-ts-board__fields--project .lux-ts-board__field {
    flex: 1 1 0;
    min-width: 0;
}

.lux-ts-board__fields--non-project {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lux-ts-board__fields--non-project.lux-ts-board__fields--rich {
    display: flex;
    flex-direction: column;
}

.lux-ts-board__fields--non-project .lux-ts-board__fields-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lux-ts-board__fields--rich {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    margin: 0.02rem 0 0.06rem;
    padding: 0.32rem 0.4rem 0.36rem 0.48rem;
    border-radius: 11px;
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 46%),
        radial-gradient(circle at 100% 100%, rgba(5, 150, 105, 0.05), transparent 40%),
        linear-gradient(165deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 250, 252, 0.96) 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.95) inset,
        0 6px 16px rgba(15, 23, 42, 0.05),
        0 0 0 1px rgba(255, 255, 255, 0.45) inset;
    position: relative;
    z-index: 12;
    overflow: visible;
}

.lux-ts-board__fields--rich::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.4rem;
    bottom: 0.4rem;
    width: 2.5px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--lux-primary, #5b5ff4), #0ea5e9 55%, var(--lux-primary-dark, #3730a3));
    opacity: 0.9;
}

.lux-ts-board__fields--rich .lux-ts-board__fields-grid,
.lux-ts-board__fields--rich .lux-ts-board__field {
    padding-left: 0.2rem;
}

.lux-ts-board__fields-grid--project {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lux-ts-board__fields--project.lux-ts-board__fields--rich {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
}

/* Board row selects must float above neighboring timesheet sections */
.lux-ts-board__entry.is-editing .lux-ts-board__fields--rich {
    z-index: 26;
}

.lux-ts-board__fields-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    flex-wrap: nowrap;
    min-height: 1.1rem;
    padding-left: 0.28rem;
}

.lux-ts-board__fields-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    font-family: "Plus Jakarta Sans", "Avenir Next", system-ui, sans-serif;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-board__fields-kicker .fe {
    font-size: 0.68rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-ts-board__fields-hint {
    font-size: 0.58rem;
    font-weight: 600;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-ts-board__fields-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.22rem 0.28rem;
}

.lux-ts-board__fields--rich .lux-ts-board__field--wide {
    grid-column: 1 / -1;
}

.lux-ts-board__fields--rich .lux-ts-board__field-label {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    margin-bottom: 0.08rem;
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-board__fields--rich .lux-ts-board__field-label .fe {
    font-size: 0.62rem;
    color: var(--lux-primary, #5b5ff4);
    opacity: 0.95;
}

.lux-ts-board__fields--rich .lux-ts-board__select .custom-select__control {
    min-height: 1.65rem !important;
    border-radius: 8px !important;
    border: 1px solid rgba(203, 213, 225, 0.95) !important;
    background:
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 1px 4px rgba(15, 23, 42, 0.04) !important;
    font-size: 0.72rem !important;
    transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.lux-ts-board__fields--rich .lux-ts-board__select .custom-select__control:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.42) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1) !important;
}

.lux-ts-board__fields--rich .lux-ts-board__select .custom-select__control--is-focused {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.6) !important;
    box-shadow:
        0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14),
        0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12) !important;
}

.lux-ts-board__fields--rich .lux-ts-board__select .custom-select__control--menu-is-open {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.65) !important;
    background: #fff !important;
}

.lux-ts-board__fields--rich .lux-ts-board__select .custom-select__value-container {
    padding: 0.12rem 0.45rem !important;
    font-size: 0.75rem !important;
}

.lux-ts-board__fields--rich .lux-ts-board__select .custom-select__placeholder {
    color: #94a3b8 !important;
    font-weight: 600;
    font-size: 0.72rem !important;
}

.lux-ts-board__fields--rich .lux-ts-board__select .custom-select__single-value {
    color: #0f172a !important;
    font-weight: 700;
    font-size: 0.75rem !important;
}

.lux-ts-board__fields--rich .lux-ts-board__select .custom-select__indicator {
    color: var(--lux-primary, #5b5ff4) !important;
    padding: 0.1rem !important;
}

.lux-ts-board__fields--rich .lux-ts-board__select .custom-select__dropdown-indicator {
    padding: 0 0.28rem !important;
}

.lux-ts-board__fields--rich .lux-ts-board__text-input {
    min-height: 1.65rem !important;
    border-radius: 8px !important;
    border: 1px solid rgba(203, 213, 225, 0.95) !important;
    font-size: 0.72rem !important;
    font-weight: 600;
    padding: 0.18rem 0.4rem !important;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 1px 4px rgba(15, 23, 42, 0.04);
}

.lux-ts-board__fields--rich .lux-ts-board__text-input:focus {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.6) !important;
    box-shadow:
        0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12),
        0 3px 10px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1) !important;
    outline: none;
}

/* Portaled menus for timesheet board selects (escape overflow:hidden groups) */
.custom-select__menu-portal {
    z-index: 10140 !important;
}

body:has(.lux-ts-board__entry.is-editing) .custom-select__menu-portal {
    z-index: 10060 !important;
}

.custom-select__menu-portal .custom-select__menu {
    border-radius: 12px !important;
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16) !important;
    box-shadow:
        0 20px 44px rgba(15, 23, 42, 0.18),
        0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08) !important;
    overflow: hidden;
    margin-top: 4px !important;
    background:
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    padding: 0.2rem !important;
}

.custom-select__menu-portal .custom-select__option {
    font-size: 0.75rem !important;
    font-weight: 650;
    padding: 0.42rem 0.6rem !important;
    border-radius: 8px !important;
    margin: 0.08rem !important;
}

.custom-select__menu-portal .custom-select__option--is-focused {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1) !important;
    color: var(--lux-primary-dark, #3730a3) !important;
}

.custom-select__menu-portal .custom-select__option--is-selected {
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1)) !important;
    color: var(--lux-primary-dark, #3730a3) !important;
    font-weight: 800;
    box-shadow: inset 3px 0 0 var(--lux-primary, #5b5ff4);
}

.custom-select__menu-portal .custom-select__group-heading {
    font-size: 0.625rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b !important;
    padding: 0.35rem 0.65rem 0.2rem !important;
}

@media (max-width: 900px) {
    .lux-ts-board__fields-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .lux-ts-board__fields-grid {
        grid-template-columns: 1fr;
    }
}

.lux-ts-board__field {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.lux-ts-board__field-label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

/* Day hour cells */
.lux-ts-board__day-slot {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 1.7rem;
    padding: 0.04rem 0.04rem;
    border-radius: 7px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    transition: border-color 0.08s ease, box-shadow 0.08s ease;
}

.lux-ts-board__day-slot.is-today:not(.is-disabled) {
    border-color: rgba(5, 150, 105, 0.35);
    background: rgba(5, 150, 105, 0.06);
}

.lux-ts-board__field--wide {
    grid-column: span 2;
}

/* Editable — clear “you can type here” affordance */
.lux-ts-board__day-slot.is-editable {
    border: 1.5px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.42);
    background:
        linear-gradient(180deg, #ffffff 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05) 100%);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.8) inset,
        0 2px 8px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    cursor: text;
}

.lux-ts-board__day-slot.is-editable:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.58);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.85) inset,
        0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.lux-ts-board__day-slot.is-editable:focus-within {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.7);
    box-shadow:
        0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16),
        0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-ts-board__day-slot.is-editable-empty {
    border-style: dashed;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.48);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-ts-board__day-slot.is-editable.has-value {
    border-style: solid;
    background:
        linear-gradient(180deg, #ffffff 0%, rgba(5, 150, 105, 0.08) 100%);
    border-color: rgba(5, 150, 105, 0.4);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.8) inset,
        0 2px 8px rgba(5, 150, 105, 0.12);
}

/* Disabled — clearly unavailable */
.lux-ts-board__day-slot.is-disabled {
    opacity: 1;
    border: 1px solid rgba(203, 213, 225, 0.85);
    background:
        repeating-linear-gradient(
            -45deg,
            rgba(241, 245, 249, 0.95),
            rgba(241, 245, 249, 0.95) 4px,
            rgba(226, 232, 240, 0.75) 4px,
            rgba(226, 232, 240, 0.75) 8px
        );
    box-shadow: none;
    cursor: not-allowed;
    pointer-events: none;
}

.lux-ts-board__day-slot.is-disabled .lux-ts-board__hour-empty,
.lux-ts-board__day-slot.is-disabled .lux-ts-board__hour-empty.has-value {
    color: #94a3b8;
    background: transparent;
    border: none;
    box-shadow: none;
    font-weight: 700;
}

/* Readonly / locked — value visible, not editable */
.lux-ts-board__day-slot.is-readonly {
    border: 1px solid rgba(148, 163, 184, 0.55);
    background: rgba(241, 245, 249, 0.95);
    cursor: default;
    box-shadow: none;
}

.lux-ts-board__day-slot.is-readonly .lux-ts-board__hour-readonly {
    background: rgba(226, 232, 240, 0.65);
    border-color: rgba(148, 163, 184, 0.45);
    color: #475569;
}

.lux-ts-board__entry--leave .lux-ts-board__day-slot.is-editable,
.lux-ts-board__entry--leave .lux-ts-board__day-slot.is-editable-empty {
    border-color: rgba(234, 88, 12, 0.42);
    background: rgba(255, 237, 213, 0.65);
    box-shadow: 0 2px 8px rgba(234, 88, 12, 0.1);
}

.lux-ts-board__entry--holiday .lux-ts-board__day-slot.is-editable,
.lux-ts-board__entry--holiday .lux-ts-board__day-slot.is-editable-empty {
    border-color: rgba(220, 38, 38, 0.38);
    background: rgba(254, 226, 226, 0.65);
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.1);
}

.lux-ts-board__day-slot.has-value.is-level-1:not(.is-disabled):not(.is-editable) {
    background: rgba(5, 150, 105, 0.1);
    border-color: rgba(5, 150, 105, 0.22);
}

.lux-ts-board__day-slot.has-value.is-level-2:not(.is-disabled):not(.is-editable) {
    background: rgba(5, 150, 105, 0.14);
    border-color: rgba(5, 150, 105, 0.28);
}

.lux-ts-board__day-slot.has-value.is-level-3:not(.is-disabled):not(.is-editable) {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
}

.lux-ts-board__day-slot.has-value.is-level-4:not(.is-disabled):not(.is-editable) {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
}

.lux-ts-board__day-slot-body {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.12rem;
    width: 100%;
    min-width: 0;
}

.lux-ts-board__day-remove {
    position: absolute;
    top: 0.08rem;
    right: 0.08rem;
    z-index: 2;
    display: inline-grid;
    place-items: center;
    width: 1rem;
    height: 1rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #b91c1c;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.12);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.14s ease, transform 0.14s ease;
}

.lux-ts-board__day-slot.is-editable:hover .lux-ts-board__day-remove,
.lux-ts-board__day-slot.is-editable:focus-within .lux-ts-board__day-remove {
    opacity: 1;
    pointer-events: auto;
}

.lux-ts-board__day-remove:hover {
    transform: scale(1.06);
    background: rgba(254, 226, 226, 0.96);
}

.lux-ts-board__day-remove .fe {
    font-size: 0.62rem;
    line-height: 1;
}

/* Timesheet approval — cell layers (flag on) */
.lux-ts-board__day-slot.is-layer-approved.is-readonly-approved {
    border: 1px solid rgba(5, 150, 105, 0.22);
    background: rgba(5, 150, 105, 0.07);
}

.lux-ts-board__day-slot.is-layer-staged {
    border: 1px dashed rgba(var(--lux-primary-rgb, 91, 95, 244), 0.42);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-ts-board__day-slot.is-layer-both {
    border: 1px solid rgba(217, 119, 6, 0.35);
    background: linear-gradient(
        135deg,
        rgba(5, 150, 105, 0.08) 0%,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08) 100%
    );
}

.lux-ts-board__day-slot.is-conflict {
    box-shadow: inset 0 0 0 1px rgba(220, 38, 38, 0.45);
}

.lux-ts-board__day-slot.is-task-board.is-readonly-approved {
    border-color: rgba(109, 40, 217, 0.28);
}

.lux-ts-board__day-slot.is-status-pending,
.lux-ts-board__day-slot.is-status-submitted {
    border-color: rgba(217, 119, 6, 0.32);
}

.lux-ts-board__approval-review-banner {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin: 0 0 0.75rem;
    padding: 0.65rem 0.85rem;
    border-radius: 0.65rem;
    border: 1px solid rgba(217, 119, 6, 0.35);
    background: linear-gradient(135deg, rgba(255, 247, 237, 0.95), rgba(254, 243, 199, 0.55));
    color: #92400e;
}

.lux-ts-board__approval-review-banner-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 999px;
    background: rgba(251, 191, 36, 0.28);
    color: #b45309;
    flex-shrink: 0;
}

.lux-ts-board__approval-review-banner-copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1;
}

.lux-ts-board__approval-review-banner-copy strong {
    font-size: 0.82rem;
    line-height: 1.35;
}

.lux-ts-board__approval-review-banner-copy span {
    font-size: 0.74rem;
    line-height: 1.35;
    color: rgba(146, 64, 14, 0.88);
}

.lux-ts-board__approval-review-banner-dismiss {
    align-self: center;
    border: 1px solid rgba(217, 119, 6, 0.35);
    background: rgba(255, 255, 255, 0.72);
    color: #92400e;
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}

.lux-ts-board__approval-review-banner-dismiss:hover {
    background: rgba(255, 255, 255, 0.95);
}

.lux-ts-board__week-day.is-approval-review-day,
.lux-ts-board__footer-day.is-approval-review-day {
    box-shadow: inset 0 0 0 2px rgba(245, 158, 11, 0.55);
    background: rgba(254, 243, 199, 0.42);
}

.lux-ts-board__day-slot.is-approval-review-day {
    background: rgba(254, 243, 199, 0.28);
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.35);
}

.lux-ts-board__day-slot.is-approval-review-entry {
    background: rgba(254, 215, 170, 0.45);
    box-shadow: inset 0 0 0 2px rgba(245, 158, 11, 0.65);
}

.lux-ts-board__day-slot.is-approval-review-entry.is-readonly-approved {
    border-color: rgba(217, 119, 6, 0.55);
}

.lux-ts-board__day-slot.is-status-rejected {
    border-color: rgba(220, 38, 38, 0.35);
    background: rgba(254, 226, 226, 0.35);
}

.lux-ts-board__cell-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.12rem;
    max-width: 100%;
    margin-top: 0.08rem;
}

.lux-ts-board__cell-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.12rem;
    padding: 0.04rem 0.28rem;
    border-radius: 999px;
    font-size: 0.52rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: nowrap;
    border: 1px solid transparent;
}

.lux-ts-board__cell-badge i {
    font-size: 0.55rem;
}

.lux-ts-board__cell-badge.is-tone-violet {
    color: #6d28d9;
    background: rgba(167, 139, 250, 0.18);
    border-color: rgba(109, 40, 217, 0.22);
}

.lux-ts-board__cell-badge.is-tone-rose {
    color: #be123c;
    background: rgba(251, 113, 133, 0.16);
    border-color: rgba(220, 38, 38, 0.22);
}

.lux-ts-board__cell-badge.is-tone-slate {
    color: #475569;
    background: rgba(148, 163, 184, 0.16);
    border-color: rgba(100, 116, 139, 0.2);
}

.lux-ts-board__cell-badge.is-tone-amber {
    color: #b45309;
    background: rgba(251, 191, 36, 0.18);
    border-color: rgba(217, 119, 6, 0.22);
}

.lux-ts-board__cell-badge.is-tone-green {
    color: #047857;
    background: rgba(52, 211, 153, 0.16);
    border-color: rgba(5, 150, 105, 0.22);
}

.lux-ts-board__cell-badge.is-tone-blue {
    color: #1d4ed8;
    background: rgba(96, 165, 250, 0.16);
    border-color: rgba(37, 99, 235, 0.22);
}

.lux-ts-board__hour-input {
    width: 100% !important;
    max-width: 2.25rem;
    height: 1.45rem !important;
    padding: 0.06rem 0.08rem !important;
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28) !important;
    border-radius: 6px !important;
    background: #fff !important;
    font-size: 0.6875rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em;
    text-align: center !important;
    color: #0f172a !important;
    line-height: 1.15 !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    cursor: text;
}

.lux-ts-board__hour-input::placeholder {
    color: #818cf8 !important;
    font-weight: 700 !important;
    opacity: 0.75;
}

.lux-ts-board__hour-input:focus {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.6) !important;
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14) !important;
    outline: none;
}

.lux-ts-board__hour-readonly {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.9rem;
    min-height: 1.45rem;
    padding: 0.04rem 0.18rem;
    border-radius: 6px;
    border: 1px solid rgba(148, 163, 184, 0.5);
    background: rgba(226, 232, 240, 0.7);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #475569;
    line-height: 1.15;
}

.lux-ts-board__hour-empty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.9rem;
    min-height: 1.45rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #94a3b8;
    line-height: 1.15;
}

.lux-ts-board__hour-empty.has-value {
    color: #64748b;
    font-weight: 800;
}

.lux-ts-board__select .custom-select__control {
    min-height: 1.75rem !important;
    border-radius: 8px !important;
    border-color: rgba(226, 232, 240, 0.95) !important;
    box-shadow: none !important;
    font-size: 0.75rem !important;
}

.lux-ts-board__select .custom-select__value-container {
    padding: 0 0.3rem !important;
    font-size: 0.75rem !important;
}

.lux-ts-board__text-input {
    min-height: 1.75rem !important;
    border-radius: 8px !important;
    font-size: 0.75rem !important;
}

.lux-ts-board__icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    padding: 0;
    border: 1px solid rgba(226, 232, 240, 0.98);
    border-radius: 999px;
    background:
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    color: var(--lux-primary-dark, #3730a3);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 2px 6px rgba(15, 23, 42, 0.05);
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease, transform 0.12s ease;
}

.lux-ts-board__icon-btn .fe {
    font-size: 0.72rem;
    line-height: 1;
}

.lux-ts-board__icon-btn:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    box-shadow: 0 4px 10px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    transform: translateY(-0.5px);
}

.lux-ts-board__icon-btn.is-compact {
    width: 1.4rem;
    height: 1.4rem;
}

.lux-ts-board__icon-btn.is-compact .fe {
    font-size: 0.65rem;
}

.lux-ts-board__icon-btn.is-danger {
    color: #dc2626;
    border-color: rgba(254, 202, 202, 0.95);
    background: linear-gradient(180deg, #fff 0%, #fef2f2 100%);
}

.lux-ts-board__icon-btn.is-danger:hover {
    border-color: rgba(220, 38, 38, 0.35);
    background: rgba(220, 38, 38, 0.1);
    box-shadow: 0 4px 10px rgba(220, 38, 38, 0.14);
}

/* Save bar */
.lux-ts-board__workflow {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin: 0 0 0.75rem;
}

.lux-ts-board__workflow-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
}

.lux-ts-board__workflow-actions .lux-ts-board__workflow-btn {
    align-self: flex-end;
}

.lux-ts-board__workflow-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: #4338ca;
    font-size: 0.78rem;
    font-weight: 800;
}

.lux-ts-board__workflow-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.lux-ts-board__workflow-btn.is-approve {
    border-color: rgba(5, 150, 105, 0.35);
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.lux-ts-board__workflow-btn.is-reject {
    border-color: rgba(225, 29, 72, 0.3);
    background: rgba(244, 63, 94, 0.08);
    color: #be123c;
}

.lux-ts-board__workflow-status {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.75rem;
    border-radius: 10px;
    font-size: 0.78rem;
    font-weight: 600;
}

.lux-ts-board__workflow-status.is-pending {
    color: #b45309;
    background: rgba(251, 191, 36, 0.14);
    border: 1px solid rgba(217, 119, 6, 0.22);
}

.lux-ts-board__workflow-status.is-draft {
    color: #334155;
    background: rgba(148, 163, 184, 0.16);
    border: 1px solid rgba(100, 116, 139, 0.22);
}

.lux-ts-board__workflow-status.is-approved {
    color: #047857;
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(5, 150, 105, 0.22);
}

.lux-ts-board__rejection-notice {
    display: flex;
    gap: 0.55rem;
    padding: 0.65rem 0.8rem;
    border-radius: 10px;
    font-size: 0.78rem;
    border: 1px solid rgba(220, 38, 38, 0.24);
    background: rgba(254, 226, 226, 0.45);
    color: #9f1239;
}

.lux-ts-board__rejection-notice strong {
    display: block;
    font-weight: 800;
    margin-bottom: 0.15rem;
}

.lux-ts-board__rejection-notice p {
    margin: 0;
    line-height: 1.45;
}

.lux-ts-board__rejection-notice.is-line {
    border-color: rgba(217, 119, 6, 0.28);
    background: rgba(255, 237, 213, 0.45);
    color: #9a3412;
}

.lux-ts-summary__rejection-comment {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    margin: 0.35rem 0 0;
    font-size: 0.78rem;
    line-height: 1.45;
    color: #be123c;
}

.lux-ts-summary__approval-history,
.lux-att-mark-popover__approval-history,
.lux-approval-history {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    margin: 0.35rem 0 0;
    font-size: 0.78rem;
    line-height: 1.45;
    color: #0f766e;
}

.lux-ts-summary__kpi-strip--approval {
    margin-bottom: 0.35rem;
}

/* Manager pending approvals */
.lux-ts-pending {
    margin: var(--lux-page-block-gap-y) 0;
    padding: 1rem 1.1rem;
    border-radius: 14px;
    border: 1px solid rgba(245, 158, 11, 0.2);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.95), rgba(254, 243, 199, 0.5));
}

.lux-ts-pending--collapsed {
    padding: 0;
    border: none;
    background: transparent;
}

.lux-ts-pending__collapsed-bar {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(254, 243, 199, 0.72));
    box-shadow: 0 8px 24px rgba(245, 158, 11, 0.12);
    cursor: pointer;
    text-align: left;
}

.lux-ts-pending__collapsed-icon {
    display: inline-grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    background: rgba(245, 158, 11, 0.16);
    color: #d97706;
    flex-shrink: 0;
}

.lux-ts-pending__collapsed-copy {
    display: grid;
    gap: 0.15rem;
    flex: 1;
    min-width: 0;
}

.lux-ts-pending__collapsed-copy strong {
    color: #78350f;
    font-size: 0.875rem;
}

.lux-ts-pending__collapsed-copy em {
    font-style: normal;
    font-size: 0.75rem;
    color: #92400e;
}

.lux-ts-pending__collapsed-expand {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #b45309;
    flex-shrink: 0;
}

.lux-ts-pending__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.lux-ts-pending__head-actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.lux-ts-pending__toggle {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid rgba(245, 158, 11, 0.22);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    color: #b45309;
    cursor: pointer;
}

.lux-ts-pending__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b45309;
}

.lux-ts-pending__head h3 {
    margin: 0.15rem 0 0;
    font-size: 1rem;
    color: #78350f;
}

.lux-ts-pending__head p {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    color: #92400e;
}

.lux-ts-pending__count {
    min-width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #f59e0b;
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
}

.lux-ts-pending__list {
    display: grid;
    gap: 0.65rem;
}

.lux-ts-pending__card {
    display: grid;
    gap: 0.65rem;
    padding: 0.75rem 0.85rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(245, 158, 11, 0.16);
}

.lux-ts-pending__card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.lux-ts-pending__card-main {
    display: grid;
    gap: 0.15rem;
}

.lux-ts-pending__card-main strong {
    color: #1f2937;
    font-size: 0.875rem;
}

.lux-ts-pending__card-main span,
.lux-ts-pending__card-main em {
    font-size: 0.75rem;
    color: #6b7280;
    font-style: normal;
}

.lux-ts-pending__conflict-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    background: rgba(254, 226, 226, 0.8);
    border: 1px solid rgba(220, 38, 38, 0.24);
    color: #b91c1c;
    flex-shrink: 0;
}

.lux-ts-pending__row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.lux-ts-pending__link-btn {
    border: none;
    background: transparent;
    padding: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: #4338ca;
    cursor: pointer;
}

.lux-ts-pending__link-btn.has-warning {
    color: #b45309;
}

.lux-ts-pending__link-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-ts-pending__actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.45rem;
}

.lux-ts-pending__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 5.5rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    border: 1px solid transparent;
    cursor: pointer;
}

.lux-ts-pending__btn.is-primary {
    background: rgba(91, 95, 244, 0.12);
    border-color: rgba(91, 95, 244, 0.28);
    color: #3730a3;
}

.lux-ts-pending__btn.is-danger {
    background: rgba(220, 38, 38, 0.08);
    border-color: rgba(220, 38, 38, 0.22);
    color: #b91c1c;
}

.lux-ts-pending__btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-ts-approval-comment {
    display: grid;
    gap: 0.35rem;
}

.lux-ts-approval-comment span {
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
}

.lux-ts-approval-comment__input {
    width: 100%;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 10px;
    padding: 0.65rem 0.75rem;
    font-size: 0.8125rem;
    resize: vertical;
    min-height: 4.5rem;
    background: #fff;
}

.lux-ts-approval-comment.has-error .lux-ts-approval-comment__input {
    border-color: rgba(239, 68, 68, 0.55);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.08);
}

.lux-ts-approval-comment__error {
    font-size: 0.75rem;
    font-weight: 600;
    color: #b91c1c;
}

.lux-ts-conflict__list {
    display: grid;
    gap: 0.85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-ts-conflict__item {
    display: grid;
    gap: 0.55rem;
    padding: 0.75rem 0.85rem;
    border-radius: 10px;
    border: 1px solid rgba(245, 158, 11, 0.2);
    background: rgba(255, 251, 235, 0.45);
}

.lux-ts-conflict__item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.lux-ts-conflict__item-head strong {
    font-size: 0.8125rem;
    color: #78350f;
}

.lux-ts-conflict__item-head span {
    font-size: 0.75rem;
    color: #92400e;
}

.lux-ts-conflict__options {
    display: grid;
    gap: 0.35rem;
}

.lux-ts-conflict__option {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.45rem 0.55rem;
    border-radius: 8px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    cursor: pointer;
}

.lux-ts-conflict__option.is-selected {
    border-color: rgba(91, 95, 244, 0.35);
    background: rgba(91, 95, 244, 0.06);
}

.lux-ts-conflict__option span {
    display: grid;
    gap: 0.1rem;
}

.lux-ts-conflict__option strong {
    font-size: 0.78rem;
    color: #1f2937;
}

.lux-ts-conflict__option em {
    font-style: normal;
    font-size: 0.72rem;
    color: #64748b;
}

.lux-ts-conflict__comment {
    display: grid;
    gap: 0.25rem;
}

.lux-ts-conflict__comment span {
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
}

.lux-ts-conflict__comment textarea {
    width: 100%;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 8px;
    padding: 0.5rem 0.65rem;
    font-size: 0.78rem;
    resize: vertical;
}

.lux-ts-conflict__error {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #b91c1c;
}

.lux-ts-conflict__item-actions {
    display: flex;
    justify-content: flex-end;
}

.lux-ts-conflict__resolve-btn {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    border: 1px solid rgba(91, 95, 244, 0.3);
    background: rgba(91, 95, 244, 0.1);
    color: #3730a3;
    font-size: 0.75rem;
    font-weight: 800;
    cursor: pointer;
}

.lux-ts-conflict__resolve-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-ts-conflict__empty {
    margin: 0;
    font-size: 0.8125rem;
    color: #64748b;
}

.lux-ts-conflict__foot-note {
    margin: 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-ts-lock-banner {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin: var(--lux-page-block-gap-y) 0;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    border: 1px solid rgba(100, 116, 139, 0.24);
    background: rgba(248, 250, 252, 0.95);
}

.lux-ts-lock-banner.is-rich-batch {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(91, 95, 244, 0.18);
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(238, 242, 255, 0.92));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 14px 34px rgba(15, 23, 42, 0.06);
}

.lux-ts-lock-banner.is-partial-batch.is-rich-batch {
    border-color: rgba(5, 150, 105, 0.22);
    background:
        radial-gradient(circle at top right, rgba(167, 243, 208, 0.35), transparent 42%),
        linear-gradient(155deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.88));
}

.lux-ts-lock-banner.is-approved.is-rich-batch {
    border-color: rgba(5, 150, 105, 0.24);
    background:
        radial-gradient(circle at top right, rgba(167, 243, 208, 0.28), transparent 40%),
        linear-gradient(155deg, rgba(255, 255, 255, 0.98), rgba(209, 250, 229, 0.72));
}

.lux-ts-lock-banner.is-reopened.is-rich-batch {
    border-color: rgba(124, 58, 237, 0.22);
    background:
        radial-gradient(circle at top right, rgba(196, 181, 253, 0.28), transparent 40%),
        linear-gradient(155deg, rgba(255, 255, 255, 0.98), rgba(237, 233, 254, 0.78));
}

.lux-ts-lock-banner__hero {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
}

.lux-ts-lock-banner.is-rich-batch .lux-ts-lock-banner__hero {
    padding: 1rem 1.1rem 0.85rem;
}

.lux-ts-lock-banner.is-rich-batch .lux-ts-lock-banner__head {
    padding: 1rem 1.1rem 0.85rem;
}

.lux-ts-lock-banner__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.lux-ts-lock-banner__head-main {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    flex: 1;
    min-width: 0;
}

.lux-ts-lock-banner__head-actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.lux-ts-lock-banner__head h3 {
    margin: 0.15rem 0 0;
    font-size: 1rem;
    color: #1f2937;
}

.lux-ts-lock-banner.is-partial-batch.is-rich-batch .lux-ts-lock-banner__head h3,
.lux-ts-lock-banner.is-approved.is-rich-batch .lux-ts-lock-banner__head h3 {
    color: #065f46;
}

.lux-ts-lock-banner.is-reopened.is-rich-batch .lux-ts-lock-banner__head h3 {
    color: #5b21b6;
}

.lux-ts-lock-banner__head p {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-ts-lock-banner.is-partial-batch.is-rich-batch .lux-ts-lock-banner__head p,
.lux-ts-lock-banner.is-approved.is-rich-batch .lux-ts-lock-banner__head p {
    color: #047857;
}

.lux-ts-lock-banner.is-reopened.is-rich-batch .lux-ts-lock-banner__head p {
    color: #6d28d9;
}

.lux-ts-lock-banner__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.75rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    background: rgba(5, 150, 105, 0.16);
    color: #047857;
}

.lux-ts-lock-banner.is-reopened .lux-ts-lock-banner__count,
.lux-ts-lock-banner.is-reopened.is-rich-batch .lux-ts-lock-banner__count {
    background: rgba(124, 58, 237, 0.14);
    color: #6d28d9;
}

.lux-ts-lock-banner.is-payroll {
    border-color: rgba(13, 148, 136, 0.28);
    background: rgba(240, 253, 250, 0.95);
}

.lux-ts-lock-banner.is-approved {
    border-color: rgba(5, 150, 105, 0.28);
    background: linear-gradient(135deg, rgba(209, 250, 229, 0.7), rgba(255, 255, 255, 0.96));
}

.lux-ts-lock-banner.is-reopened {
    border-color: rgba(124, 58, 237, 0.28);
    background: linear-gradient(135deg, rgba(237, 233, 254, 0.75), rgba(255, 255, 255, 0.96));
}

.lux-ts-lock-banner.is-reopened .lux-ts-lock-banner__icon {
    background: rgba(124, 58, 237, 0.12);
    color: #6d28d9;
}

.lux-ts-lock-banner.is-partial-batch .lux-ts-lock-banner__icon {
    background: rgba(5, 150, 105, 0.12);
    color: #047857;
}

.lux-ts-lock-banner.is-rich-batch .lux-ts-lock-banner__icon {
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}


.lux-ts-lock-banner__icon {
    display: inline-grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
    flex-shrink: 0;
}

.lux-ts-lock-banner.is-payroll .lux-ts-lock-banner__icon {
    background: rgba(13, 148, 136, 0.12);
    color: #0f766e;
}

.lux-ts-lock-banner__copy {
    flex: 1;
    min-width: 0;
}

.lux-ts-lock-banner__copy strong {
    display: block;
    font-size: 0.875rem;
    color: #1f2937;
}

.lux-ts-lock-banner__copy p {
    margin: 0.2rem 0 0;
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-ts-lock-banner__eyebrow {
    display: block;
    margin-bottom: 0.18rem;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #047857;
}

.lux-ts-lock-banner.is-approved .lux-ts-lock-banner__eyebrow {
    color: #047857;
}

.lux-ts-lock-banner.is-reopened .lux-ts-lock-banner__eyebrow {
    color: #6d28d9;
}

.lux-ts-lock-banner__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.65rem;
}

.lux-ts-lock-banner__stat {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.62rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.82);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #475569;
}

.lux-ts-lock-banner__stat i {
    font-size: 0.72rem;
    color: #047857;
}

.lux-ts-lock-banner__batch {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 0.55rem;
    max-width: 18rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #475569;
}

.lux-ts-lock-banner__batch select {
    padding: 0.35rem 0.55rem;
    border-radius: 0.45rem;
    border: 1px solid rgba(148, 163, 184, 0.55);
    background: #fff;
    color: #1f2937;
    font-size: 0.78rem;
    font-weight: 600;
}

.lux-ts-lock-banner__btn {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(91, 95, 244, 0.3);
    background: rgba(91, 95, 244, 0.1);
    color: #3730a3;
    font-size: 0.75rem;
    font-weight: 800;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-ts-lock-banner__actions {
    display: flex;
    justify-content: flex-end;
    padding: 0.75rem 1.1rem 1rem;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.35), rgba(248, 250, 252, 0.75));
}

.lux-ts-lock-banner__btn--primary {
    gap: 0.4rem;
    min-height: 2.45rem;
    padding: 0 1.15rem;
    border: 0;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: 0 10px 22px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}

.lux-ts-lock-banner__btn--primary:hover:not(:disabled) {
    filter: brightness(1.04);
    transform: translateY(-1px);
}

.lux-ts-lock-banner__btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-ts-batch-reopen {
    padding: 0.15rem 1.1rem 1rem;
}

.lux-ts-batch-reopen__head {
    margin-bottom: 0.75rem;
}

.lux-ts-batch-reopen__eyebrow {
    display: block;
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-batch-reopen__title {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.92rem;
    color: #0f172a;
}

.lux-ts-batch-reopen__hint {
    margin: 0.28rem 0 0;
    font-size: 0.76rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-ts-batch-reopen__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15.5rem, 1fr));
    gap: 0.65rem;
}

.lux-ts-batch-reopen__card {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    width: 100%;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.32);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
    text-align: left;
    cursor: pointer;
    transition:
        border-color 0.16s ease,
        box-shadow 0.16s ease,
        transform 0.16s ease,
        background 0.16s ease;
}

.lux-ts-batch-reopen__card:hover:not(:disabled) {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.38);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.lux-ts-batch-reopen__card.is-selected {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.52);
    background:
        linear-gradient(145deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), rgba(255, 255, 255, 0.96));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14) inset,
        0 12px 28px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-ts-batch-reopen__card:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.lux-ts-batch-reopen__card-index {
    display: inline-grid;
    place-items: center;
    min-width: 1.85rem;
    height: 1.85rem;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.06);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    color: #475569;
    flex-shrink: 0;
}

.lux-ts-batch-reopen__card.is-selected .lux-ts-batch-reopen__card-index {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-batch-reopen__card-body {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
    flex: 1;
}

.lux-ts-batch-reopen__card-range {
    font-size: 0.86rem;
    font-weight: 800;
    line-height: 1.35;
    color: #0f172a;
}

.lux-ts-batch-reopen__card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-ts-batch-reopen__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    padding: 0.18rem 0.48rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    border: 1px solid transparent;
}

.lux-ts-batch-reopen__pill.is-days {
    color: #3730a3;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.lux-ts-batch-reopen__pill.is-id {
    color: #475569;
    background: rgba(148, 163, 184, 0.14);
    border-color: rgba(100, 116, 139, 0.18);
}

.lux-ts-batch-reopen__pill.is-approved {
    color: #047857;
    background: rgba(52, 211, 153, 0.14);
    border-color: rgba(5, 150, 105, 0.2);
}

.lux-ts-batch-reopen__pill.is-approved i {
    font-size: 0.68rem;
}

.lux-ts-batch-reopen__card-days {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
}

.lux-ts-batch-reopen__day-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.55rem;
    padding: 0.12rem 0.35rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.05);
    font-size: 0.64rem;
    font-weight: 700;
    color: #64748b;
}

.lux-ts-batch-reopen__card.is-selected .lux-ts-batch-reopen__day-dot {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-batch-reopen__card-check {
    display: inline-grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    color: #94a3b8;
    flex-shrink: 0;
}

.lux-ts-batch-reopen__card-check i {
    font-size: 1rem;
}

.lux-ts-batch-reopen__card.is-selected .lux-ts-batch-reopen__card-check {
    color: var(--lux-primary, #5b5ff4);
}

.lux-ts-batch-reopen__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.lux-ts-batch-reopen__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 2.45rem;
    padding: 0 1.15rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}

.lux-ts-batch-reopen__btn:hover:not(:disabled) {
    filter: brightness(1.04);
    transform: translateY(-1px);
}

.lux-ts-batch-reopen__btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

@media (max-width: 640px) {
    .lux-ts-lock-banner.is-rich-batch .lux-ts-lock-banner__hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .lux-ts-lock-banner__actions {
        justify-content: stretch;
    }

    .lux-ts-lock-banner__btn--primary {
        width: 100%;
        justify-content: center;
    }

    .lux-ts-batch-reopen__grid {
        grid-template-columns: 1fr;
    }

    .lux-ts-batch-reopen__actions {
        justify-content: stretch;
    }

    .lux-ts-batch-reopen__btn {
        width: 100%;
        justify-content: center;
    }
}

.lux-ts-lock-banner--collapsed,
.lux-ts-lock-banner.is-rich-batch-collapsed {
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
}

.lux-ts-lock-banner__collapsed-bar {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(5, 150, 105, 0.28);
    background: linear-gradient(135deg, rgba(236, 253, 245, 0.98), rgba(209, 250, 229, 0.72));
    box-shadow: 0 8px 24px rgba(5, 150, 105, 0.12);
    cursor: pointer;
    text-align: left;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-ts-lock-banner__collapsed-bar:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(5, 150, 105, 0.16);
}

.lux-ts-lock-banner.is-partial-batch .lux-ts-lock-banner__collapsed-bar,
.lux-ts-lock-banner.is-approved .lux-ts-lock-banner__collapsed-bar {
    border-color: rgba(5, 150, 105, 0.28);
    background: linear-gradient(135deg, rgba(236, 253, 245, 0.98), rgba(209, 250, 229, 0.72));
    box-shadow: 0 8px 24px rgba(5, 150, 105, 0.12);
}

.lux-ts-lock-banner.is-reopened .lux-ts-lock-banner__collapsed-bar {
    border-color: rgba(124, 58, 237, 0.28);
    background: linear-gradient(135deg, rgba(245, 243, 255, 0.98), rgba(237, 233, 254, 0.72));
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.12);
}

.lux-ts-lock-banner.is-reopened .lux-ts-lock-banner__collapsed-bar:hover {
    box-shadow: 0 12px 28px rgba(124, 58, 237, 0.16);
}

.lux-ts-lock-banner__collapsed-icon {
    display: inline-grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    background: rgba(5, 150, 105, 0.16);
    color: #047857;
    flex-shrink: 0;
}

.lux-ts-lock-banner.is-reopened .lux-ts-lock-banner__collapsed-icon {
    background: rgba(124, 58, 237, 0.14);
    color: #6d28d9;
}

.lux-ts-lock-banner__collapsed-copy {
    display: grid;
    gap: 0.15rem;
    flex: 1;
    min-width: 0;
}

.lux-ts-lock-banner__collapsed-copy strong {
    color: #065f46;
    font-size: 0.875rem;
}

.lux-ts-lock-banner.is-reopened .lux-ts-lock-banner__collapsed-copy strong {
    color: #5b21b6;
}

.lux-ts-lock-banner__collapsed-copy em {
    font-style: normal;
    font-size: 0.75rem;
    color: #047857;
}

.lux-ts-lock-banner.is-reopened .lux-ts-lock-banner__collapsed-copy em {
    color: #6d28d9;
}

.lux-ts-lock-banner__collapsed-expand {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #047857;
    flex-shrink: 0;
}

.lux-ts-lock-banner.is-reopened .lux-ts-lock-banner__collapsed-expand {
    color: #6d28d9;
}

.lux-ts-lock-banner__hero-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-left: auto;
    flex-shrink: 0;
}

.lux-ts-lock-banner__toggle {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    color: #047857;
    cursor: pointer;
    padding: 0.35rem 0.2rem;
}

.lux-ts-lock-banner.is-reopened .lux-ts-lock-banner__toggle {
    color: #6d28d9;
}

.lux-ts-lock-banner__toggle:hover:not(:disabled) {
    opacity: 0.82;
}

.lux-ts-lock-banner__stat.is-selected {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-lock-banner__stat.is-selected i {
    color: var(--lux-primary, #5b5ff4);
}

.lux-ts-lock-banner__btn--compact {
    align-self: center;
    min-height: 2.35rem;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .lux-ts-lock-banner.is-rich-batch .lux-ts-lock-banner__head {
        flex-direction: column;
        align-items: flex-start;
    }

    .lux-ts-lock-banner__head-actions {
        align-self: flex-end;
    }

    .lux-ts-lock-banner__btn--compact {
        width: 100%;
        justify-content: center;
    }

    .lux-ts-lock-banner__hero-actions {
        width: 100%;
        justify-content: flex-end;
    }
}

.lux-ts-compliance {
    margin: var(--lux-page-block-gap-y) 0;
    padding: 1rem 1.1rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: linear-gradient(135deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.72));
}

.lux-ts-compliance.is-warning {
    border-color: rgba(245, 158, 11, 0.45);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(254, 243, 199, 0.55));
    box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.12);
}

.lux-ts-compliance.is-ok {
    border-color: rgba(34, 197, 94, 0.28);
    background: linear-gradient(135deg, rgba(240, 253, 244, 0.98), rgba(220, 252, 231, 0.45));
}

.lux-ts-compliance--collapsed {
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
}

.lux-ts-compliance__collapsed-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(248, 250, 252, 0.98);
    cursor: pointer;
    text-align: left;
}

.lux-ts-compliance.is-warning .lux-ts-compliance__collapsed-bar,
.lux-ts-compliance--collapsed.is-warning .lux-ts-compliance__collapsed-bar {
    border-color: rgba(245, 158, 11, 0.5);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(254, 243, 199, 0.7));
}

.lux-ts-compliance.is-ok .lux-ts-compliance__collapsed-bar,
.lux-ts-compliance--collapsed.is-ok .lux-ts-compliance__collapsed-bar {
    border-color: rgba(34, 197, 94, 0.35);
    background: linear-gradient(135deg, rgba(240, 253, 244, 0.98), rgba(220, 252, 231, 0.55));
}

.lux-ts-compliance__collapsed-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    flex-shrink: 0;
    background: rgba(148, 163, 184, 0.16);
    color: #475569;
    font-size: 1rem;
}

.lux-ts-compliance.is-warning .lux-ts-compliance__collapsed-icon {
    background: rgba(245, 158, 11, 0.2);
    color: #b45309;
}

.lux-ts-compliance.is-ok .lux-ts-compliance__collapsed-icon {
    background: rgba(34, 197, 94, 0.18);
    color: #15803d;
}

.lux-ts-compliance__collapsed-copy {
    flex: 1;
    min-width: 0;
}

.lux-ts-compliance__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.75rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    background: rgba(245, 158, 11, 0.22);
    color: #b45309;
}

.lux-ts-compliance.is-warning .lux-ts-compliance__eyebrow {
    color: #b45309;
}

.lux-ts-compliance.is-warning .lux-ts-compliance__head h3 {
    color: #92400e;
}

.lux-ts-compliance.is-warning .lux-ts-compliance__head p {
    color: #a16207;
}

.lux-ts-compliance.is-warning .lux-ts-compliance__collapsed-bar strong {
    color: #92400e;
}

.lux-ts-compliance.is-warning .lux-ts-compliance__row {
    border-color: rgba(245, 158, 11, 0.28);
}

.lux-ts-compliance__collapsed-bar strong {
    display: block;
    font-size: 0.875rem;
    color: #334155;
}

.lux-ts-compliance__collapsed-bar em {
    display: block;
    font-style: normal;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-ts-compliance__collapsed-expand {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
}

.lux-ts-compliance__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.lux-ts-compliance__head-actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.lux-ts-compliance__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-compliance__head h3 {
    margin: 0.15rem 0 0;
    font-size: 1rem;
    color: #334155;
}

.lux-ts-compliance__head p {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    color: #64748b;
}

.lux-ts-compliance__toggle {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    color: #475569;
    cursor: pointer;
    padding: 0.35rem 0.2rem;
}

.lux-ts-compliance.is-warning .lux-ts-compliance__toggle {
    color: #b45309;
}

.lux-ts-compliance.is-ok .lux-ts-compliance__toggle {
    color: #15803d;
}

.lux-ts-compliance__lock-btn {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(13, 148, 136, 0.28);
    background: rgba(13, 148, 136, 0.1);
    color: #0f766e;
    font-size: 0.75rem;
    font-weight: 800;
    cursor: pointer;
}

.lux-ts-compliance__lock-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-ts-compliance__list {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-ts-compliance__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(148, 163, 184, 0.16);
}

.lux-ts-compliance__row strong {
    display: block;
    font-size: 0.8125rem;
    color: #1f2937;
}

.lux-ts-compliance__row span,
.lux-ts-compliance__row em {
    display: block;
    font-size: 0.75rem;
    color: #64748b;
    font-style: normal;
}

.lux-ts-compliance__status {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.2);
    flex-shrink: 0;
}

.lux-ts-compliance__empty {
    margin: 0;
    font-size: 0.8125rem;
    color: #64748b;
}

/* Sticky bottom action dock — Save + Submit always reachable */
.lux-ts-board.has-action-dock {
    padding-bottom: 0.35rem;
}

.lux-ts-board__action-dock {
    position: sticky;
    bottom: 0.75rem;
    z-index: 32;
    margin-top: 0.85rem;
    padding-bottom: env(safe-area-inset-bottom, 0);
}

.lux-ts-board__action-dock-error {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.45rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid rgba(220, 38, 38, 0.22);
    border-radius: 12px;
    background: rgba(254, 226, 226, 0.92);
    font-size: 0.75rem;
    font-weight: 700;
    color: #b91c1c;
    box-shadow: 0 8px 20px rgba(185, 28, 28, 0.08);
}

.lux-ts-board__action-dock-error-dismiss {
    margin-left: auto;
    width: 1.25rem;
    height: 1.25rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(220, 38, 38, 0.14);
    cursor: pointer;
}

.lux-ts-board__action-dock-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    border-radius: 18px;
    background:
        radial-gradient(circle at 0% 50%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 52%),
        radial-gradient(circle at 100% 0%, rgba(5, 150, 105, 0.08), transparent 45%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(248, 250, 252, 0.95));
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.75) inset,
        0 18px 48px rgba(15, 23, 42, 0.18),
        0 4px 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-ts-board__action-dock-copy {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    flex: 1;
}

.lux-ts-board__action-dock-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    flex-shrink: 0;
    padding: 0.28rem 0.6rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border: 1px solid transparent;
}

.lux-ts-board__action-dock-chip.is-draft {
    color: #475569;
    background: rgba(148, 163, 184, 0.16);
    border-color: rgba(100, 116, 139, 0.22);
}

.lux-ts-board__action-dock-chip.is-unsaved {
    color: #c2410c;
    background: rgba(251, 146, 60, 0.16);
    border-color: rgba(234, 88, 12, 0.28);
}

.lux-ts-board__action-dock-chip.is-ready {
    color: #3730a3;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-ts-board__action-dock-chip.is-pending {
    color: #b45309;
    background: rgba(251, 191, 36, 0.18);
    border-color: rgba(217, 119, 6, 0.28);
}

.lux-ts-board__action-dock-inner.is-submit-ready {
    align-items: center;
    gap: 0.65rem;
}

.lux-ts-board__action-dock-copy.is-compact {
    flex: 0;
}

.lux-ts-board__action-dock-inner.is-submit-ready .lux-ts-board__action-dock-actions {
    flex: 1;
    justify-content: flex-end;
}

.lux-ts-board__action-dock-text {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.lux-ts-board__action-dock-text strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.lux-ts-board__action-dock-text span {
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-ts-board__action-dock-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    flex-wrap: wrap;
}

.lux-ts-board__partial-days {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    margin-right: 0.25rem;
}

.lux-ts-board__partial-days-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-board__partial-day-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    font-size: 0.72rem;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
}

.lux-ts-board__partial-day-chip input {
    margin: 0;
}

.lux-ts-board__partial-day-chip.is-selected {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-board__action-dock-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.45rem;
    padding: 0 1.05rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease, opacity 0.14s ease;
}

.lux-ts-board__action-dock-btn--ghost {
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #64748b;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lux-ts-board__action-dock-btn--ghost:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-board__action-dock-btn--save {
    border: none;
    min-width: 9.5rem;
    padding: 0 1.25rem;
    background: linear-gradient(135deg, #4f46e5 0%, var(--lux-primary, #5b5ff4) 45%, #6366f1 100%);
    color: #fff;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.18) inset,
        0 10px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.38),
        0 2px 6px rgba(15, 23, 42, 0.12);
    animation: lux-ts-save-pulse 2.4s ease-in-out infinite;
}

.lux-ts-board__action-dock-btn--save:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.22) inset,
        0 14px 30px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.46),
        0 4px 10px rgba(15, 23, 42, 0.14);
    animation: none;
}

.lux-ts-board__action-dock-btn--save .fe {
    font-size: 0.9rem;
}

@keyframes lux-ts-save-pulse {
    0%, 100% {
        box-shadow:
            0 0 0 1px rgba(255, 255, 255, 0.18) inset,
            0 10px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.38),
            0 2px 6px rgba(15, 23, 42, 0.12);
    }
    50% {
        box-shadow:
            0 0 0 1px rgba(255, 255, 255, 0.22) inset,
            0 12px 28px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.5),
            0 0 0 4px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    }
}

.lux-ts-board__action-dock-btn--submit {
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 12px 28px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.36);
    min-width: 11.5rem;
}

.lux-ts-board__action-dock-btn--submit:hover:not(:disabled) {
    filter: brightness(1.04);
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.42);
}

.lux-ts-board__action-dock-btn--submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

@media (max-width: 720px) {
    .lux-ts-board__action-dock-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 0.7rem;
        padding: 0.8rem 0.85rem;
    }

    .lux-ts-board__action-dock-inner.is-submit-ready {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }

    .lux-ts-board__action-dock-copy {
        flex-direction: column;
        align-items: flex-start;
    }

    .lux-ts-board__action-dock-copy.is-compact {
        flex-direction: row;
        align-items: center;
    }

    .lux-ts-board__action-dock-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .lux-ts-board__action-dock-inner.is-submit-ready .lux-ts-board__action-dock-actions {
        width: auto;
        flex: 1 1 12rem;
        justify-content: flex-end;
    }

    .lux-ts-board__action-dock-btn {
        flex: 1 1 auto;
        min-width: 0;
    }

    .lux-ts-board__action-dock-btn--submit {
        flex: 1 1 100%;
        min-width: 0;
    }

    .lux-ts-board__action-dock-inner.is-submit-ready .lux-ts-board__action-dock-btn--submit {
        flex: 0 1 auto;
    }
}

body.lux-shell-dark .lux-ts-board__action-dock-inner {
    background:
        radial-gradient(circle at 0% 50%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18), transparent 52%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(2, 6, 23, 0.94));
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-ts-board__action-dock-text strong {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-ts-board__action-dock-btn--ghost {
    background: rgba(15, 23, 42, 0.85);
    border-color: rgba(71, 85, 105, 0.95);
    color: #cbd5e1;
}

body.lux-shell-dark .lux-ts-board__action-dock-btn--save {
    background: linear-gradient(135deg, #4f46e5 0%, var(--lux-primary, #5b5ff4) 45%, #6366f1 100%);
    border: none;
    color: #fff;
}

/* Legacy save-bar aliases (kept for any external references) */
.lux-ts-board__save-bar {
    position: sticky;
    bottom: 0.65rem;
    z-index: 20;
    margin-top: 0.65rem;
}

.lux-ts-board__save-error {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.45rem;
    padding: 0.55rem 0.65rem;
    border: 0px solid rgba(220, 38, 38, 0.22);
    border-radius: 12px;
    background: rgba(220, 38, 38, 0.08);
    font-size: 0.75rem;
    font-weight: 700;
    color: #b91c1c;
}

.lux-ts-board__save-error-dismiss {
    margin-left: auto;
    width: 1.25rem;
    height: 1.25rem;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: rgba(220, 38, 38, 0.12);
    cursor: pointer;
}

.lux-ts-board__save-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    border-radius: 16px;
    background:
        radial-gradient(circle at 0% 50%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 55%),
        linear-gradient(180deg, #fff, #f8fafc);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.12);
}

.lux-ts-board__save-copy {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.lux-ts-board__save-copy strong {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-board__save-copy span {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-ts-board__save-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.lux-ts-board__save-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    min-height: 2rem;
    padding: 0 0.85rem;
    border-radius: 9911px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
}

.lux-ts-board__save-btn--ghost {
    border: 0px solid #e2e8f0;
    background: #fff;
    color: #64748b;
}

.lux-ts-board__save-btn--primary {
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

/* Additional details popover */
.lux-ts-addl-fields {
    position: relative;
    display: inline-flex;
}

.lux-ts-addl-fields__trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    padding: 0;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
    cursor: pointer;
}

.lux-ts-addl-fields__trigger.has-details,
.lux-ts-addl-fields__trigger:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-ts-addl-fields__backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000001;
    padding: 0;
    border: none;
    background: transparent;
    cursor: default;
}

.lux-ts-addl-fields__panel {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0;
    z-index: 1000002;
    width: min(16rem, 72vw);
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
}

.lux-ts-addl-fields__panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-ts-addl-fields__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: rgba(241, 245, 249, 0.95);
    color: #64748b;
    cursor: pointer;
}

.lux-ts-addl-fields__panel-body {
    max-height: 14rem;
    overflow-y: auto;
    padding-top: 0.35rem;
}

.lux-ts-addl-fields__panel-foot {
    display: flex;
    justify-content: flex-end;
    padding: 0.45rem 0.65rem 0.55rem;
    border-top: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-ts-addl-fields__done {
    min-height: 1.65rem;
    padding: 0 0.65rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    cursor: pointer;
}

body.lux-shell-dark .lux-ts-page__grid-shell,
body.lux-shell-dark .lux-ts-board__week-rail,
body.lux-shell-dark .lux-ts-board__week-rail.is-sticky {
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14), transparent 48%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(2, 6, 23, 0.94));
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-ts-board__week-day {
    background: rgba(15, 23, 42, 0.65);
}

body.lux-shell-dark .lux-ts-board__week-day-num {
    color: #e2e8f0;
}
body.lux-shell-dark .lux-ts-board__week-rail,
body.lux-shell-dark .lux-ts-board__save-bar-inner {
    background: rgba(15, 23, 42, 0.88);
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-ts-board__group-code,
body.lux-shell-dark .lux-ts-board__save-copy strong,
body.lux-shell-dark .lux-ts-board__action-dock-text strong,
body.lux-shell-dark .lux-ts-board__line strong,
body.lux-shell-dark .lux-ts-board__line-title {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-ts-board__group-meta {
    border-left-color: rgba(71, 85, 105, 0.9);
}

body.lux-shell-dark .lux-ts-board__group-chip {
    border-color: rgba(71, 85, 105, 0.9);
    background: rgba(15, 23, 42, 0.75);
    color: #cbd5e1;
}

body.lux-shell-dark .lux-ts-board__group-chip.is-category {
    border-color: rgba(16, 185, 129, 0.35);
    background: rgba(16, 185, 129, 0.14);
    color: #6ee7b7;
}

body.lux-shell-dark .lux-ts-board__group-chip.is-context {
    border-color: rgba(96, 165, 250, 0.35);
    background: rgba(59, 130, 246, 0.16);
    color: #93c5fd;
}

body.lux-shell-dark .lux-ts-board__group-count,
body.lux-shell-dark .lux-ts-board__line-trail {
    color: #94a3b8;
}

body.lux-shell-dark .lux-ts-board__line-btn--compact:hover {
    border-color: rgba(71, 85, 105, 0.95);
    background: rgba(30, 41, 59, 0.75);
}

body.lux-shell-dark .lux-ts-board__line-btn--rich {
    border-color: rgba(71, 85, 105, 0.95);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16), transparent 55%),
        linear-gradient(165deg, rgba(15, 23, 42, 0.92), rgba(30, 41, 59, 0.88));
}

body.lux-shell-dark .lux-ts-board__line-chip {
    border-color: rgba(71, 85, 105, 0.9);
    background: rgba(15, 23, 42, 0.75);
    color: #cbd5e1;
}

body.lux-shell-dark .lux-ts-board__group,
body.lux-shell-dark .lux-ts-board__entry {
    background: rgba(15, 23, 42, 0.65);
    border-color: rgba(51, 65, 85, 0.95);
}

@media (max-width: 992px) {
    /* Keep overflow visible so sticky week rail + action dock stick to page scroll. */
    .lux-ts-board {
        overflow: visible;
    }

    .lux-ts-page__grid-shell {
        overflow: visible;
    }

    .lux-ts-board__grid-row {
        min-width: 40rem;
    }

    .lux-ts-board__fields--non-project .lux-ts-board__fields-grid {
        grid-template-columns: 1fr 1fr;
    }

    .lux-ts-board__fields--project .lux-ts-board__fields-grid--project {
        grid-template-columns: 1fr 1fr;
    }

    .lux-ts-board__fields--non-project .lux-ts-board__field--wide {
        grid-column: 1 / -1;
    }

    .lux-ts-board__save-bar-inner,
    .lux-ts-board__action-dock-inner {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-ts-board__save-actions,
    .lux-ts-board__action-dock-actions {
        width: 100%;
        justify-content: stretch;
    }

    .lux-ts-board__save-btn,
    .lux-ts-board__action-dock-btn {
        flex: 1;
    }
}

@media (max-width: 576px) {
    .lux-ts-board__grid-row {
        min-width: 36rem;
    }
}

/* ========== Comments popover (portal) ========== */

.lux-ts-comments-pop {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
}

.lux-ts-comments-pop__trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.lux-ts-comments-pop__trigger:hover,
.lux-ts-comments-pop__trigger.is-open {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    transform: scale(1.04);
}

.lux-ts-comments-pop__trigger.has-details {
    border-color: rgba(5, 150, 105, 0.35);
    background: rgba(5, 150, 105, 0.12);
    color: #047857;
}

.lux-ts-comments-pop__trigger.has-details .fe-message-circle {
    font-weight: 700;
}

.lux-ts-comments-pop__trigger.is-readonly {
    cursor: pointer;
    opacity: 0.95;
}

.lux-ts-comments-pop__trigger.is-disabled,
.lux-ts-comments-pop__trigger:disabled {
    cursor: not-allowed;
    opacity: 0.42;
    border-color: rgba(148, 163, 184, 0.35);
    background: rgba(241, 245, 249, 0.85);
    color: #94a3b8;
    transform: none;
}

.lux-ts-comments-pop__trigger.is-readonly.has-details {
    cursor: pointer;
    opacity: 0.72;
    border-color: rgba(5, 150, 105, 0.28);
    background: rgba(5, 150, 105, 0.08);
    color: #047857;
}

.lux-ts-comments-pop__trigger.is-disabled:hover,
.lux-ts-comments-pop__trigger:disabled:hover {
    background: rgba(241, 245, 249, 0.85);
    transform: none;
}

.lux-ts-comments-pop__trigger.is-readonly.has-details:hover {
    opacity: 0.9;
    background: rgba(5, 150, 105, 0.14);
}

.lux-ts-comments-pop__backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000004;
    padding: 0;
    border: none;
    background: rgba(8, 12, 28, 0.2);
    cursor: default;
}

.lux-ts-comments-pop__panel {
    position: fixed;
    z-index: 1000005;
    display: flex;
    flex-direction: column;
    max-height: min(420px, 78vh);
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 42%),
        linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.2);
    animation: lux-ts-add-entry-in 0.18s ease;
}

.lux-ts-comments-pop__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.75rem 0.85rem 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-ts-comments-pop__head strong {
    display: block;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-comments-pop__head span {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-ts-comments-pop__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: none;
    border-radius: 9911px;
    background: rgba(241, 245, 249, 0.95);
    color: #64748b;
    cursor: pointer;
}

.lux-ts-comments-pop__body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0.65rem 0.85rem;
}

.lux-ts-comments-pop__foot {
    padding: 0.55rem 0.85rem 0.75rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-ts-comments-pop__done {
    width: 100%;
    padding: 0.45rem 0.75rem;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 800;
    cursor: pointer;
}

/* ========== Detail modals (entry + day) ========== */

.lux-ts-detail {
    position: fixed;
    inset: 0;
    z-index: 1000006;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}

.lux-ts-detail__backdrop {
    position: absolute;
    inset: 0;
    padding: 0;
    border: none;
    background: rgba(8, 12, 28, 0.52);
    cursor: pointer;
}

body.lux-ts-detail-open {
    overflow: hidden;
}

.lux-ts-detail__panel {
    position: relative;
    width: min(680px, 100%);
    max-height: min(92vh, 860px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 22px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 40%),
        radial-gradient(circle at 0% 0%, rgba(5, 150, 105, 0.08), transparent 42%),
        linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    box-shadow: 0 36px 90px rgba(15, 23, 42, 0.24);
    animation: lux-ts-add-entry-in 0.22s ease;
}

.lux-ts-detail__panel--wide {
    width: min(920px, 100%);
}

.lux-ts-detail__panel--no-head {
    position: relative;
}

.lux-ts-detail__panel--no-head > .lux-ts-detail__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 4;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
}

.lux-ts-detail__panel--no-head > .lux-ts-detail__body {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    gap: 0;
}

.lux-ts-detail__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1.1rem 1.25rem 0.85rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-ts-detail__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin-bottom: 0.22rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-detail__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.lux-ts-detail__title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.15;
}

.lux-ts-detail__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.625rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-ts-detail__badge.is-green { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-ts-detail__badge.is-blue { background: rgba(91, 95, 244, 0.12); color: #3730a3; }
.lux-ts-detail__badge.is-amber { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-ts-detail__badge.is-rose { background: rgba(220, 38, 38, 0.12); color: #dc2626; }
.lux-ts-detail__badge.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-ts-detail__sub {
    margin: 0.35rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
}

.lux-ts-detail__head-main {
    min-width: 0;
    flex: 1;
}

.lux-ts-detail__chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.45rem;
}

.lux-ts-detail__chips.is-compact {
    margin-top: 0.3rem;
}

.lux-ts-detail__chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.98);
    background: rgba(255, 255, 255, 0.92);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-ts-detail__chip.is-category {
    border-color: rgba(5, 150, 105, 0.22);
    background: rgba(5, 150, 105, 0.1);
    color: #047857;
}

.lux-ts-detail__chip.is-work {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-detail__chip.is-division {
    border-color: rgba(14, 165, 233, 0.22);
    background: rgba(14, 165, 233, 0.1);
    color: #0369a1;
}

.lux-ts-detail__chip.is-account {
    border-color: rgba(99, 102, 241, 0.22);
    background: rgba(99, 102, 241, 0.1);
    color: #4338ca;
}

.lux-ts-detail__chip.is-partner {
    border-color: rgba(168, 85, 247, 0.22);
    background: rgba(168, 85, 247, 0.1);
    color: #7e22ce;
}

.lux-ts-detail__chip.is-team {
    border-color: rgba(245, 158, 11, 0.28);
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}

.lux-ts-detail__entry-item-copy {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.lux-ts-detail__entry-group {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-ts-detail__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.92);
    color: #64748b;
    cursor: pointer;
}

.lux-ts-detail__body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 1rem 1.25rem 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.lux-ts-detail__foot {
    padding: 0.65rem 1.25rem 0.9rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-ts-detail__foot-note {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #94a3b8;
    text-align: center;
}

.lux-ts-detail__panel.lux-ts-discard-dialog {
    max-width: 34rem;
}

.lux-ts-discard-dialog.is-danger .lux-ts-detail__head {
    background:
        radial-gradient(circle at top right, rgba(251, 113, 133, 0.16), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 241, 242, 0.88));
}

.lux-ts-discard-dialog.is-info .lux-ts-detail__head {
    background:
        radial-gradient(circle at top right, rgba(56, 189, 248, 0.14), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(240, 249, 255, 0.88));
}

.lux-ts-discard-dialog__alert {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    border: 1px solid transparent;
}

.lux-ts-discard-dialog__alert.is-danger {
    border-color: rgba(220, 38, 38, 0.22);
    background: linear-gradient(135deg, rgba(254, 242, 242, 0.96), rgba(255, 255, 255, 0.92));
}

.lux-ts-discard-dialog__alert.is-info {
    border-color: rgba(14, 165, 233, 0.22);
    background: linear-gradient(135deg, rgba(240, 249, 255, 0.96), rgba(255, 255, 255, 0.92));
}

.lux-ts-discard-dialog__alert-icon {
    display: inline-grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 12px;
    flex-shrink: 0;
}

.lux-ts-discard-dialog__alert.is-danger .lux-ts-discard-dialog__alert-icon {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}

.lux-ts-discard-dialog__alert.is-info .lux-ts-discard-dialog__alert-icon {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}

.lux-ts-discard-dialog__alert-copy strong {
    display: block;
    font-size: 0.84rem;
    color: #0f172a;
}

.lux-ts-discard-dialog__alert-copy p {
    margin: 0.28rem 0 0;
    font-size: 0.78rem;
    line-height: 1.5;
    color: #64748b;
}

.lux-ts-discard-dialog__impacts h4 {
    margin: 0 0 0.45rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-discard-dialog__impacts ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-ts-discard-dialog__impacts li {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    background: rgba(248, 250, 252, 0.92);
    border: 1px solid rgba(148, 163, 184, 0.2);
    font-size: 0.76rem;
    line-height: 1.45;
    color: #475569;
}

.lux-ts-discard-dialog__impacts li i {
    margin-top: 0.12rem;
    font-size: 0.68rem;
    color: #94a3b8;
    flex-shrink: 0;
}

.lux-ts-discard-dialog__actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.lux-ts-discard-dialog__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.45rem;
    padding: 0 1rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}

.lux-ts-discard-dialog__btn.is-ghost {
    border-color: rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
}

.lux-ts-discard-dialog__btn.is-primary {
    border: 0;
    background: linear-gradient(135deg, #0ea5e9, #0284c7);
    color: #fff;
    box-shadow: 0 10px 22px rgba(14, 165, 233, 0.24);
}

.lux-ts-discard-dialog__btn.is-danger {
    border: 0;
    background: linear-gradient(135deg, #ef4444, #b91c1c);
    color: #fff;
    box-shadow: 0 10px 22px rgba(220, 38, 38, 0.24);
}

.lux-ts-discard-dialog__btn:hover:not(:disabled) {
    filter: brightness(1.03);
    transform: translateY(-1px);
}

.lux-ts-discard-dialog__btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

@media (max-width: 640px) {
    .lux-ts-discard-dialog__actions {
        flex-direction: column-reverse;
    }

    .lux-ts-discard-dialog__btn {
        width: 100%;
    }
}

.lux-ts-detail__kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
}

.lux-ts-detail__kpi {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding: 0.55rem 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
}

.lux-ts-detail__kpi span {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-detail__kpi strong {
    font-size: 1rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.1;
}

.lux-ts-detail__kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2); }
.lux-ts-detail__kpi.is-green strong { color: #047857; }
.lux-ts-detail__kpi.is-blue strong { color: #3730a3; }
.lux-ts-detail__kpi.is-amber strong { color: #b45309; }
.lux-ts-detail__kpi.is-rose strong { color: #dc2626; }

.lux-ts-detail__split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.65rem;
}

.lux-ts-detail__split--charts {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.lux-ts-detail__card {
    padding: 0.75rem 0.8rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-ts-detail__card-title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-detail__card-sub {
    margin: 0.12rem 0 0.45rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-ts-detail__empty {
    margin: 0;
    padding: 1.5rem 0.625rem;
    text-align: center;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-ts-detail__day-list,
.lux-ts-detail__entry-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 280px;
    overflow-y: auto;
}

.lux-ts-detail__day-row,
.lux-ts-detail__entry-item {
    padding: 0.55rem 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.85);
}

.lux-ts-detail__day-row.has-hours {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.lux-ts-detail__day-row.has-notes {
    border-left: 3px solid #059669;
}

.lux-ts-detail__day-row-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
}

.lux-ts-detail__day-row-date {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-ts-detail__day-row-hours {
    margin-top: 0.25rem;
    font-size: 0.9375rem;
    font-weight: 900;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-detail__day-row-meta {
    margin-top: 0.35rem;
}

.lux-ts-detail__status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.12rem 0.4rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    white-space: nowrap;
}

.lux-ts-detail__status-pill.is-compact {
    font-size: 0.625rem;
    padding: 0.08rem 0.32rem;
}

.lux-ts-detail__status-pill.is-green { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-ts-detail__status-pill.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-ts-detail__status-pill.is-amber { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-ts-detail__status-pill.is-rose { background: rgba(220, 38, 38, 0.12); color: #dc2626; }
.lux-ts-detail__status-pill.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }
.lux-ts-detail__status-pill.is-violet { background: rgba(124, 58, 237, 0.12); color: #6d28d9; }
.lux-ts-detail__status-pill.is-teal { background: rgba(20, 184, 166, 0.12); color: #0f766e; }

.lux-ts-detail__comment {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.45;
}

.lux-ts-detail__comment i {
    margin-top: 0.1rem;
    color: #059669;
    flex-shrink: 0;
}

.lux-ts-detail__meta-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    margin: 0.25rem 0 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-ts-detail__entry-item-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
}

.lux-ts-detail__entry-item-top strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-detail__entry-item-top span {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-ts-detail__entry-item-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    flex-shrink: 0;
}

.lux-ts-detail__entry-item-right > strong {
    font-size: 0.875rem;
    font-weight: 900;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-detail__entry-item.is-billable {
    border-left: 3px solid #059669;
}

.lux-ts-detail__entry-item.is-leave {
    border-left: 3px solid #d97706;
}

.lux-ts-detail__entry-item.is-holiday {
    border-left: 3px solid #dc2626;
}

@media (max-width: 992px) {
    .lux-ts-detail__kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-ts-detail__split,
    .lux-ts-detail__split--charts {
        grid-template-columns: 1fr;
    }
}

/* ========== luxury-employees.css ========== */

/* ========== Employees page — luxury workforce summary ========== */

.lux-employees {
    width: 100%;
}

.lux-employees-empty__create-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.125rem;
    padding: 0 1rem;
    border: none;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
}

.lux-employees-empty__create-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.26);
}

.lux-emp-summary {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 42%),
        radial-gradient(circle at 100% 0%, rgba(20, 184, 166, 0.05), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03),
        0 12px 28px rgba(15, 23, 42, 0.06);
    transition: padding 0.22s ease;
}

.lux-emp-summary__header-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0;
}

.lux-emp-summary.is-collapsed .lux-emp-summary__header-bar {
    margin-bottom: 0.45rem;
}

.lux-emp-summary:not(.is-collapsed) .lux-emp-summary__header-bar {
    margin-bottom: 0.65rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-emp-summary__header-main {
    min-width: 0;
    flex: 1;
}

.lux-emp-summary__title--compact {
    margin: 0.15rem 0 0;
    font-size: 0.95rem;
}

.lux-emp-summary__title--compact span {
    font-size: 0.8125rem;
}

.lux-emp-summary__title--bar {
    margin: 0.15rem 0 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-emp-summary__toggle {
    flex-shrink: 0;
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.88);
    letter-spacing: 0.04em;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease;
}

.lux-emp-summary__toggle:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-emp-summary__toggle i {
    font-size: 0.8125rem;
}

.lux-emp-summary:not(.is-collapsed) .lux-emp-summary__body {
    max-height: 2000px;
}

.lux-emp-summary__collapsed-line {
    margin: 0;
    flex: 1 1 12rem;
    min-width: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-emp-summary__filters--compact {
    margin: 0;
    grid-column: auto;
}

.lux-emp-summary.is-loading {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lux-emp-summary__hero {
    padding-bottom: 0.65rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    margin-bottom: 0.65rem;
}

.lux-emp-summary__hero-main {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
    min-width: 0;
}

.lux-emp-summary__hero-copy {
    flex: 1 1 14rem;
    min-width: 0;
}

.lux-emp-summary__hero-rate {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
}

.lux-emp-summary__hero-main .lux-emp-summary__filters {
    flex: 0 0 auto;
    margin: 0;
}

.lux-emp-summary__rate-copy strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-emp-summary__rate-copy span {
    display: block;
    margin-top: 0.06rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-emp-summary__context {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
    margin-top: 0.35rem;
}

.lux-emp-summary__context-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    max-width: 100%;
    min-height: 1.375rem;
    padding: 0 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.78);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-emp-summary__context-pill i {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: #94a3b8;
}

.lux-emp-summary__context-pill.is-search {
    color: var(--lux-primary-dark, #3730a3);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-emp-summary__coverage-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.lux-emp-summary__coverage-row span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
}

.lux-emp-summary__coverage-row i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
}

.lux-emp-summary__coverage-row strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-emp-summary__insights--skeleton {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-emp-summary__hero-copy {
    min-width: 0;
}

/* Eyebrow — see luxury-summary-shared.css (.lux-summary-eyebrow) */

.lux-emp-summary__title {
    margin: 0.2rem 0 0.35rem;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
    line-height: 1.1;
}

.lux-emp-summary__title span {
    font-size: 0.95rem;
    font-weight: 700;
    color: #64748b;
}

.lux-emp-summary__subtitle {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-emp-summary__rate-ring {
    --lux-active-pct: 0%;
    position: relative;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9911px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    background:
        conic-gradient(
            var(--lux-primary, #5b5ff4) 0 var(--lux-active-pct),
            #e2e8f0 var(--lux-active-pct) 100%
        );
}

.lux-emp-summary__rate-ring::before {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: inherit;
    background: #fff;
}

.lux-emp-summary__rate-ring span {
    position: relative;
    z-index: 1;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-emp-summary__filter-chip {
    min-height: 1.75rem;
    padding: 0 0.75rem;
    background: rgba(255, 255, 255, 0.85);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-emp-summary__filter-chip:hover {
    color: #334155;
}

.lux-emp-summary__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.45rem;
    margin-bottom: 0.75rem;
}

.lux-emp-summary__grid--skeleton {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lux-emp-summary__metric {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    min-width: 0;
    width: 100%;
    padding: 0.55rem 0.6rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.86);
    text-align: left;
    font: inherit;
    color: inherit;
    transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.lux-emp-summary__metric.is-clickable {
    cursor: pointer;
}

.lux-emp-summary__metric.is-clickable:hover,
.lux-emp-summary__metric.is-active {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    box-shadow: 0 6px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-emp-summary__metric.is-clickable:hover {
    transform: translateY(-1px);
}

.lux-emp-summary__metric-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 12px;
    flex-shrink: 0;
    font-size: 0.875rem;
}

.lux-emp-summary__metric--green .lux-emp-summary__metric-icon {
    color: #059669;
    background: rgba(16, 185, 129, 0.12);
}

.lux-emp-summary__metric--blue .lux-emp-summary__metric-icon {
    color: #2563eb;
    background: rgba(59, 130, 246, 0.12);
}

.lux-emp-summary__metric--amber .lux-emp-summary__metric-icon {
    color: #d97706;
    background: rgba(245, 158, 11, 0.12);
}

.lux-emp-summary__metric--indigo .lux-emp-summary__metric-icon {
    color: #4f46e5;
    background: rgba(99, 102, 241, 0.12);
}

.lux-emp-summary__metric--rose .lux-emp-summary__metric-icon {
    color: #db2777;
    background: rgba(236, 72, 153, 0.12);
}

.lux-emp-summary__metric--red .lux-emp-summary__metric-icon {
    color: #dc2626;
    background: rgba(239, 68, 68, 0.12);
}

.lux-emp-summary__metric-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.lux-emp-summary__metric-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-emp-summary__metric-value {
    margin-top: 0.08rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-emp-summary__metric-hint {
    margin-top: 0.12rem;
    font-size: 0.6875rem;
    color: #64748b;
    line-height: 1.3;
}

.lux-emp-summary__metric-pct {
    flex-shrink: 0;
    align-self: flex-start;
    padding: 0.12rem 0.35rem;
    border-radius: 9911px;
    background: #f1f5f9;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #475569;
}

.lux-emp-summary__insights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-emp-summary__insight {
    padding: 0.65rem 0.7rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
}

.lux-emp-summary__insight--highlight {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 55%),
        rgba(255, 255, 255, 0.88);
}

.lux-emp-summary__insight--chart {
    display: flex;
    flex-direction: column;
}

.lux-emp-summary__insight-chart {
    flex: 1;
    min-height: 10.625rem;
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.lux-emp-summary__insight-chart .apexcharts-canvas,
.lux-emp-summary__insight-chart > div {
    width: 100% !important;
}

.lux-emp-summary__insight-chart-empty {
    margin: 0;
    padding: 1.25rem 0.625rem;
    text-align: center;
    font-size: 0.75rem;
    color: #94a3b8;
}

.lux-emp-summary__insight header {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin-bottom: 0.55rem;
}

.lux-emp-summary__insight header > i {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 12px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.8125rem;
}

.lux-emp-summary__insight header strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-emp-summary__insight header span {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-emp-summary__bar {
    display: flex;
    width: 100%;
    height: 0.45rem;
    overflow: hidden;
    border-radius: 9911px;
    background: #eef2f7;
    margin-bottom: 0.55rem;
}

.lux-emp-summary__bar--empty {
    display: grid;
    place-items: center;
    height: 2rem;
    font-size: 0.75rem;
    color: #94a3b8;
}

.lux-emp-summary__bar-segment {
    height: 100%;
    min-width: 0;
}

.lux-emp-summary__bar-segment.is-blue { background: #3b82f6; }
.lux-emp-summary__bar-segment.is-amber { background: #f59e0b; }
.lux-emp-summary__bar-segment.is-teal { background: #14b8a6; }
.lux-emp-summary__bar-segment.is-violet { background: #8b5cf6; }
.lux-emp-summary__bar-segment.is-rose { background: #ec4899; }
.lux-emp-summary__bar-segment.is-slate { background: #94a3b8; }

.lux-emp-summary__legend {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.lux-emp-summary__legend li {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    color: #475569;
}

.lux-emp-summary__legend-dot {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 9911px;
}

.lux-emp-summary__legend-dot.is-blue { background: #3b82f6; }
.lux-emp-summary__legend-dot.is-amber { background: #f59e0b; }
.lux-emp-summary__legend-dot.is-teal { background: #14b8a6; }
.lux-emp-summary__legend-dot.is-violet { background: #8b5cf6; }
.lux-emp-summary__legend-dot.is-rose { background: #ec4899; }
.lux-emp-summary__legend-dot.is-slate { background: #94a3b8; }

.lux-emp-summary__legend-label {
    min-width: 0;
}

.lux-emp-summary__legend li strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-emp-summary__legend-pct {
    color: #94a3b8;
    font-weight: 700;
}

.lux-emp-summary__highlight-body {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-emp-summary__highlight-stat {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.lux-emp-summary__highlight-stat > span:first-child,
.lux-emp-summary__highlight-value {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    line-height: 1;
}

.lux-emp-summary__highlight-stat > span:last-child {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
}

.lux-emp-summary__highlight-body p {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
}

/* Workforce overview — charts, highlights, tenure flow */
.lux-emp-workforce-summary .lux-emp-summary__grid {
    margin-bottom: 0.65rem;
}

.lux-emp-workforce-summary__highlights {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.4rem;
    margin-bottom: 0.65rem;
}

.lux-emp-workforce-summary__highlight {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.55rem 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.9);
}

.lux-emp-workforce-summary__highlight.is-sky { border-color: rgba(14, 165, 233, 0.28); }
.lux-emp-workforce-summary__highlight.is-indigo { border-color: rgba(99, 102, 241, 0.28); }
.lux-emp-workforce-summary__highlight.is-teal { border-color: rgba(20, 184, 166, 0.28); }
.lux-emp-workforce-summary__highlight.is-amber { border-color: rgba(245, 158, 11, 0.28); }

.lux-emp-workforce-summary__highlight-icon {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 12px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background: rgba(99, 102, 241, 0.1);
    color: #6366f1;
    font-size: 0.75rem;
}

.lux-emp-workforce-summary__highlight.is-teal .lux-emp-workforce-summary__highlight-icon {
    background: rgba(20, 184, 166, 0.12);
    color: #0d9488;
}

.lux-emp-workforce-summary__highlight-copy {
    min-width: 0;
}

.lux-emp-workforce-summary__highlight-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-emp-workforce-summary__highlight-copy strong {
    display: block;
    margin-top: 0.1rem;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.1;
}

.lux-emp-workforce-summary__highlight-hint {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.6875rem;
    color: #94a3b8;
    line-height: 1.3;
}

.lux-emp-workforce-summary__tenure-flow {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin: 0 0 0.65rem;
    padding: 0.55rem 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.85);
}

.lux-emp-workforce-summary__tenure-node {
    flex: 1;
    min-width: 4.5rem;
    padding: 0.35rem 0.45rem;
    border-radius: 12px;
    text-align: center;
    background: rgba(255, 255, 255, 0.95);
    border: 0px solid rgba(226, 232, 240, 0.9);
}

.lux-emp-workforce-summary__tenure-node.is-sky { border-color: rgba(14, 165, 233, 0.35); }
.lux-emp-workforce-summary__tenure-node.is-indigo { border-color: rgba(99, 102, 241, 0.35); }
.lux-emp-workforce-summary__tenure-node.is-teal { border-color: rgba(20, 184, 166, 0.35); }
.lux-emp-workforce-summary__tenure-node.is-amber { border-color: rgba(245, 158, 11, 0.35); }

.lux-emp-workforce-summary__tenure-node-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-emp-workforce-summary__tenure-node strong {
    display: block;
    margin-top: 0.15rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-emp-workforce-summary__tenure-connector {
    color: #cbd5e1;
    font-size: 0.65rem;
    flex-shrink: 0;
}

.lux-emp-workforce-summary__row {
    display: grid;
    gap: 0.4rem;
    margin-bottom: 0.4rem;
}

.lux-emp-workforce-summary__row--hero {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.95fr) minmax(0, 0.85fr);
}

.lux-emp-workforce-summary__row--structure {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lux-emp-workforce-summary__row--skills {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
}

.lux-emp-workforce-summary__charts--skeleton {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.4rem;
    margin-top: 0.625rem;
}

.lux-emp-summary__metric--teal .lux-emp-summary__metric-icon {
    background: rgba(20, 184, 166, 0.12);
    color: #0d9488;
}

@media (max-width: 1400px) {
    .lux-emp-workforce-summary__highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-emp-workforce-summary__row--hero,
    .lux-emp-workforce-summary__row--structure {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-emp-workforce-summary__row--hero .lux-bid-summary__chart-panel--wide,
    .lux-emp-workforce-summary__row--skills .lux-bid-summary__chart-panel--wide {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1199px) {
    .lux-emp-summary__insights {
        grid-template-columns: 1fr;
    }

    .lux-emp-summary__insights--skeleton {
        grid-template-columns: 1fr;
    }

    .lux-emp-summary__hero-main {
        align-items: flex-start;
    }
}

@media (max-width: 991px) {
    .lux-emp-summary__insights {
        grid-template-columns: 1fr;
    }

    .lux-emp-summary__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lux-emp-workforce-summary__highlights {
        grid-template-columns: 1fr 1fr;
    }

    .lux-emp-workforce-summary__row--hero,
    .lux-emp-workforce-summary__row--structure,
    .lux-emp-workforce-summary__row--skills {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .lux-emp-summary {
        margin: 0.625rem 0.625rem 0.75rem;
        padding: 0.65rem;
    }

    .lux-emp-summary__title {
        font-size: 1.15rem;
    }

    .lux-emp-summary__hero-main .lux-emp-summary__filters {
        width: 100%;
    }
}

body.lux-shell-dark .lux-emp-summary {
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 42%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.9));
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-emp-summary__title,
body.lux-shell-dark .lux-emp-summary__metric-value,
body.lux-shell-dark .lux-emp-summary__strip-value,
body.lux-shell-dark .lux-emp-summary__rate-copy strong,
body.lux-shell-dark .lux-emp-summary__insight header strong,
body.lux-shell-dark .lux-emp-summary__legend li strong {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-emp-summary__collapsed-line,
body.lux-shell-dark .lux-emp-summary__subtitle,
body.lux-shell-dark .lux-emp-summary__metric-hint,
body.lux-shell-dark .lux-emp-summary__insight header span,
body.lux-shell-dark .lux-emp-summary__highlight-body p {
    color: #94a3b8;
}

body.lux-shell-dark .lux-emp-summary__rate-card,
body.lux-shell-dark .lux-emp-summary__hero-rate,
body.lux-shell-dark .lux-emp-summary__context-pill,
body.lux-shell-dark .lux-emp-summary__metric,
body.lux-shell-dark .lux-emp-summary__insight,
body.lux-shell-dark .lux-emp-summary__filter-chip {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-emp-summary__rate-ring::before {
    background: rgba(15, 23, 42, 0.95);
}

body.lux-shell-dark .lux-emp-summary__rate-ring span {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-emp-summary__metric-pct {
    background: rgba(51, 65, 85, 0.8);
    color: #cbd5e1;
}

body.lux-shell-dark .lux-emp-summary__bar {
    background: rgba(51, 65, 85, 0.8);
}

body.lux-shell-dark .lux-emp-summary__toggle {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(51, 65, 85, 0.9);
    color: #cbd5e1;
}

body.lux-shell-dark .lux-emp-summary__coverage-row span {
    color: #94a3b8;
}

body.lux-shell-dark .lux-emp-summary__coverage-row strong {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-emp-summary__title--bar {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-emp-summary:not(.is-collapsed) .lux-emp-summary__header-bar {
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

/* ========== Employee grid cards ========== */

.lux-emp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(18.5rem, 1fr));
    gap: 1rem;
    padding: 0.75rem 0.85rem 1.15rem;
}

.lux-emp-grid__item {
    min-width: 0;
    display: flex;
    animation: lux-emp-grid-in 0.42s ease both;
}

.lux-emp-grid__item:nth-child(1) { animation-delay: 0.02s; }
.lux-emp-grid__item:nth-child(2) { animation-delay: 0.04s; }
.lux-emp-grid__item:nth-child(3) { animation-delay: 0.06s; }
.lux-emp-grid__item:nth-child(4) { animation-delay: 0.08s; }
.lux-emp-grid__item:nth-child(5) { animation-delay: 0.1s; }
.lux-emp-grid__item:nth-child(6) { animation-delay: 0.12s; }
.lux-emp-grid__item:nth-child(n+7) { animation-delay: 0.14s; }

@keyframes lux-emp-grid-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.lux-emp-card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 19.5rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 20px;
    background:
        radial-gradient(circle at 50% -10%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 52%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03),
        0 12px 28px rgba(15, 23, 42, 0.07);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.lux-emp-card:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07),
        0 20px 44px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    transform: translateY(-3px);
}

.lux-emp-card.is-menu-open {
    z-index: 20;
}

.lux-emp-card.is-inactive,
.lux-emp-card.is-deleted {
    opacity: 0.9;
}

.lux-emp-card__accent {
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.85),
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35)
    );
    pointer-events: none;
    z-index: 4;
}

.lux-emp-card.is-type-blue .lux-emp-card__accent {
    background: linear-gradient(90deg, #2563eb, rgba(59, 130, 246, 0.35));
}

.lux-emp-card.is-type-amber .lux-emp-card__accent {
    background: linear-gradient(90deg, #d97706, rgba(245, 158, 11, 0.35));
}

.lux-emp-card.is-type-teal .lux-emp-card__accent {
    background: linear-gradient(90deg, #0d9488, rgba(20, 184, 166, 0.35));
}

.lux-emp-card.is-type-violet .lux-emp-card__accent {
    background: linear-gradient(90deg, #7c3aed, rgba(139, 92, 246, 0.35));
}

.lux-emp-card.is-type-slate .lux-emp-card__accent {
    background: linear-gradient(90deg, #64748b, rgba(148, 163, 184, 0.35));
}

.lux-emp-card__glow {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 48%);
    pointer-events: none;
}

.lux-emp-card__hero {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.55rem;
    padding: 1rem 0.85rem 0.65rem;
}

.lux-emp-card.has-menu .lux-emp-card__hero {
    padding-top: 1.15rem;
}

.lux-emp-card__avatar-wrap {
    position: relative;
    width: 4.25rem;
    height: 4.25rem;
    flex-shrink: 0;
}

.lux-emp-card__avatar-link {
    position: relative;
    display: block;
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 9911px;
    transition: transform 0.16s ease;
}

.lux-emp-card__avatar-link:hover {
    transform: scale(1.04);
}

.lux-emp-card__avatar-ring {
    position: absolute;
    inset: -3px;
    border-radius: 9911px;
    background: linear-gradient(
        135deg,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.55),
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12)
    );
    opacity: 0.85;
    transition: opacity 0.16s ease;
}

.lux-emp-card__avatar-link:hover .lux-emp-card__avatar-ring {
    opacity: 1;
}

.lux-emp-card__avatar {
    position: relative;
    z-index: 1;
    width: 4.25rem !important;
    height: 4.25rem !important;
    object-fit: cover;
    border: 2.5px solid #fff !important;
    border-radius: 9911px !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.14);
    padding: 0 !important;
    background: #f8fafc;
}

.lux-emp-card__initials {
    position: absolute;
    right: -0.1rem;
    bottom: -0.05rem;
    z-index: 3;
    min-width: 1.45rem;
    height: 1.45rem;
    padding: 0 0.28rem;
    border: 2px solid #fff;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 800;
    display: grid;
    place-items: center;
    box-shadow: 0 2px 8px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-emp-card__status-dot {
    position: absolute;
    top: 0.15rem;
    left: 0.15rem;
    z-index: 3;
    width: 0.6rem;
    height: 0.6rem;
    border: 2px solid #fff;
    border-radius: 9911px;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.12);
}

.lux-emp-card__status-dot.is-success { background: #10b981; }
.lux-emp-card__status-dot.is-muted { background: #94a3b8; }
.lux-emp-card__status-dot.is-danger { background: #ef4444; }

.lux-emp-card__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    max-width: 100%;
}

.lux-emp-card__status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.125rem;
    padding: 0 0.4rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.lux-emp-card__status-pill.is-success {
    color: #047857;
    background: rgba(16, 185, 129, 0.12);
}

.lux-emp-card__status-pill.is-muted {
    color: #64748b;
    background: rgba(148, 163, 184, 0.16);
}

.lux-emp-card__status-pill.is-danger {
    color: #b91c1c;
    background: rgba(239, 68, 68, 0.12);
}

.lux-emp-card__code {
    display: inline-flex;
    align-items: center;
    min-height: 1.125rem;
    padding: 0 0.4rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #475569;
    background: rgba(148, 163, 184, 0.12);
    border: 0px solid rgba(226, 232, 240, 0.95);
}

.lux-emp-card__type {
    display: inline-flex;
    align-items: center;
    min-height: 1.125rem;
    padding: 0 0.4rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-emp-card__type.is-blue {
    color: #1d4ed8;
    background: rgba(59, 130, 246, 0.12);
}

.lux-emp-card__type.is-amber {
    color: #b45309;
    background: rgba(245, 158, 11, 0.14);
}

.lux-emp-card__type.is-teal {
    color: #0f766e;
    background: rgba(20, 184, 166, 0.14);
}

.lux-emp-card__type.is-violet {
    color: #6d28d9;
    background: rgba(139, 92, 246, 0.14);
}

.lux-emp-card__type.is-slate {
    color: #475569;
    background: rgba(148, 163, 184, 0.18);
}

.lux-emp-card__actions {
    position: absolute;
    top: 0.6rem;
    right: 0.6rem;
    z-index: 6;
    flex-shrink: 0;
}

.lux-emp-card__menu-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.875rem;
    height: 1.875rem;
    padding: 0;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.94);
    color: #64748b;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.lux-emp-card__menu-trigger:hover,
.lux-emp-card.is-menu-open .lux-emp-card__menu-trigger {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: 0 4px 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-emp-card__menu-panel {
    position: absolute;
    top: calc(100% + 0.4rem);
    right: 0;
    width: min(15.5rem, calc(100vw - 2rem));
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04),
        0 18px 40px rgba(15, 23, 42, 0.16);
    overflow: hidden;
    z-index: 40;
}

.lux-emp-card__menu-head {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.6rem 0.65rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 55%),
        rgba(255, 255, 255, 0.92);
}

.lux-emp-card__menu-head > div {
    flex: 1;
    min-width: 0;
}

.lux-emp-card__menu-head-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 11px;
    flex-shrink: 0;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.75rem;
}

.lux-emp-card__menu-eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
}

.lux-emp-card__menu-head strong {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-emp-card__menu-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 0px solid #e2e8f0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.88);
    color: #64748b;
    font-size: 0.75rem;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-emp-card__menu-close:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    color: #334155;
}

.lux-emp-card__menu-body {
    padding: 0.45rem;
}

.lux-emp-card__menu-section-label {
    display: block;
    padding: 0.15rem 0.45rem 0.35rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-emp-card__menu-divider {
    height: 1px;
    margin: 0.25rem 0.45rem 0.4rem;
    background: rgba(226, 232, 240, 0.95);
}

.lux-emp-card__menu-item {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    padding: 0.42rem 0.45rem;
    border: 0px solid transparent;
    border-radius: 12px;
    background: transparent;
    font: inherit;
    text-align: left;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: background 0.14s ease, border-color 0.14s ease;
}

.lux-emp-card__menu-item:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-emp-card__menu-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 11px;
    flex-shrink: 0;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.75rem;
}

.lux-emp-card__menu-icon.is-danger {
    color: #dc2626;
    background: rgba(239, 68, 68, 0.1);
}

.lux-emp-card__menu-icon.is-success {
    color: #059669;
    background: rgba(16, 185, 129, 0.12);
}

.lux-emp-card__menu-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 0.06rem;
}

.lux-emp-card__menu-copy strong {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.lux-emp-card__menu-copy span {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-emp-card__menu-item.is-danger .lux-emp-card__menu-copy strong {
    color: #b91c1c;
}

.lux-emp-card__menu-item.is-success .lux-emp-card__menu-copy strong {
    color: #047857;
}

.lux-emp-card__body {
    position: relative;
    z-index: 1;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0 0.85rem 0.65rem;
    min-width: 0;
}

.lux-emp-card__identity {
    width: 100%;
    min-width: 0;
}

.lux-emp-card__name {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
    color: #0f172a;
}

.lux-emp-card__name a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    max-width: 100%;
    color: inherit;
    text-decoration: none;
    transition: color 0.14s ease;
}

.lux-emp-card__name a i {
    flex-shrink: 0;
    font-size: 0.75rem;
    opacity: 0;
    transform: translate(-2px, 2px);
    transition: opacity 0.14s ease, transform 0.14s ease;
}

.lux-emp-card__name a:hover {
    color: var(--lux-primary, #5b5ff4);
}

.lux-emp-card__name a:hover i {
    opacity: 1;
    transform: translate(0, 0);
}

.lux-emp-card__designation {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-emp-card__tenure {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    margin: 0.35rem 0 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-emp-card__tenure i {
    font-size: 0.6875rem;
    opacity: 0.85;
}

.lux-emp-card__skill {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    width: 100%;
    min-height: 1.65rem;
    padding: 0.35rem 0.65rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-emp-card__skill i {
    flex-shrink: 0;
    font-size: 0.75rem;
}

.lux-emp-card__skill span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.lux-emp-card__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-emp-card__facts:has(.lux-emp-card__fact:only-child) {
    grid-template-columns: 1fr;
}

.lux-emp-card__fact:last-child:nth-child(odd):not(:only-child) {
    grid-column: 1 / -1;
}

.lux-emp-card__fact {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    min-width: 0;
    padding: 0.45rem 0.625rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.78);
    transition: border-color 0.14s ease, background 0.14s ease;
}

.lux-emp-card:hover .lux-emp-card__fact {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    background: rgba(255, 255, 255, 0.92);
}

.lux-emp-card__fact.is-danger {
    border-color: rgba(239, 68, 68, 0.18);
    background: rgba(254, 242, 242, 0.72);
}

.lux-emp-card__fact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    flex-shrink: 0;
    border-radius: 8px;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.6875rem;
}

.lux-emp-card__fact.is-danger .lux-emp-card__fact-icon {
    color: #dc2626;
    background: rgba(239, 68, 68, 0.1);
}

.lux-emp-card__fact-copy {
    display: flex;
    flex-direction: column;
    gap: 0.04rem;
    min-width: 0;
}

.lux-emp-card__fact-copy > span {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-emp-card__fact-copy strong {
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-emp-card__fact.is-danger .lux-emp-card__fact-copy strong {
    color: #dc2626;
}

.lux-emp-card__footer {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-top: auto;
    padding: 0.55rem 0.85rem 0.75rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.4), rgba(248, 250, 252, 0.85));
}

.lux-emp-card__contact {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    min-height: 1.75rem;
    padding: 0.3rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
    text-decoration: none;
    transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}

.lux-emp-card__contact:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-emp-card__contact i {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-emp-card__contact span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.lux-emp-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: grid;
    place-items: center;
    background: rgba(248, 250, 252, 0.55);
    pointer-events: none;
}

.lux-emp-card__overlay span {
    padding: 0.35rem 0.85rem;
    border: 0px dashed rgba(148, 163, 184, 0.8);
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-emp-card.is-deleted .lux-emp-card__overlay span {
    color: #dc2626;
    border-color: rgba(239, 68, 68, 0.35);
}

@media (prefers-reduced-motion: reduce) {
    .lux-emp-grid__item {
        animation: none;
    }

    .lux-emp-card,
    .lux-emp-card__avatar-link,
    .lux-emp-card__name a i {
        transition: none;
    }
}

@media (max-width: 767px) {
    .lux-emp-grid {
        grid-template-columns: 1fr;
        gap: 0.85rem;
        padding: 0.55rem;
    }

    .lux-emp-card__facts {
        grid-template-columns: 1fr;
    }
}

body.lux-shell-dark .lux-emp-card {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 42%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.9));
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-emp-card__name,
body.lux-shell-dark .lux-emp-card__fact-copy strong {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-emp-card__designation,
body.lux-shell-dark .lux-emp-card__code,
body.lux-shell-dark .lux-emp-card__contact {
    color: #94a3b8;
}

body.lux-shell-dark .lux-emp-card__tenure {
    color: #a5b4fc;
}

body.lux-shell-dark .lux-emp-card__menu-trigger,
body.lux-shell-dark .lux-emp-card__menu-panel,
body.lux-shell-dark .lux-emp-card__menu-close {
    background: rgba(15, 23, 42, 0.92);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-emp-card__menu-head {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 55%),
        rgba(15, 23, 42, 0.72);
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-emp-card__menu-head strong,
body.lux-shell-dark .lux-emp-card__menu-copy strong {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-emp-card__menu-copy span {
    color: #94a3b8;
}

body.lux-shell-dark .lux-emp-card__menu-divider,
body.lux-shell-dark .lux-emp-card__footer {
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-emp-card__footer {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.35), rgba(15, 23, 42, 0.72));
}

body.lux-shell-dark .lux-emp-card__fact,
body.lux-shell-dark .lux-emp-card__contact,
body.lux-shell-dark .lux-emp-card__menu-item:hover {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-emp-card__overlay {
    background: rgba(15, 23, 42, 0.55);
}

body.lux-shell-dark .lux-emp-card__overlay span {
    background: rgba(15, 23, 42, 0.9);
    color: #94a3b8;
}

/* ========== Employee list (luxury row cards) ========== */

.lux-emp-list {
    --lux-emp-list-cols: minmax(15rem, 2.1fr) minmax(7rem, 1fr) minmax(5.5rem, 0.75fr) minmax(9rem, 1.15fr) minmax(6.5rem, 0.85fr) minmax(7rem, 0.95fr) 3.25rem;
    padding: 0.65rem 0.75rem 0.85rem;
}

.lux-emp-list__head,
.lux-emp-list__item {
    display: grid;
    grid-template-columns: var(--lux-emp-list-cols);
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}

.lux-emp-list__head {
    position: sticky;
    top: 0;
    z-index: 4;
    margin-bottom: 0.45rem;
    padding: 0.55rem 0.85rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 55%),
        rgba(248, 250, 252, 0.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.lux-emp-list__head-cell {
    min-width: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-emp-list__head-cell.is-center {
    text-align: center;
}

.lux-emp-list__head-label {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    white-space: nowrap;
}

.lux-emp-list__head-label i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
}

.lux-emp-list__body {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    min-width: 0;
}

.lux-emp-list__head,
.lux-emp-list__item {
    min-width: 56rem;
}

.lux-emp-list__item {
    position: relative;
    padding: 0.75rem 0.85rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.02),
        0 6px 18px rgba(15, 23, 42, 0.05);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.lux-emp-list__item:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05),
        0 12px 28px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    transform: translateY(-1px);
}

.lux-emp-list__item.is-inactive {
    opacity: 0.9;
}

.lux-emp-list__item.is-deleted {
    opacity: 0.82;
}

.lux-emp-list__item.is-menu-open {
    z-index: 6;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
}

.lux-emp-list__item.is-skeleton {
    pointer-events: none;
    cursor: default;
    transform: none;
    border-style: solid;
}

.lux-emp-list__item.is-skeleton:hover {
    transform: none;
}

.lux-emp-list__col {
    min-width: 0;
    font-size: 0.6875rem;
    color: #334155;
}

.lux-emp-list__col.is-center {
    display: flex;
    justify-content: center;
}

.lux-emp-list__col--actions {
    overflow: visible;
}

.lux-emp-list__employee {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.lux-emp-list__avatar-wrap {
    position: relative;
    flex-shrink: 0;
    width: 3.15rem;
    height: 3.15rem;
}

.lux-emp-list__avatar-link {
    position: relative;
    display: block;
    width: 3.15rem;
    height: 3.15rem;
    border-radius: 9911px;
    transition: transform 0.14s ease;
}

.lux-emp-list__avatar-link:hover {
    transform: scale(1.04);
}

.lux-emp-list__avatar-ring {
    position: absolute;
    inset: -3px;
    border-radius: 9911px;
    background: linear-gradient(
        135deg,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.5),
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1)
    );
    pointer-events: none;
}

.lux-emp-list__avatar {
    position: relative;
    z-index: 1;
    width: 3.15rem !important;
    height: 3.15rem !important;
    object-fit: cover;
    border: 2.5px solid #fff !important;
    border-radius: 9911px !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
    padding: 0 !important;
    background: #f8fafc;
}

.lux-emp-list__initials {
    position: absolute;
    right: -0.08rem;
    bottom: -0.05rem;
    z-index: 2;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.22rem;
    border: 2px solid #fff;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    display: grid;
    place-items: center;
    box-shadow: 0 2px 8px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
}

.lux-emp-list__employee-copy {
    min-width: 0;
}

.lux-emp-list__employee-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.28rem;
    margin-bottom: 0.14rem;
}

.lux-emp-list__code {
    display: inline-flex;
    align-items: center;
    min-height: 1.05rem;
    padding: 0 0.38rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
    background: rgba(148, 163, 184, 0.14);
    border: 0px solid rgba(226, 232, 240, 0.95);
}

.lux-emp-list__status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.05rem;
    padding: 0 0.38rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.lux-emp-list__status-pill.is-success {
    color: #047857;
    background: rgba(16, 185, 129, 0.12);
}

.lux-emp-list__status-pill.is-muted {
    color: #64748b;
    background: rgba(148, 163, 184, 0.16);
}

.lux-emp-list__status-pill.is-danger {
    color: #b91c1c;
    background: rgba(239, 68, 68, 0.12);
}

.lux-emp-list__name {
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.25;
    color: #0f172a;
}

.lux-emp-list__name a {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: inherit;
    text-decoration: none;
    transition: color 0.14s ease;
}

.lux-emp-list__name a i {
    flex-shrink: 0;
    font-size: 0.6875rem;
    opacity: 0;
    transform: translate(-2px, 2px);
    transition: opacity 0.14s ease, transform 0.14s ease;
}

.lux-emp-list__name a:hover {
    color: var(--lux-primary, #5b5ff4);
}

.lux-emp-list__name a:hover i {
    opacity: 1;
    transform: translate(0, 0);
}

.lux-emp-list__designation {
    margin-top: 0.1rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-emp-list__team {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    max-width: 100%;
    margin-top: 0.22rem;
    padding: 0.12rem 0.42rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-emp-list__team i {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-emp-list__skill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    max-width: 100%;
    min-height: 1.65rem;
    padding: 0.28rem 0.55rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lux-primary-dark, #3730a3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-emp-list__skill i {
    flex-shrink: 0;
    font-size: 0.6875rem;
}

.lux-emp-list__type {
    display: inline-flex;
    align-items: center;
    min-height: 1.65rem;
    padding: 0 0.55rem;
    border-radius: 12px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-emp-list__type.is-blue {
    color: #1d4ed8;
    background: rgba(59, 130, 246, 0.12);
    border: 0px solid rgba(59, 130, 246, 0.16);
}

.lux-emp-list__type.is-amber {
    color: #b45309;
    background: rgba(245, 158, 11, 0.14);
    border: 0px solid rgba(245, 158, 11, 0.18);
}

.lux-emp-list__type.is-teal {
    color: #0f766e;
    background: rgba(20, 184, 166, 0.14);
    border: 0px solid rgba(20, 184, 166, 0.18);
}

.lux-emp-list__type.is-violet {
    color: #6d28d9;
    background: rgba(139, 92, 246, 0.14);
    border: 0px solid rgba(139, 92, 246, 0.18);
}

.lux-emp-list__type.is-slate {
    color: #475569;
    background: rgba(148, 163, 184, 0.18);
    border: 0px solid rgba(148, 163, 184, 0.22);
}

.lux-emp-list__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    max-width: 100%;
    min-height: 1.75rem;
    padding: 0.28rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    color: #475569;
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
    overflow: hidden;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease;
}

.lux-emp-list__chip span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.lux-emp-list__chip i {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-emp-list__chip:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-emp-list__join {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding: 0.35rem 0.625rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.9);
    border: 0px solid rgba(226, 232, 240, 0.95);
}

.lux-emp-list__join strong {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
}

.lux-emp-list__join span {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-emp-list__join span i {
    font-size: 0.75rem;
    opacity: 0.85;
}

.lux-emp-list__empty {
    color: #cbd5e1;
    font-weight: 600;
}

.lux-emp-list__no-actions {
    color: #cbd5e1;
}

.lux-emp-list__actions {
    position: relative;
    display: inline-flex;
    justify-content: center;
}

.lux-emp-list__menu-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.875rem;
    height: 1.875rem;
    padding: 0;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.94);
    color: #64748b;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease;
}

.lux-emp-list__menu-trigger:hover,
.lux-emp-list__item.is-menu-open .lux-emp-list__menu-trigger {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-emp-list__menu-panel {
    right: 0;
    left: auto;
}

@media (max-width: 991px) {
    .lux-emp-list {
        padding: 0.625rem;
    }
}

body.lux-shell-dark .lux-emp-list__head {
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 55%),
        rgba(15, 23, 42, 0.92);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-emp-list__head-cell {
    color: #94a3b8;
}

body.lux-shell-dark .lux-emp-list__item {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 48%),
        linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.9));
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-emp-list__item:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

body.lux-shell-dark .lux-emp-list__designation,
body.lux-shell-dark .lux-emp-list__team,
body.lux-shell-dark .lux-emp-list__chip,
body.lux-shell-dark .lux-emp-list__join strong {
    color: #cbd5e1;
}

body.lux-shell-dark .lux-emp-list__col {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-emp-list__name {
    color: #f1f5f9;
}

body.lux-shell-dark .lux-emp-list__chip,
body.lux-shell-dark .lux-emp-list__join {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-emp-list__menu-trigger {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(51, 65, 85, 0.9);
    color: #94a3b8;
}

body.lux-shell-dark .lux-emp-list__join span {
    color: #a5b4fc;
}

/* ========== luxury-bid-requests.css ========== */

/* ========== Bid requests — luxury list, summary, detail ========== */

.lux-bid-requests {
    width: 100%;
}

.lux-bid-requests-empty__create-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.125rem;
    padding: 0 1rem;
    border: none;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
}

.lux-bid-requests-empty__create-btn:hover {
    transform: translateY(-1px);
}

/* Summary — mirrors employee summary rhythm */
.lux-bid-summary {
    border: 0px solid rgba(226, 232, 240, 0.95);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 42%),
        radial-gradient(circle at 100% 0%, rgba(14, 165, 233, 0.05), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow: 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03), 0 12px 28px rgba(15, 23, 42, 0.06);
}

.lux-bid-summary__header-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
}

.lux-bid-summary:not(.is-collapsed) .lux-bid-summary__header-bar {
    margin-bottom: 0.45rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

/* Eyebrow — see luxury-summary-shared.css (.lux-summary-eyebrow) */

.lux-bid-summary__title {
    margin: 0.2rem 0 0;
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
}

.lux-bid-summary__title span {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #64748b;
}

.lux-bid-summary__title--compact { font-size: 0.95rem; }
.lux-bid-summary__title--bar { font-size: 0.875rem; }

.lux-bid-summary__toggle {
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.88);
    letter-spacing: 0.04em;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease;
}

.lux-bid-summary:not(.is-collapsed) .lux-bid-summary__body {
    max-height: 2400px;
}

.lux-bid-pipeline-summary:not(.is-collapsed) .lux-bid-summary__body {
    max-height: 5600px;
}

.lux-bid-summary__collapsed-line {
    margin: 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-bid-summary__hero { margin-bottom: 0.65rem; }

.lux-bid-summary__hero-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.lux-bid-summary__subtitle {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-bid-summary__hero-rate {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
}

.lux-bid-summary__rate-ring {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    background: conic-gradient(
        var(--lux-primary, #5b5ff4) calc(var(--lux-win-pct, 0) * 1%),
        #e2e8f0 0
    );
}

.lux-bid-summary__rate-copy strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-bid-summary__rate-copy span {
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-bid-summary__filter-chip {
    min-height: 1.625rem;
    padding: 0 0.55rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
}

.lux-bid-summary__insights {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 0.65rem;
}

.lux-bid-summary__insight {
    padding: 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.75);
}

.lux-bid-summary__insight header {
    display: flex;
    gap: 0.45rem;
    margin-bottom: 0.55rem;
}

.lux-bid-summary__insight header i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 1rem;
}

.lux-bid-summary__insight header strong {
    display: block;
    font-size: 0.6875rem;
    color: #0f172a;
}

.lux-bid-summary__insight header span {
    display: block;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-bid-summary__bar {
    display: flex;
    height: 0.45rem;
    border-radius: 9911px;
    overflow: hidden;
    background: #e2e8f0;
    margin-bottom: 0.45rem;
}

.lux-bid-summary__bar--empty {
    height: auto;
    padding: 0.35rem 0.625rem;
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-bid-summary__bar-segment.is-sky { background: #0ea5e9; }
.lux-bid-summary__bar-segment.is-indigo { background: #6366f1; }
.lux-bid-summary__bar-segment.is-amber { background: #f59e0b; }
.lux-bid-summary__bar-segment.is-green { background: #10b981; }
.lux-bid-summary__bar-segment.is-rose { background: #f43f5e; }
.lux-bid-summary__bar-segment.is-slate { background: #94a3b8; }

.lux-bid-summary__legend {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.lux-bid-summary__legend li {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: 0.35rem;
    align-items: center;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-bid-summary__legend-dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
}

.lux-bid-summary__legend-dot.is-sky { background: #0ea5e9; }
.lux-bid-summary__legend-dot.is-indigo { background: #6366f1; }
.lux-bid-summary__legend-dot.is-amber { background: #f59e0b; }
.lux-bid-summary__legend-dot.is-green { background: #10b981; }
.lux-bid-summary__legend-dot.is-rose { background: #f43f5e; }
.lux-bid-summary__legend-dot.is-slate { background: #94a3b8; }

.lux-bid-summary__highlight-value {
    font-size: 1.5rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
}

.lux-bid-summary__coverage-row {
    display: flex;
    gap: 0.85rem;
    margin: 0.45rem 0;
    font-size: 0.75rem;
    color: #475569;
}

/* Compact pipeline overview */
.lux-bid-summary__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem 0.625rem;
    margin-bottom: 0.4rem;
}

.lux-bid-summary__toolbar .lux-bid-summary__subtitle {
    margin: 0;
    flex: 1 1 12rem;
}

.lux-bid-summary__metrics-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.4rem;
    align-items: stretch;
    margin-bottom: 0.35rem;
}

.lux-bid-summary__win-chip {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.625rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
    min-width: 6.5rem;
}

.lux-bid-summary__win-chip .lux-bid-summary__rate-ring {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 0.625rem;
    flex-shrink: 0;
    background: conic-gradient(
        #10b981 0 calc(var(--lux-win-pct, 0) * 1%),
        #e2e8f0 calc(var(--lux-win-pct, 0) * 1%) 100%
    );
}

.lux-bid-summary__win-chip-copy strong {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-bid-summary__win-chip-copy span {
    font-size: 0.6875rem;
    color: #475569;
}

.lux-bid-summary__hero {
    padding: 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 45%),
        rgba(255, 255, 255, 0.88);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.lux-bid-summary__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: start;
}

.lux-bid-summary__title--hero {
    font-size: 1.75rem;
}

.lux-bid-summary__title--hero span {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.75rem;
}

.lux-bid-summary__hero-viz {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 0.625rem 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.9);
}

.lux-bid-summary__rate-ring--large {
    width: 4.5rem;
    height: 4.5rem;
    padding: 0.2rem;
    background: conic-gradient(
        #10b981 0 calc(var(--lux-win-pct, 0) * 1%),
        #e2e8f0 calc(var(--lux-win-pct, 0) * 1%) 100%
    );
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.15);
}

.lux-bid-summary__rate-ring-inner {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.05rem;
    background: #fff;
    font-size: 1.125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-bid-summary__rate-ring-inner span {
    font-size: 0.75rem;
    color: #64748b;
}

.lux-bid-summary__stage-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.2rem 0.15rem;
    margin: 0 0 0.4rem;
    padding: 0;
    border: none;
}

.lux-bid-summary__stage-node {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 0.25rem;
    min-width: 0;
    padding: 0.2rem 0.45rem;
    border-radius: 9911px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: #fff;
}

.lux-bid-summary__stage-node.is-sky { border-color: rgba(14, 165, 233, 0.35); background: rgba(14, 165, 233, 0.06); }
.lux-bid-summary__stage-node.is-indigo { border-color: rgba(99, 102, 241, 0.35); background: rgba(99, 102, 241, 0.06); }
.lux-bid-summary__stage-node.is-amber { border-color: rgba(245, 158, 11, 0.35); background: rgba(245, 158, 11, 0.06); }
.lux-bid-summary__stage-node.is-green { border-color: rgba(16, 185, 129, 0.35); background: rgba(16, 185, 129, 0.06); }

.lux-bid-summary__stage-node-label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-bid-summary__stage-node strong {
    font-size: 0.6875rem;
    color: #0f172a;
}

.lux-bid-summary__stage-arrow {
    color: #cbd5e1;
    font-size: 0.75rem;
}

.lux-bid-summary__kpi-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.35rem;
    margin: 0;
}

.lux-bid-summary__kpi-strip--skeleton {
    margin-top: 0.65rem;
}

.lux-bid-summary__kpi {
    padding: 0.35rem 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: none;
}

.lux-bid-summary__kpi.is-indigo { border-color: rgba(99, 102, 241, 0.25); }
.lux-bid-summary__kpi.is-amber { border-color: rgba(245, 158, 11, 0.28); }
.lux-bid-summary__kpi.is-green { border-color: rgba(16, 185, 129, 0.28); }
.lux-bid-summary__kpi.is-slate { border-color: rgba(148, 163, 184, 0.35); }

.lux-bid-summary__kpi-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    margin-bottom: 0.25rem;
}

.lux-bid-summary__kpi-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-bid-summary__kpi-icon {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 8px;
    display: grid;
    place-items: center;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
}

.lux-bid-summary__kpi-value {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-bid-summary__kpi-hint {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-bid-summary__analytics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.4rem;
    align-items: stretch;
}

.lux-bid-summary__chart-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0.4rem 0.45rem 0.35rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.lux-bid-summary__chart-panel--compact .lux-bid-summary__panel-head {
    margin-bottom: 0.15rem;
}

.lux-bid-summary__chart-panel--funnel-compact {
    grid-column: span 1;
}

.lux-bid-summary__chart-panel--funnel-compact .lux-bid-summary__panel-head {
    margin-bottom: 0.25rem;
}

.lux-bid-summary__chart-panel--funnel {
    background:
        radial-gradient(circle at 0% 100%, rgba(14, 165, 233, 0.05), transparent 40%),
        rgba(255, 255, 255, 0.98);
}

.lux-bid-summary__panel-head {
    margin-bottom: 0.25rem;
}

.lux-bid-summary__panel-title {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-bid-summary__panel-sub {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-bid-summary__chart-body {
    flex: 1;
    min-height: 0;
}

.lux-bid-summary__chart-empty {
    margin: 0;
    padding: 0.75rem 0.25rem;
    text-align: center;
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-bid-summary__chart-body {
    min-height: 0;
}

.lux-bid-summary__chart-body .apexcharts-canvas {
    margin: 0 auto;
}

.lux-bid-summary__charts--skeleton {
    margin-top: 0.35rem;
}

.lux-bid-summary__mix-strip-label {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-bid-summary__legend--inline {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.625rem 0.85rem;
    margin-top: 0.45rem;
}

.lux-bid-summary__legend--inline li {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    grid-template-columns: none;
}

/* CSS funnel diagram */
.lux-bid-funnel-diagram {
    padding: 0.35rem 0.25rem;
}

.lux-bid-funnel-diagram--empty {
    padding: 1.5rem 0.625rem;
    text-align: center;
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-bid-funnel-diagram__stages {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
}

.lux-bid-funnel-diagram__stage {
    width: var(--lux-funnel-width, 80%);
    max-width: 100%;
    transition: width 0.35s ease;
}

.lux-bid-funnel-diagram__stage-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    border-radius: 12px;
    border: 0px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.lux-bid-funnel-diagram__stage.is-sky .lux-bid-funnel-diagram__stage-inner {
    background: linear-gradient(135deg, #0ea5e9, #0284c7);
    color: #fff;
}
.lux-bid-funnel-diagram__stage.is-indigo .lux-bid-funnel-diagram__stage-inner {
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    color: #fff;
}
.lux-bid-funnel-diagram__stage.is-amber .lux-bid-funnel-diagram__stage-inner {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
}
.lux-bid-funnel-diagram__stage.is-green .lux-bid-funnel-diagram__stage-inner {
    background: linear-gradient(135deg, #10b981, #059669);
    color: #fff;
}

.lux-bid-funnel-diagram__stage-label {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.92;
}

.lux-bid-funnel-diagram__stage-value {
    font-size: 1.125rem;
    font-weight: 800;
}

.lux-bid-funnel-diagram__stage-pct {
    font-size: 0.6875rem;
    font-weight: 700;
    opacity: 0.85;
}

.lux-bid-funnel-diagram__connector {
    display: flex;
    justify-content: center;
    color: #cbd5e1;
    font-size: 0.75rem;
    line-height: 1;
}

.lux-bid-funnel-diagram__caption {
    margin: 0.625rem 0 0;
    text-align: center;
    font-size: 0.6875rem;
    color: #94a3b8;
}

/* Horizontal compact funnel */
.lux-bid-funnel-diagram--horizontal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.15rem 0.1rem;
    padding: 0.15rem 0;
}

.lux-bid-funnel-diagram__h-stage {
    flex: 1 1 3.5rem;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.3rem 0.25rem;
    border-radius: 8px;
    text-align: center;
}

.lux-bid-funnel-diagram__h-stage.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-bid-funnel-diagram__h-stage.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-bid-funnel-diagram__h-stage.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-bid-funnel-diagram__h-stage.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }

.lux-bid-funnel-diagram__h-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.9;
}

.lux-bid-funnel-diagram__h-value {
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.1;
}

.lux-bid-funnel-diagram__h-pct {
    font-size: 0.6875rem;
    font-weight: 700;
    opacity: 0.75;
}

.lux-bid-funnel-diagram__h-arrow {
    flex: 0 0 auto;
    color: #cbd5e1;
    font-size: 0.75rem;
    padding: 0 0.05rem;
}

.lux-bid-funnel-diagram--empty {
    padding: 0.625rem;
    font-size: 0.6875rem;
}

.lux-bid-summary__legend-dot.is-violet { background: #8b5cf6; }
.lux-bid-summary__legend-dot.is-teal { background: #14b8a6; }
.lux-bid-summary__bar-segment.is-violet { background: #8b5cf6; }
.lux-bid-summary__bar-segment.is-teal { background: #14b8a6; }

.lux-bid-summary__legend em {
    font-style: normal;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #94a3b8;
}

/* —— Bid pipeline summary (distinct layout from purchase contracts) —— */

.lux-bid-pipeline-summary .lux-bid-summary__header-bar {
    background:
        radial-gradient(circle at 0% 0%, rgba(16, 185, 129, 0.07), transparent 40%),
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 42%);
}

.lux-bid-pipeline-summary__metrics-row {
    align-items: stretch;
}

.lux-bid-pipeline-summary__rate-chips {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 10.625rem;
    flex-shrink: 0;
}

.lux-bid-pipeline-summary__pipeline-chip .lux-bid-summary__rate-ring.is-pipeline {
    background: conic-gradient(
        #6366f1 0% calc(var(--lux-win-pct) * 1%),
        rgba(99, 102, 241, 0.14) calc(var(--lux-win-pct) * 1%) 100%
    );
}

.lux-bid-pipeline-summary__insights {
    margin-bottom: 0.625rem;
}

.lux-bid-pipeline-summary__insight {
    background:
        radial-gradient(circle at 0% 100%, rgba(16, 185, 129, 0.05), transparent 45%),
        rgba(255, 255, 255, 0.82);
}

.lux-bid-pipeline-summary__highlights {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.4rem;
    margin-bottom: 0.625rem;
}

.lux-bid-pipeline-summary__highlight {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.45rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.lux-bid-pipeline-summary__highlight.is-sky { border-color: rgba(14, 165, 233, 0.28); }
.lux-bid-pipeline-summary__highlight.is-indigo { border-color: rgba(99, 102, 241, 0.28); }
.lux-bid-pipeline-summary__highlight.is-teal { border-color: rgba(20, 184, 166, 0.28); }
.lux-bid-pipeline-summary__highlight.is-amber { border-color: rgba(245, 158, 11, 0.28); }

.lux-bid-pipeline-summary__highlight-icon {
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.8rem;
    flex-shrink: 0;
}

.lux-bid-pipeline-summary__highlight.is-teal .lux-bid-pipeline-summary__highlight-icon {
    background: rgba(20, 184, 166, 0.12);
    color: #0f766e;
}

.lux-bid-pipeline-summary__highlight-copy {
    min-width: 0;
}

.lux-bid-pipeline-summary__highlight-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-bid-pipeline-summary__highlight-copy strong {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
}

.lux-bid-pipeline-summary__highlight-hint {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.6875rem;
    color: #94a3b8;
    line-height: 1.3;
}

.lux-bid-pipeline-summary__row {
    display: grid;
    gap: 0.4rem;
    margin-bottom: 0.4rem;
}

/* Hero: wide trend | win/loss columns | outcomes */
.lux-bid-pipeline-summary__row--hero {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.95fr) minmax(0, 0.85fr);
}

/* Pipeline: vertical funnel | age | status | funnel bar */
.lux-bid-pipeline-summary__row--pipeline {
    grid-template-columns: minmax(0, 0.85fr) repeat(3, minmax(0, 1fr));
}

.lux-bid-pipeline-summary__funnel-vertical {
    background:
        radial-gradient(circle at 50% 0%, rgba(99, 102, 241, 0.06), transparent 55%),
        rgba(255, 255, 255, 0.98);
}

.lux-bid-pipeline-summary__funnel-vertical .lux-bid-funnel-diagram--vertical {
    padding: 0.15rem 0;
}

/* Market: wide geography | kind | bid type | SF */
.lux-bid-pipeline-summary__row--market {
    grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
}

.lux-bid-pipeline-summary__row--people {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
}

@media (max-width: 1400px) {
    .lux-bid-pipeline-summary__highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-bid-pipeline-summary__row--hero,
    .lux-bid-pipeline-summary__row--pipeline,
    .lux-bid-pipeline-summary__row--market {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-bid-pipeline-summary__row--hero .lux-bid-summary__chart-panel--wide,
    .lux-bid-pipeline-summary__row--market .lux-bid-summary__chart-panel--wide,
    .lux-bid-pipeline-summary__row--people .lux-bid-summary__chart-panel--wide,
    .lux-bid-pipeline-summary__row--pipeline .lux-bid-pipeline-summary__funnel-vertical {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1100px) {
    .lux-bid-pipeline-summary__rate-chips {
        flex-direction: row;
        min-width: 0;
        width: 100%;
    }

    .lux-bid-pipeline-summary__rate-chips .lux-bid-summary__win-chip {
        flex: 1;
    }
}

@media (max-width: 900px) {
    .lux-bid-pipeline-summary__highlights {
        grid-template-columns: 1fr;
    }

    .lux-bid-pipeline-summary__row--hero,
    .lux-bid-pipeline-summary__row--pipeline,
    .lux-bid-pipeline-summary__row--market,
    .lux-bid-pipeline-summary__row--people {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1100px) {
    .lux-bid-summary__analytics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-bid-summary__kpi-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-bid-summary__metrics-row {
        grid-template-columns: 1fr;
    }

    .lux-bid-summary__win-chip {
        flex-direction: row;
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .lux-bid-summary__analytics {
        grid-template-columns: 1fr;
    }

    .lux-bid-summary__kpi-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ========== Bid list — elegant register ========== */
.lux-bid-list-shell__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
}

.lux-bid-list-shell__label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-bid-list-shell__label i {
    color: var(--lux-primary, #5b5ff4);
}

.lux-bid-list-shell__count {
    font-size: 0.75rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-bid-list-shell__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.lux-bid-list-shell__refresh {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    padding: 0;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.95);
    color: #64748b;
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease, transform 0.14s ease;
}

.lux-bid-list-shell__refresh i {
    font-size: 0.8125rem;
    line-height: 1;
}

.lux-bid-list-shell__refresh:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
    transform: rotate(-18deg);
}

.lux-bid-list-shell__refresh:focus-visible {
    outline: 2px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    outline-offset: 2px;
}

.lux-bid-list-shell__refresh.is-loading {
    pointer-events: none;
    opacity: 0.72;
}

.lux-bid-list-shell__refresh.is-loading i {
    animation: lux-bid-list-shell-spin 0.75s linear infinite;
}

@keyframes lux-bid-list-shell-spin {
    to { transform: rotate(360deg); }
}

.lux-bid-list {
    --lux-bid-list-cols:
        3.25rem 5.5rem minmax(12rem, 1.55fr) minmax(5.5rem, 0.85fr) 5rem minmax(5.5rem, 0.8fr)
        minmax(5rem, 0.75fr) minmax(6.5rem, 0.9fr) 2.5rem;
}

.lux-bid-list__head,
.lux-bid-list__item {
    display: grid;
    grid-template-columns: var(--lux-bid-list-cols);
    align-items: center;
    gap: 0.45rem;
    min-width: 54rem;
}

.lux-bid-list__head {
    position: sticky;
    top: 0;
    z-index: 5;
    margin-bottom: 0.4rem;
    padding: 0.625rem 0.75rem 0.625rem 0.85rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 50%),
        rgba(248, 250, 252, 0.98);
    backdrop-filter: blur(12px);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-bid-list__head-cell {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-bid-list__head-cell.is-center {
    text-align: center;
}

.lux-bid-list__head-label {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
}

.lux-bid-list__head-label i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.6875rem;
}

.lux-bid-list__head-label--sr {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.lux-bid-list__body {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
}

.lux-bid-list__item {
    position: relative;
    padding: 0.65rem 0.75rem 0.65rem 0.9rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.97));
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
    overflow: visible;
}

.lux-bid-list__item:hover,
.lux-bid-list__item.is-menu-open {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    box-shadow: 0 12px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    transform: translateY(-1px);
    z-index: 2;
}

.lux-bid-list__item.is-archived {
    opacity: 0.88;
}

.lux-bid-list__item.is-deleted {
    position: relative;
    opacity: 1;
    border-color: rgba(244, 63, 94, 0.28);
    background:
        linear-gradient(90deg, rgba(244, 63, 94, 0.07) 0%, rgba(255, 255, 255, 0.98) 18%),
        repeating-linear-gradient(
            -45deg,
            rgba(244, 63, 94, 0.025),
            rgba(244, 63, 94, 0.025) 6px,
            transparent 6px,
            transparent 12px
        );
    box-shadow:
        inset 3px 0 0 rgba(244, 63, 94, 0.55),
        0 4px 14px rgba(244, 63, 94, 0.08);
}

.lux-bid-list__item.is-deleted:hover,
.lux-bid-list__item.is-deleted.is-menu-open {
    border-color: rgba(244, 63, 94, 0.42);
    box-shadow:
        inset 3px 0 0 rgba(220, 38, 38, 0.75),
        0 12px 24px rgba(244, 63, 94, 0.14);
    transform: translateY(-1px);
}

.lux-bid-list__item.is-deleted .lux-bid-list__accent {
    background: linear-gradient(180deg, #f43f5e, #be123c);
    box-shadow: 0 0 12px rgba(244, 63, 94, 0.35);
}

.lux-bid-list__item.is-deleted .lux-bid-list__study-link {
    color: #9f1239;
    text-decoration: line-through;
    text-decoration-color: rgba(244, 63, 94, 0.45);
    text-decoration-thickness: 1px;
}

.lux-bid-list__item.is-deleted .lux-bid-list__study-link:hover {
    color: #be123c;
}

.lux-bid-list__item.is-deleted .lux-bid-list__ref,
.lux-bid-list__item.is-deleted .lux-bid-list__date {
    color: #9f1239;
}

.lux-bid-list__deleted-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1rem 0.42rem;
    border-radius: 9911px;
    border: 0px solid rgba(244, 63, 94, 0.28);
    background: rgba(244, 63, 94, 0.12);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #be123c;
    flex-shrink: 0;
}

.lux-bid-list__deleted-badge i {
    font-size: 0.625rem;
}

.lux-bid-list__item.is-deleted .lux-bid-list__status-pill,
.lux-bid-list__item.is-deleted .lux-bid-list__type-pill {
    opacity: 0.72;
}

.lux-bid-list__accent {
    position: absolute;
    left: 0;
    top: 0.625rem;
    bottom: 0.625rem;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: #94a3b8;
}

.lux-bid-list__item.is-status-sky .lux-bid-list__accent { background: #0ea5e9; }
.lux-bid-list__item.is-status-indigo .lux-bid-list__accent { background: #6366f1; }
.lux-bid-list__item.is-status-amber .lux-bid-list__accent { background: #f59e0b; }
.lux-bid-list__item.is-status-green .lux-bid-list__accent { background: #10b981; }
.lux-bid-list__item.is-status-rose .lux-bid-list__accent { background: #f43f5e; }
.lux-bid-list__item.is-status-slate .lux-bid-list__accent { background: #94a3b8; }

.lux-bid-list__col {
    min-width: 0;
    font-size: 0.6875rem;
    color: #334155;
}

.lux-bid-list__ref {
    display: inline-block;
    padding: 0.15rem 0.35rem;
    border-radius: 6px;
    background: rgba(148, 163, 184, 0.12);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #64748b;
}

.lux-bid-list__date {
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
}

.lux-bid-list__study {
    min-width: 0;
}

.lux-bid-list__study-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    margin-bottom: 0.2rem;
}

.lux-bid-list__status-pill,
.lux-bid-list__type-pill {
    display: inline-flex;
    padding: 0.1rem 0.4rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-bid-list__status-pill.is-sky { background: rgba(14, 165, 233, 0.14); color: #0369a1; }
.lux-bid-list__status-pill.is-indigo { background: rgba(99, 102, 241, 0.14); color: #4338ca; }
.lux-bid-list__status-pill.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-bid-list__status-pill.is-green { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-bid-list__status-pill.is-rose { background: rgba(244, 63, 94, 0.14); color: #be123c; }
.lux-bid-list__status-pill.is-slate { background: rgba(148, 163, 184, 0.18); color: #475569; }

.lux-bid-list__type-pill.is-indigo { background: rgba(99, 102, 241, 0.1); color: #4338ca; }
.lux-bid-list__type-pill.is-violet { background: rgba(139, 92, 246, 0.1); color: #6d28d9; }
.lux-bid-list__type-pill.is-sky { background: rgba(14, 165, 233, 0.1); color: #0369a1; }
.lux-bid-list__type-pill.is-amber { background: rgba(245, 158, 11, 0.1); color: #b45309; }
.lux-bid-list__type-pill.is-teal { background: rgba(20, 184, 166, 0.1); color: #0f766e; }
.lux-bid-list__type-pill.is-green { background: rgba(16, 185, 129, 0.1); color: #047857; }
.lux-bid-list__type-pill.is-slate { background: rgba(148, 163, 184, 0.12); color: #475569; }

.lux-bid-list__study-link {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    max-width: 100%;
    font-size: 0.8125rem;
    font-weight: 800;
    line-height: 1.25;
    color: #0f172a;
    text-decoration: none;
}

.lux-bid-list__study-link i {
    flex-shrink: 0;
    font-size: 0.75rem;
    opacity: 0;
    transition: opacity 0.14s ease;
}

.lux-bid-list__study-link:hover {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-bid-list__item:hover .lux-bid-list__study-link i {
    opacity: 1;
}

.lux-bid-list__study-meta {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.15rem;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-bid-list__study-meta i {
    font-size: 0.75rem;
    color: #94a3b8;
}

.lux-bid-list__sf-id {
    font-size: 0.75rem;
    font-weight: 700;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    color: #475569;
}

.lux-bid-list__chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    justify-content: center;
}

.lux-bid-list__col--kind .lux-bid-list__chip-list,
.lux-bid-list__col--countries .lux-bid-list__chip-list {
    justify-content: flex-start;
}

.lux-bid-list__chip {
    display: inline-block;
    max-width: 100%;
    padding: 0.12rem 0.38rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 700;
    color: #475569;
    background: rgba(148, 163, 184, 0.12);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-bid-list__chip--study { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1); color: var(--lux-primary-dark, #3730a3); }
.lux-bid-list__chip--kind { background: rgba(245, 158, 11, 0.1); color: #b45309; }
.lux-bid-list__chip--geo { background: rgba(14, 165, 233, 0.1); color: #0369a1; }
.lux-bid-list__chip--more { background: rgba(15, 23, 42, 0.08); color: #64748b; }

.lux-bid-list__empty {
    font-size: 0.75rem;
    color: #cbd5e1;
}

.lux-bid-list__status-select {
    display: inline-flex;
    min-width: 6.5rem;
    padding: 0.15rem 0.35rem;
    border-radius: 9911px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: #fff;
}

.lux-bid-list__status-select.is-sky { border-color: rgba(14, 165, 233, 0.35); }
.lux-bid-list__status-select.is-indigo { border-color: rgba(99, 102, 241, 0.35); }
.lux-bid-list__status-select.is-amber { border-color: rgba(245, 158, 11, 0.35); }
.lux-bid-list__status-select.is-green { border-color: rgba(16, 185, 129, 0.35); }
.lux-bid-list__status-select.is-rose { border-color: rgba(244, 63, 94, 0.35); }

.lux-bid-list__status-input,
.lux-bid-list__status-input.badge {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 0.6875rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    box-shadow: none !important;
}

.lux-bid-list__actions {
    position: relative;
    display: flex;
    justify-content: center;
}

.lux-bid-list__menu-trigger {
    width: 2rem;
    height: 2rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.95);
    color: #64748b;
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease;
}

.lux-bid-list__menu-trigger:hover,
.lux-bid-list__item.is-menu-open .lux-bid-list__menu-trigger {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-bid-list__menu-panel {
    right: 0;
    top: calc(100% + 0.35rem);
}

/* Portaled menus — fixed to viewport (see LuxListRowMenuPortal.jsx) */
.lux-list-row-menu-portal.lux-emp-card__menu-panel {
    top: auto;
    right: auto;
    margin: 0;
}

.lux-bid-list__item.is-skeleton {
    pointer-events: none;
    cursor: default;
    transform: none;
}

.lux-bid-list__item.is-skeleton:hover {
    transform: none;
    border-color: rgba(226, 232, 240, 0.95);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-register-skeleton-cell--flex {
    display: block;
    width: 100%;
    min-width: 0;
}

.lux-register-skeleton-cell--flex > span {
    width: 100% !important;
}

.lux-bid-list__body.is-loading,
.lux-emp-list__body.is-loading,
.lux-inv-list__body.is-loading,
.lux-taskboard-list__body.is-loading,
.lux-schedule-register__body.is-loading {
    min-height: min(70vh, 36rem);
}

.lux-table-skeleton-row td {
    padding: 0.55rem 0.45rem;
    vertical-align: middle;
}

.lux-table-skeleton-row__cell {
    display: block;
    width: 100%;
    min-width: 0;
}

.lux-table-skeleton-row__cell > span {
    width: 100% !important;
}

.lux-report-results__scroll tbody.is-loading,
.table tbody:has(.lux-table-skeleton-row) {
    min-height: min(60vh, 28rem);
}

.lux-acct-dir-row.is-skeleton {
    pointer-events: none;
    cursor: default;
    transform: none;
}

.lux-acct-dir-row.is-skeleton:hover {
    transform: none;
    border-color: rgba(226, 232, 240, 0.95);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-acct-dir-list.is-loading {
    min-height: min(60vh, 32rem);
}

.lux-activity-pending__skeleton {
    min-height: min(50vh, 22rem);
}

.lux-activity-pending__skeleton-line {
    display: block;
    width: 100%;
    margin-bottom: 0.5rem;
}

.lux-activity-pending__skeleton-line > span {
    width: 100% !important;
}

/* ========== Bid detail page — luxury layout ========== */
.lux-bid-detail-page {
    min-height: 50vh;
    padding-bottom: 1.5rem;
}

.lux-bid-detail-page__loading {
    padding: 0.75rem;
}

.lux-bid-detail-page__loading-grid {
    display: grid;
    grid-template-columns: 1fr 16rem;
    gap: 0.65rem;
    margin-top: 0.65rem;
}

.lux-bid-detail {
    padding: 0 0.75rem 1rem;
    max-width: 1400px;
}

.lux-bid-detail__breadcrumb.lux-back-nav {
    margin: 0.625rem 0 0.45rem;
}

.lux-bid-detail__hero {
    position: relative;
    margin-bottom: 0.65rem;
    padding: 1rem 1.1rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 20px;
    overflow: hidden;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 42%),
        radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.06), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.07);
}

.lux-bid-detail__hero-glow {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.45) 50%, transparent 60%);
    pointer-events: none;
    opacity: 0.5;
}

.lux-bid-detail__hero-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: start;
}

.lux-bid-detail__hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-bottom: 0.4rem;
}

.lux-bid-detail__ref-pill,
.lux-bid-detail__status-pill,
.lux-bid-detail__type-pill,
.lux-bid-detail__flag-pill {
    display: inline-flex;
    padding: 0.15rem 0.625rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.lux-bid-detail__ref-pill {
    background: rgba(15, 23, 42, 0.08);
    color: #475569;
}

.lux-bid-detail__status-pill.is-sky { background: rgba(14, 165, 233, 0.14); color: #0369a1; }
.lux-bid-detail__status-pill.is-indigo { background: rgba(99, 102, 241, 0.14); color: #4338ca; }
.lux-bid-detail__status-pill.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-bid-detail__status-pill.is-green { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-bid-detail__status-pill.is-rose { background: rgba(244, 63, 94, 0.14); color: #be123c; }
.lux-bid-detail__status-pill.is-slate { background: rgba(148, 163, 184, 0.18); color: #475569; }

.lux-bid-detail__type-pill.is-indigo { background: rgba(99, 102, 241, 0.1); color: #4338ca; }
.lux-bid-detail__type-pill.is-violet { background: rgba(139, 92, 246, 0.1); color: #6d28d9; }
.lux-bid-detail__type-pill.is-sky { background: rgba(14, 165, 233, 0.1); color: #0369a1; }
.lux-bid-detail__type-pill.is-amber { background: rgba(245, 158, 11, 0.1); color: #b45309; }
.lux-bid-detail__type-pill.is-teal { background: rgba(20, 184, 166, 0.1); color: #0f766e; }
.lux-bid-detail__type-pill.is-green { background: rgba(16, 185, 129, 0.1); color: #047857; }
.lux-bid-detail__type-pill.is-slate { background: rgba(148, 163, 184, 0.12); color: #475569; }

.lux-bid-detail__flag-pill.is-muted {
    background: rgba(148, 163, 184, 0.15);
    color: #64748b;
}

.lux-bid-detail__flag-pill.is-danger {
    background: rgba(244, 63, 94, 0.12);
    color: #be123c;
}

.lux-bid-detail__title {
    margin: 0;
    font-size: clamp(1.25rem, 2.5vw, 1.65rem);
    font-weight: 800;
    line-height: 1.2;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.lux-bid-detail__subtitle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: 0.35rem 0 0;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-bid-detail__subtitle i {
    font-size: 0.75rem;
    color: #94a3b8;
}

.lux-bid-detail__dot {
    color: #cbd5e1;
}

.lux-bid-detail__hero-aside {
    padding: 0.55rem 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.85);
    min-width: 10rem;
}

.lux-bid-detail__status-label {
    display: block;
    margin-bottom: 0.3rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-bid-detail__status-select {
    padding: 0.2rem 0.45rem;
    border-radius: 12px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: #fff;
}

.lux-bid-detail__status-select.is-sky { border-color: rgba(14, 165, 233, 0.35); }
.lux-bid-detail__status-select.is-indigo { border-color: rgba(99, 102, 241, 0.35); }
.lux-bid-detail__status-select.is-amber { border-color: rgba(245, 158, 11, 0.35); }
.lux-bid-detail__status-select.is-green { border-color: rgba(16, 185, 129, 0.35); }

.lux-bid-detail__status-input,
.lux-bid-detail__status-input.badge {
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 0.6875rem !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    box-shadow: none !important;
}

.lux-bid-detail__facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-bid-detail__fact {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    padding: 0.45rem 0.625rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.7);
    border: 0px solid rgba(241, 245, 249, 0.95);
}

.lux-bid-detail__fact-icon {
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 8px;
    display: grid;
    place-items: center;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
    flex-shrink: 0;
}

.lux-bid-detail__fact-label {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-bid-detail__fact-value {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}

.lux-bid-detail__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 17.5rem;
    gap: 0.65rem;
    align-items: start;
}

.lux-bid-detail--compact .lux-bid-detail__layout {
    grid-template-columns: 1fr;
}

.lux-bid-detail__section {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-bid-detail__section-head {
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    background: rgba(248, 250, 252, 0.9);
}

.lux-bid-detail__section-eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
}

.lux-bid-detail__section-title {
    margin: 0.1rem 0 0;
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-bid-detail__section-subtitle {
    margin: 0.35rem 0 0;
    font-size: 0.82rem;
    color: #64748b;
    line-height: 1.45;
    max-width: 52ch;
}

.lux-bid-detail__form-shell {
    padding: 0.65rem 0.75rem 0.85rem;
}

.lux-bid-detail__form-shell .lux-bid-form--full .lux-bid-form__layout--split {
    grid-template-columns: 1fr;
}

.lux-bid-detail__rail {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.lux-bid-detail__card {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.lux-bid-detail__card-head {
    padding: 0.625rem 0.65rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    background: rgba(248, 250, 252, 0.95);
}

.lux-bid-detail__card-head h2 {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-bid-detail__card-body {
    padding: 0.625rem 0.65rem 0.6rem;
}

.lux-bid-detail__card-body .lux-bid-detail__fact {
    margin-bottom: 0.35rem;
    background: transparent;
    border: none;
    padding: 0.25rem 0;
}

.lux-bid-detail__tag-group {
    margin-bottom: 0.45rem;
}

.lux-bid-detail__tag-group:last-child {
    margin-bottom: 0;
}

.lux-bid-detail__tag-label {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-bid-detail__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.lux-bid-detail__tag {
    padding: 0.15rem 0.45rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 700;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-bid-detail__tag.is-geo {
    background: rgba(14, 165, 233, 0.1);
    color: #0369a1;
}

.lux-bid-detail__comments-panel {
    margin-top: 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-bid-detail__comments-body {
    padding: 0.65rem 0.85rem 0.85rem;
}

/* Shared entity Activity & audit panels (PO / bid / deliverable) */
.lux-bid-detail__comments-panel,
.lux-entity-collab-panel {
    position: relative;
    margin-top: 0.85rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 20px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 42%),
        radial-gradient(circle at 0% 100%, rgba(20, 184, 166, 0.05), transparent 48%),
        #fff;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}

.lux-bid-detail__comments-panel::before,
.lux-entity-collab-panel::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--lux-primary, #5b5ff4), #14b8a6);
}

.lux-entity-collab-panel__head {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1.15rem 1.25rem 0.85rem;
}

.lux-entity-collab-panel__icon {
    width: 2.6rem;
    height: 2.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    flex-shrink: 0;
    color: var(--lux-primary-dark, #3730a3);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16), rgba(20, 184, 166, 0.1));
    box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-entity-collab-panel__intro {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    padding: 0 1.25rem 0.85rem;
}

.lux-entity-collab-panel__intro--single {
    grid-template-columns: 1fr;
}

.lux-entity-collab-panel__intro-card {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: rgba(255, 255, 255, 0.9);
}

.lux-entity-collab-panel__intro-card > i {
    width: 1.85rem;
    height: 1.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    flex-shrink: 0;
}

.lux-entity-collab-panel__intro-card.is-comments > i {
    color: #4338ca;
    background: rgba(99, 102, 241, 0.12);
}

.lux-entity-collab-panel__intro-card.is-audit > i {
    color: #0f766e;
    background: rgba(20, 184, 166, 0.12);
}

.lux-entity-collab-panel__intro-card strong {
    display: block;
    font-size: 0.82rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-entity-collab-panel__intro-card span {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.74rem;
    line-height: 1.4;
    color: #64748b;
}

.lux-entity-collab-panel__body,
.lux-bid-detail__comments-body.lux-entity-collab-panel__body {
    padding: 0.35rem 1.1rem 1.15rem;
}

.lux-entity-collab-panel--deliverable {
    margin-top: 0.5rem;
}

@media (max-width: 767px) {
    .lux-entity-collab-panel__intro {
        grid-template-columns: 1fr;
    }
}


.lux-bid-detail__view-body {
    padding: 0 0.625rem 1rem;
}

.lux-bid-detail--compact .lux-bid-detail__hero {
    margin-bottom: 0.625rem;
    padding: 0.75rem;
}

.lux-bid-detail--compact .lux-bid-detail__facts {
    display: none;
}

@media (max-width: 1100px) {
    .lux-bid-detail__layout {
        grid-template-columns: 1fr;
    }

    .lux-bid-detail__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-bid-detail-page__loading-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .lux-bid-detail__hero-inner {
        grid-template-columns: 1fr;
    }

    .lux-bid-detail__facts {
        grid-template-columns: 1fr;
    }
}

/* Question blocks in create form */
.lux-bid-questions {
    margin-top: 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.92);
    overflow: hidden;
}

.lux-bid-questions__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.55rem 0.75rem;
    background: rgba(248, 250, 252, 0.95);
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-bid-questions__title {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-bid-questions__tools {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-bid-questions__tool {
    width: 1.75rem;
    height: 1.75rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
}

.lux-bid-questions__tool.is-active {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-bid-questions__body {
    padding: 0.65rem 0.75rem;
}

.lux-bid-questions__row {
    display: grid;
    grid-template-columns: minmax(8rem, 1fr) minmax(6rem, 0.75fr);
    gap: 0.65rem;
    align-items: center;
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-bid-questions__row:last-child {
    border-bottom: none;
}

.lux-bid-questions__label {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #334155;
}

.lux-create-panel--bid.lux-create-panel {
    max-width: min(96vw, 72rem);
}

/* Form layout — full width in guided, split in full form */
.lux-bid-form {
    width: 100%;
    min-width: 0;
}

.lux-bid-form--wizard .lux-bid-form__layout {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.lux-bid-form--wizard .lux-bid-form__pane,
.lux-bid-form--wizard .lux-bid-form__pane--full {
    width: 100%;
    max-width: none;
}

.lux-bid-form--full .lux-bid-form__layout--split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    align-items: start;
}

.lux-bid-form__pane {
    min-width: 0;
}

.lux-bid-form__pane--full {
    margin-top: 0.65rem;
}

.lux-bid-form__inset {
    padding: 0.65rem 0.75rem;
    border: 0px dashed rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
}

.lux-bid-form__inset--tracker {
    margin-top: 0.25rem;
}

.lux-create-panel__workspace--bid-wizard .lux-create-panel__canvas {
    flex: 1;
    min-width: 0;
}

.lux-create-panel__workspace--bid-wizard .lux-create-panel__scroll {
    width: 100%;
}

.lux-create-panel__workspace--bid-wizard .lux-create-panel__form-grid {
    width: 100%;
    max-width: none;
}

.lux-create-panel__workspace--bid-full .lux-bid-form--full {
    width: 100%;
}

/* Country breakdown panel */
.lux-bid-country-panel {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    overflow: hidden;
    background: rgba(248, 250, 252, 0.65);
}

.lux-bid-country-panel__head {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(255, 255, 255, 0.85);
}

.lux-bid-country-panel__head i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 1rem;
    margin-top: 0.1rem;
}

.lux-bid-country-panel__head strong {
    display: block;
    font-size: 0.6875rem;
    color: #0f172a;
}

.lux-bid-country-panel__head span {
    display: block;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-bid-country-panel__body {
    padding: 0.45rem 0.65rem 0.55rem;
}

.lux-bid-country-row {
    display: grid;
    grid-template-columns: minmax(4.5rem, 0.35fr) minmax(0, 1fr);
    gap: 0.55rem;
    align-items: start;
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-bid-country-row:last-child {
    border-bottom: none;
}

.lux-bid-country-row__name {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
    padding-top: 1.65rem;
}

.lux-bid-country-row__fields {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: 0.45rem;
}

/* Target group field + popover */
.lux-bid-tg-field {
    width: 100%;
}

.lux-bid-tg-field__label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    margin-bottom: 0.35rem;
}

.lux-bid-tg-field__label {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
}

.lux-bid-tg-field__required {
    color: #ef4444;
    margin-left: 0.15rem;
}

.lux-bid-tg-field__edit-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 1.75rem;
    padding: 0 0.65rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    cursor: pointer;
}

.lux-bid-tg-field__edit-btn.is-open {
    background: var(--lux-primary, #5b5ff4);
    color: #fff;
    border-color: transparent;
}

.lux-bid-tg-field__surface {
    padding: 0.65rem 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 50%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.lux-bid-tg-field__surface.is-clickable {
    cursor: pointer;
}

.lux-bid-tg-field__surface.is-clickable:hover,
.lux-bid-tg-field__surface.is-filled {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 4px 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-bid-tg-field__surface-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    margin-bottom: 0.4rem;
}

.lux-bid-tg-field__count {
    display: inline-flex;
    align-items: baseline;
    gap: 0.25rem;
    font-size: 0.6875rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.lux-bid-tg-field__count strong {
    font-size: 1rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-bid-tg-field__chevron {
    color: #94a3b8;
}

.lux-bid-tg-field__chips {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.lux-bid-tg-field__chip {
    padding: 0.2rem 0.625rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-bid-tg-field__empty {
    font-size: 0.75rem;
    color: #94a3b8;
    line-height: 1.45;
}

.lux-bid-tg-field__readonly-detail {
    margin-top: 0.55rem;
}

.lux-bid-tg-popover__backdrop {
    position: fixed;
    inset: 0;
    z-index: 10050;
    border: none;
    background: rgba(15, 23, 42, 0.35);
    backdrop-filter: blur(3px);
    cursor: pointer;
}

.lux-bid-tg-popover {
    position: fixed;
    z-index: 10051;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(92vw, 40rem);
    max-height: min(88vh, 36rem);
    display: flex;
    flex-direction: column;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.18);
    overflow: hidden;
}

.lux-bid-tg-popover__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(248, 250, 252, 0.95);
}

.lux-bid-tg-popover__head h4 {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-bid-tg-popover__head p {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-bid-tg-popover__close {
    width: 30px;
    height: 30px;
    border: 0px solid rgba(203, 213, 225, 0.9);
    border-radius: 12px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
}

.lux-bid-tg-popover__body {
    flex: 1;
    overflow: auto;
    padding: 0.75rem 0.85rem;
}

.lux-bid-tg-popover__foot {
    display: flex;
    justify-content: flex-end;
    gap: 0.4rem;
    padding: 0.55rem 0.85rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(248, 250, 252, 0.9);
}

.lux-bid-tg-detail-stack {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin-top: 0.65rem;
}

.lux-bid-tg-detail {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    overflow: hidden;
}

.lux-bid-tg-detail__head {
    padding: 0.4rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-bid-tg-detail__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    padding: 0.55rem 0.65rem;
}

@media (max-width: 900px) {
    .lux-bid-form--full .lux-bid-form__layout--split {
        grid-template-columns: 1fr;
    }

    .lux-bid-country-row__fields {
        grid-template-columns: 1fr;
    }

    .lux-bid-tg-detail__grid {
        grid-template-columns: 1fr;
    }
}

/* ========== luxury-item-collab.css ========== */

/* ========== Item collaboration — comments, activity, history ========== */

.lux-item-collab {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.lux-bid-detail__comments-body .lux-item-collab,
.lux-bid-detail__comments-panel .lux-item-collab {
    border: none;
    border-radius: 14px;
    box-shadow: none;
    background: transparent;
}

.lux-item-collab__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 55%),
        linear-gradient(180deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.9));
}

.lux-item-collab__tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.28rem;
    padding: 0.18rem;
    border-radius: 9911px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
}

.lux-item-collab__tab {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 1.85rem;
    padding: 0 0.7rem;
    border: none;
    border-radius: 9911px;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    cursor: pointer;
    transition: background 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.lux-item-collab__tab i {
    font-size: 0.75rem;
}

.lux-item-collab__tab.is-active {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-item-collab__tab-count {
    min-width: 1.1rem;
    padding: 0.05rem 0.28rem;
    border-radius: 9911px;
    background: rgba(15, 23, 42, 0.08);
    font-size: 0.625rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
}

.lux-item-collab__tab.is-active .lux-item-collab__tab-count {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

.lux-item-collab__summary {
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
}

.lux-item-collab__body {
    padding: 0.75rem;
}

.lux-item-collab__loading {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-item-collab__loading-bar {
    height: 3.5rem;
    border-radius: 12px;
    background: linear-gradient(90deg, #f1f5f9, #e2e8f0, #f1f5f9);
    background-size: 200% 100%;
    animation: lux-item-collab-shimmer 1.1s ease-in-out infinite;
}

@keyframes lux-item-collab-shimmer {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

/* Composer */
.lux-item-collab__composer {
    margin-bottom: 0.85rem;
    padding: 0.75rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    border-radius: 14px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 50%),
        rgba(248, 250, 252, 0.85);
}

.lux-item-collab__composer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    margin-bottom: 0.45rem;
}

.lux-item-collab__composer-title {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-item-collab__composer-hint {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-item-collab__composer .cke,
.lux-item-collab__composer iframe {
    border-radius: 12px !important;
}

.lux-item-collab__composer-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    margin-top: 0.55rem;
}

.lux-item-collab__composer-meta {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-item-collab__post-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 2rem;
    padding: 0 0.85rem;
    border: none;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.lux-item-collab__post-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: none;
}

/* Thread / timeline shared */
.lux-item-collab__day-group + .lux-item-collab__day-group {
    margin-top: 0.85rem;
}

.lux-item-collab__day-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.45rem;
    padding: 0.12rem 0.45rem;
    border-radius: 9911px;
    background: rgba(148, 163, 184, 0.12);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-item-collab__entries {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-item-collab__entry {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
    align-items: start;
}

.lux-item-collab__entry-rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding-top: 0.15rem;
}

.lux-item-collab__entry-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 12px;
    font-size: 0.8125rem;
    flex-shrink: 0;
}

.lux-item-collab__entry-icon.is-indigo {
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}

.lux-item-collab__entry-icon.is-violet {
    background: rgba(139, 92, 246, 0.12);
    color: #6d28d9;
}

.lux-item-collab__entry-icon.is-sky {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}

.lux-item-collab__entry-icon.is-amber {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.lux-item-collab__entry-icon.is-green,
.lux-item-collab__entry-icon.is-success {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.lux-item-collab__entry-icon.is-danger {
    background: rgba(244, 63, 94, 0.12);
    color: #be123c;
}

.lux-item-collab__entry-icon.is-slate {
    background: rgba(148, 163, 184, 0.16);
    color: #475569;
}

.lux-item-collab__entry-line {
    width: 2px;
    flex: 1;
    min-height: 0.75rem;
    border-radius: 9911px;
    background: linear-gradient(180deg, rgba(226, 232, 240, 0.95), transparent);
}

.lux-item-collab__entry-card {
    padding: 0.65rem 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-item-collab__entry-card.is-comment {
    position: relative;
    overflow: hidden;
    padding: 0.85rem 0.95rem 0.8rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.09), transparent 46%),
        radial-gradient(circle at 0% 100%, rgba(139, 92, 246, 0.05), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04),
        0 12px 28px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1),
        0 4px 12px rgba(15, 23, 42, 0.04);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.lux-item-collab__entry-card.is-comment:hover {
    transform: translateY(-1px);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.26);
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06),
        0 16px 36px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14),
        0 6px 16px rgba(15, 23, 42, 0.06);
}

.lux-item-collab__comment-glow {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        115deg,
        transparent 36%,
        rgba(255, 255, 255, 0.65) 50%,
        transparent 64%
    );
    pointer-events: none;
    opacity: 0.55;
}

.lux-item-collab__comment-accent {
    position: absolute;
    left: 0;
    top: 0.65rem;
    bottom: 0.65rem;
    width: 3px;
    border-radius: 0 9911px 9911px 0;
    background: linear-gradient(
        180deg,
        var(--lux-primary, #5b5ff4),
        rgba(139, 92, 246, 0.85)
    );
    box-shadow: 0 0 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
}

.lux-item-collab__comment-watermark {
    position: absolute;
    right: 0.65rem;
    bottom: 0.45rem;
    font-size: 3.25rem;
    line-height: 1;
    color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    pointer-events: none;
    user-select: none;
}

.lux-item-collab__comment-head {
    position: relative;
    z-index: 1;
    padding-bottom: 0.55rem;
    margin-bottom: 0.55rem;
    border-bottom: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-item-collab__avatar-ring {
    position: relative;
    display: inline-flex;
    padding: 2px;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), #8b5cf6);
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}

.lux-item-collab__entry-card.is-comment .lux-item-collab__avatar,
.lux-item-collab__avatar-ring .lux-item-collab__avatar {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 9911px;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: none;
}

.lux-item-collab__entry-card.is-comment .lux-item-collab__entry-names strong {
    font-size: 0.8125rem;
    letter-spacing: -0.01em;
    color: #0f172a;
}

.lux-item-collab__entry-card.is-comment .lux-item-collab__entry-names span {
    color: var(--lux-primary-dark, #3730a3);
    opacity: 0.72;
}

.lux-item-collab__comment-time {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.22rem;
}

.lux-item-collab__comment-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    padding: 0.14rem 0.45rem;
    border-radius: 9911px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-item-collab__comment-badge i {
    font-size: 0.6875rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-item-collab__entry-card.is-comment .lux-item-collab__entry-time strong {
    padding: 0.1rem 0.38rem;
    border-radius: 9911px;
    background: rgba(15, 23, 42, 0.05);
    font-size: 0.6875rem;
    color: #334155;
}

.lux-item-collab__comment-body-wrap {
    position: relative;
    z-index: 1;
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    border: 0px solid rgba(255, 255, 255, 0.85);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.78));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.95),
        0 4px 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-item-collab__comment-body-wrap::before {
    content: "\201C";
    position: absolute;
    top: 0.15rem;
    left: 0.55rem;
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1;
    color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    pointer-events: none;
}

.lux-item-collab__comment-body {
    position: relative;
    padding-left: 0.35rem;
    font-size: 0.8125rem;
    line-height: 1.65;
    color: #334155;
}

.lux-item-collab__comment-body p {
    margin: 0 0 0.45rem;
}

.lux-item-collab__comment-body p:last-child {
    margin-bottom: 0;
}

.lux-item-collab__comment-body a {
    color: var(--lux-primary-dark, #3730a3);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.lux-item-collab__entry-card.is-comment .lux-item-collab__entry-actions {
    position: relative;
    z-index: 1;
    margin-top: 0.55rem;
    padding-top: 0.45rem;
    border-top: 1px dashed rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-item-collab__entry-card.is-comment .lux-item-collab__delete-btn {
    background: rgba(255, 255, 255, 0.85);
}

.lux-item-collab__entry-card.is-comment + .lux-item-collab__entry .lux-item-collab__entry-line,
.lux-item-collab__entry:has(+ .lux-item-collab__entry) .lux-item-collab__entry-line {
    min-height: 1rem;
}

body.lux-shell-dark .lux-item-collab__entry-card.is-comment {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14), transparent 46%),
        linear-gradient(180deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 0.94));
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}

body.lux-shell-dark .lux-item-collab__comment-body-wrap {
    background: linear-gradient(180deg, rgba(51, 65, 85, 0.55), rgba(30, 41, 59, 0.45));
    border-color: rgba(148, 163, 184, 0.12);
}

body.lux-shell-dark .lux-item-collab__comment-body {
    color: #cbd5e1;
}

body.lux-shell-dark .lux-item-collab__entry-card.is-comment .lux-item-collab__entry-names strong {
    color: #f1f5f9;
}

.lux-item-collab__entry-card.is-history {
    border-left: 3px solid rgba(245, 158, 11, 0.55);
}

.lux-item-collab__entry-card.is-activity {
    border-left: 3px solid rgba(139, 92, 246, 0.45);
}

.lux-item-collab__entry-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
}

.lux-item-collab__entry-user {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
}

.lux-item-collab__entry-user img {
    width: 2rem;
    height: 2rem;
    border-radius: 9911px;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, 0.95);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.lux-item-collab__entry-names strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-item-collab__entry-names span {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-item-collab__entry-time {
    text-align: right;
}

.lux-item-collab__entry-time strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #475569;
}

.lux-item-collab__entry-time span {
    display: block;
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-item-collab__entry-title {
    margin: 0 0 0.35rem;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-item-collab__entry-body {
    font-size: 0.75rem;
    line-height: 1.55;
    color: #475569;
    word-break: break-word;
}

.lux-item-collab__entry-body p {
    margin: 0 0 0.35rem;
}

.lux-item-collab__entry-body p:last-child {
    margin-bottom: 0;
}

.lux-item-collab__entry-chip {
    display: inline-flex;
    margin-top: 0.35rem;
    padding: 0.12rem 0.4rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-item-collab__entry-chip.is-success { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-item-collab__entry-chip.is-danger { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-item-collab__entry-chip.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-item-collab__entry-chip.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-item-collab__entry-chip.is-slate { background: rgba(148, 163, 184, 0.16); color: #475569; }

.lux-item-collab__entry-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.35rem;
}

.lux-item-collab__delete-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.45rem;
    border: 0px solid rgba(244, 63, 94, 0.2);
    border-radius: 9911px;
    background: rgba(244, 63, 94, 0.06);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #be123c;
    cursor: pointer;
}

.lux-item-collab__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 2rem 1rem;
    border: 0px dashed rgba(203, 213, 225, 0.95);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.65);
    text-align: center;
}

.lux-item-collab__empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 1rem;
}

.lux-item-collab__empty strong {
    font-size: 0.8125rem;
    color: #334155;
}

.lux-item-collab__empty span {
    max-width: 20rem;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: #64748b;
}

@media (max-width: 640px) {
    .lux-item-collab__toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-item-collab__tabs {
        width: 100%;
        justify-content: space-between;
    }

    .lux-item-collab__tab {
        flex: 1;
        justify-content: center;
        padding-inline: 0.35rem;
    }
}

/* ========== luxury-register-empty.css ========== */

/* ========== Luxury register empty states (bids, contracts, employees, invoices) ========== */

.lux-register-empty {
    position: relative;
    margin: 0.65rem 0.75rem 1.25rem;
    padding: 0;
    overflow: hidden;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 20px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 48%),
        radial-gradient(circle at 100% 100%, rgba(148, 163, 184, 0.08), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03),
        0 12px 32px rgba(15, 23, 42, 0.06);
}

.lux-register-empty--bid-requests {
    background:
        radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.08), transparent 45%),
        radial-gradient(circle at 0% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 50%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--purchase-contracts {
    background:
        radial-gradient(circle at 0% 0%, rgba(14, 165, 233, 0.09), transparent 46%),
        radial-gradient(circle at 100% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--employees {
    background:
        radial-gradient(circle at 100% 0%, rgba(139, 92, 246, 0.09), transparent 44%),
        radial-gradient(circle at 0% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 50%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--invoices {
    background:
        radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.09), transparent 44%),
        radial-gradient(circle at 0% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 50%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--timesheet {
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 46%),
        radial-gradient(circle at 100% 100%, rgba(139, 92, 246, 0.08), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--pending-tasks {
    background:
        radial-gradient(circle at 100% 0%, rgba(245, 158, 11, 0.09), transparent 44%),
        radial-gradient(circle at 0% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 50%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--holidays {
    background:
        radial-gradient(circle at 0% 0%, rgba(16, 185, 129, 0.09), transparent 46%),
        radial-gradient(circle at 100% 100%, rgba(14, 165, 233, 0.08), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--task-activities {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.09), transparent 44%),
        radial-gradient(circle at 0% 100%, rgba(139, 92, 246, 0.08), transparent 50%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--projects {
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.09), transparent 46%),
        radial-gradient(circle at 100% 100%, rgba(16, 185, 129, 0.08), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--attendance {
    background:
        radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.09), transparent 44%),
        radial-gradient(circle at 0% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 50%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--checklist {
    background:
        radial-gradient(circle at 100% 0%, rgba(245, 158, 11, 0.09), transparent 44%),
        radial-gradient(circle at 0% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 50%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--files {
    background:
        radial-gradient(circle at 0% 0%, rgba(14, 165, 233, 0.09), transparent 46%),
        radial-gradient(circle at 100% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--config {
    background:
        radial-gradient(circle at 100% 0%, rgba(139, 92, 246, 0.09), transparent 44%),
        radial-gradient(circle at 0% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 50%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--collab {
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.09), transparent 46%),
        radial-gradient(circle at 100% 100%, rgba(14, 165, 233, 0.08), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--fetch-error {
    background:
        radial-gradient(circle at 0% 0%, rgba(239, 68, 68, 0.08), transparent 46%),
        radial-gradient(circle at 100% 100%, rgba(245, 158, 11, 0.07), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(254, 242, 242, 0.94));
    border-color: rgba(252, 165, 165, 0.55);
}

.lux-register-empty--fetch-error .lux-register-empty__eyebrow {
    color: #b91c1c;
}

.lux-register-fetch-error__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 7rem;
    font-size: 3.25rem;
    color: #dc2626;
    opacity: 0.88;
}

.lux-register-empty--fetch-error .lux-register-empty__inner {
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
}

.lux-register-empty__glow {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        105deg,
        transparent 38%,
        rgba(255, 255, 255, 0.55) 50%,
        transparent 62%
    );
    pointer-events: none;
    opacity: 0.65;
}

.lux-register-empty__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 1.25rem;
    align-items: center;
    padding: 1.75rem 1.85rem;
    min-height: 12.5rem;
}

.lux-register-empty__art {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem;
}

.lux-register-empty__art svg {
    width: 100%;
    max-width: 13.5rem;
    height: auto;
    filter: drop-shadow(0 14px 28px rgba(15, 23, 42, 0.08));
}

.lux-register-empty__copy {
    min-width: 0;
    text-align: left;
}

.lux-register-empty__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.45rem;
    padding: 0.18rem 0.55rem;
    border-radius: 9911px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-register-empty--bid-requests .lux-register-empty__eyebrow {
    border-color: rgba(16, 185, 129, 0.28);
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
}

.lux-register-empty--purchase-contracts .lux-register-empty__eyebrow {
    border-color: rgba(14, 165, 233, 0.28);
    background: rgba(14, 165, 233, 0.1);
    color: #0369a1;
}

.lux-register-empty--employees .lux-register-empty__eyebrow {
    border-color: rgba(139, 92, 246, 0.28);
    background: rgba(139, 92, 246, 0.1);
    color: #6d28d9;
}

.lux-register-empty--invoices .lux-register-empty__eyebrow {
    border-color: rgba(16, 185, 129, 0.28);
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
}

.lux-register-empty--timesheet .lux-register-empty__eyebrow {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-register-empty__title {
    margin: 0 0 0.4rem;
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1.2;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.lux-register-empty__text {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: #64748b;
    max-width: 26rem;
}

.lux-register-empty__hints {
    margin: 0.85rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-register-empty__hints li {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.4;
}

.lux-register-empty__hints i {
    margin-top: 0.1rem;
    flex-shrink: 0;
    font-size: 0.75rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-register-empty--bid-requests .lux-register-empty__hints i {
    color: #10b981;
}

.lux-register-empty--purchase-contracts .lux-register-empty__hints i {
    color: #0ea5e9;
}

.lux-register-empty--employees .lux-register-empty__hints i {
    color: #8b5cf6;
}

.lux-register-empty--invoices .lux-register-empty__hints i {
    color: #10b981;
}

.lux-register-empty--timesheet .lux-register-empty__hints i {
    color: var(--lux-primary, #5b5ff4);
}

.lux-register-empty--invoices .lux-register-empty__btn--primary {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    box-shadow: 0 8px 22px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-register-empty--invoices .lux-register-empty__btn--secondary {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-register-empty--invoices .lux-register-empty__btn--secondary:hover:not(:disabled) {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
}

.lux-register-empty__btn--primary:disabled,
.lux-register-empty__btn--secondary:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Embedded in timesheet board — tighter layout */
.lux-register-empty--compact {
    margin: 0;
    border-radius: 14px;
}

.lux-register-empty--compact .lux-register-empty__inner {
    padding: 1.15rem 1.25rem;
    min-height: 0;
    gap: 0.85rem;
}

.lux-register-empty--compact .lux-register-empty__art svg {
    max-width: 9.5rem;
}

.lux-register-empty--compact .lux-register-empty__title {
    font-size: 1rem;
}

.lux-register-empty--compact .lux-register-empty__hints {
    margin-top: 0.65rem;
}

.lux-register-empty--compact .lux-register-empty__actions {
    margin-top: 0.75rem;
}

.lux-register-empty__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-top: 1rem;
}

.lux-register-empty__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.25rem;
    padding: 0 1rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}

.lux-register-empty__btn--primary {
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 8px 22px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-register-empty__btn--primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.34);
}

.lux-register-empty--bid-requests .lux-register-empty__btn--primary {
    background: linear-gradient(135deg, #10b981, #059669);
    box-shadow: 0 8px 22px rgba(16, 185, 129, 0.28);
}

.lux-register-empty--purchase-contracts .lux-register-empty__btn--primary {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
}

.lux-register-empty__btn--secondary {
    border: 0px solid rgba(14, 165, 233, 0.35);
    background: rgba(14, 165, 233, 0.08);
    color: #0369a1;
}

.lux-register-empty__btn--secondary:hover {
    background: rgba(14, 165, 233, 0.14);
    border-color: rgba(14, 165, 233, 0.5);
}

.lux-register-empty__btn--secondary i {
    font-size: 0.875rem;
}

/* Legacy class aliases — keep old pages working if referenced */
.lux-bid-requests-empty,
.lux-employees-empty,
.lux-invoice-empty {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
}

@media (max-width: 900px) {
    .lux-register-empty__inner {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 1.5rem 1.25rem 1.75rem;
    }

    .lux-register-empty__copy {
        text-align: center;
    }

    .lux-register-empty__text {
        margin-left: auto;
        margin-right: auto;
    }

    .lux-register-empty__hints {
        align-items: center;
    }

    .lux-register-empty__hints li {
        justify-content: center;
        max-width: 20rem;
    }

    .lux-register-empty__actions {
        justify-content: center;
    }

    .lux-register-empty__art svg {
        max-width: 10.625rem;
    }
}

@media (max-width: 640px) {
    .lux-register-empty {
        margin-left: 0.625rem;
        margin-right: 0.625rem;
    }

    .lux-register-empty__title {
        font-size: 1rem;
    }
}

/* ========== luxury-purchase-orders.css ========== */

/* Purchase contracts — extends luxury-bid-requests design system */

.lux-po-requests {
    width: 100%;
}

.purchaseOrderlist.lux-po-requests {
    padding-bottom: 1rem;
}

.lux-po-requests .lux-page-header__toolbar {
    align-items: center;
    row-gap: 0.35rem;
}

.lux-po-requests .lux-page-header__group--filters,
.lux-po-requests .lux-page-header__group--actions {
    align-items: center;
}

.lux-po-requests .lux-page-header__extras {
    align-items: center;
}

/* List grid: contract-specific columns (reuses .lux-bid-list typography) */
.lux-po-requests .lux-bid-list {
    --lux-bid-list-cols:
        3.25rem 5.5rem minmax(12rem, 1.55fr) 5.5rem 4.5rem minmax(5.5rem, 0.85fr)
        minmax(6.5rem, 0.8fr) minmax(6.5rem, 0.9fr) 2.5rem;
    min-width: 52rem;
}

/* Keep action menu above scroll container and adjacent rows */
.lux-po-requests .lux-bid-list__item.is-menu-open,
.lux-project-requests .lux-bid-list__item.is-menu-open {
    z-index: 50;
}

.lux-po-requests .lux-bid-list__menu-panel,
.lux-project-requests .lux-bid-list__menu-panel {
    z-index: 60;
}

.lux-po-requests .lux-bid-list__col--dates {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    align-items: flex-start;
    justify-content: center;
}

.lux-po-list__date-chip {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1.2;
}

.lux-po-list__date-chip.is-start { color: #0369a1; }
.lux-po-list__date-chip.is-end { color: #b45309; }

.lux-po-list__sf-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.08rem 0.35rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}

.lux-po-list__sf-badge i {
    font-size: 0.625rem;
}

/* —— Summary enhancements —— */

.lux-po-summary .lux-bid-summary__header-bar {
    background:
        radial-gradient(circle at 100% 0%, rgba(14, 165, 233, 0.06), transparent 38%),
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 42%);
}

.lux-po-summary__metrics-row,
.lux-project-summary__metrics-row {
    align-items: stretch;
}

.lux-project-summary__metrics-row .lux-bid-summary__kpi-strip {
    flex: 1;
    min-width: 0;
}

.lux-po-summary__highlights {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.4rem;
    margin-bottom: 0.625rem;
}

.lux-po-summary__highlight {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.45rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.lux-po-summary__highlight.is-rose {
    border-color: rgba(244, 63, 94, 0.28);
    background: linear-gradient(180deg, rgba(255, 241, 242, 0.95), rgba(255, 255, 255, 0.98));
}

.lux-po-summary__highlight.is-amber {
    border-color: rgba(245, 158, 11, 0.28);
}

.lux-po-summary__highlight.is-indigo {
    border-color: rgba(99, 102, 241, 0.28);
}

.lux-po-summary__highlight.is-sky {
    border-color: rgba(14, 165, 233, 0.28);
}

.lux-po-summary__highlight-icon {
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.8rem;
    flex-shrink: 0;
}

.lux-po-summary__highlight.is-rose .lux-po-summary__highlight-icon {
    background: rgba(244, 63, 94, 0.12);
    color: #be123c;
}

.lux-po-summary__highlight.is-amber .lux-po-summary__highlight-icon {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}

.lux-po-summary__highlight.is-sky .lux-po-summary__highlight-icon {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}

.lux-po-summary__highlight-copy {
    min-width: 0;
}

.lux-po-summary__highlight-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-po-summary__highlight-copy strong {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
}

.lux-po-summary__highlight-hint {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.6875rem;
    color: #94a3b8;
    line-height: 1.3;
}

.lux-po-summary__insights {
    margin-bottom: 0.625rem;
}

.lux-po-summary__insight {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 45%),
        rgba(255, 255, 255, 0.82);
}

.lux-bid-summary__bar-segment.is-rose { background: #f43f5e; }
.lux-bid-summary__legend-dot.is-rose { background: #f43f5e; }
.lux-bid-summary__legend em {
    font-style: normal;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #94a3b8;
}

/* Analytics grids */
.lux-po-summary__analytics--primary {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 1fr));
    gap: 0.4rem;
    margin-bottom: 0.4rem;
}

.lux-po-summary__analytics--secondary {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
    gap: 0.4rem;
}

.lux-po-summary__analytics--secondary .lux-bid-summary__chart-panel--wide {
    grid-column: span 2;
}

@media (max-width: 1400px) {
    .lux-po-summary__highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-po-summary__analytics--primary,
    .lux-po-summary__analytics--secondary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-po-summary__analytics--primary .lux-bid-summary__chart-panel--funnel-compact,
    .lux-po-summary__analytics--secondary .lux-bid-summary__chart-panel--wide:first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .lux-po-summary__highlights {
        grid-template-columns: 1fr;
    }

    .lux-po-summary__analytics--primary,
    .lux-po-summary__analytics--secondary {
        grid-template-columns: 1fr;
    }
}

/* Salesforce import pill in page header */
.lux-po-import-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    height: 2rem;
    padding: 0 0.65rem;
    border: 0px solid rgba(14, 165, 233, 0.35);
    border-radius: 9911px;
    background: rgba(14, 165, 233, 0.08);
    font-size: 0.75rem;
    font-weight: 700;
    color: #0369a1;
    cursor: pointer;
    transition: background 0.14s ease, border-color 0.14s ease;
}

.lux-po-import-btn:hover {
    background: rgba(14, 165, 233, 0.14);
    border-color: rgba(14, 165, 233, 0.5);
}

/* Create panel layout */
.lux-po-form--full .lux-po-form__layout--split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    align-items: start;
}

.lux-po-form__pane {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-width: 0;
}

.lux-create-panel--po .lux-create-panel__workspace--po-wizard .lux-po-form__pane {
    max-width: 100%;
}

.lux-create-panel--po .lux-create-section-card .row {
    margin-left: -0.35rem;
    margin-right: -0.35rem;
}

@media (max-width: 1100px) {
    .lux-po-form--full .lux-po-form__layout--split {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .lux-po-requests .lux-bid-list {
        min-width: 44rem;
    }
}

/* ========== Purchase contract detail page ========== */

.lux-po-detail-page {
    min-height: 50vh;
    padding-bottom: 1.5rem;
}

.lux-po-detail-page__projects {
    padding: 0 0.75rem 1rem;
}

.lux-po-detail-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0.625rem 0.75rem 0.65rem;
    padding: 0.28rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.85);
    width: fit-content;
    max-width: calc(100% - 1.5rem);
}

.lux-po-detail-tabs__tab {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2rem;
    padding: 0 0.85rem;
    border: none;
    border-radius: 12px;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    color: #64748b;
    cursor: pointer;
    transition: background 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.lux-po-detail-tabs__tab i {
    font-size: 0.8125rem;
    color: #94a3b8;
}

.lux-po-detail-tabs__tab.is-active {
    background: #fff;
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.lux-po-detail-tabs__tab.is-active i {
    color: var(--lux-primary, #5b5ff4);
}

.lux-po-detail-tabs__tab:hover:not(.is-active) {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    color: #475569;
}

.lux-po-detail .lux-bid-detail__hero {
    background:
        radial-gradient(circle at 0% 0%, rgba(14, 165, 233, 0.1), transparent 42%),
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-po-detail__description {
    margin: 0;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.65);
    font-size: 0.8125rem;
    line-height: 1.6;
    color: #475569;
}

.lux-po-detail__field-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
    gap: 0.45rem;
}

.lux-po-detail__field-grid .lux-bid-detail__fact {
    margin: 0;
}

.lux-po-detail__service-lines .pd-service-lines {
    margin: 0;
}

.lux-po-detail__client-line {
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.5;
    color: #334155;
}

.lux-po-detail-stats__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    padding: 0.65rem 0.75rem 0.625rem;
}

.lux-po-detail-stats__kpi {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.75);
}

.lux-po-detail-stats__kpi-label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-po-detail-stats__kpi-value {
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1.1;
    color: #0f172a;
}

.lux-po-detail-stats__kpi-value.is-green { color: #047857; }
.lux-po-detail-stats__kpi-value.is-amber { color: #b45309; }
.lux-po-detail-stats__kpi-value.is-sky { color: #0369a1; }
.lux-po-detail-stats__kpi-value.is-indigo { color: #4338ca; }

.lux-po-detail-stats__breakdown {
    padding: 0 0.75rem 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-po-detail-stats__row-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    margin-bottom: 0.25rem;
}

.lux-po-detail-stats__row-label {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-po-detail-stats__row-counts {
    font-size: 0.75rem;
    font-weight: 800;
    color: #64748b;
    flex-shrink: 0;
}

.lux-po-detail-stats__bar {
    height: 0.35rem;
    border-radius: 9911px;
    background: rgba(226, 232, 240, 0.95);
    overflow: hidden;
}

.lux-po-detail-stats__bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #10b981, #059669);
}

@media (max-width: 900px) {
    .lux-po-detail__field-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .lux-po-detail-tabs {
        width: auto;
        margin-left: 0.625rem;
        margin-right: 0.625rem;
    }

    .lux-po-detail__field-grid {
        grid-template-columns: 1fr;
    }
}

/* ========== Project portfolio list & grid ========== */

.lux-project-requests {
    width: 100%;
}

.projectlist.lux-project-requests {
    padding-bottom: 1rem;
}

.lux-project-requests .lux-project-zone--compact .lux-project-zone__title,
.lux-project-requests .lux-project-zone--compact .lux-project-zone__lede {
    display: none;
}

.lux-project-requests .lux-project-zone__nav {
    margin-bottom: 0.1rem;
}

.lux-project-requests .lux-page-header {
    margin-top: 0;
}

/* Project list — toolbar: filters left (teams, status, sort, list filter), actions right (date, field search, views, create) */
.lux-project-requests .lux-page-header__toolbar {
    align-items: center;
    row-gap: 0.4rem;
}

.lux-project-requests .lux-page-header__group--filters,
.lux-project-requests .lux-page-header__group--actions {
    align-items: center;
}

.lux-project-requests .lux-page-header__extras {
    align-items: center;
}

@media (min-width: 768px) {
    .lux-project-requests .lux-project-zone--compact {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.45rem 0.75rem;
    }

    .lux-project-requests .lux-project-zone--compact .lux-project-zone__head {
        flex: 0 0 auto;
        margin: 0;
    }

    .lux-project-requests .lux-project-zone--compact .lux-project-zone__nav {
        flex: 1 1 auto;
        margin-bottom: 0;
        justify-content: flex-start;
    }
}

.lux-project-requests .lux-page-header__group--filters {
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    min-width: 0;
}

.lux-project-requests .lux-page-header__group--actions {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
}

.lux-project-requests .lux-page-header__list-filter {
    flex: 0 1 10.5rem;
    max-width: 11.5rem;
}

.lux-project-requests .lux-page-header__field-query-btn {
    max-width: 8.5rem;
}

.lux-project-requests .lux-page-header__field-query-label {
    max-width: 5.5rem;
}

.lux-project-requests .lux-bid-list {
    --lux-bid-list-cols:
        2.5rem 4.25rem 4.5rem minmax(16rem, 2.35fr) minmax(5.25rem, 0.82fr)
        minmax(5.75rem, 0.78fr) minmax(5.85rem, 0.75fr) minmax(6.35rem, 0.92fr) minmax(6.75rem, auto);
    min-width: 58rem;
}

.lux-project-requests .lux-bid-list__head,
.lux-project-requests .lux-bid-list__item,
.lux-deliverable-requests .lux-bid-list__head,
.lux-deliverable-requests .lux-bid-list__item {
    align-items: center;
}

.lux-project-requests .lux-bid-list__head,
.lux-project-requests .lux-bid-list__item {
    gap: 0.625rem;
}

.lux-project-requests .lux-bid-list__item {
    min-height: 4.35rem;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

.lux-project-requests .lux-bid-list__col--actions,
.lux-deliverable-requests .lux-bid-list__col--actions {
    overflow: visible;
}

.lux-project-requests .lux-bid-list__col--dates,
.lux-project-row__dates-col {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.lux-project-row__project {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    min-width: 0;
}

.lux-project-row__name {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    min-width: 0;
    max-width: 100%;
    font-size: 0.8125rem;
    font-weight: 800;
    line-height: 1.25;
    color: #0f172a;
    text-decoration: none;
}

.lux-project-row__name-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-project-row__name i {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: #94a3b8;
    opacity: 0;
    transition: opacity 0.14s ease, color 0.14s ease;
}

.lux-project-row__name:hover {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-project-row__name:hover i {
    opacity: 1;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-project-row:hover .lux-project-row__name i {
    opacity: 1;
}

.lux-project-row__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.45rem;
    min-width: 0;
}

.lux-project-row__client {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-project-row__client i {
    flex-shrink: 0;
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-project-row__tags {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.22rem;
}

.lux-project-row__account {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0.18rem 0.42rem;
    border-radius: 8px;
    background: rgba(14, 165, 233, 0.1);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #0369a1;
    line-height: 1.25;
}

.lux-project-row__metrics {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    width: 100%;
}

.lux-project-row__metric {
    display: grid;
    grid-template-columns: 2.35rem minmax(0, 1fr);
    align-items: center;
    gap: 0.25rem;
}

.lux-project-row__metric-label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-project-row__metric-value {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    min-width: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    line-height: 1.2;
    white-space: nowrap;
}

.lux-project-row__metric-value em {
    font-style: normal;
    font-size: 0.625rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    padding: 0.04rem 0.28rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-project-row__dates {
    display: flex;
    flex-direction: column;
    gap: 0.14rem;
    width: 100%;
}

.lux-project-row__date {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    align-items: center;
    gap: 0.2rem;
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1.2;
    color: #475569;
    white-space: nowrap;
}

.lux-project-row__date em {
    font-style: normal;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-project-row__date.is-start {
    color: #0369a1;
}

.lux-project-row__date.is-end {
    color: #b45309;
}

.lux-project-row__status {
    width: 100%;
    max-width: 6.35rem;
    margin-inline: auto;
}

.lux-project-row__actions {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.28rem;
    width: 100%;
}

.lux-project-row__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.85rem;
    height: 1.85rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.95);
    color: #64748b;
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease, transform 0.14s ease;
}

.lux-project-row__action:hover,
.lux-project-row.is-menu-open .lux-project-row__action--menu {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-project-row__action i {
    font-size: 0.8125rem;
    line-height: 1;
}

.lux-project-row.is-deleted .lux-project-row__name {
    color: #64748b;
    text-decoration: line-through;
    text-decoration-color: rgba(244, 63, 94, 0.45);
}

.lux-project-list__fav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    color: #cbd5e1;
    cursor: pointer;
    transition: color 0.14s ease, border-color 0.14s ease, background 0.14s ease, transform 0.14s ease;
}

.lux-project-list__fav:hover {
    color: #f59e0b;
    border-color: rgba(245, 158, 11, 0.35);
    background: rgba(255, 251, 235, 0.95);
    transform: scale(1.04);
}

.lux-project-list__fav.is-active {
    color: #f59e0b;
    border-color: rgba(245, 158, 11, 0.45);
    background: rgba(255, 251, 235, 0.98);
    box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.12);
}

.lux-project-list__fav i {
    font-size: 0.8125rem;
}

.lux-project-list__shared-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.08rem 0.35rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}

.lux-project-list__shared-badge i {
    font-size: 0.625rem;
}

.lux-bid-list__col--metrics {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    align-items: flex-start;
    justify-content: center;
}

.lux-project-requests .lux-bid-list__col--metrics {
    justify-content: center;
}

.lux-project-list__metric {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    line-height: 1.2;
}

.lux-project-list__metric i {
    font-size: 0.75rem;
    color: #94a3b8;
}

.lux-project-list__metric em {
    font-style: normal;
    font-size: 0.625rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    padding: 0.04rem 0.28rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-project-summary .lux-bid-summary__header-bar {
    background:
        radial-gradient(circle at 100% 0%, rgba(99, 102, 241, 0.07), transparent 38%),
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 42%);
}

.lux-project-summary__estimate-gaps {
    margin-bottom: 0.625rem;
    padding: 0.65rem 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 251, 235, 0.55), rgba(255, 255, 255, 0.98));
}

.lux-project-summary__estimate-gaps-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.625rem;
}

.lux-project-summary__estimate-gaps-title {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-project-summary__estimate-gaps-sub {
    margin: 0.15rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.4;
}

.lux-project-summary__estimate-gaps-badge {
    flex-shrink: 0;
    padding: 0.2rem 0.625rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.lux-project-summary__estimate-gaps-badge.is-clear {
    border: 0px solid rgba(16, 185, 129, 0.28);
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
}

.lux-project-summary__estimate-gaps-badge.is-alert {
    border: 0px solid rgba(245, 158, 11, 0.35);
    background: rgba(255, 251, 235, 0.95);
    color: #b45309;
}

.lux-project-summary__estimate-gaps-empty {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-project-summary__estimate-gaps-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 0.35rem;
}

.lux-project-summary__estimate-gaps-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.12rem;
    width: 100%;
    padding: 0.45rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: #fff;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

button.lux-project-summary__estimate-gaps-item:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.lux-project-summary__estimate-gaps-item.is-static {
    cursor: default;
}

.lux-project-summary__estimate-gaps-name {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
    line-height: 1.25;
}

.lux-project-summary__estimate-gaps-meta {
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.35;
}

.lux-project-summary__estimate-gaps-more {
    margin: 0.45rem 0 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-project-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(21.5rem, 1fr));
    gap: 1rem;
}

.lux-project-grid__item {
    min-width: 0;
    display: flex;
    animation: lux-project-grid-in 0.42s ease both;
}

.lux-project-grid__item:nth-child(1) { animation-delay: 0.02s; }
.lux-project-grid__item:nth-child(2) { animation-delay: 0.04s; }
.lux-project-grid__item:nth-child(3) { animation-delay: 0.06s; }
.lux-project-grid__item:nth-child(4) { animation-delay: 0.08s; }
.lux-project-grid__item:nth-child(5) { animation-delay: 0.1s; }
.lux-project-grid__item:nth-child(6) { animation-delay: 0.12s; }
.lux-project-grid__item:nth-child(n+7) { animation-delay: 0.14s; }

@keyframes lux-project-grid-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.lux-project-card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 22.5rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 20px;
    background:
        radial-gradient(circle at 50% -10%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 52%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03),
        0 12px 28px rgba(15, 23, 42, 0.07);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.lux-project-card:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07),
        0 20px 44px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    transform: translateY(-3px);
}

.lux-project-card.is-menu-open {
    z-index: 20;
}

.lux-project-card.is-archived,
.lux-project-card.is-deleted {
    opacity: 0.9;
}

.lux-project-card__accent {
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.85),
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35)
    );
    pointer-events: none;
    z-index: 4;
}

.lux-project-card__glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 48%);
    pointer-events: none;
}

.lux-project-card.is-status-sky .lux-project-card__accent { background: linear-gradient(90deg, #0ea5e9, rgba(14, 165, 233, 0.35)); }
.lux-project-card.is-status-indigo .lux-project-card__accent { background: linear-gradient(90deg, #6366f1, rgba(99, 102, 241, 0.35)); }
.lux-project-card.is-status-amber .lux-project-card__accent { background: linear-gradient(90deg, #f59e0b, rgba(245, 158, 11, 0.35)); }
.lux-project-card.is-status-green .lux-project-card__accent { background: linear-gradient(90deg, #10b981, rgba(16, 185, 129, 0.35)); }
.lux-project-card.is-status-rose .lux-project-card__accent { background: linear-gradient(90deg, #f43f5e, rgba(244, 63, 94, 0.35)); }
.lux-project-card.is-status-slate .lux-project-card__accent { background: linear-gradient(90deg, #64748b, rgba(100, 116, 139, 0.35)); }

.lux-project-card__top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.85rem 0.9rem 0.35rem;
}

.lux-project-card__top-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.28rem;
    min-width: 0;
}

.lux-project-card__top-actions {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
}

.lux-project-card__hero {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.65rem;
    align-items: start;
    padding: 0.15rem 0.9rem 0.55rem;
}

.lux-project-card__avatar-wrap {
    position: relative;
    width: 3.1rem;
    height: 3.1rem;
    flex-shrink: 0;
}

.lux-project-card__initials {
    display: grid;
    place-items: center;
    width: 3.1rem;
    height: 3.1rem;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-project-card__status-dot {
    position: absolute;
    top: -0.12rem;
    right: -0.12rem;
    width: 0.62rem;
    height: 0.62rem;
    border: 2px solid #fff;
    border-radius: 9911px;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.18);
}

.lux-project-card__status-dot.is-sky { background: #0ea5e9; }
.lux-project-card__status-dot.is-indigo { background: #6366f1; }
.lux-project-card__status-dot.is-amber { background: #f59e0b; }
.lux-project-card__status-dot.is-green { background: #10b981; }
.lux-project-card__status-dot.is-rose { background: #f43f5e; }
.lux-project-card__status-dot.is-slate { background: #94a3b8; }

.lux-project-card__ref {
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.38rem;
    border-radius: 9911px;
    background: rgba(15, 23, 42, 0.06);
    color: #334155;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-project-card__type {
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.38rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.lux-project-card__type.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-project-card__type.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-project-card__type.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-project-card__type.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-project-card__type.is-teal { background: rgba(20, 184, 166, 0.12); color: #0f766e; }
.lux-project-card__type.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-project-card__type.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-project-card__status-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.4rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.lux-project-card__status-pill.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-project-card__status-pill.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-project-card__status-pill.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-project-card__status-pill.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-project-card__status-pill.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-project-card__identity {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
}

.lux-project-card__title {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    min-width: 0;
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.28;
    color: #0f172a;
    text-decoration: none;
}

.lux-project-card__title-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-project-card__title i {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: #94a3b8;
    opacity: 0;
    transition: opacity 0.14s ease, color 0.14s ease;
}

a.lux-project-card__title:hover {
    color: var(--lux-primary-dark, #3730a3);
}

a.lux-project-card__title:hover i,
.lux-project-card:hover .lux-project-card__title i {
    opacity: 1;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-project-card__account {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0.12rem 0.42rem;
    border-radius: 8px;
    background: rgba(14, 165, 233, 0.1);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #0369a1;
}

.lux-project-card__account i {
    flex-shrink: 0;
    font-size: 0.6875rem;
}

.lux-project-card__meta {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-project-card__signals {
    display: flex;
    flex-wrap: wrap;
    gap: 0.22rem;
    margin-top: 0.08rem;
}

.lux-project-card__signal {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.06rem 0.34rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    background: rgba(148, 163, 184, 0.14);
    color: #475569;
}

.lux-project-card__signal i {
    font-size: 0.625rem;
}

.lux-project-card__signal.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-project-card__signal.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-project-card__signal.is-teal { background: rgba(20, 184, 166, 0.12); color: #0f766e; }
.lux-project-card__signal.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-project-card__signal.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-project-card__signal.is-danger { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-project-card__fav {
    width: 1.75rem;
    height: 1.75rem;
}

.lux-project-card__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    color: #64748b;
    cursor: pointer;
    transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}

.lux-project-card__action:hover,
.lux-project-card.is-menu-open .lux-project-card__action--menu {
    color: var(--lux-primary-dark, #3730a3);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-project-card__action i {
    font-size: 0.8125rem;
    line-height: 1;
}

.lux-project-card__viz {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.65rem;
    align-items: stretch;
    margin: 0 0.75rem 0.55rem;
    padding: 0.62rem 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.85);
    border-radius: 14px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 55%),
        rgba(255, 255, 255, 0.72);
}

.lux-project-card__rings {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    justify-content: center;
}

.lux-project-card__ring-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.08rem;
    min-width: 4.1rem;
}

.lux-project-card__ring {
    --ring-color: var(--lux-primary, #5b5ff4);
    position: relative;
    width: 3.35rem;
    height: 3.35rem;
    border-radius: 9911px;
    background: conic-gradient(
        var(--ring-color) 0 calc(var(--lux-ring-pct, 0) * 1%),
        rgba(226, 232, 240, 0.95) calc(var(--lux-ring-pct, 0) * 1%) 100%
    );
    display: grid;
    place-items: center;
}

.lux-project-card__ring::before {
    content: "";
    position: absolute;
    inset: 0.38rem;
    border-radius: 9911px;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.05);
}

.lux-project-card__ring-value {
    position: relative;
    z-index: 1;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-project-card__ring.is-indigo { --ring-color: #6366f1; }
.lux-project-card__ring.is-teal { --ring-color: #14b8a6; }
.lux-project-card__ring.is-green { --ring-color: #10b981; }
.lux-project-card__ring.is-amber { --ring-color: #f59e0b; }

.lux-project-card__ring-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-project-card__ring-caption {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #94a3b8;
    text-align: center;
    line-height: 1.2;
    max-width: 4.5rem;
}

.lux-project-card__charts {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    min-width: 0;
    justify-content: center;
}

.lux-project-card__chart {
    min-width: 0;
}

.lux-project-card__chart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    margin-bottom: 0.22rem;
}

.lux-project-card__chart-head span {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-project-card__chart-head strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-project-card__chart-head strong.is-green { color: #047857; }
.lux-project-card__chart-head strong.is-amber { color: #b45309; }
.lux-project-card__chart-head strong.is-rose { color: #be123c; }
.lux-project-card__chart-head strong.is-slate { color: #64748b; }

.lux-project-card__stack-bar,
.lux-project-card__timeline-bar {
    display: flex;
    height: 0.42rem;
    border-radius: 9911px;
    overflow: hidden;
    background: rgba(226, 232, 240, 0.95);
}

.lux-project-card__stack-bar .is-done {
    background: linear-gradient(90deg, #6366f1, #818cf8);
}

.lux-project-card__stack-bar .is-open {
    background: rgba(148, 163, 184, 0.35);
}

.lux-project-card__timeline-elapsed {
    display: block;
    height: 100%;
    border-radius: 9911px;
    background: linear-gradient(90deg, #10b981, #34d399);
    transition: width 0.35s ease;
}

.lux-project-card__timeline-elapsed.is-amber {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.lux-project-card__timeline-elapsed.is-rose {
    background: linear-gradient(90deg, #f43f5e, #fb7185);
}

.lux-project-card__timeline-elapsed.is-slate {
    background: linear-gradient(90deg, #94a3b8, #cbd5e1);
}

.lux-project-card__chart-foot {
    margin: 0.18rem 0 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #94a3b8;
    line-height: 1.25;
}

.lux-project-card__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem;
    margin: 0;
    padding: 0.45rem 0.9rem 0.55rem;
    list-style: none;
    border-top: 1px solid rgba(226, 232, 240, 0.75);
}

.lux-project-card__fact {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.lux-project-card__fact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 8px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-project-card__fact-icon i {
    font-size: 0.75rem;
}

.lux-project-card__fact-copy {
    display: flex;
    flex-direction: column;
    gap: 0.02rem;
    min-width: 0;
}

.lux-project-card__fact-copy em {
    font-style: normal;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-project-card__fact-copy strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-project-card__footer {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.62rem 0.9rem 0.78rem;
    border-top: 1px solid rgba(226, 232, 240, 0.75);
    background: rgba(248, 250, 252, 0.72);
}

.lux-project-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.28rem 0.62rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
    transition: background 0.14s ease, transform 0.14s ease;
}

.lux-project-card__cta:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    transform: translateX(1px);
}

.lux-project-card__cta.is-static {
    background: rgba(148, 163, 184, 0.12);
    color: #64748b;
}

.lux-project-card__cta i {
    font-size: 0.75rem;
}

.lux-project-card__footer-meta {
    font-size: 0.625rem;
    font-weight: 700;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-project-card.is-deleted .lux-project-card__title,
.lux-project-card.is-deleted .lux-project-card__title-text {
    color: #64748b;
    text-decoration: line-through;
    text-decoration-color: rgba(244, 63, 94, 0.45);
}

/* Create project panel */
.lux-create-panel--project .lux-create-panel__workspace--project-wizard .lux-project-form__pane,
.lux-create-panel--project .lux-create-panel__workspace--project-full .lux-project-form__pane {
    max-width: 100%;
}

.lux-create-panel--project .lux-create-section-card .row {
    margin-left: -0.35rem;
    margin-right: -0.35rem;
}

.lux-project-form__pane {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-width: 0;
}

/* Full form — two-column section layout */
.lux-project-form--full .lux-project-form__layout--split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    align-items: start;
}

.lux-project-form--full .lux-project-form__layout--split .lux-project-form__pane {
    gap: 0.45rem;
}

/* Compact field grid */
.lux-project-form__grid {
    display: grid;
    gap: 0.3rem 0.625rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lux-project-form__grid--1 {
    grid-template-columns: minmax(0, 1fr);
}

.lux-project-form__grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lux-project-form__grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lux-project-form__cell.is-full {
    grid-column: 1 / -1;
}

.lux-project-form__cell.is-wide {
    grid-column: span 2;
}

.lux-project-form__cell.is-triple {
    grid-column: span 3;
}

.lux-project-form__cell .form-group {
    margin-bottom: 0;
}

/* Full form — denser inputs */
.lux-project-form--full .form-group {
    margin-bottom: 0.35rem;
}

.lux-project-form--full .form-label {
    margin-bottom: 0.12rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.lux-project-form--full .form-control {
    min-height: 1.85rem;
    padding: 0.28rem 0.625rem;
    font-size: 0.6875rem;
}

.lux-project-form--full .custom-select__control {
    min-height: 1.85rem !important;
    font-size: 0.6875rem;
}

.lux-project-form--full .custom-select__value-container {
    padding: 0 0.35rem;
}

.lux-project-form--full .custom-select__single-value,
.lux-project-form--full .custom-select__placeholder {
    font-size: 0.6875rem;
}

.lux-project-form--full .custom-controls-stacked {
    margin-top: 0.15rem !important;
}

.lux-project-form--full .custom-control-label {
    font-size: 0.75rem;
}

.lux-project-form--full textarea.form-control {
    min-height: 3.5rem;
}

.lux-project-form--full .lux-create-section-card {
    padding: 0.55rem 0.6rem 0.625rem;
}

.lux-project-form--full .lux-create-section__head {
    margin-bottom: 0.4rem;
    padding-bottom: 0.35rem;
}

.lux-project-form--full .lux-create-section__title {
    font-size: 0.75rem;
}

.lux-project-form--full .lux-create-section__description {
    font-size: 0.6875rem;
}

.lux-project-form__cluster.is-compact {
    padding: 0.45rem 0.55rem 0.4rem;
}

.lux-project-form__cluster.is-compact .lux-project-form__cluster-head {
    margin-bottom: 0.4rem;
    padding-bottom: 0.35rem;
}

.lux-project-form__cluster.is-compact .lux-project-form__cluster-head strong {
    font-size: 0.75rem;
}

.lux-project-form__cluster.is-compact .lux-project-form__cluster-head span {
    font-size: 0.625rem;
}

@media (max-width: 1100px) {
    .lux-project-form--full .lux-project-form__layout--split {
        grid-template-columns: 1fr;
    }

    .lux-project-form--full .lux-project-form__grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-project-form--full .lux-project-form__grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .lux-project-form__grid--3,
    .lux-project-form__grid--4 {
        grid-template-columns: 1fr;
    }

    .lux-project-form__cell.is-wide,
    .lux-project-form__cell.is-triple {
        grid-column: 1 / -1;
    }
}

/* Create project — grouped field clusters */
.lux-project-form__cluster {
    padding: 0.65rem 0.7rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.92);
    border-radius: 14px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), transparent 46%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
}

.lux-project-form__cluster + .lux-project-form__cluster {
    margin-top: 0.15rem;
}

.lux-project-form__cluster-head {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin-bottom: 0.55rem;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
}

.lux-project-form__cluster-head i {
    margin-top: 0.08rem;
    font-size: 0.875rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-project-form__cluster-head strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-project-form__cluster-head span {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-project-form__cluster-body .row:last-child {
    margin-bottom: 0;
}

.lux-create-panel--project .lux-create-section-card + .lux-create-section-card {
    margin-top: 0.35rem;
}

/* Service scope popover + summary */
.lux-project-svc-popover {
    width: min(92vw, 44rem);
    max-height: min(88vh, 40rem);
    overflow: visible;
}

.lux-project-svc-popover__body {
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Service line chip picker (inside popover) */
.lux-project-svc-picker--empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    padding: 1.25rem 0.75rem;
    text-align: center;
    border: 0px dashed rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.8);
}

.lux-project-svc-picker--empty i {
    font-size: 1.25rem;
    color: #94a3b8;
}

.lux-project-svc-picker--empty p {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
    max-width: 22rem;
}

.lux-project-svc-picker__search {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.55rem;
    margin-bottom: 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: #fff;
}

.lux-project-svc-picker__search i {
    color: #94a3b8;
    font-size: 0.8125rem;
}

.lux-project-svc-picker__search input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #334155;
    background: transparent;
}

.lux-project-svc-picker__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-project-svc-picker__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2rem;
    padding: 0 0.65rem 0 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 9911px;
    background: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.lux-project-svc-picker__chip:hover:not(:disabled) {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-project-svc-picker__chip.is-selected {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-project-svc-picker__chip:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-project-svc-picker__check {
    display: grid;
    place-items: center;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 9911px;
    background: rgba(148, 163, 184, 0.15);
    font-size: 0.6875rem;
}

.lux-project-svc-picker__chip.is-selected .lux-project-svc-picker__check {
    background: var(--lux-primary, #5b5ff4);
    color: #fff;
}

.lux-project-svc-picker__no-match {
    margin: 0.35rem 0 0;
    font-size: 0.6875rem;
    color: #94a3b8;
}

/* Estimate table in service popover */
.lux-project-svc-picker__head {
    margin-bottom: 0.45rem;
}

.lux-project-svc-picker__head strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-project-svc-picker__head span {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-project-svc-estimate {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-project-svc-estimate__head {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.625rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), #fff);
}

.lux-project-svc-estimate__head strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-project-svc-estimate__head span {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-project-svc-estimate__empty {
    margin: 0;
    padding: 0.75rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    text-align: center;
    border: 0px dashed rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.85);
}

.lux-project-svc-estimate__cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
    gap: 0.45rem;
}

.lux-project-svc-estimate__card {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.55rem 0.6rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-project-svc-estimate__card-title {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    line-height: 1.25;
    word-break: break-word;
}

.lux-project-svc-estimate__card-fields {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.lux-project-svc-estimate__field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(5.25rem, 5.75rem);
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 0.625rem;
    row-gap: 0.12rem;
}

.lux-project-svc-estimate__field-label {
    grid-column: 1;
    grid-row: 1;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
    line-height: 1.25;
}

.lux-project-svc-estimate__field-input {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-height: 1.85rem;
    padding: 0.28rem 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.95);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #0f172a;
    text-align: right;
    font-variant-numeric: tabular-nums;
    outline: none;
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-project-svc-estimate__field-input:focus {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-project-svc-estimate__field-input:read-only {
    opacity: 0.72;
    cursor: not-allowed;
}

.lux-project-svc-estimate__field--total {
    padding-top: 0.25rem;
    margin-top: 0.1rem;
    border-top: 1px dashed rgba(226, 232, 240, 0.95);
}

.lux-project-svc-estimate__field-total {
    grid-column: 2;
    grid-row: 1;
    justify-self: stretch;
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-size: 0.8125rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-project-svc-field__surface.is-filled {
    border-color: rgba(99, 102, 241, 0.28);
}

.lux-project-svc-field__summary-table {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin-top: 0.35rem;
}

.lux-project-svc-field__summary-head,
.lux-project-svc-field__summary-row {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(4.5rem, 1fr));
    gap: 0.35rem 0.625rem;
    align-items: center;
}

.lux-project-svc-field__summary-head {
    padding: 0 0.35rem 0.25rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-project-svc-field__summary-head > span:not(:first-child),
.lux-project-svc-field__summary-val,
.lux-project-svc-field__summary-cost {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.lux-project-svc-field__summary-row {
    padding: 0.28rem 0.35rem;
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.85);
    font-size: 0.75rem;
}

.lux-project-svc-field__summary-name {
    font-weight: 800;
    color: #334155;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
}

.lux-project-svc-field__summary-val {
    font-weight: 700;
    color: #64748b;
}

.lux-project-svc-field__summary-cost {
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-project-svc-field__summary-val.is-placeholder,
.lux-project-svc-field__summary-cost.is-placeholder {
    font-weight: 700;
    color: #94a3b8;
}

.lux-project-svc-field__surface-body {
    pointer-events: none;
}

.lux-project-svc-field__perm-notes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-bottom: 0.4rem;
}

.lux-project-svc-field__perm-note {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.45rem;
    border-radius: 9911px;
    border: 0px solid rgba(245, 158, 11, 0.35);
    background: rgba(255, 251, 235, 0.95);
    font-size: 0.625rem;
    font-weight: 700;
    color: #b45309;
}

.lux-project-svc-field__perm-note i {
    font-size: 0.6875rem;
}

.lux-project-svc-estimate__field-static {
    grid-column: 2;
    grid-row: 1;
    justify-self: stretch;
    min-height: 1.85rem;
    padding: 0.28rem 0.45rem;
    border: 0px dashed rgba(226, 232, 240, 0.95);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.95);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
    line-height: 1.35;
    text-align: right;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
}

.lux-project-svc-estimate__field-static.is-placeholder {
    color: #94a3b8;
}

.lux-project-svc-estimate__field-hint {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0;
    font-size: 0.625rem;
    font-weight: 700;
    color: #b45309;
    text-align: right;
}

.lux-project-svc-estimate__field-total.is-placeholder {
    color: #94a3b8;
}

.lux-project-svc-field__estimate-preview {
    display: none;
}

.lux-project-svc-field__estimate-row {
    display: none;
}

/* Task access restrictions panel */
.lux-project-access {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lux-project-access__summary {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-project-access__summary > div {
    flex: 1;
    min-width: 0;
}

.lux-project-access__summary strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    margin-bottom: 0.12rem;
}

.lux-project-access__summary i {
    margin-top: 0.08rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-project-access__summary p {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.45;
}

.lux-project-access__block {
    padding: 0.55rem 0.6rem 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.92);
    border-radius: 12px;
    background: #fff;
}

.lux-project-access__block-head {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin-bottom: 0.45rem;
}

.lux-project-access__block-head > i {
    margin-top: 0.1rem;
    font-size: 0.875rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-project-access__block-head strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-project-access__block-head span {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-project-access__block-head div {
    flex: 1;
    min-width: 0;
}

.lux-project-access__count {
    flex-shrink: 0;
    padding: 0.12rem 0.4rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.625rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.lux-project-access__team-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-project-access__team-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2rem;
    padding: 0 0.65rem 0 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease;
}

.lux-project-access__team-chip.is-selected {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-project-access__team-chip.is-disabled,
.lux-project-access__team-chip:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lux-project-access__team-check {
    display: grid;
    place-items: center;
    width: 1rem;
    height: 1rem;
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-project-access__team-chip.is-selected .lux-project-access__team-check {
    color: var(--lux-primary, #5b5ff4);
}

.lux-project-access__hint {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.4;
}

.lux-project-access__hint i {
    margin-top: 0.05rem;
}

.lux-project-access__step-badge {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1rem 0.35rem;
    border-radius: 9911px;
    background: rgba(15, 23, 42, 0.06);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-project-access__step-badge em {
    display: grid;
    place-items: center;
    min-width: 1rem;
    height: 1rem;
    border-radius: 9911px;
    background: var(--lux-primary, #5b5ff4);
    color: #fff;
    font-style: normal;
    font-size: 0.625rem;
    line-height: 1;
}

.lux-project-access__block--refine {
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), #fff);
}

.lux-project-access__mode-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.55rem;
}

.lux-project-access__mode-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 2rem;
    padding: 0 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.lux-project-access__mode-tab:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    color: #334155;
}

.lux-project-access__mode-tab.is-active {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: 0 4px 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-project-access__mode-tab i {
    font-size: 0.75rem;
}

.lux-project-access__mode-count {
    min-width: 1rem;
    height: 1rem;
    padding: 0 0.25rem;
    border-radius: 9911px;
    background: var(--lux-primary, #5b5ff4);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    line-height: 1rem;
    text-align: center;
}

.lux-project-access__mode-panel {
    padding-top: 0.15rem;
}

.lux-project-access__mode-hint {
    margin: 0;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    border: 0px dashed rgba(226, 232, 240, 0.95);
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
}

.lux-project-access__picker {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-project-access__picker--empty {
    align-items: center;
    text-align: center;
    padding: 1rem 0.75rem;
    border: 0px dashed rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.85);
}

.lux-project-access__picker--empty i {
    font-size: 1.125rem;
    color: #94a3b8;
}

.lux-project-access__picker--empty p {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
    line-height: 1.4;
}

.lux-project-access__picker--empty span {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.35;
    max-width: 20rem;
}

.lux-project-access__selected-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.55rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-project-access__selected-label {
    font-size: 0.6875rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-project-access__selected-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    flex: 1;
    min-width: 0;
}

.lux-project-access__selected-chip {
    padding: 0.08rem 0.4rem;
    border-radius: 9911px;
    background: #fff;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
}

.lux-project-access__clear {
    margin-left: auto;
    border: none;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.lux-project-access__clear:hover {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-project-access__search {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: #fff;
}

.lux-project-access__search i {
    color: #94a3b8;
    font-size: 0.8125rem;
}

.lux-project-access__search input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #0f172a;
    outline: none;
}

.lux-project-access__search input::placeholder {
    color: #94a3b8;
}

.lux-project-access__search-clear {
    display: grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    border: none;
    border-radius: 6px;
    background: rgba(226, 232, 240, 0.65);
    color: #64748b;
    cursor: pointer;
}

.lux-project-access__chip-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
    gap: 0.35rem;
    max-height: 14rem;
    overflow: auto;
    padding-right: 0.15rem;
}

.lux-project-access__chip {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    min-height: 2.35rem;
    padding: 0.4rem 0.625rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    text-align: left;
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease, box-shadow 0.14s ease;
}

.lux-project-access__chip:hover:not(:disabled) {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: #fff;
}

.lux-project-access__chip.is-selected {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.42);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-project-access__chip:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.lux-project-access__chip-mark {
    flex-shrink: 0;
    display: grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    color: #94a3b8;
    font-size: 0.75rem;
}

.lux-project-access__chip.is-selected .lux-project-access__chip-mark {
    color: var(--lux-primary, #5b5ff4);
}

.lux-project-access__avatar {
    display: grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 9911px;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18), rgba(20, 184, 166, 0.14));
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-project-access__chip.is-selected .lux-project-access__avatar {
    background: var(--lux-primary, #5b5ff4);
    color: #fff;
}

.lux-project-access__chip-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.06rem;
}

.lux-project-access__chip-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
    line-height: 1.25;
    word-break: break-word;
}

.lux-project-access__chip.is-selected .lux-project-access__chip-label {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-project-access__chip-meta {
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-project-access__no-match {
    margin: 0;
    padding: 0.45rem;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: #94a3b8;
}

/* Create-project selects portal to body (section overflow:hidden clips inline menus) */
.lux-create-panel--project .custom-select__menu-portal,
.lux-create-panel--project .lux-project-access .custom-select__menu-portal {
    z-index: 10120 !important;
}

.lux-create-panel--project .lux-date-picker-popper,
#lux-date-picker-portal .react-datepicker-popper {
    z-index: 10120 !important;
}

.lux-create-panel--project .react-datepicker-wrapper {
    display: block;
    width: 100%;
}

.lux-create-panel--project .react-datepicker-wrapper .form-control {
    width: 100%;
}

/* Create-deliverable selects / dates portal to body (section overflow clips inline menus) */
.lux-create-panel--deliverable .custom-select__menu-portal,
.lux-create-panel--deliverable .lux-project-access .custom-select__menu-portal {
    z-index: 10120 !important;
}

.lux-create-panel--deliverable .lux-date-picker-popper {
    z-index: 10120 !important;
}

.lux-create-panel--deliverable .react-datepicker-wrapper {
    display: block;
    width: 100%;
}

.lux-create-panel--deliverable .react-datepicker-wrapper .form-control {
    width: 100%;
}

.lux-create-panel--deliverable .lux-create-section,
.lux-create-panel--deliverable .lux-create-section__body,
.lux-create-panel--deliverable .lux-deliverable-create__field {
    overflow: visible;
}

@media (max-width: 768px) {
    .lux-project-requests .lux-bid-list {
        min-width: 52rem;
    }

    .lux-project-grid {
        grid-template-columns: 1fr;
    }
}

/* ========== luxury-create-panel.css ========== */

/* ========== Reusable luxury create / update panel ========== */

.lux-create-panel__backdrop {
    position: fixed;
    inset: 0;
    z-index: 9998;
    padding: 0;
    border: none;
    background: rgba(8, 12, 28, 0.48);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    cursor: pointer;
}

.right_sidebar.lux-create-panel,
.right_sidebar.lux-create-panel.create_project_right_sidebar {
    top: 0;
    height: 100vh;
    height: 100dvh;
    width: min(var(--lux-drawer-width-lg), 96vw) !important;
    right: calc(-1 * min(var(--lux-drawer-width-lg), 96vw) - 20px) !important;
    padding: 0;
    background: linear-gradient(165deg, #ffffff 0%, #f8fafc 48%, #f1f5f9 100%);
    border-left: 1px solid rgba(148, 163, 184, 0.32);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.7) inset,
        -20px 0 56px rgba(15, 23, 42, 0.18);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.right_sidebar.lux-create-panel.open,
.right_sidebar.lux-create-panel.create_project_right_sidebar.open {
    right: 0 !important;
}

/* Header */
.lux-create-panel__header {
    flex-shrink: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.09) 0%, rgba(20, 184, 166, 0.05) 55%, transparent 100%),
        #fff;
}

.lux-create-panel__header-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: var(--lux-drawer-header-pad-y) var(--lux-drawer-pad-x) 0.55rem;
}

.lux-create-panel__header-toolbar {
    padding: 0 var(--lux-drawer-pad-x) 0.65rem;
    border-top: 1px solid rgba(226, 232, 240, 0.65);
}

.lux-create-panel__kicker {
    margin: 0 0 2px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-create-panel__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
    line-height: 1.2;
}

.lux-create-panel__subtitle {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.4;
    color: #64748b;
    max-width: 42rem;
}

.lux-create-panel__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 0px solid rgba(148, 163, 184, 0.35);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.95);
    color: #475569;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-create-panel__close:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-create-panel__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.lux-create-panel__workflow {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.lux-create-panel__chrome {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.4rem 1rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    background: rgba(255, 255, 255, 0.72);
}

/* Workspace: rail + canvas */
.lux-create-panel__workspace {
    display: flex;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.lux-create-panel__workspace--wizard {
    display: grid;
    grid-template-columns: minmax(11.5rem, 13.5rem) minmax(0, 1fr);
    gap: 0;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
}

.lux-create-panel__canvas {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    min-height: 0;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), transparent 42%),
        rgba(255, 255, 255, 0.55);
}

.lux-create-panel__workspace--wizard .lux-create-panel__canvas {
    border-left: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-create-panel__scroll {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: var(--lux-drawer-body-pad-y) var(--lux-drawer-pad-x) 1.1rem;
    -webkit-overflow-scrolling: touch;
}

.lux-create-panel__form-grid {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-width: none;
}

/* Compact mode switch */
.lux-create-mode--compact {
    display: inline-flex;
    padding: 3px;
    border-radius: 9911px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.95);
    gap: 2px;
}

.lux-create-mode__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 1.75rem;
    padding: 0 0.7rem;
    border: none;
    border-radius: 9911px;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    transition: background 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.lux-create-mode__pill i {
    font-size: 0.75rem;
}

.lux-create-mode__pill.is-active {
    background: #fff;
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: 0 1px 6px rgba(15, 23, 42, 0.08);
}

/* Wizard rail */
.lux-create-wizard--rail {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0.65rem 0.55rem 0.65rem 0.7rem;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.92));
    overflow: auto;
}

.lux-create-wizard__progress-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
}

.lux-create-wizard__progress-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-create-wizard__progress-value {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-create-wizard__progress-track {
    height: 4px;
    border-radius: 9911px;
    background: rgba(226, 232, 240, 0.95);
    overflow: hidden;
    margin-bottom: 0.65rem;
}

.lux-create-wizard__progress-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #10b981, var(--lux-primary, #5b5ff4));
    transition: width 0.28s ease;
}

.lux-create-wizard__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.lux-create-wizard__step {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    padding: 0.42rem 0.45rem;
    border: 0px solid transparent;
    border-radius: 12px;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease;
}

.lux-create-wizard__step:hover {
    background: rgba(255, 255, 255, 0.65);
}

.lux-create-wizard__step.is-active {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
}

.lux-create-wizard__step.is-complete .lux-create-wizard__marker {
    background: rgba(16, 185, 129, 0.14);
    border-color: rgba(16, 185, 129, 0.35);
    color: #059669;
}

.lux-create-wizard__step.is-attention .lux-create-wizard__marker {
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(245, 158, 11, 0.35);
    color: #d97706;
}

.lux-create-wizard__step.is-pending .lux-create-wizard__marker {
    background: rgba(248, 250, 252, 0.95);
    color: #94a3b8;
}

.lux-create-wizard__step.is-optional .lux-create-wizard__marker {
    background: rgba(248, 250, 252, 0.95);
    border-color: rgba(148, 163, 184, 0.4);
    color: #94a3b8;
}

.lux-create-wizard__status.is-optional {
    color: #94a3b8;
}

.lux-create-wizard__marker {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 9911px;
    border: 0px solid rgba(148, 163, 184, 0.45);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 800;
}

.lux-create-wizard__marker-dot {
    width: 7px;
    height: 7px;
    border-radius: 9911px;
    background: var(--lux-primary, #5b5ff4);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.lux-create-wizard__copy {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
    flex: 1;
}

.lux-create-wizard__copy strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-create-wizard__status {
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1.2;
}

.lux-create-wizard__status.is-complete { color: #059669; }
.lux-create-wizard__status.is-active { color: var(--lux-primary-dark, #3730a3); }
.lux-create-wizard__status.is-attention { color: #d97706; }
.lux-create-wizard__status.is-pending { color: #94a3b8; }

.lux-create-wizard__chevron {
    font-size: 0.75rem;
    color: #cbd5e1;
    flex-shrink: 0;
}

.lux-create-wizard__step.is-active .lux-create-wizard__chevron {
    color: var(--lux-primary, #5b5ff4);
}

/* Section cards — richer form canvas */
.lux-create-section {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.lux-create-section--menu-visible {
    overflow: visible;
}

.lux-create-section--menu-visible .lux-create-section__body {
    overflow: visible;
}

.lux-create-panel__workspace--wizard .lux-create-section__head {
    padding: 0.625rem 0.75rem;
}

.lux-create-panel__workspace--wizard .lux-create-section__hint {
    display: block;
}

.lux-create-section__head {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.55rem 0.8rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.94));
}

.lux-create-section__icon {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
    font-size: 0.85rem;
}

.lux-create-section__title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-create-section__hint {
    margin: 0.1rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.35;
}

.lux-create-section__body {
    padding: 0.85rem 0.9rem 1rem;
}

.lux-create-section__description {
    margin: 0 0 0.85rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
    font-size: 0.6875rem;
    line-height: 1.5;
    color: #475569;
}

/* Field layout */
.lux-create-form .lux-create-field-group + .lux-create-field-group {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px dashed rgba(226, 232, 240, 0.95);
}

.lux-create-field-group__head {
    margin-bottom: 0.55rem;
}

.lux-create-field-group__title {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.lux-create-field-group__desc {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-create-field-group__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem 0.7rem;
}

.lux-create-field-group__grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lux-create-field-group__grid--1 {
    grid-template-columns: minmax(0, 1fr);
}

.lux-create-field--span-2 {
    grid-column: span 2;
}

.lux-create-field--span-full {
    grid-column: 1 / -1;
}

.lux-create-field__inner .form-group {
    margin-bottom: 0;
}

.lux-create-field__inner .form-label {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    margin-bottom: 0.2rem;
}

.lux-create-field__inner .form-control,
.lux-create-field__inner .css-yk16xz-control,
.lux-create-field__inner .css-1pahdxg-control {
    min-height: 2.15rem;
    border-radius: 12px;
    border-color: rgba(203, 213, 225, 0.95);
    font-size: 0.8125rem;
}

.lux-create-exit-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.55rem;
}

.lux-create-exit-row__btn {
    min-height: 2.15rem;
    padding: 0 0.85rem;
    border-radius: 9911px;
    border: 0px solid rgba(244, 63, 94, 0.35);
    background: rgba(244, 63, 94, 0.08);
    color: #be123c;
    font-size: 0.6875rem;
    font-weight: 800;
    cursor: pointer;
}

/* Skills */
.lux-create-skills__ranked {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-create-skill-card {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    padding: 0.55rem 0.6rem 0.65rem;
    background: rgba(255, 255, 255, 0.95);
}

.lux-create-skill-card.is-primary {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
}

.lux-create-skill-card.is-secondary {
    border-color: rgba(20, 184, 166, 0.22);
    background: rgba(20, 184, 166, 0.04);
}

.lux-create-skill-card__tier {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-create-skill-card__desc {
    margin: 0.15rem 0 0.45rem;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: #64748b;
}

.lux-create-skill-card__fields {
    display: flex;
    gap: 0.35rem;
    align-items: flex-end;
}

.lux-create-skill-card__field--grow {
    flex: 1;
    min-width: 0;
}

.lux-create-skill-card__field {
    min-width: 5.5rem;
}

.lux-create-skills__additional {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px dashed rgba(226, 232, 240, 0.95);
}

.lux-create-skills__additional-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
}

.lux-create-skills__add-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 2rem;
    padding: 0 0.75rem;
    border-radius: 9911px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), rgba(255, 255, 255, 0.95));
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.6875rem;
    font-weight: 800;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-create-skills__chip-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.lux-create-skills__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.35rem 0.3rem 0.55rem;
    border-radius: 9911px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.lux-create-skills__chip-name {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-create-skills__chip-level {
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 0.1rem 0.35rem;
    border-radius: 9911px;
    background: rgba(248, 250, 252, 0.95);
    color: #64748b;
}

.lux-create-skills__chip-remove {
    display: grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border: none;
    border-radius: 9911px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.lux-create-skills__chip-remove:hover {
    background: rgba(244, 63, 94, 0.1);
    color: #e11d48;
}

.lux-create-skills__empty {
    text-align: center;
    padding: 1.25rem 0.75rem;
    border-radius: 12px;
    border: 0px dashed rgba(203, 213, 225, 0.95);
    background: rgba(248, 250, 252, 0.7);
    color: #64748b;
}

.lux-create-skills__empty i {
    display: block;
    font-size: 1.25rem;
    margin-bottom: 0.35rem;
    color: #94a3b8;
}

.lux-create-skills__empty p {
    margin: 0 0 0.625rem;
    font-size: 0.6875rem;
}

.lux-create-skills__empty-btn {
    border: none;
    background: transparent;
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.6875rem;
    font-weight: 800;
    cursor: pointer;
    text-decoration: underline;
}

/* Add-skill popover */
.lux-create-skill-popover__backdrop {
    position: fixed;
    inset: 0;
    z-index: 10050;
    border: none;
    background: rgba(8, 12, 28, 0.35);
    cursor: pointer;
}

.lux-create-skill-popover {
    position: fixed;
    z-index: 10051;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(420px, calc(100vw - 2rem));
    border-radius: 16px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.2);
    overflow: visible;
}

.lux-create-skill-popover__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.625rem;
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), #fff);
}

.lux-create-skill-popover__head h4 {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-create-skill-popover__head p {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-create-skill-popover__close {
    width: 30px;
    height: 30px;
    border: 0px solid rgba(203, 213, 225, 0.9);
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
}

.lux-create-skill-popover__body {
    padding: 0.75rem 0.85rem;
}

.lux-create-skill-popover__fields {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 0.55rem;
    align-items: end;
}

.lux-create-skill-popover__foot {
    display: flex;
    justify-content: flex-end;
    gap: 0.4rem;
    padding: 0.55rem 0.85rem 0.7rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

@media (max-width: 900px) {
    .lux-create-skills__ranked {
        grid-template-columns: minmax(0, 1fr);
    }

    .lux-create-field-group__grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .lux-create-field-group__grid,
    .lux-create-field-group__grid--3 {
        grid-template-columns: minmax(0, 1fr);
    }

    .lux-create-field--span-2 {
        grid-column: span 1;
    }
}

/* Footer */
.lux-create-footer {
    flex-shrink: 0;
    border-top: 1px solid rgba(148, 163, 184, 0.24);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.04);
}

.lux-create-footer__alert {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.85rem;
    background: rgba(244, 63, 94, 0.08);
    border-bottom: 1px solid rgba(244, 63, 94, 0.16);
    color: #be123c;
    font-size: 0.6875rem;
}

.lux-create-footer__alert-dismiss {
    margin-left: auto;
    border: none;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.lux-create-footer__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.55rem 0.85rem;
}

.lux-create-footer__options {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.lux-create-footer__check,
.lux-create-footer__effective {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.6875rem;
    color: #475569;
    margin: 0;
}

.lux-create-footer__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-left: auto;
}

.lux-create-footer__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    min-height: 2.05rem;
    padding: 0 0.9rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    cursor: pointer;
    border: 0px solid transparent;
}

.lux-create-footer__btn--ghost {
    border-color: rgba(148, 163, 184, 0.45);
    background: #fff;
    color: #475569;
}

.lux-create-footer__btn--primary {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
}

.lux-create-footer__submit.btn {
    border-radius: 9911px;
    font-weight: 800;
    min-height: 2.05rem;
    padding: 0 1.05rem;
}

@media (max-width: 900px) {
    .lux-create-panel__workspace--wizard {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
    }

    .lux-create-wizard--rail {
        max-height: 9.5rem;
        border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    }

    .lux-create-wizard__list {
        flex-direction: row;
        overflow-x: auto;
        padding-bottom: 0.15rem;
    }

    .lux-create-wizard__item {
        flex: 0 0 auto;
        min-width: 8.5rem;
    }

    .lux-create-wizard__chevron {
        display: none;
    }

    .lux-create-panel__workspace--wizard .lux-create-panel__canvas {
        border-left: none;
    }
}

@media (max-width: 767px) {
    .right_sidebar.lux-create-panel,
    .right_sidebar.lux-create-panel.create_project_right_sidebar {
        width: 100vw !important;
        right: -100vw !important;
    }
}

/* ========== luxury-hrms-dashboard.css ========== */

/* ========== HRMS Employee Dashboard — luxury command center ========== */

.lux-hrms-dash {
    padding: 0.75rem 0.75rem 1.5rem;
    max-width: 100%;
    overflow-x: hidden;
}

.lux-hrms-dash__hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
    padding: 1rem 1.15rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 20px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 48%),
        radial-gradient(circle at 100% 100%, rgba(16, 185, 129, 0.1), transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.lux-hrms-dash__hero-eyebrow,
.lux-hrms-dash__section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-hrms-dash__hero-title {
    margin: 0.2rem 0 0;
    font-size: 1.35rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.15;
}

.lux-hrms-dash__hero-title span {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-hrms-dash__hero-sub,
.lux-hrms-dash__hero-context,
.lux-hrms-dash__section-desc,
.lux-hrms-dash__panel-sub {
    margin: 0.28rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.45;
    color: #64748b;
}

.lux-hrms-dash__hero-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.55rem;
    flex-shrink: 0;
}

.lux-hrms-dash__filter-group {
    display: inline-flex;
    padding: 0.18rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.88);
}

.lux-hrms-dash__filter-chip {
    min-height: 1.75rem;
    padding: 0 0.65rem;
    border: none;
    border-radius: 9911px;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
}

.lux-hrms-dash__filter-chip.is-active {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-hrms-dash__hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.125rem;
    padding: 0 0.85rem;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    font-size: 0.6875rem;
    font-weight: 800;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-hrms-dash__kpi-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--lux-kpi-strip-grid-gap);
    margin: var(--lux-kpi-strip-margin);
}

.lux-hrms-dash__kpi {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    min-height: var(--lux-kpi-min-height);
    padding: 0.75rem 0.8rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-hrms-dash__kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }
.lux-hrms-dash__kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-hrms-dash__kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-hrms-dash__kpi.is-violet { border-color: rgba(124, 58, 237, 0.2); }
.lux-hrms-dash__kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-hrms-dash__kpi.is-teal { border-color: rgba(20, 184, 166, 0.2); }
.lux-hrms-dash__kpi.is-slate { border-color: rgba(100, 116, 139, 0.2); }
.lux-hrms-dash__kpi.is-rose { border-color: rgba(219, 39, 119, 0.18); }

.lux-hrms-dash__kpi-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
}

.lux-hrms-dash__kpi-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-hrms-dash__kpi-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.75rem;
}

.lux-hrms-dash__kpi-value {
    font-size: 1.35rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.1;
}

.lux-hrms-dash__kpi-value small {
    margin-left: 0.12rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #64748b;
}

.lux-hrms-dash__kpi-hint {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.35;
}

.lux-hrms-dash__kpi-link {
    margin-top: auto;
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
}

.lux-hrms-dash__section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.65rem;
}

.lux-hrms-dash__section-title {
    margin: 0.12rem 0 0;
    font-size: 1rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-hrms-dash__quick-nav,
.lux-hrms-dash__charts,
.lux-hrms-dash__roadmap {
    margin-bottom: 0.85rem;
}

.lux-hrms-dash__quick-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.625rem;
}

.lux-hrms-dash__quick-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 5.5rem;
    padding: 0.65rem 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    text-decoration: none;
    transition: transform 0.14s ease, box-shadow 0.14s ease;
}

.lux-hrms-dash__quick-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.lux-hrms-dash__quick-badge {
    position: absolute;
    top: 0.45rem;
    right: 0.45rem;
    min-width: 1.25rem;
    padding: 0 0.35rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.625rem;
    font-weight: 900;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-hrms-dash__quick-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.95rem;
}

.lux-hrms-dash__quick-card.is-green .lux-hrms-dash__quick-icon { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-hrms-dash__quick-card.is-amber .lux-hrms-dash__quick-icon { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-hrms-dash__quick-card.is-violet .lux-hrms-dash__quick-icon { background: rgba(124, 58, 237, 0.12); color: #6d28d9; }
.lux-hrms-dash__quick-card.is-blue .lux-hrms-dash__quick-icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-hrms-dash__quick-card.is-slate .lux-hrms-dash__quick-icon { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-hrms-dash__quick-label {
    font-size: 0.75rem;
    font-weight: 800;
    color: #334155;
    text-align: center;
}

.lux-hrms-dash__insights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.85rem;
}

.lux-hrms-dash__panel,
.lux-hrms-dash__chart-panel {
    height: 100%;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.lux-hrms-dash__panel--accent {
    background:
        radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.08), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-hrms-dash__panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.85rem 0.95rem 0.65rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-hrms-dash__panel-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-shrink: 0;
}

.lux-hrms-dash__panel-head--stack {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
}

.lux-hrms-dash__panel-head--stack .lux-hrms-dash__panel-sub {
    margin-top: 0.12rem;
}

.lux-hrms-dash__panel-title {
    margin: 0.08rem 0 0;
    font-size: 0.9375rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-hrms-dash__panel-link {
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
}

.lux-hrms-dash__panel-body {
    padding: 0.65rem 0.95rem 0.85rem;
    min-width: 0;
}

.lux-hrms-dash__panel--insights {
    min-width: 0;
    overflow: hidden;
}

.lux-hrms-dash__chart-grid > *,
.lux-hrms-dash__chart-grid--duo > *,
.lux-hrms-dash__chart-grid--primary > * {
    min-width: 0;
}

.lux-hrms-dash__chart-grid--duo .lux-hrms-dash__panel--insights,
.lux-hrms-dash__chart-grid--primary .lux-hrms-dash__panel--insights,
.lux-hrms-dash__chart-grid--primary .lux-hrms-dash__panel--forecast {
    grid-column: 1 / -1;
}

.lux-hrms-dash__forecast-body {
    display: grid;
    gap: 0.8rem;
    min-width: 0;
}

.lux-hrms-dash__forecast-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lux-hrms-dash__forecast-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lux-hrms-dash__joiner-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.55rem;
    align-items: center;
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
    text-decoration: none;
}

.lux-hrms-dash__joiner-row:last-child { border-bottom: none; }

.lux-hrms-dash__joiner-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16), rgba(16, 185, 129, 0.14));
    font-size: 0.75rem;
    font-weight: 900;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-hrms-dash__joiner-copy strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-hrms-dash__joiner-copy small {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-hrms-dash__joiner-date {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #94a3b8;
    white-space: nowrap;
}

.lux-hrms-dash__alert {
    display: flex;
    gap: 0.55rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-hrms-dash__alert:last-child { border-bottom: none; }

.lux-hrms-dash__alert-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 12px;
    flex-shrink: 0;
}

.lux-hrms-dash__alert.is-green .lux-hrms-dash__alert-icon { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-hrms-dash__alert.is-amber .lux-hrms-dash__alert-icon { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-hrms-dash__alert.is-blue .lux-hrms-dash__alert-icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-hrms-dash__alert.is-slate .lux-hrms-dash__alert-icon { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-hrms-dash__alert strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-hrms-dash__alert p {
    margin: 0.12rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.4;
    color: #64748b;
}

.lux-hrms-dash__accent-copy {
    margin: 0 0 0.55rem;
    font-size: 0.75rem;
    line-height: 1.5;
    color: #475569;
}

.lux-hrms-dash__accent-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-hrms-dash__accent-list li {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
}

.lux-hrms-dash__accent-list i {
    color: #059669;
    font-size: 0.6875rem;
}

.lux-hrms-dash__chart-grid {
    display: grid;
    gap: 0.55rem;
}

.lux-hrms-dash__theme-divider {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.65rem;
    margin-top: 0.35rem;
    padding: 0.42rem 0.2rem 0.28rem;
    border-top: 1px dashed rgba(203, 213, 225, 0.95);
}

.lux-hrms-dash__theme-divider h4 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #334155;
}

.lux-hrms-dash__theme-divider p {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    text-align: right;
}

.lux-hrms-dash__chart-grid--primary {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    margin-bottom: 0.55rem;
}

.lux-hrms-dash__chart-grid--secondary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lux-hrms-dash__chart-body {
    padding: 0.35rem 0.75rem 0.85rem;
}

.lux-hrms-dash__donut-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
    gap: 0.35rem;
    align-items: center;
}

.lux-hrms-dash__donut-legend {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-hrms-dash__donut-legend li {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: 0.35rem;
    align-items: center;
    padding: 0.35rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
    font-size: 0.75rem;
}

.lux-hrms-dash__donut-dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 9911px;
}

.lux-hrms-dash__donut-label {
    font-weight: 700;
    color: #475569;
}

.lux-hrms-dash__donut-legend strong {
    font-weight: 900;
    color: #0f172a;
}

.lux-hrms-dash__donut-count {
    font-weight: 700;
    color: #94a3b8;
}

.lux-hrms-dash__designation-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-hrms-dash__designation-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    margin-bottom: 0.25rem;
    font-size: 0.75rem;
}

.lux-hrms-dash__designation-head span {
    font-weight: 700;
    color: #475569;
}

.lux-hrms-dash__designation-head strong {
    font-weight: 900;
    color: #0f172a;
    white-space: nowrap;
}

.lux-hrms-dash__designation-list li {
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-hrms-dash__designation-bar {
    height: 0.35rem;
    border-radius: 9911px;
    background: rgba(241, 245, 249, 0.98);
    overflow: hidden;
}

.lux-hrms-dash__designation-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
}

.lux-hrms-dash__roadmap-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-hrms-dash__roadmap-card {
    display: flex;
    gap: 0.65rem;
    padding: 0.85rem;
    border: 0px dashed rgba(203, 213, 225, 0.95);
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.88);
    min-width: 0;
}

.lux-hrms-dash__roadmap-card--stack,
.lux-hrms-dash__insights-body .lux-hrms-dash__roadmap-card {
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
}

.lux-hrms-dash__roadmap-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-hrms-dash__roadmap-card.is-amber .lux-hrms-dash__roadmap-icon { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-hrms-dash__roadmap-card.is-green .lux-hrms-dash__roadmap-icon { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-hrms-dash__roadmap-card.is-violet .lux-hrms-dash__roadmap-icon { background: rgba(124, 58, 237, 0.12); color: #6d28d9; }
.lux-hrms-dash__roadmap-card.is-blue .lux-hrms-dash__roadmap-icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-hrms-dash__roadmap-card.is-rose .lux-hrms-dash__roadmap-icon { background: rgba(219, 39, 119, 0.12); color: #be185d; }
.lux-hrms-dash__roadmap-card.is-slate .lux-hrms-dash__roadmap-icon { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-hrms-dash__roadmap-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.35rem;
}

.lux-hrms-dash__roadmap-top strong,
.lux-hrms-dash__roadmap-top h3 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.3;
    min-width: 0;
    word-break: break-word;
}

.lux-hrms-dash__roadmap-copy p {
    margin: 0.28rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-hrms-dash__roadmap-badge {
    padding: 0.12rem 0.45rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
    flex-shrink: 0;
}

.lux-hrms-dash__roadmap-badge.is-soon,
.lux-hrms-dash__roadmap-badge.is-indigo {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-hrms-dash__roadmap-badge.is-planned {
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

.lux-hrms-dash__roadmap-badge.is-green {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.lux-hrms-dash__roadmap-badge.is-amber {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.lux-hrms-dash__roadmap-badge.is-rose {
    background: rgba(244, 63, 94, 0.12);
    color: #be123c;
}

.lux-hrms-dash__roadmap-badge.is-sky {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}

.lux-hrms-dash__roadmap-hint {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-hrms-dash__roadmap-meter {
    margin-top: 0.1rem;
}

.lux-hrms-dash__roadmap-meter-head,
.lux-hrms-dash__roadmap-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-hrms-dash__roadmap-foot {
    margin-top: 0.15rem;
}

.lux-hrms-dash__insights-body {
    display: grid;
    gap: 0.8rem;
    min-width: 0;
}

.lux-hrms-dash__insights-hero {
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), rgba(99, 102, 241, 0.03));
    min-width: 0;
}

.lux-hrms-dash__insights-hero-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.lux-hrms-dash__insights-hero-copy {
    flex: 1 1 12rem;
    min-width: 0;
}

.lux-hrms-dash__insights-kicker {
    margin: 0;
    color: #64748b;
    font-size: 0.6875rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lux-hrms-dash__insights-score {
    margin-top: 0.25rem;
    color: #0f172a;
    font-size: 1.625rem;
    font-weight: 900;
    line-height: 1.1;
}

.lux-hrms-dash__insights-note {
    margin: 0.25rem 0 0;
    color: #64748b;
    font-size: 0.75rem;
    line-height: 1.45;
}

.lux-hrms-dash__insights-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
}

.lux-hrms-dash__insight-metric {
    min-height: 6.5rem;
    padding: 0.8rem 0.85rem;
    border-radius: 14px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
    min-width: 0;
}

.lux-hrms-dash__insight-metric-label {
    color: #64748b;
    font-size: 0.6875rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.35;
}

.lux-hrms-dash__insight-metric-value {
    margin-top: 0.2rem;
    color: #0f172a;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.2;
}

.lux-hrms-dash__insight-metric-hint {
    margin-top: 0.2rem;
    color: #64748b;
    font-size: 0.6875rem;
    line-height: 1.4;
}

.lux-hrms-dash__insights-action {
    display: flex;
    justify-content: flex-end;
}

.lux-hrms-dash__empty {
    margin: 0;
    padding: 1.5rem 0.625rem;
    text-align: center;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-hrms-dash__chart-grid--duo {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.55rem;
}

.lux-hrms-dash__chart-grid--quad {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.55rem;
}

.lux-hrms-dash__chart-badge {
    padding: 0.18rem 0.45rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-hrms-dash__charts--retention { margin-top: 0.25rem; }

.lux-hrms-dash__retention-kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.625rem;
    margin-bottom: 0.65rem;
}

.lux-hrms-dash__ret-kpi {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding: 0.7rem 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
}

.lux-hrms-dash__ret-kpi span {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-hrms-dash__ret-kpi strong {
    font-size: 1.125rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-hrms-dash__ret-kpi small {
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-hrms-dash__ret-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2); }
.lux-hrms-dash__ret-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-hrms-dash__ret-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-hrms-dash__ret-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-hrms-dash__ret-kpi.is-violet { border-color: rgba(124, 58, 237, 0.2); }
.lux-hrms-dash__ret-kpi.is-rose { border-color: rgba(219, 39, 119, 0.2); }

.lux-hrms-dash__watch-list { margin: 0; padding: 0; list-style: none; }

.lux-hrms-dash__watch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-hrms-dash__watch-row:last-child { border-bottom: none; }
.lux-hrms-dash__watch-row strong { display: block; font-size: 0.75rem; font-weight: 800; color: #0f172a; }
.lux-hrms-dash__watch-row small { display: block; font-size: 0.6875rem; color: #64748b; }
.lux-hrms-dash__watch-meta { text-align: right; }
.lux-hrms-dash__watch-meta span { display: block; font-size: 0.6875rem; font-weight: 900; color: #334155; }
.lux-hrms-dash__watch-meta em { display: block; font-style: normal; font-size: 0.625rem; font-weight: 700; color: #94a3b8; max-width: 9rem; }
.lux-hrms-dash__watch-row.is-watch .lux-hrms-dash__watch-meta span { color: #b45309; }
.lux-hrms-dash__watch-row.is-champion .lux-hrms-dash__watch-meta span { color: #047857; }

.lux-hrms-dash__health { margin-bottom: 0.85rem; }

.lux-hrms-dash__health-soon {
    padding: 0.28rem 0.55rem;
    border-radius: 9911px;
    background: rgba(124, 58, 237, 0.12);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #6d28d9;
    white-space: nowrap;
}

.lux-hrms-dash__health-hero {
    margin-bottom: 0.55rem;
    padding: 1rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(16, 185, 129, 0.1), transparent 45%),
        radial-gradient(circle at 100% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.lux-hrms-dash__health-hero-copy { display: flex; gap: 0.85rem; align-items: flex-start; }

.lux-hrms-dash__health-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(5, 150, 105, 0.16), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14));
    color: #047857;
    font-size: 1.125rem;
    flex-shrink: 0;
}

.lux-hrms-dash__health-hero-copy h3 { margin: 0; font-size: 0.9375rem; font-weight: 900; color: #0f172a; }
.lux-hrms-dash__health-hero-copy p { margin: 0.28rem 0 0.55rem; font-size: 0.6875rem; line-height: 1.5; color: #475569; }

.lux-hrms-dash__health-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-hrms-dash__health-stats li {
    padding: 0.45rem 0.55rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    border: 0px solid rgba(226, 232, 240, 0.9);
}

.lux-hrms-dash__health-stats strong { display: block; font-size: 1rem; font-weight: 900; color: #0f172a; }
.lux-hrms-dash__health-stats span { display: block; font-size: 0.625rem; font-weight: 700; color: #64748b; }

.lux-hrms-dash__health-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.625rem;
    margin-bottom: 0.55rem;
}

.lux-hrms-dash__health-metric {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding: 0.75rem;
    border: 0px dashed rgba(203, 213, 225, 0.95);
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.88);
}

.lux-hrms-dash__health-metric-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 12px;
    font-size: 0.875rem;
}

.lux-hrms-dash__health-metric.is-green .lux-hrms-dash__health-metric-icon { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-hrms-dash__health-metric.is-blue .lux-hrms-dash__health-metric-icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-hrms-dash__health-metric.is-amber .lux-hrms-dash__health-metric-icon { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-hrms-dash__health-metric.is-violet .lux-hrms-dash__health-metric-icon { background: rgba(124, 58, 237, 0.12); color: #6d28d9; }

.lux-hrms-dash__health-metric-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-hrms-dash__health-metric-value { font-size: 1.125rem; font-weight: 900; color: #94a3b8; }
.lux-hrms-dash__health-metric small { font-size: 0.625rem; font-weight: 600; color: #94a3b8; }

.lux-hrms-dash__sentiment-list { margin: 0; padding: 0; list-style: none; }
.lux-hrms-dash__sentiment-row { padding: 0.55rem 0; border-bottom: 1px solid rgba(241, 245, 249, 0.98); }
.lux-hrms-dash__sentiment-row:last-child { border-bottom: none; }
.lux-hrms-dash__sentiment-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.25rem; font-size: 0.6875rem; font-weight: 700; color: #334155; }
.lux-hrms-dash__sentiment-bar { height: 0.35rem; border-radius: 9911px; background: rgba(241, 245, 249, 0.98); overflow: hidden; margin-bottom: 0.18rem; }
.lux-hrms-dash__sentiment-bar span { display: block; height: 100%; border-radius: inherit; background: #cbd5e1; }
.lux-hrms-dash__sentiment-row.is-green .lux-hrms-dash__sentiment-bar span { background: #059669; }
.lux-hrms-dash__sentiment-row.is-blue .lux-hrms-dash__sentiment-bar span { background: #2563eb; }
.lux-hrms-dash__sentiment-row.is-amber .lux-hrms-dash__sentiment-bar span { background: #d97706; }
.lux-hrms-dash__sentiment-row.is-rose .lux-hrms-dash__sentiment-bar span { background: #db2777; }
.lux-hrms-dash__sentiment-row small { font-size: 0.625rem; font-weight: 600; color: #94a3b8; }

.lux-hrms-dash__health-roadmap { margin: 0; padding: 0; list-style: none; }
.lux-hrms-dash__health-roadmap li { display: flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0; font-size: 0.75rem; font-weight: 700; color: #334155; }
.lux-hrms-dash__health-roadmap i { color: #059669; font-size: 0.75rem; }

@media (max-width: 1200px) {
    .lux-hrms-dash__kpi-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lux-hrms-dash__quick-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .lux-hrms-dash__insights { grid-template-columns: 1fr; }
    .lux-hrms-dash__insights-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lux-hrms-dash__chart-grid--primary,
    .lux-hrms-dash__chart-grid--secondary,
    .lux-hrms-dash__chart-grid--duo { grid-template-columns: 1fr; }
    .lux-hrms-dash__chart-grid--quad,
    .lux-hrms-dash__retention-kpis,
    .lux-hrms-dash__health-metrics,
    .lux-hrms-dash__health-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lux-hrms-dash__roadmap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .lux-hrms-dash__insights-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-hrms-dash__forecast-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lux-hrms-dash__forecast-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .lux-hrms-dash__hero {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-hrms-dash__hero-actions {
        align-items: stretch;
    }

    .lux-hrms-dash__kpi-strip,
    .lux-hrms-dash__quick-grid,
    .lux-hrms-dash__roadmap-grid,
    .lux-hrms-dash__insights-metrics,
    .lux-hrms-dash__forecast-summary,
    .lux-hrms-dash__forecast-grid,
    .lux-hrms-dash__retention-kpis,
    .lux-hrms-dash__health-metrics,
    .lux-hrms-dash__health-stats,
    .lux-hrms-dash__chart-grid--quad {
        grid-template-columns: 1fr;
    }

    .lux-hrms-dash__donut-layout {
        grid-template-columns: 1fr;
    }

    .lux-hrms-dash__tabs {
        flex-direction: column;
    }

    .lux-hrms-dash__scope-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-hrms-dash__theme-divider {
        flex-direction: column;
        align-items: flex-start;
    }

    .lux-hrms-dash__theme-divider p {
        text-align: left;
    }

    .lux-hrms-dash__scope-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-hrms-dash__hero-main--personal {
        flex-direction: column;
    }

    .lux-hrms-dash__kpi-strip--personal {
        grid-template-columns: 1fr;
    }

    .lux-hrms-dash__leave-summary {
        grid-template-columns: 1fr;
    }

    .lux-hrms-dash__att-strip {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}

/* ========== Tabbed dashboard (personal vs manager) ========== */

.lux-hrms-dash__tabs {
    display: inline-flex;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
    padding: 0.22rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-hrms-dash__tab {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2rem;
    padding: 0 0.85rem;
    border: none;
    border-radius: 9911px;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.lux-hrms-dash__tab:hover {
    color: #334155;
    background: rgba(248, 250, 252, 0.95);
}

.lux-hrms-dash__tab.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    box-shadow: 0 8px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-hrms-dash__scope-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
    padding: 0.75rem 0.85rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
}

.lux-hrms-dash__scope-eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-hrms-dash__scope-label {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.8125rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-hrms-dash__scope-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

.lux-hrms-dash__scope-group {
    display: inline-flex;
    padding: 0.18rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 9911px;
    background: rgba(248, 250, 252, 0.92);
}

.lux-hrms-dash__scope-chip {
    min-height: 1.75rem;
    padding: 0 0.65rem;
    border: none;
    border-radius: 9911px;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
}

.lux-hrms-dash__scope-chip.is-active {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-hrms-dash__scope-team-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
}

/* Project executive dashboard — period strip + control deck */
.lux-proj-dash__chrome {
    margin-top: 0.85rem;
    border-radius: 20px;
    overflow: hidden;
    background:
        radial-gradient(circle at 6% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.09), transparent 42%),
        radial-gradient(circle at 100% 100%, rgba(14, 165, 233, 0.06), transparent 40%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.92) inset,
        0 14px 36px rgba(15, 23, 42, 0.06);
}

.lux-proj-dash__period {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0;
    padding: 1rem 1.15rem;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.lux-proj-dash__chrome .lux-proj-dash__period:not(:last-child) {
    box-shadow: inset 0 -1px 0 rgba(226, 232, 240, 0.9);
}

.lux-proj-dash__period-main {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.lux-proj-dash__period-icon,
.lux-proj-dash__segment-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 13px;
    background:
        linear-gradient(160deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05));
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.9375rem;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-proj-dash__period-copy,
.lux-proj-dash__segment-copy {
    min-width: 0;
}

.lux-proj-dash__period-eyebrow,
.lux-proj-dash__segment-eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-proj-dash__period-range,
.lux-proj-dash__segment-value {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-proj-dash__chip-group {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem;
    padding: 0.22rem;
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.92);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.85);
}

.lux-proj-dash__chip-group--period {
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.88);
}

.lux-proj-dash__chip {
    min-height: 2rem;
    padding: 0 0.8rem;
    border: none;
    border-radius: 11px;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: background 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.lux-proj-dash__chip:hover {
    color: #0f172a;
    background: rgba(255, 255, 255, 0.95);
}

.lux-proj-dash__chip.is-active {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
}

.lux-proj-dash__control-deck {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
}

.lux-proj-dash__segment {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem 1.1rem 1.1rem;
    min-width: 0;
}

.lux-proj-dash__segment + .lux-proj-dash__segment {
    box-shadow: inset 1px 0 0 rgba(226, 232, 240, 0.9);
}

.lux-proj-dash__segment-head {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.lux-proj-dash__segment-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.lux-proj-dash__segment .lux-page-header__team-wrap {
    margin: 0;
}

.lux-hrms-dash.lux-register-page > .lux-module-hero.lux-appconfig-hero {
    margin-bottom: 0;
}

.lux-hrms-dash.lux-register-page {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
}

/* Project dashboard command snapshot + KPI polish */
.lux-proj-dash__kpi-strip {
    margin-top: 0.15rem;
}

.lux-proj-dash__command {
    display: grid;
    grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.1fr);
    gap: 1rem 1.15rem;
    margin-top: 0.85rem;
    padding: 1.05rem 1.15rem 1.15rem;
    border-radius: 20px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 46%),
        radial-gradient(circle at 100% 100%, rgba(14, 165, 233, 0.07), transparent 42%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.92) inset,
        0 14px 36px rgba(15, 23, 42, 0.06);
}

.lux-proj-dash__command--loading {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-height: 7rem;
}

.lux-proj-dash__command-skeleton {
    display: block;
    height: 2.5rem;
    width: 40%;
    border-radius: 12px;
    background: linear-gradient(90deg, rgba(226, 232, 240, 0.7), rgba(241, 245, 249, 0.95), rgba(226, 232, 240, 0.7));
    background-size: 200% 100%;
    animation: lux-proj-dash-shimmer 1.2s ease-in-out infinite;
}

.lux-proj-dash__command-skeleton.is-wide {
    width: 100%;
    height: 3.5rem;
}

@keyframes lux-proj-dash-shimmer {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

.lux-proj-dash__command-main {
    min-width: 0;
}

.lux-proj-dash__command-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-proj-dash__command-headline {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-top: 0.45rem;
}

.lux-proj-dash__command-score {
    font-size: 2.35rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.03em;
}

.lux-proj-dash__command-score small {
    margin-left: 0.1rem;
    font-size: 0.95rem;
    font-weight: 800;
    opacity: 0.7;
}

.lux-proj-dash__command-score.is-green { color: #047857; }
.lux-proj-dash__command-score.is-amber { color: #b45309; }
.lux-proj-dash__command-score.is-rose { color: #be123c; }
.lux-proj-dash__command-score.is-slate { color: #475569; }

.lux-proj-dash__command-copy {
    min-width: 0;
    flex: 1;
}

.lux-proj-dash__command-title {
    display: block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
}

.lux-proj-dash__command-steer {
    display: inline-flex;
    margin-top: 0.35rem;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.lux-proj-dash__command-steer.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-proj-dash__command-steer.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-proj-dash__command-steer.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-proj-dash__command-steer.is-slate { background: rgba(148, 163, 184, 0.16); color: #475569; }

.lux-proj-dash__command-meter {
    margin-top: 0.55rem;
    height: 0.35rem;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.9);
    overflow: hidden;
}

.lux-proj-dash__command-meter > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #38bdf8);
}

.lux-proj-dash__command-chips {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
    gap: 0.55rem;
    align-content: start;
}

.lux-proj-dash__command-chip {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 3.35rem;
    padding: 0.55rem 0.7rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
}

.lux-proj-dash__command-chip > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.8125rem;
    flex-shrink: 0;
}

.lux-proj-dash__command-chip.is-green > i { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-proj-dash__command-chip.is-amber > i { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-proj-dash__command-chip.is-rose > i { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-proj-dash__command-chip.is-blue > i,
.lux-proj-dash__command-chip.is-sky > i { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-proj-dash__command-chip.is-indigo > i { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-proj-dash__command-chip.is-violet > i { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-proj-dash__command-chip.is-teal > i { background: rgba(20, 184, 166, 0.12); color: #0f766e; }
.lux-proj-dash__command-chip.is-slate > i { background: rgba(148, 163, 184, 0.16); color: #475569; }

.lux-proj-dash__command-chip strong {
    display: block;
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-proj-dash__command-chip span {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #64748b;
}

.lux-proj-dash__command-meters {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}

.lux-proj-dash__command-meter-card {
    padding: 0.75rem 0.8rem 0.8rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.88);
}

.lux-proj-dash__command-meter-top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
}

.lux-proj-dash__command-meter-label {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-proj-dash__command-meter-top strong {
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-proj-dash__command-meter-hint {
    margin: 0.28rem 0 0.5rem;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.35;
    color: #64748b;
}

.lux-proj-dash__command-meter-track {
    height: 0.3rem;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.95);
    overflow: hidden;
}

.lux-proj-dash__command-meter-track > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45));
}

.lux-proj-dash__command-meter-card.is-green .lux-proj-dash__command-meter-track > span {
    background: linear-gradient(90deg, #10b981, #34d399);
}
.lux-proj-dash__command-meter-card.is-amber .lux-proj-dash__command-meter-track > span,
.lux-proj-dash__command-meter-card.is-yellow .lux-proj-dash__command-meter-track > span {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}
.lux-proj-dash__command-meter-card.is-rose .lux-proj-dash__command-meter-track > span {
    background: linear-gradient(90deg, #f43f5e, #fb7185);
}
.lux-proj-dash__command-meter-card.is-sky .lux-proj-dash__command-meter-track > span,
.lux-proj-dash__command-meter-card.is-blue .lux-proj-dash__command-meter-track > span {
    background: linear-gradient(90deg, #0ea5e9, #38bdf8);
}

.lux-proj-dash__command-meter-foot {
    display: flex;
    justify-content: space-between;
    margin-top: 0.35rem;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #94a3b8;
}

@media (max-width: 1100px) {
    .lux-proj-dash__command {
        grid-template-columns: 1fr;
    }

    .lux-proj-dash__command-meters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .lux-proj-dash__command-meters {
        grid-template-columns: 1fr;
    }
}

.lux-hrms-dash.lux-register-page .lux-hrms-dash__chart-panel,
.lux-hrms-dash.lux-register-page .lux-hrms-dash__panel--insights {
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.92) inset,
        0 12px 30px rgba(15, 23, 42, 0.05);
}

.lux-module-hero__nav .lux-hrms-dash__tabs {
    margin-bottom: 0;
    box-shadow: none;
    background: rgba(248, 250, 252, 0.88);
}

.lux-module-hero__nav .lux-hrms-dash__tab.is-active {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: none;
}

.lux-module-hero__actions .lux-module-hero__text-link {
    cursor: pointer;
}

.lux-module-hero__actions .lux-module-hero__text-link.is-active {
    color: var(--lux-primary-dark, #3730a3);
    font-weight: 700;
}

@media (max-width: 900px) {
    .lux-proj-dash__period {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-proj-dash__chip-group--period {
        width: 100%;
        justify-content: flex-start;
    }

    .lux-proj-dash__control-deck {
        grid-template-columns: 1fr;
    }

    .lux-proj-dash__segment + .lux-proj-dash__segment {
        box-shadow: inset 0 1px 0 rgba(226, 232, 240, 0.9);
    }
}

.lux-hrms-dash__hero--personal {
    background:
        radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.12), transparent 42%),
        radial-gradient(circle at 0% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 45%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-hrms-dash__hero-main--personal {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.lux-hrms-dash__personal-avatar {
    flex-shrink: 0;
}

.lux-hrms-dash__avatar-img {
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 18px;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, 0.95);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.lux-hrms-dash__personal-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.45rem;
}

.lux-hrms-dash__personal-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.625rem;
    border-radius: 9911px;
    background: rgba(241, 245, 249, 0.95);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #475569;
}

.lux-hrms-dash__personal-chip.is-accent {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-hrms-dash__kpi-strip--personal {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lux-hrms-dash__profile-grid {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem 0.75rem;
}

.lux-hrms-dash__profile-grid li {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}

.lux-hrms-dash__profile-label {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-hrms-dash__profile-grid strong {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    word-break: break-word;
}

.lux-hrms-dash__extra-teams {
    margin-top: 0.75rem;
    padding-top: 0.65rem;
    border-top: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-hrms-dash__extra-teams > span {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-hrms-dash__team-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-hrms-dash__team-chip {
    padding: 0.22rem 0.625rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-hrms-dash__util-rows {
    margin: 0.65rem 0 0;
    padding: 0;
    list-style: none;
}

.lux-hrms-dash__util-row {
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-hrms-dash__util-row:last-child { border-bottom: none; }

.lux-hrms-dash__util-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.22rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
}

.lux-hrms-dash__util-bar {
    height: 0.35rem;
    border-radius: 9911px;
    background: rgba(241, 245, 249, 0.98);
    overflow: hidden;
}

.lux-hrms-dash__util-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
}

.lux-hrms-dash__util-row.is-green .lux-hrms-dash__util-bar span { background: #059669; }
.lux-hrms-dash__util-row.is-primary .lux-hrms-dash__util-bar span { background: var(--lux-primary, #5b5ff4); }
.lux-hrms-dash__util-row.is-amber .lux-hrms-dash__util-bar span { background: #d97706; }

.lux-hrms-dash__task-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-hrms-dash__task-row {
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-hrms-dash__task-row:last-child { border-bottom: none; }

.lux-hrms-dash__task-row strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-hrms-dash__task-row small {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-hrms-dash__task-status {
    display: inline-flex;
    padding: 0.12rem 0.38rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
}

.lux-hrms-dash__task-status.is-progress { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-hrms-dash__task-status.is-assigned { background: rgba(100, 116, 139, 0.12); color: #475569; }
.lux-hrms-dash__task-status.is-new { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: #3730a3; }
.lux-hrms-dash__task-status.is-paused { background: rgba(217, 119, 6, 0.12); color: #b45309; }

.lux-hrms-dash__refresh-btn,
.lux-hrms-dash__panel-link {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    border: none;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
    cursor: pointer;
}

.lux-hrms-dash__panel-link {
    margin-top: 0.55rem;
}

.lux-hrms-dash__scope-bar .lux-page-header__team-wrap {
    position: relative;
}

.lux-hrms-dash__hero-cta--ghost {
    background: rgba(255, 255, 255, 0.72);
    color: #334155;
    box-shadow: none;
}

.lux-hrms-dash__att-calendar {
    --lux-dash-att-sat-bg: rgba(251, 191, 36, 0.2);
    --lux-dash-att-sat-border: rgba(245, 158, 11, 0.42);
    --lux-dash-att-sat-text: #b45309;
    --lux-dash-att-sun-bg: rgba(167, 139, 250, 0.2);
    --lux-dash-att-sun-border: rgba(139, 92, 246, 0.42);
    --lux-dash-att-sun-text: #6d28d9;
}

.lux-hrms-dash__att-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 0.45rem;
}

.lux-hrms-dash__att-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-hrms-dash__att-legend-item::before {
    content: "";
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 4px;
    background: rgba(241, 245, 249, 0.95);
    border: 0px solid rgba(226, 232, 240, 0.95);
}

.lux-hrms-dash__att-legend-item.is-saturday::before {
    background: var(--lux-dash-att-sat-bg);
    border-color: var(--lux-dash-att-sat-border);
}

.lux-hrms-dash__att-legend-item.is-sunday::before {
    background: var(--lux-dash-att-sun-bg);
    border-color: var(--lux-dash-att-sun-border);
}

.lux-hrms-dash__att-weekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.28rem;
    margin-bottom: 0.22rem;
}

.lux-hrms-dash__att-weekday {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.625rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-hrms-dash__att-weekday.is-saturday {
    color: var(--lux-dash-att-sat-text);
}

.lux-hrms-dash__att-weekday.is-sunday {
    color: var(--lux-dash-att-sun-text);
}

.lux-hrms-dash__att-strip {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.28rem;
    margin-bottom: 0.65rem;
}

.lux-hrms-dash__att-day {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.06rem;
    min-height: 2rem;
    border-radius: 8px;
    border: 0px solid transparent;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #64748b;
    background: rgba(241, 245, 249, 0.95);
}

.lux-hrms-dash__att-day-tag {
    font-style: normal;
    font-size: 0.6875rem;
    font-weight: 900;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    line-height: 1;
    opacity: 0.92;
}

.lux-hrms-dash__att-day.is-saturday:not(.is-today) {
    background: var(--lux-dash-att-sat-bg);
    border-color: var(--lux-dash-att-sat-border);
    color: var(--lux-dash-att-sat-text);
}

.lux-hrms-dash__att-day.is-sunday:not(.is-today) {
    background: var(--lux-dash-att-sun-bg);
    border-color: var(--lux-dash-att-sun-border);
    color: var(--lux-dash-att-sun-text);
}

.lux-hrms-dash__att-day.is-present:not(.is-weekend) {
    background: rgba(5, 150, 105, 0.16);
    border-color: rgba(5, 150, 105, 0.28);
    color: #047857;
}

.lux-hrms-dash__att-day.is-saturday.is-present {
    background: rgba(251, 191, 36, 0.34);
    border-color: rgba(245, 158, 11, 0.55);
    color: #92400e;
}

.lux-hrms-dash__att-day.is-sunday.is-present {
    background: rgba(167, 139, 250, 0.34);
    border-color: rgba(139, 92, 246, 0.55);
    color: #5b21b6;
}

.lux-hrms-dash__att-day.is-absent {
    background: rgba(254, 202, 202, 0.65);
    border-color: rgba(248, 113, 113, 0.35);
    color: #b91c1c;
}

.lux-hrms-dash__att-day.is-weekend-absent.is-saturday {
    background: rgba(245, 158, 11, 0.18);
    border-color: var(--lux-dash-att-sat-border);
    color: #d97706;
}

.lux-hrms-dash__att-day.is-weekend-absent.is-sunday {
    background: rgba(139, 92, 246, 0.16);
    border-color: var(--lux-dash-att-sun-border);
    color: #7c3aed;
}

.lux-hrms-dash__att-day.is-future {
    opacity: 0.5;
}

.lux-hrms-dash__att-day.is-future.is-saturday,
.lux-hrms-dash__att-day.is-future.is-sunday {
    opacity: 0.72;
}

.lux-hrms-dash__att-day.is-today {
    box-shadow: inset 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
}

.lux-hrms-dash__att-day.is-padding {
    min-height: 2rem;
    background: transparent;
    border-color: transparent;
    pointer-events: none;
}

.lux-hrms-dash__leave-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
    margin-bottom: 0.65rem;
}

.lux-hrms-dash__leave-summary article {
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    border: 0px solid rgba(226, 232, 240, 0.9);
}

.lux-hrms-dash__leave-summary span {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-hrms-dash__leave-summary strong {
    display: block;
    margin-top: 0.12rem;
    font-size: 1rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-hrms-dash__holiday-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-hrms-dash__holiday-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-hrms-dash__holiday-row:last-child { border-bottom: none; }

.lux-hrms-dash__holiday-row strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-hrms-dash__holiday-row small {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-hrms-dash__holiday-badge {
    padding: 0.18rem 0.45rem;
    border-radius: 9911px;
    background: rgba(124, 58, 237, 0.12);
    font-size: 0.625rem;
    font-weight: 800;
    color: #6d28d9;
    white-space: nowrap;
}

.lux-hrms-dash__panel-head .lux-hrms-dash__panel-link {
    margin-top: 0;
    white-space: nowrap;
}

/* ========== luxury-attendance.css ========== */

/* ========== Attendance page — luxury UI ========== */

.lux-attendance {
    --lux-att-optional-sat-bg: rgba(251, 191, 36, 0.16);
    --lux-att-optional-sat-border: rgba(245, 158, 11, 0.32);
    --lux-att-optional-sat-bar: linear-gradient(180deg, #fbbf24, #d97706);
    --lux-att-optional-sat-text: #b45309;

    --lux-att-optional-sun-bg: rgba(167, 139, 250, 0.16);
    --lux-att-optional-sun-border: rgba(139, 92, 246, 0.32);
    --lux-att-optional-sun-bar: linear-gradient(180deg, #c4b5fd, #7c3aed);
    --lux-att-optional-sun-text: #6d28d9;

    padding-bottom: 1rem;
}

.lux-attendance > .lux-page-header {
    padding: 0;
}

.lux-attendance__month-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    height: 2rem;
    padding: 0 0.75rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: var(--lux-primary-dark, #3730a3);
    white-space: nowrap;
}

.lux-attendance__month-pill i {
    font-size: 0.75rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-attendance-empty.lux-register-empty {
    margin: 0.75rem 0 0;
}

.lux-attendance-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin: 1.5rem 0.75rem;
    padding: 2.5rem 1rem;
    border: 0px dashed rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: rgba(248, 250, 252, 0.8);
    text-align: center;
}

.lux-attendance-empty img {
    max-width: 8rem;
    opacity: 0.85;
    margin-bottom: 0.625rem;
}

.lux-attendance-empty span {
    font-size: 0.9375rem;
    font-weight: 800;
    color: #334155;
}

.lux-attendance-empty p {
    margin: 0;
    font-size: 0.6875rem;
    color: #64748b;
    max-width: 22rem;
}

/* Summary dashboard */

.lux-att-summary {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 45%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.lux-att-summary.is-collapsed {
    padding-bottom: 0.65rem;
}

.lux-att-summary__header-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.55rem;
    margin-bottom: 0.55rem;
}

.lux-att-summary:not(.is-collapsed) .lux-att-summary__header-bar {
    padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-att-summary__header-main {
    min-width: 0;
}

.lux-att-summary__period-row,
.lux-planner-shell__period-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.35rem;
}

.lux-att-summary__period-row .lux-page-header__calendar-nav,
.lux-planner-shell__period-row .lux-page-header__calendar-nav {
    flex-shrink: 0;
}

.lux-att-summary__month-pill,
.lux-planner-shell__range-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.75rem;
    padding: 0 0.65rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: var(--lux-primary-dark, #3730a3);
    white-space: nowrap;
}

.lux-att-summary__month-pill i,
.lux-planner-shell__range-pill i {
    font-size: 0.75rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-att-summary__body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

/* Eyebrow — see luxury-summary-shared.css (.lux-summary-eyebrow) */

.lux-att-summary__title {
    margin: 0.12rem 0 0;
    font-size: 1.25rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-att-summary__title--compact {
    font-size: 0.9375rem;
}

.lux-att-summary__title--bar {
    font-size: 1.05rem;
}

.lux-att-summary__hero {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.lux-att-summary__hero-copy {
    flex: 1 1 14rem;
    min-width: 0;
}

.lux-att-summary__month {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-att-summary__subtitle {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.45;
    color: #64748b;
}

.lux-att-summary__hero-rate {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.6rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
}

.lux-att-summary__rate-ring {
    --lux-active-pct: 0%;
    position: relative;
    width: 3rem;
    height: 3rem;
    border-radius: 9911px;
    background: conic-gradient(
        var(--lux-primary, #5b5ff4) calc(var(--lux-active-pct) * 1%),
        rgba(226, 232, 240, 0.95) 0
    );
    display: grid;
    place-items: center;
}

.lux-att-summary__rate-ring::before {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 9911px;
    background: #fff;
}

.lux-att-summary__rate-ring span {
    position: relative;
    z-index: 1;
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-summary__rate-copy strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-att-summary__rate-copy span {
    display: block;
    margin-top: 0.06rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-att-summary__today-card {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 5rem;
    padding: 0.45rem 0.65rem;
    border: 0px solid rgba(16, 185, 129, 0.22);
    border-radius: 14px;
    background: rgba(16, 185, 129, 0.08);
}

.lux-att-summary__today-label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #059669;
}

.lux-att-summary__today-card strong {
    margin-top: 0.08rem;
    font-size: 1rem;
    font-weight: 800;
    color: #047857;
    line-height: 1.1;
}

.lux-att-summary__today-card > span:last-child {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-att-summary__metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.45rem;
}

.lux-att-summary__metric {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    padding: 0.55rem 0.6rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
}

.lux-att-summary__metric > i {
    flex-shrink: 0;
    width: 1.65rem;
    height: 1.65rem;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
}

.lux-att-summary__metric strong {
    display: block;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
}

.lux-att-summary__metric span {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.3;
}

.lux-att-summary__insights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-att-summary__insights--skeleton {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-att-summary__insight {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-width: 0;
    padding: 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.78);
}

.lux-att-summary__insight--wide {
    grid-column: 1 / -1;
}

.lux-att-summary__insight header {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
}

.lux-att-summary__insight header > i {
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.8125rem;
}

.lux-att-summary__insight header strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-att-summary__insight header span {
    display: block;
    margin-top: 0.06rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-att-summary__bar {
    display: flex;
    height: 0.45rem;
    border-radius: 9911px;
    overflow: hidden;
    background: rgba(226, 232, 240, 0.95);
}

.lux-att-summary__bar--empty {
    display: grid;
    place-items: center;
    height: 2rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-att-summary__bar-segment.is-green { background: #10b981; }
.lux-att-summary__bar-segment.is-red { background: #ef4444; }
.lux-att-summary__bar-segment.is-blue { background: #3b82f6; }
.lux-att-summary__bar-segment.is-amber { background: #f59e0b; }

.lux-att-summary__legend {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-att-summary__legend li {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
}

.lux-att-summary__legend-dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 9911px;
}

.lux-att-summary__legend-dot.is-green { background: #10b981; }
.lux-att-summary__legend-dot.is-red { background: #ef4444; }
.lux-att-summary__legend-dot.is-blue { background: #3b82f6; }
.lux-att-summary__legend-dot.is-amber { background: #f59e0b; }

.lux-att-summary__legend-label {
    font-weight: 600;
    color: #64748b;
}

.lux-att-summary__legend li strong {
    font-weight: 800;
    color: #0f172a;
}

.lux-att-summary__legend-pct {
    font-weight: 700;
    color: #94a3b8;
    min-width: 2rem;
    text-align: right;
}

.lux-att-summary__daily-chart {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 0.15rem;
    -webkit-overflow-scrolling: touch;
}

.lux-att-summary__daily-bars {
    display: flex;
    align-items: flex-end;
    gap: clamp(0.12rem, 0.35vw, 0.28rem);
    width: 100%;
    min-height: 5.5rem;
    padding: 0.15rem 0 0;
}

.lux-att-summary__daily-col {
    flex: 1 1 0;
    min-width: 1.15rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.22rem;
}

.lux-att-summary__daily-bar-wrap {
    display: flex;
    align-items: flex-end;
    width: 100%;
    height: 4.5rem;
    border-radius: 6px 6px 2px 2px;
    background: rgba(248, 250, 252, 0.95);
    border: 0px solid rgba(226, 232, 240, 0.95);
}

.lux-att-summary__daily-bar {
    width: 100%;
    min-height: 0;
    border-radius: 5px 5px 2px 2px;
    background: linear-gradient(180deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    transition: height 0.3s ease;
}

.lux-att-summary__daily-col.is-saturday .lux-att-summary__daily-bar-wrap {
    background: var(--lux-att-optional-sat-bg);
    border-color: var(--lux-att-optional-sat-border);
}

.lux-att-summary__daily-col.is-saturday .lux-att-summary__daily-bar {
    background: var(--lux-att-optional-sat-bar);
}

.lux-att-summary__daily-col.is-saturday .lux-att-summary__daily-label {
    color: var(--lux-att-optional-sat-text);
    font-weight: 800;
}

.lux-att-summary__daily-col.is-sunday .lux-att-summary__daily-bar-wrap {
    background: var(--lux-att-optional-sun-bg);
    border-color: var(--lux-att-optional-sun-border);
}

.lux-att-summary__daily-col.is-sunday .lux-att-summary__daily-bar {
    background: var(--lux-att-optional-sun-bar);
}

.lux-att-summary__daily-col.is-sunday .lux-att-summary__daily-label {
    color: var(--lux-att-optional-sun-text);
    font-weight: 800;
}

.lux-att-summary__daily-col.is-today .lux-att-summary__daily-bar-wrap {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    box-shadow: 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-att-summary__daily-label {
    font-size: clamp(0.6875rem, 0.55vw, 0.625rem);
    font-weight: 700;
    color: #94a3b8;
    text-align: center;
    line-height: 1.1;
}

.lux-att-summary__daily-col.is-today .lux-att-summary__daily-label {
    color: var(--lux-primary-dark, #3730a3);
    font-weight: 800;
}

.lux-att-summary__daily-col.is-future {
    opacity: 0.55;
    pointer-events: none;
}

.lux-att-summary__daily-col.is-future .lux-att-summary__daily-bar-wrap {
    background: repeating-linear-gradient(
        -45deg,
        rgba(248, 250, 252, 0.95),
        rgba(248, 250, 252, 0.95) 4px,
        rgba(226, 232, 240, 0.65) 4px,
        rgba(226, 232, 240, 0.65) 8px
    );
    border-color: rgba(203, 213, 225, 0.85);
    border-style: dashed;
}

.lux-att-summary__daily-col.is-future .lux-att-summary__daily-label {
    color: #cbd5e1;
    font-weight: 600;
}

.lux-att-summary__weekly-row.is-future {
    opacity: 0.5;
}

.lux-att-summary__weekly-row.is-future .lux-att-summary__weekly-fill {
    background: #e2e8f0;
}

.lux-att-summary__weekly-row.is-partial .lux-att-summary__weekly-copy span::after {
    content: " · partial";
    color: #94a3b8;
    font-weight: 600;
}

.lux-att-summary__weekly-list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-att-summary__weekly-row {
    display: grid;
    grid-template-columns: minmax(5rem, 1fr) 1fr auto;
    align-items: center;
    gap: 0.45rem;
}

.lux-att-summary__weekly-copy strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-att-summary__weekly-copy span {
    display: block;
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-att-summary__weekly-track {
    height: 0.4rem;
    border-radius: 9911px;
    background: rgba(226, 232, 240, 0.95);
    overflow: hidden;
}

.lux-att-summary__weekly-fill {
    height: 100%;
    border-radius: 9911px;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #818cf8);
}

.lux-att-summary__weekly-rate {
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    min-width: 2.25rem;
    text-align: right;
}

.lux-att-summary__leaderboard {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-att-summary__leader {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
}

.lux-att-summary__leader.is-you {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-att-summary__leader-rank {
    display: grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 8px;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #fff;
    background: var(--lux-primary, #5b5ff4);
}

.lux-att-summary__leader.is-green .lux-att-summary__leader-rank {
    background: #059669;
}

.lux-att-summary__leader.is-amber .lux-att-summary__leader-rank {
    background: #d97706;
}

.lux-att-summary__leader-copy {
    min-width: 0;
}

.lux-att-summary__leader-copy strong {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-att-summary__leader-copy strong em {
    flex-shrink: 0;
    font-style: normal;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.06rem 0.28rem;
    border-radius: 9911px;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-att-summary__leader-copy span {
    display: block;
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-att-summary__leader-stats {
    text-align: right;
}

.lux-att-summary__leader-stats strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-att-summary__leader-stats span {
    display: block;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
}

.lux-att-summary__empty-note {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.45;
}

@media (max-width: 1199px) {
    .lux-att-summary__insights,
    .lux-att-summary__insights--skeleton {
        grid-template-columns: 1fr 1fr;
    }

    .lux-att-summary__insight--wide {
        grid-column: 1 / -1;
    }

    .lux-att-summary__metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .lux-att-summary__insights,
    .lux-att-summary__insights--skeleton {
        grid-template-columns: 1fr;
    }

    .lux-att-summary__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-att-summary__hero {
        flex-direction: column;
        align-items: stretch;
    }
}

/* Current user panel */

.lux-att-you {
    position: relative;
    margin: 0 0.75rem 0.55rem;
    padding: 0.85rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 50%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06),
        0 12px 32px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    overflow: visible;
}

.lux-att-you__glow {
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--lux-primary, #5b5ff4),
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35)
    );
    pointer-events: none;
}

.lux-att-you__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.65rem;
}

.lux-att-you__identity {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.lux-att-you__avatar-wrap {
    position: relative;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: visible;
    padding-bottom: 0.85rem;
}

.lux-att-you__avatar {
    width: 3.25rem !important;
    height: 3.25rem !important;
    object-fit: cover;
    border: 2.5px solid #fff !important;
    border-radius: 9911px !important;
    box-shadow: 0 4px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    padding: 0 !important;
}

.lux-att-you__badge {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    padding: 0.12rem 0.55rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
    z-index: 1;
    box-shadow: 0 2px 8px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.lux-att-you__name {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-att-you__name a {
    color: inherit;
    text-decoration: none;
}

.lux-att-you__name a:hover {
    color: var(--lux-primary, #5b5ff4);
}

.lux-att-you__designation {
    margin: 0.12rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-att-you__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.lux-att-you__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 4rem;
    padding: 0.4rem 0.55rem;
    border-radius: 12px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.88);
}

.lux-att-you__stat strong {
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.1;
}

.lux-att-you__stat span {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-att-you__stat.is-present strong { color: #059669; }
.lux-att-you__stat.is-absent strong { color: #dc2626; }
.lux-att-you__stat.is-rate strong { color: var(--lux-primary-dark, #3730a3); }

.lux-att-you__strip {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.28rem;
    overflow-x: auto;
    padding: 0.35rem 0.1rem 0.15rem;
    -webkit-overflow-scrolling: touch;
}

.lux-att-you__day {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    min-width: 1.85rem;
    padding: 0.28rem 0.15rem;
    border-radius: 12px;
    border: 0px solid transparent;
}

.lux-att-you__day.is-today {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-att-you__day.is-saturday:not(.is-today) {
    border-color: var(--lux-att-optional-sat-border);
    background: var(--lux-att-optional-sat-bg);
}

.lux-att-you__day.is-sunday:not(.is-today) {
    border-color: var(--lux-att-optional-sun-border);
    background: var(--lux-att-optional-sun-bg);
}

.lux-att-you__day.is-holiday:not(.is-today) {
    border-color: rgba(14, 165, 233, 0.35);
    background: rgba(14, 165, 233, 0.1);
}

.lux-att-you__day.is-holiday:not(.is-today) .lux-att-you__day-label {
    color: #0369a1;
}

.lux-att-you__day.is-saturday:not(.is-today) .lux-att-you__day-label {
    color: var(--lux-att-optional-sat-text);
}

.lux-att-you__day.is-sunday:not(.is-today) .lux-att-you__day-label {
    color: var(--lux-att-optional-sun-text);
}

.lux-att-you__day.is-saturday .lux-att-you__day-mark.is-absent {
    background: rgba(245, 158, 11, 0.14);
    color: #d97706;
}

.lux-att-you__day.is-sunday .lux-att-you__day-mark.is-absent {
    background: rgba(139, 92, 246, 0.12);
    color: #7c3aed;
}

.lux-att-you__day-label {
    font-size: 0.625rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-att-you__day.is-today .lux-att-you__day-label {
    color: var(--lux-primary-dark, #3730a3);
    font-weight: 800;
}

.lux-att-you__day-mark {
    display: grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    padding: 0;
    border: none;
    border-radius: 8px;
    font-size: 0.75rem;
    cursor: default;
}

.lux-att-you__day-mark.is-present {
    background: rgba(16, 185, 129, 0.14);
    color: #059669;
}

.lux-att-you__day-mark.is-absent {
    background: rgba(239, 68, 68, 0.08);
    color: #dc2626;
}

.lux-att-you__day-mark.is-future {
    display: inline-grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(186, 230, 253, 0.55), rgba(224, 242, 254, 0.95));
    border: 1px dashed rgba(14, 165, 233, 0.4);
    color: #0284c7;
    font-size: 0.62rem;
}

.lux-att-you__day.is-clickable .lux-att-you__day-mark {
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.lux-att-you__day.is-clickable .lux-att-you__day-mark:hover {
    transform: scale(1.08);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1);
}

/* Matrix */

.lux-att-matrix {
    margin: 0 0.75rem 1rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.lux-att-matrix__legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.85rem;
    padding: 0.55rem 0.85rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(248, 250, 252, 0.92);
}

.lux-att-matrix__legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-att-matrix__legend-item.is-present i { color: #059669; }
.lux-att-matrix__legend-item.is-pending i { color: #d97706; }
.lux-att-matrix__legend-item.is-rejected i { color: #be185d; }
.lux-att-matrix__legend-item.is-absent i { color: #dc2626; }

.lux-att-matrix__legend-dot {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 9911px;
    background: var(--lux-primary, #5b5ff4);
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.lux-att-matrix__legend-item.is-optional-sat,
.lux-att-matrix__legend-item.is-optional-sun {
    gap: 0.35rem;
}

.lux-att-matrix__legend-swatch {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 4px;
    flex-shrink: 0;
}

.lux-att-matrix__legend-swatch.is-sat {
    background: var(--lux-att-optional-sat-bg);
    border: 0px solid var(--lux-att-optional-sat-border);
}

.lux-att-matrix__legend-swatch.is-sun {
    background: var(--lux-att-optional-sun-bg);
    border: 0px solid var(--lux-att-optional-sun-border);
}

.lux-att-matrix__legend-item.is-future {
    color: #0369a1;
}

.lux-att-matrix__legend-item.is-future i {
    color: #0284c7;
}

.lux-att-matrix__scroll {
    overflow: auto;
    max-height: calc(100vh - 22rem);
    -webkit-overflow-scrolling: touch;
}

.lux-att-matrix__table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: max-content;
}

.lux-att-matrix__table thead {
    position: sticky;
    top: 0;
    z-index: 4;
}

.lux-att-matrix__th-employee {
    position: sticky;
    left: 0;
    z-index: 5;
    min-width: 14rem;
    max-width: 18rem;
    padding: 0.45rem 0.65rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    border-right: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.98);
    text-align: left;
    vertical-align: middle;
}

.lux-att-matrix__th-employee-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
}

.lux-att-matrix__th-employee-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #64748b;
}

/* Attendance employee filter (header + matrix) */
.lux-att-employee-filter {
    position: relative;
}

.lux-att-employee-filter.is-matrix {
    width: 100%;
}

.lux-att-employee-filter__trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    width: 100%;
    min-height: 1.85rem;
    padding: 0.2rem 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.98);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
    cursor: pointer;
    text-align: left;
}

.lux-att-employee-filter.is-header .lux-att-employee-filter__trigger {
    min-height: 2rem;
    min-width: 10.5rem;
    max-width: 14rem;
    padding: 0.25rem 0.55rem;
    font-size: 0.75rem;
}

.lux-att-employee-filter__trigger:hover,
.lux-att-employee-filter__trigger.is-open {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-employee-filter__trigger i.fe-filter {
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-att-employee-filter__label {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-att-employee-filter__chevron {
    flex-shrink: 0;
    font-size: 0.75rem;
    opacity: 0.65;
}

.lux-att-employee-filter__panel {
    position: absolute;
    top: calc(100% + 0.3rem);
    left: 0;
    z-index: 30;
    width: min(18rem, 72vw);
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
    overflow: hidden;
}

.lux-att-employee-filter.is-header .lux-att-employee-filter__panel {
    z-index: 1200;
}

.lux-att-employee-filter__panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
    background: rgba(248, 250, 252, 0.95);
}

.lux-att-employee-filter__panel-head strong {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
}

.lux-att-employee-filter__panel-close {
    display: inline-grid;
    place-items: center;
    width: 1.6rem;
    height: 1.6rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
}

.lux-att-employee-filter__search {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.5rem 0.55rem 0.35rem;
    padding: 0.3rem 0.45rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 10px;
    background: #fff;
}

.lux-att-employee-filter__search input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    font-size: 0.75rem;
    font-weight: 600;
    color: #0f172a;
    background: transparent;
}

.lux-att-employee-filter__list {
    list-style: none;
    margin: 0;
    padding: 0.25rem 0.35rem 0.45rem;
    max-height: 14rem;
    overflow-y: auto;
}

.lux-att-employee-filter__option {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    padding: 0.4rem 0.45rem;
    border: none;
    border-radius: 10px;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
    text-align: left;
    cursor: pointer;
}

.lux-att-employee-filter__option em {
    margin-left: auto;
    font-style: normal;
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
    max-width: 42%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-att-employee-filter__option:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-att-employee-filter__option.is-selected {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-employee-filter__option.is-self span {
    font-weight: 800;
}

.lux-att-employee-filter__empty {
    padding: 0.55rem 0.65rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-attendance-empty--filter {
    margin-top: 0.75rem;
    padding: 1.25rem 1rem;
    border: 0px dashed rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    text-align: center;
    background: rgba(248, 250, 252, 0.7);
}

.lux-attendance-empty--filter i {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 1.25rem;
    color: #94a3b8;
}

.lux-att-matrix__th-day {
    min-width: 2.35rem;
    padding: 0.4rem 0.2rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.98);
    text-align: center;
    vertical-align: middle;
}

.lux-att-matrix__th-day.is-weekend-sat {
    background: var(--lux-att-optional-sat-bg);
    box-shadow: inset 0 -2px 0 rgba(245, 158, 11, 0.55);
}

.lux-att-matrix__th-day.is-weekend-sun {
    background: var(--lux-att-optional-sun-bg);
    box-shadow: inset 0 -2px 0 rgba(139, 92, 246, 0.55);
}

.lux-att-matrix__th-day.is-weekend-sat .lux-att-matrix__day-num {
    color: var(--lux-att-optional-sat-text);
}

.lux-att-matrix__th-day.is-weekend-sun .lux-att-matrix__day-num {
    color: var(--lux-att-optional-sun-text);
}

.lux-att-matrix__th-day.is-weekend-sat .lux-att-matrix__day-label,
.lux-att-matrix__th-day.is-weekend-sun .lux-att-matrix__day-label {
    font-weight: 800;
}

.lux-att-matrix__day-optional {
    display: block;
    margin-top: 0.06rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1;
}

.lux-att-matrix__th-day.is-weekend-sat .lux-att-matrix__day-optional {
    color: var(--lux-att-optional-sat-text);
}

.lux-att-matrix__th-day.is-weekend-sun .lux-att-matrix__day-optional {
    color: var(--lux-att-optional-sun-text);
}

.lux-att-matrix__th-day.is-today {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    box-shadow: inset 0 -2px 0 var(--lux-primary, #5b5ff4);
}

.lux-att-matrix__th-day.is-future {
    opacity: 0.65;
}

.lux-att-matrix__day-num {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
    line-height: 1.1;
}

.lux-att-matrix__day-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
    line-height: 1.2;
}

.lux-att-matrix__th-day.is-today .lux-att-matrix__day-num {
    color: var(--lux-primary-dark, #3730a3);
}

/* Rows */

.lux-att-row__employee {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 14rem;
    max-width: 16rem;
    padding: 0.45rem 0.65rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    border-right: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.98);
    vertical-align: middle;
}

.lux-att-row.is-current-user .lux-att-row__employee {
    background: linear-gradient(
        90deg,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1),
        rgba(255, 255, 255, 0.98) 55%
    );
    box-shadow: inset 3px 0 0 var(--lux-primary, #5b5ff4);
}

.lux-att-row.is-current-user {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03);
}

.lux-att-row:hover .lux-att-row__employee {
    background: rgba(248, 250, 252, 0.98);
}

.lux-att-row.is-current-user:hover .lux-att-row__employee {
    background: linear-gradient(
        90deg,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12),
        rgba(248, 250, 252, 0.98) 55%
    );
}

.lux-att-row__employee-inner {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    min-width: 0;
}

.lux-att-row__avatar-wrap {
    position: relative;
    flex-shrink: 0;
}

.lux-att-row__avatar {
    width: 2.25rem !important;
    height: 2.25rem !important;
    object-fit: cover;
    border: 2px solid #fff !important;
    border-radius: 9911px !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1);
    padding: 0 !important;
}

.lux-att-row__you-badge {
    position: absolute;
    right: -0.25rem;
    bottom: -0.15rem;
    padding: 0.05rem 0.28rem;
    border: 0px solid #fff;
    border-radius: 9911px;
    background: var(--lux-primary, #5b5ff4);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-att-row__copy {
    flex: 1;
    min-width: 0;
}

.lux-att-row__name {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-att-row__name a {
    color: inherit;
    text-decoration: none;
}

.lux-att-row__name a:hover {
    color: var(--lux-primary, #5b5ff4);
}

.lux-att-row__designation,
.lux-att-row__code {
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-att-row__stats {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 2rem;
    padding: 0.2rem 0.35rem;
    border-radius: 8px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-att-row__stats strong {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
}

.lux-att-row__stats span {
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--lux-primary-dark, #3730a3);
}

/* Day cells */

.lux-att-day {
    padding: 0.28rem 0.15rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    text-align: center;
    vertical-align: middle;
}

.lux-att-day.is-weekend-sat {
    background: var(--lux-att-optional-sat-bg);
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.12);
}

.lux-att-day.is-weekend-sun {
    background: var(--lux-att-optional-sun-bg);
    box-shadow: inset 0 0 0 1px rgba(139, 92, 246, 0.12);
}

.lux-att-day.is-holiday {
    background: rgba(14, 165, 233, 0.08);
    box-shadow: inset 0 0 0 1px rgba(14, 165, 233, 0.16);
}

.lux-att-matrix__th-day.is-holiday {
    color: #0369a1;
}

.lux-att-day.is-weekend-sat .lux-att-day__btn.is-absent {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.22);
    color: #d97706;
}

.lux-att-day.is-weekend-sun .lux-att-day__btn.is-absent {
    background: rgba(139, 92, 246, 0.1);
    border-color: rgba(139, 92, 246, 0.22);
    color: #7c3aed;
}

.lux-att-day.is-today {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07);
    box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-att-day.is-future {
    background: linear-gradient(180deg, rgba(240, 249, 255, 0.7), rgba(248, 250, 252, 0.55));
}

.lux-att-row.is-current-user .lux-att-day.is-today {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-att-day__future {
    display: inline-grid;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 11px;
    background: linear-gradient(145deg, rgba(186, 230, 253, 0.55), rgba(224, 242, 254, 0.9));
    border: 1px dashed rgba(14, 165, 233, 0.38);
    color: #0284c7;
    font-size: 0.6875rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.lux-att-day__future.is-weekend {
    background: linear-gradient(145deg, rgba(226, 232, 240, 0.7), rgba(241, 245, 249, 0.95));
    border-color: rgba(148, 163, 184, 0.4);
    color: #64748b;
}

.lux-att-day__future.is-leave {
    background: rgba(99, 102, 241, 0.12);
    border-style: solid;
    border-color: rgba(99, 102, 241, 0.28);
    color: #4f46e5;
}

.lux-att-day__future.is-holiday {
    background: rgba(244, 63, 94, 0.1);
    border-style: solid;
    border-color: rgba(244, 63, 94, 0.28);
    color: #be123c;
}

.lux-att-day__btn {
    display: inline-grid;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    padding: 0;
    border: 0px solid transparent;
    border-radius: 11px;
    background: transparent;
    font-size: 0.6875rem;
    cursor: default;
    transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

.lux-att-day__btn.is-present {
    background: rgba(16, 185, 129, 0.14);
    border-color: rgba(16, 185, 129, 0.22);
    color: #059669;
}

.lux-att-day__btn.is-leave,
.lux-att-you__day-mark.is-leave {
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.22);
    color: #4f46e5;
}

.lux-att-day.is-leave {
    background: rgba(99, 102, 241, 0.04);
}

.lux-att-day__btn.is-absent {
    background: rgba(239, 68, 68, 0.06);
    border-color: rgba(239, 68, 68, 0.12);
    color: #dc2626;
}

@keyframes lux-att-pending-glow {
    0%,
    100% {
        border-color: rgba(217, 119, 6, 0.34);
        box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.06), 0 0 0 0 rgba(245, 158, 11, 0);
    }

    50% {
        border-color: rgba(217, 119, 6, 0.62);
        box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.14), 0 0 0 3px rgba(245, 158, 11, 0.12);
    }
}

@keyframes lux-att-pending-icon {
    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.55;
        transform: scale(0.92);
    }
}

@keyframes lux-att-pending-bg {
    0%,
    100% {
        background-color: rgba(245, 158, 11, 0.03);
    }

    50% {
        background-color: rgba(245, 158, 11, 0.08);
    }
}

.lux-att-day__btn.is-pending,
.lux-att-you__day-mark.is-pending {
    background: #fff;
    border: 2px dashed rgba(217, 119, 6, 0.45);
    color: #d97706;
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.08);
    animation: lux-att-pending-glow 2.2s ease-in-out infinite;
}

.lux-att-day__btn.is-pending > i,
.lux-att-you__day-mark.is-pending > i {
    animation: lux-att-pending-icon 2.2s ease-in-out infinite;
}

.lux-att-day__btn.is-rejected,
.lux-att-you__day-mark.is-rejected {
    background: #fff;
    border: 2px solid rgba(190, 24, 93, 0.42);
    color: #be185d;
    box-shadow: inset 0 0 0 1px rgba(190, 24, 93, 0.06);
}

.lux-att-day__btn.is-pending-removal,
.lux-att-you__day-mark.is-pending-removal {
    background: #fff;
    border: 2px dashed rgba(79, 70, 229, 0.42);
    color: #4f46e5;
    box-shadow: inset 0 0 0 1px rgba(99, 102, 241, 0.08);
}

.lux-att-day.is-pending,
.lux-att-you__day.is-pending {
    background: rgba(245, 158, 11, 0.04);
    animation: lux-att-pending-bg 2.2s ease-in-out infinite;
}

.lux-att-day.is-pending-removal,
.lux-att-you__day.is-pending-removal {
    background: rgba(99, 102, 241, 0.04);
}

.lux-att-day.is-rejected,
.lux-att-you__day.is-rejected {
    background: rgba(190, 24, 93, 0.03);
}

.lux-att-pending {
    margin: 1rem 0 1.25rem;
    padding: 1rem 1.1rem;
    border-radius: 14px;
    border: 1px solid rgba(245, 158, 11, 0.2);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.95), rgba(254, 243, 199, 0.5));
}

.lux-att-pending--collapsed {
    padding: 0;
    border: none;
    background: transparent;
}

.lux-att-pending__collapsed-bar {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(254, 243, 199, 0.72));
    box-shadow: 0 8px 24px rgba(245, 158, 11, 0.12);
    cursor: pointer;
    text-align: left;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.lux-att-pending__collapsed-bar:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 28px rgba(245, 158, 11, 0.16);
}

.lux-att-pending__collapsed-icon {
    display: inline-grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    background: rgba(245, 158, 11, 0.16);
    color: #d97706;
    flex-shrink: 0;
    animation: lux-att-pending-icon 2.2s ease-in-out infinite;
}

.lux-att-pending__collapsed-copy {
    display: grid;
    gap: 0.15rem;
    flex: 1;
    min-width: 0;
}

.lux-att-pending__collapsed-copy strong {
    color: #78350f;
    font-size: 0.875rem;
}

.lux-att-pending__collapsed-copy em {
    font-style: normal;
    font-size: 0.75rem;
    color: #92400e;
}

.lux-att-pending__collapsed-expand {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #b45309;
    flex-shrink: 0;
}

.lux-att-pending__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.lux-att-pending__head-actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.lux-att-pending__toggle {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    color: #b45309;
    cursor: pointer;
    padding: 0.35rem 0.2rem;
}

.lux-att-pending__summary-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.55rem;
}

.lux-att-pending__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
}

.lux-att-pending__chip.is-approval {
    background: rgba(255, 255, 255, 0.72);
    border: 1px dashed rgba(217, 119, 6, 0.35);
    color: #d97706;
}

.lux-att-pending__chip.is-removal {
    background: rgba(255, 255, 255, 0.72);
    border: 1px dashed rgba(79, 70, 229, 0.32);
    color: #4f46e5;
}

.lux-att-pending__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b45309;
}

.lux-att-pending__head h3 {
    margin: 0.15rem 0 0;
    font-size: 1rem;
    color: #78350f;
}

.lux-att-pending__head p {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
    color: #92400e;
}

.lux-att-pending__count {
    min-width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #f59e0b;
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
}

.lux-att-pending__list {
    display: grid;
    gap: 0.65rem;
}

.lux-att-pending__card {
    display: grid;
    gap: 0.65rem;
    padding: 0.75rem 0.85rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(245, 158, 11, 0.16);
}

.lux-att-pending__card-main {
    display: grid;
    gap: 0.15rem;
}

.lux-att-pending__card-main strong {
    color: #1f2937;
    font-size: 0.875rem;
}

.lux-att-pending__card-main span,
.lux-att-pending__card-main em {
    font-size: 0.75rem;
    color: #6b7280;
    font-style: normal;
}

.lux-att-pending__dates {
    display: grid;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-att-pending__date-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.45rem 0.55rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(245, 158, 11, 0.12);
}

.lux-att-pending__date-row.is-pending {
    border-style: dashed;
    border-color: rgba(217, 119, 6, 0.28);
    background: rgba(255, 255, 255, 0.82);
    animation: lux-att-pending-glow 2.2s ease-in-out infinite;
}

.lux-att-pending__date-row.is-pending-removal {
    border-style: dashed;
    border-color: rgba(79, 70, 229, 0.28);
    background: rgba(255, 255, 255, 0.82);
}

.lux-att-pending__date-type {
    display: inline-grid;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 7px;
    flex-shrink: 0;
    font-size: 0.75rem;
}

.lux-att-pending__date-row.is-pending .lux-att-pending__date-type {
    color: #d97706;
    background: rgba(245, 158, 11, 0.1);
    animation: lux-att-pending-icon 2.2s ease-in-out infinite;
}

.lux-att-pending__date-row.is-pending-removal .lux-att-pending__date-type {
    color: #4f46e5;
    background: rgba(99, 102, 241, 0.1);
}

.lux-att-pending__date-summary {
    display: grid;
    gap: 0.2rem;
    flex: 1;
    min-width: 0;
    font-size: 0.75rem;
    color: #475569;
    line-height: 1.35;
}

.lux-att-pending__date-error {
    display: block;
    font-style: normal;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #b91c1c;
}

.lux-att-pending__date-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex-shrink: 0;
}

.lux-att-pending__date-view {
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #fff;
    color: #334155;
    border-radius: 7px;
    padding: 0.2rem 0.55rem;
    font-size: 0.6875rem;
    font-weight: 600;
}

.lux-att-pending__date-icon {
    display: inline-grid;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 8px;
    border: 1px solid transparent;
    padding: 0;
    font-size: 0.8125rem;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.lux-att-pending__date-icon:hover:not(:disabled) {
    transform: scale(1.06);
}

.lux-att-pending__date-icon.is-approve {
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.22);
    color: #059669;
}

.lux-att-pending__date-icon.is-reject {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.18);
    color: #dc2626;
}

.lux-att-pending__date-icon:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-att-pending__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-self: end;
}

.lux-att-pending__btn {
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #fff;
    color: #334155;
    border-radius: 8px;
    padding: 0.35rem 0.7rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.lux-att-pending__btn.is-primary {
    background: var(--lux-primary, #059669);
    border-color: transparent;
    color: #fff;
}

.lux-att-pending__btn.is-danger {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.2);
    color: #b91c1c;
}

.lux-att-mark-popover__intro.is-pending {
    background: rgba(255, 251, 235, 0.9);
    color: #92400e;
    border: 1px dashed rgba(217, 119, 6, 0.28);
    animation: lux-att-pending-glow 2.2s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .lux-att-day__btn.is-pending,
    .lux-att-you__day-mark.is-pending,
    .lux-att-day__btn.is-pending > i,
    .lux-att-you__day-mark.is-pending > i,
    .lux-att-day.is-pending,
    .lux-att-you__day.is-pending,
    .lux-att-pending__date-row.is-pending,
    .lux-att-pending__date-row.is-pending .lux-att-pending__date-type,
    .lux-att-pending__collapsed-icon,
    .lux-att-mark-popover__intro.is-pending {
        animation: none;
    }
}

.lux-att-mark-popover__intro.is-rejected {
    background: rgba(190, 24, 93, 0.08);
    color: #9d174d;
    border: 1px solid rgba(190, 24, 93, 0.22);
}

.lux-att-mark-popover__intro.is-pending-removal {
    background: rgba(99, 102, 241, 0.08);
    color: #4338ca;
}

.lux-att-approval-comment {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.85rem;
}

.lux-att-approval-comment span {
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
}

.lux-att-approval-comment__input {
    width: 100%;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 10px;
    padding: 0.65rem 0.75rem;
    font-size: 0.8125rem;
    resize: vertical;
    min-height: 4.5rem;
    background: #fff;
}

.lux-att-approval-comment.has-error .lux-att-approval-comment__input {
    border-color: rgba(239, 68, 68, 0.55);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.08);
}

.lux-att-approval-comment__error {
    font-size: 0.75rem;
    font-weight: 600;
    color: #b91c1c;
    line-height: 1.35;
}

.lux-att-pending__card .lux-att-approval-comment {
    margin-top: 0;
}

.lux-att-day.is-clickable .lux-att-day__btn {
    cursor: pointer;
}

.lux-att-day.is-clickable .lux-att-day__btn:hover {
    transform: scale(1.08);
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.1);
}

.lux-att-day__btn:disabled {
    cursor: default;
    opacity: 0.85;
}

/* Responsive (matrix) */

@media (max-width: 767px) {
    .lux-att-matrix__scroll {
        max-height: calc(100vh - 18rem);
    }
}

/* Dark mode */

body.lux-shell-dark .lux-attendance__month-pill {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    color: #c7d2fe;
}

body.lux-shell-dark .lux-att-summary,
body.lux-shell-dark .lux-att-you,
body.lux-shell-dark .lux-att-matrix,
body.lux-shell-dark .lux-attendance-empty {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.9));
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-att-summary__title,
body.lux-shell-dark .lux-att-summary__month,
body.lux-shell-dark .lux-att-you__name,
body.lux-shell-dark .lux-att-row__name,
body.lux-shell-dark .lux-att-summary__metric strong,
body.lux-shell-dark .lux-att-summary__insight header strong,
body.lux-shell-dark .lux-att-summary__leader-copy strong {
    color: #f1f5f9;
}

body.lux-shell-dark .lux-att-summary__subtitle,
body.lux-shell-dark .lux-att-summary__collapsed-line,
body.lux-shell-dark .lux-att-summary__insight header span {
    color: #94a3b8;
}

body.lux-shell-dark .lux-att-summary__toggle,
body.lux-shell-dark .lux-att-summary__metric,
body.lux-shell-dark .lux-att-summary__insight,
body.lux-shell-dark .lux-att-summary__hero-rate,
body.lux-shell-dark .lux-att-summary__leader,
body.lux-shell-dark .lux-att-you__stat,
body.lux-shell-dark .lux-att-matrix__legend {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-att-summary__rate-ring::before {
    background: rgba(15, 23, 42, 0.95);
}

body.lux-shell-dark .lux-att-summary__rate-ring span {
    color: #c7d2fe;
}

body.lux-shell-dark .lux-att-summary__rate-copy strong {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-att-summary:not(.is-collapsed) .lux-att-summary__header-bar {
    border-bottom-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-att-matrix__th-employee,
body.lux-shell-dark .lux-att-matrix__th-day,
body.lux-shell-dark .lux-att-row__employee {
    background: rgba(15, 23, 42, 0.92);
    border-color: rgba(51, 65, 85, 0.9);
}

body.lux-shell-dark .lux-att-row.is-current-user .lux-att-row__employee {
    background: linear-gradient(
        90deg,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18),
        rgba(15, 23, 42, 0.92) 55%
    );
}

body.lux-shell-dark .lux-att-matrix__day-num {
    color: #e2e8f0;
}

body.lux-shell-dark .lux-attendance-empty span {
    color: #e2e8f0;
}

/* Mark attendance popover */
.lux-att-mark-popover__backdrop {
    position: fixed;
    inset: 0;
    z-index: 1200;
    border: none;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(2px);
    cursor: pointer;
}

.lux-att-mark-popover {
    position: fixed;
    z-index: 1201;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(92vw, 28rem);
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 55%),
        rgba(255, 255, 255, 0.98);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
    overflow: hidden;
}

.lux-att-mark-popover__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem 0.75rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
    background: rgba(248, 250, 252, 0.95);
}

.lux-att-mark-popover__eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-att-mark-popover__head h2 {
    margin: 0.12rem 0 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-att-mark-popover__head p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-att-mark-popover__today,
.lux-att-mark-popover__optional {
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.4rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.lux-att-mark-popover__today {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-mark-popover__optional {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}

.lux-att-mark-popover__close {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.95);
    color: #64748b;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-att-mark-popover__close:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-mark-popover__body {
    padding: 0.85rem 1rem 1rem;
}

.lux-att-mark-popover__intro {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin-bottom: 0.75rem;
    padding: 0.55rem 0.65rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
    font-size: 0.6875rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.45;
}

.lux-att-mark-popover__intro i {
    margin-top: 0.1rem;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-mark-popover__intro.is-present {
    border-color: rgba(16, 185, 129, 0.22);
    background: rgba(16, 185, 129, 0.06);
}

.lux-att-mark-popover__intro.is-present i {
    color: #059669;
}

.lux-att-mark-popover__value {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 2.2rem;
    padding: 0.35rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 10px;
    background: rgba(248, 250, 252, 0.98);
    font-size: 0.875rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-att-mark-popover__field.is-highlight .lux-att-mark-popover__value {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), rgba(248, 250, 252, 0.98));
}

.lux-att-mark-popover__btn.is-danger {
    border-color: rgba(239, 68, 68, 0.28);
    background: rgba(254, 242, 242, 0.98);
    color: #dc2626;
}

.lux-att-mark-popover__btn.is-danger:hover:not(:disabled) {
    border-color: rgba(239, 68, 68, 0.45);
    background: rgba(254, 226, 226, 0.98);
    color: #b91c1c;
}

.lux-att-mark-popover__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-att-mark-popover__field {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin: 0;
}

.lux-att-mark-popover__field.is-wide {
    grid-column: 1 / -1;
}

.lux-att-mark-popover__field > span {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-att-mark-popover__field.is-highlight > span {
    color: #475569;
}

.lux-att-mark-popover__input {
    width: 100%;
    min-height: 2.2rem;
    padding: 0.35rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.98);
    font-size: 0.875rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-att-mark-popover__field.is-highlight .lux-att-mark-popover__input {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), rgba(255, 255, 255, 0.98));
}

.lux-att-mark-popover__input:focus {
    outline: none;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-att-mark-popover__field em {
    font-style: normal;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
}

.lux-att-mark-popover__foot {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-att-mark-popover__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    min-height: 2rem;
    padding: 0 0.85rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    cursor: pointer;
}

.lux-att-mark-popover__btn.is-primary {
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.lux-att-mark-popover__btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

body.lux-shell-dark .lux-att-mark-popover {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(15, 23, 42, 0.94));
    border-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-att-mark-popover__head {
    background: rgba(15, 23, 42, 0.92);
    border-bottom-color: rgba(51, 65, 85, 0.95);
}

body.lux-shell-dark .lux-att-mark-popover__head h2 {
    color: #f1f5f9;
}

body.lux-shell-dark .lux-att-mark-popover__head p,
body.lux-shell-dark .lux-att-mark-popover__intro,
body.lux-shell-dark .lux-att-mark-popover__field em {
    color: #94a3b8;
}

body.lux-shell-dark .lux-att-mark-popover__input {
    background: rgba(15, 23, 42, 0.92);
    border-color: rgba(51, 65, 85, 0.95);
    color: #f1f5f9;
}

body.lux-shell-dark .lux-att-mark-popover__value {
    background: rgba(15, 23, 42, 0.92);
    border-color: rgba(51, 65, 85, 0.95);
    color: #f1f5f9;
}

body.lux-shell-dark .lux-att-mark-popover__btn.is-danger {
    border-color: rgba(248, 113, 113, 0.35);
    background: rgba(127, 29, 29, 0.35);
    color: #fca5a5;
}

body.lux-shell-dark .lux-att-mark-popover__close,
body.lux-shell-dark .lux-att-mark-popover__btn {
    background: rgba(15, 23, 42, 0.92);
    border-color: rgba(51, 65, 85, 0.95);
    color: #cbd5e1;
}

/* ========== luxury-invoice.css ========== */

/* ========== Invoice page — luxury UI ========== */

.lux-invoice {
    padding-bottom: 1rem;
}

/* Empty state */

.lux-invoice-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin: 1.5rem 0.75rem;
    padding: 2.5rem 1rem;
    border: 0px dashed rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: rgba(248, 250, 252, 0.8);
    text-align: center;
}

.lux-invoice-empty img {
    max-width: 8rem;
    opacity: 0.85;
    margin-bottom: 0.625rem;
}

.lux-invoice-empty span {
    font-size: 0.9375rem;
    font-weight: 800;
    color: #334155;
}

.lux-invoice-empty p {
    margin: 0;
    font-size: 0.6875rem;
    color: #64748b;
    max-width: 22rem;
}

.lux-invoice-empty__create-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.65rem;
    min-height: 2.125rem;
    padding: 0 0.85rem;
    border: none;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    font-size: 0.6875rem;
    font-weight: 800;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    transition: transform 0.14s ease, box-shadow 0.14s ease;
}

.lux-invoice-empty__create-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.34);
}

/* Summary dashboard */

.lux-inv-summary {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.06), transparent 42%),
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 45%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.lux-inv-summary.is-collapsed {
    padding-bottom: 0.65rem;
}

.lux-inv-summary__header-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.55rem;
    margin-bottom: 0.55rem;
}

.lux-inv-summary:not(.is-collapsed) .lux-inv-summary__header-bar {
    padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-inv-summary__header-main {
    min-width: 0;
}

/* Eyebrow — see luxury-summary-shared.css (.lux-summary-eyebrow) */

.lux-inv-summary__title {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-inv-summary__title-amount {
    display: inline-block;
    margin-left: 0.45rem;
    padding: 0.12rem 0.45rem;
    border-radius: 9911px;
    background: rgba(16, 185, 129, 0.1);
    font-size: 0.75rem;
    font-weight: 800;
    color: #047857;
    vertical-align: middle;
}

.lux-inv-summary__body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lux-inv-summary__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 0.65rem;
}

.lux-inv-summary__hero-main {
    padding: 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.88);
}

.lux-inv-summary__hero-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-summary__hero-value {
    margin-top: 0.2rem;
    font-size: 1.75rem;
    font-weight: 900;
    line-height: 1.1;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.lux-inv-summary__hero-sub {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
}

.lux-inv-summary__hero-masked {
    font-size: 1.25rem;
    color: #94a3b8;
}

.lux-inv-summary__hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.55rem;
    padding-top: 0.55rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-inv-summary__hero-stats span {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
}

.lux-inv-summary__hero-stats i {
    color: var(--lux-primary, #5b5ff4);
}

.lux-inv-summary__hero-cards {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 0.45rem;
}

.lux-inv-summary__flow-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.08rem;
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 0px solid rgba(226, 232, 240, 0.95);
}

.lux-inv-summary__flow-card span {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-summary__flow-card strong {
    font-size: 1.0625rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-inv-summary__flow-card small {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-inv-summary__flow-card.is-outstanding {
    background: linear-gradient(135deg, rgba(251, 191, 36, 0.12), rgba(255, 255, 255, 0.95));
    border-color: rgba(245, 158, 11, 0.22);
}

.lux-inv-summary__flow-card.is-collected {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(255, 255, 255, 0.95));
    border-color: rgba(16, 185, 129, 0.22);
}

.lux-inv-summary__metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
}

.lux-inv-summary__metric {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
}

.lux-inv-summary__metric-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.lux-inv-summary__metric.is-blue .lux-inv-summary__metric-icon {
    background: rgba(59, 130, 246, 0.12);
    color: #2563eb;
}

.lux-inv-summary__metric.is-amber .lux-inv-summary__metric-icon {
    background: rgba(245, 158, 11, 0.12);
    color: #d97706;
}

.lux-inv-summary__metric.is-green .lux-inv-summary__metric-icon {
    background: rgba(16, 185, 129, 0.12);
    color: #059669;
}

.lux-inv-summary__metric.is-violet .lux-inv-summary__metric-icon {
    background: rgba(139, 92, 246, 0.12);
    color: #7c3aed;
}

.lux-inv-summary__metric-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-summary__metric-value {
    display: block;
    font-size: 0.9375rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.2;
}

.lux-inv-summary__panels {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 0.55rem;
    align-items: stretch;
}

.lux-inv-summary__panels-main {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-width: 0;
}

.lux-inv-summary__panel {
    padding: 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.88);
}

.lux-inv-summary__panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    margin-bottom: 0.45rem;
}

.lux-inv-summary__panel-head h3 {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-inv-summary__bar {
    display: flex;
    height: 0.55rem;
    border-radius: 9911px;
    overflow: hidden;
    background: #e2e8f0;
}

.lux-inv-summary__bar--empty {
    align-items: center;
    justify-content: center;
    height: 1.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-inv-summary__bar-segment.is-slate { background: linear-gradient(90deg, #94a3b8, #64748b); }
.lux-inv-summary__bar-segment.is-blue { background: linear-gradient(90deg, #60a5fa, #2563eb); }
.lux-inv-summary__bar-segment.is-amber { background: linear-gradient(90deg, #fbbf24, #d97706); }
.lux-inv-summary__bar-segment.is-green { background: linear-gradient(90deg, #34d399, #059669); }
.lux-inv-summary__bar-segment.is-violet { background: linear-gradient(90deg, #c4b5fd, #7c3aed); }

.lux-inv-summary__legend {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.25rem 0.55rem;
    margin: 0.45rem 0 0;
    padding: 0;
    list-style: none;
}

.lux-inv-summary__legend li {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 0.28rem;
    font-size: 0.75rem;
    color: #475569;
}

.lux-inv-summary__legend-dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 9911px;
}

.lux-inv-summary__legend-dot.is-slate { background: #64748b; }
.lux-inv-summary__legend-dot.is-blue { background: #2563eb; }
.lux-inv-summary__legend-dot.is-amber { background: #d97706; }
.lux-inv-summary__legend-dot.is-green { background: #059669; }
.lux-inv-summary__legend-dot.is-violet { background: #7c3aed; }

.lux-inv-summary__legend-label {
    font-weight: 700;
}

.lux-inv-summary__legend li strong {
    font-weight: 900;
    color: #0f172a;
}

.lux-inv-summary__legend-pct {
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-inv-summary__amount-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-inv-summary__amount-list li {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.45rem;
    border-radius: 8px;
    font-size: 0.75rem;
    background: rgba(248, 250, 252, 0.9);
}

.lux-inv-summary__amount-list li span {
    font-weight: 700;
    color: #475569;
}

.lux-inv-summary__amount-list li strong {
    font-weight: 900;
    color: #0f172a;
}

.lux-inv-summary__amount-list li em {
    font-style: normal;
    font-weight: 800;
    color: #047857;
}

.lux-inv-summary__amount-list li.is-empty {
    display: block;
    text-align: center;
    color: #94a3b8;
    background: transparent;
}

.lux-inv-summary__filters--compact .lux-inv-summary__filter-chip {
    min-height: 1.5rem;
    padding: 0 0.45rem;
    font-size: 0.625rem;
}

.lux-inv-summary__filter-chip {
    min-height: 1.65rem;
    padding: 0 0.55rem;
    background: rgba(255, 255, 255, 0.92);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #64748b;
}

.lux-inv-summary__filter-chip:hover {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-inv-summary__footer-filters {
    padding-top: 0.15rem;
}

.lux-inv-summary__scope-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
}

.lux-inv-summary__fy-scope {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
}

.lux-inv-summary__fy-chip {
    min-height: 1.65rem;
    padding: 0 0.55rem;
    border: 1px solid #e2e8f0;
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.92);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    transition: all 0.14s ease;
}

.lux-inv-summary__fy-chip:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-inv-summary__fy-chip.is-active {
    border-color: rgba(16, 185, 129, 0.32);
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
}

.lux-inv-summary__list-fy-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
}

.lux-inv-summary__list-fy-toggle input {
    accent-color: var(--lux-primary, #5b5ff4);
}

.lux-inv-summary__panel--monthly {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 0.75rem;
    border: 1px solid rgba(16, 185, 129, 0.16);
    background:
        radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.1), transparent 52%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(240, 253, 250, 0.92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.lux-inv-summary__panel-head--monthly {
    align-items: flex-start;
    margin-bottom: 0.6rem;
}

.lux-inv-summary__panel-title-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.lux-inv-summary__panel-hint {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    line-height: 1.35;
}

.lux-inv-summary__monthly-badge {
    flex-shrink: 0;
    padding: 0.18rem 0.5rem;
    border-radius: 9911px;
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(16, 185, 129, 0.22);
    font-size: 0.625rem;
    font-weight: 800;
    color: #047857;
    white-space: nowrap;
}

.lux-inv-summary__monthly-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.55rem;
    min-height: 0;
}

.lux-inv-summary__monthly-kpis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem;
}

.lux-inv-summary__monthly-kpi {
    padding: 0.42rem 0.48rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-inv-summary__monthly-kpi-label {
    display: block;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-inv-summary__monthly-kpi-value {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.8125rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.2;
}

.lux-inv-summary__monthly-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.28rem;
    align-items: end;
    min-height: 7.5rem;
    padding: 0.45rem 0.35rem 0.25rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-inv-summary__monthly-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.22rem;
    min-width: 0;
}

.lux-inv-summary__monthly-cell-bar {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: 4.5rem;
    border-radius: 8px 8px 4px 4px;
    background: linear-gradient(180deg, rgba(241, 245, 249, 0.9), rgba(226, 232, 240, 0.55));
    overflow: hidden;
}

.lux-inv-summary__monthly-cell-bar span {
    display: block;
    width: 72%;
    min-height: 2px;
    border-radius: 6px 6px 2px 2px;
    background: linear-gradient(180deg, rgba(148, 163, 184, 0.45), rgba(148, 163, 184, 0.2));
    transition: height 0.25s ease;
}

.lux-inv-summary__monthly-cell.is-active .lux-inv-summary__monthly-cell-bar span {
    background: linear-gradient(180deg, #6ee7b7, #059669);
}

.lux-inv-summary__monthly-cell.is-peak .lux-inv-summary__monthly-cell-bar span {
    background: linear-gradient(180deg, #34d399, #047857);
    box-shadow: 0 0 0 1px rgba(5, 150, 105, 0.25);
}

.lux-inv-summary__monthly-cell.is-recent .lux-inv-summary__monthly-cell-month {
    color: #047857;
}

.lux-inv-summary__monthly-cell-month {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    line-height: 1;
}

.lux-inv-summary__monthly-cell-count {
    font-size: 0.625rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1;
}

.lux-inv-summary__monthly-cell:not(.is-active) .lux-inv-summary__monthly-cell-count {
    color: #cbd5e1;
}

.lux-inv-summary__monthly-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.75rem;
}

.lux-inv-summary__monthly-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
}

.lux-inv-summary__monthly-legend-item.is-recent i {
    color: #059669;
}

.lux-inv-summary__monthly-legend-item.is-peak i {
    color: #047857;
}

.lux-inv-summary__monthly-detail {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}

.lux-inv-summary__monthly-detail li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    padding: 0.34rem 0.42rem;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(226, 232, 240, 0.85);
}

.lux-inv-summary__monthly-detail-label {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-inv-summary__monthly-detail-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.lux-inv-summary__monthly-detail-meta strong {
    min-width: 1rem;
    font-size: 0.6875rem;
    font-weight: 900;
    color: #0f172a;
    text-align: right;
}

.lux-inv-summary__monthly-detail-meta em {
    min-width: 3.25rem;
    font-style: normal;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #047857;
    text-align: right;
}

.lux-inv-summary__monthly-empty {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-invoice-load-more {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    margin: 0.85rem 0.75rem 1rem;
    padding: 0.85rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.92);
    text-align: center;
}

.lux-invoice-load-more__meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.lux-invoice-load-more__meta span {
    font-size: 0.6875rem;
    color: #475569;
}

.lux-invoice-load-more__meta strong {
    color: #0f172a;
}

.lux-invoice-load-more__hint {
    font-size: 0.6875rem !important;
    color: #94a3b8 !important;
}

.lux-invoice-load-more__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.125rem;
    padding: 0 0.95rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    cursor: pointer;
    transition: all 0.14s ease;
}

.lux-invoice-load-more__btn:hover:not(:disabled) {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    transform: translateY(-1px);
}

.lux-invoice-load-more__btn:disabled {
    opacity: 0.7;
    cursor: wait;
}

.lux-invoice-load-more__done {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #059669;
}

.lux-invoice-load-more__spin {
    animation: lux-invoice-spin 0.8s linear infinite;
}

@keyframes lux-invoice-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.lux-invoice-empty__create-btn--secondary {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: none;
}

.lux-invoice-empty__create-btn--secondary:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    box-shadow: none;
}

/* Outstanding / pending invoices panel */

.lux-inv-outstanding {
    margin-top: 0.15rem;
    padding: 0.85rem;
    border: 0px solid rgba(59, 130, 246, 0.18);
    border-radius: 16px;
    background:
        radial-gradient(circle at 0% 0%, rgba(59, 130, 246, 0.08), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
}

.lux-inv-outstanding__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-inv-outstanding__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin-bottom: 0.15rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #2563eb;
}

.lux-inv-outstanding__head h3 {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-inv-outstanding__head p {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-inv-outstanding__head-btn {
    flex-shrink: 0;
    min-height: 1.75rem;
    padding: 0 0.65rem;
    border: 0px solid rgba(37, 99, 235, 0.24);
    border-radius: 9911px;
    background: rgba(37, 99, 235, 0.08);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #1d4ed8;
    cursor: pointer;
    transition: background 0.14s ease;
}

.lux-inv-outstanding__head-btn:hover {
    background: rgba(37, 99, 235, 0.14);
}

.lux-inv-outstanding__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
    margin-bottom: 0.65rem;
}

.lux-inv-outstanding__pill {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    padding: 0.625rem 0.6rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
}

.lux-inv-outstanding__pill span {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-outstanding__pill strong {
    font-size: 1rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.1;
}

.lux-inv-outstanding__pill em {
    font-style: normal;
    font-size: 0.75rem;
    font-weight: 800;
    color: #047857;
}

.lux-inv-outstanding__pill.is-blue {
    border-color: rgba(37, 99, 235, 0.2);
    background: rgba(37, 99, 235, 0.06);
}

.lux-inv-outstanding__pill.is-amber {
    border-color: rgba(217, 119, 6, 0.2);
    background: rgba(217, 119, 6, 0.06);
}

.lux-inv-outstanding__subsection {
    margin-bottom: 0.55rem;
}

.lux-inv-outstanding__subsection h4 {
    margin: 0 0 0.4rem;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-inv-outstanding__subsection.is-empty p {
    margin: 0;
    padding: 0.65rem;
    border: 0px dashed #e2e8f0;
    border-radius: 12px;
    font-size: 0.75rem;
    color: #94a3b8;
    text-align: center;
}

.lux-inv-outstanding__rows {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.lux-inv-outstanding__row {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr) auto;
    gap: 0.55rem;
    align-items: center;
    padding: 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.94);
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-inv-outstanding__row.is-highlight,
.lux-inv-outstanding__row.is-pending {
    border-color: rgba(37, 99, 235, 0.22);
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.95), rgba(255, 255, 255, 0.96));
}

.lux-inv-outstanding__row:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

.lux-inv-outstanding__row-top {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.12rem;
}

.lux-inv-outstanding__number {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-outstanding__status {
    display: inline-flex;
    align-items: center;
    min-height: 1.2rem;
    padding: 0 0.38rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
}

.lux-inv-outstanding__status.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-inv-outstanding__status.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }
.lux-inv-outstanding__status.is-amber { background: rgba(217, 119, 6, 0.12); color: #b45309; }

.lux-inv-outstanding__title {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    text-decoration: none;
}

.lux-inv-outstanding__title:hover {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-inv-outstanding__description {
    margin: 0.12rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-inv-outstanding__row-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem 0.55rem;
}

.lux-inv-outstanding__row-facts span {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-inv-outstanding__row-facts strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-inv-outstanding__amount {
    color: #047857 !important;
}

.lux-inv-outstanding__row-action {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    align-items: stretch;
}

.lux-inv-outstanding__view-btn,
.lux-inv-outstanding__filter-btn {
    min-height: 1.75rem;
    padding: 0 0.65rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.14s ease;
}

.lux-inv-outstanding__view-btn {
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-inv-outstanding__filter-btn {
    border: 0px solid #e2e8f0;
    background: rgba(255, 255, 255, 0.95);
    color: #64748b;
}

.lux-inv-outstanding__view-btn:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-inv-outstanding__filter-btn:hover {
    border-color: rgba(37, 99, 235, 0.24);
    color: #1d4ed8;
}

.lux-inv-outstanding__secondary {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding-top: 0.15rem;
    border-top: 1px dashed rgba(226, 232, 240, 0.95);
}

.lux-inv-outstanding__all-clear {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.75rem;
    border-radius: 12px;
    background: rgba(16, 185, 129, 0.08);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #047857;
}

.lux-inv-outstanding__all-clear i {
    font-size: 0.875rem;
}

/* Collections aging */

.lux-invoice > .lux-inv-aging {
    margin: 0.55rem 0.75rem 0.75rem;
}

.lux-inv-aging {
    margin-top: 0.55rem;
    padding: 0.85rem;
    border: 0 solid rgba(244, 63, 94, 0.14);
    border-radius: 16px;
    background:
        radial-gradient(circle at 100% 0%, rgba(244, 63, 94, 0.07), transparent 46%),
        radial-gradient(circle at 0% 100%, rgba(245, 158, 11, 0.06), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 247, 0.96));
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
}

.lux-inv-aging.has-filter {
    box-shadow:
        0 0 0 1px rgba(244, 63, 94, 0.18),
        0 6px 18px rgba(15, 23, 42, 0.05);
}

.lux-inv-aging.is-error {
    background: linear-gradient(180deg, #fff, #fff7ed);
}

.lux-inv-aging__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.55rem;
    margin-bottom: 0.65rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-inv-aging__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin-bottom: 0.15rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #e11d48;
}

.lux-inv-aging__head h3 {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-inv-aging__head p {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-inv-aging__head-btn {
    flex-shrink: 0;
    min-height: 1.75rem;
    padding: 0 0.65rem;
    border: 0 solid rgba(225, 29, 72, 0.22);
    border-radius: 999px;
    background: rgba(225, 29, 72, 0.08);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #be123c;
    cursor: pointer;
}

.lux-inv-aging__head-btn:hover {
    background: rgba(225, 29, 72, 0.14);
}

.lux-inv-aging__hero {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
    margin-bottom: 0.55rem;
}

.lux-inv-aging__hero-card {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.625rem 0.65rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    border: 0 solid rgba(226, 232, 240, 0.95);
}

.lux-inv-aging__hero-card span {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-aging__hero-card strong {
    font-size: 1.05rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.15;
}

.lux-inv-aging__hero-card small {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-inv-aging__hero-card.is-open {
    background: rgba(16, 185, 129, 0.07);
}

.lux-inv-aging__hero-card.is-overdue {
    background: rgba(245, 158, 11, 0.08);
}

.lux-inv-aging__hero-card.is-critical {
    background: rgba(244, 63, 94, 0.08);
}

.lux-inv-aging__stack {
    display: flex;
    width: 100%;
    height: 0.5rem;
    margin-bottom: 0.55rem;
    overflow: hidden;
    border-radius: 999px;
    background: #f1f5f9;
}

.lux-inv-aging__stack-seg {
    min-width: 0;
    height: 100%;
    padding: 0;
    border: 0;
    cursor: pointer;
    transition: filter 0.14s ease, opacity 0.14s ease;
}

.lux-inv-aging__stack-seg.is-green { background: #10b981; }
.lux-inv-aging__stack-seg.is-blue { background: #3b82f6; }
.lux-inv-aging__stack-seg.is-amber { background: #f59e0b; }
.lux-inv-aging__stack-seg.is-orange { background: #f97316; }
.lux-inv-aging__stack-seg.is-rose { background: #f43f5e; }

.lux-inv-aging__stack-seg:hover,
.lux-inv-aging__stack-seg.is-active {
    filter: brightness(1.05);
}

.lux-inv-aging__buckets {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.4rem;
}

.lux-inv-aging__bucket {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
    align-items: flex-start;
    min-height: 5.25rem;
    padding: 0.55rem 0.5rem;
    border: 0 solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.95);
    text-align: left;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

.lux-inv-aging__bucket:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.06);
}

.lux-inv-aging__bucket:disabled {
    opacity: 0.55;
    cursor: default;
}

.lux-inv-aging__bucket.is-active {
    box-shadow: 0 0 0 1px rgba(225, 29, 72, 0.28), 0 6px 14px rgba(15, 23, 42, 0.06);
}

.lux-inv-aging__bucket.is-green { background: rgba(16, 185, 129, 0.07); }
.lux-inv-aging__bucket.is-blue { background: rgba(59, 130, 246, 0.07); }
.lux-inv-aging__bucket.is-amber { background: rgba(245, 158, 11, 0.08); }
.lux-inv-aging__bucket.is-orange { background: rgba(249, 115, 22, 0.08); }
.lux-inv-aging__bucket.is-rose { background: rgba(244, 63, 94, 0.08); }

.lux-inv-aging__bucket-label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-aging__bucket-count {
    font-size: 1.05rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.1;
}

.lux-inv-aging__bucket-amount {
    font-style: normal;
    font-size: 0.75rem;
    font-weight: 800;
    color: #047857;
}

.lux-inv-aging__bucket-share {
    margin-top: auto;
    font-size: 0.625rem;
    font-weight: 800;
    color: #94a3b8;
}

.lux-inv-aging__hint {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    margin: 0.55rem 0 0;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-inv-aging__hint i {
    color: #e11d48;
}

.lux-inv-aging__all-clear {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.85rem;
    border-radius: 12px;
    background: rgba(16, 185, 129, 0.08);
    font-size: 0.75rem;
    font-weight: 800;
    color: #047857;
}

@media (max-width: 900px) {
    .lux-inv-aging__buckets {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-inv-aging__hero {
        grid-template-columns: 1fr;
    }
}

/* Invoice list */

.lux-inv-list {
    --lux-inv-list-cols: minmax(16rem, 2.2fr) minmax(7rem, 0.95fr) minmax(4rem, 0.55fr) minmax(7rem, 0.85fr) minmax(7rem, 0.85fr) 2.75rem;
    margin: 0 0.75rem;
}

.lux-inv-list__head,
.lux-inv-list__item {
    display: grid;
    grid-template-columns: var(--lux-inv-list-cols);
    align-items: center;
    gap: 0.55rem;
}

.lux-inv-list__head {
    position: sticky;
    top: calc(var(--lux-page-header-height, 0.25rem));
    z-index: 2;
    padding: 0.35rem 0.65rem;
    margin-bottom: 0.35rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.96);
    backdrop-filter: blur(8px);
}

.lux-inv-list__head-cell {
    min-width: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-list__head-cell.is-center {
    text-align: center;
}

.lux-inv-list__head-label {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
}

.lux-inv-list__head-label i {
    font-size: 0.75rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-inv-list__body {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.lux-inv-list__item {
    position: relative;
    padding: 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
    transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.lux-inv-list__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65rem;
    bottom: 0.65rem;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: linear-gradient(180deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    opacity: 0.55;
}

.lux-inv-list__item.is-status-blue::before {
    background: linear-gradient(180deg, #60a5fa, #2563eb);
}

.lux-inv-list__item.is-status-amber::before {
    background: linear-gradient(180deg, #fbbf24, #d97706);
}

.lux-inv-list__item.is-status-green::before {
    background: linear-gradient(180deg, #34d399, #059669);
}

.lux-inv-list__item.is-status-violet::before {
    background: linear-gradient(180deg, #c4b5fd, #7c3aed);
}

.lux-inv-list__item.is-status-slate::before {
    background: linear-gradient(180deg, #94a3b8, #64748b);
}

.lux-inv-list__item:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.07);
    transform: translateY(-1px);
}

.lux-inv-list__item.is-menu-open {
    z-index: 3;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}

.lux-inv-list__item.is-skeleton {
    pointer-events: none;
    cursor: default;
    transform: none;
}

.lux-inv-list__item.is-skeleton::before {
    display: none;
}

.lux-inv-list__item.is-skeleton:hover {
    transform: none;
}

.lux-inv-list__col {
    min-width: 0;
}

.lux-inv-list__col.is-center {
    text-align: center;
}

.lux-inv-list__col--actions {
    position: relative;
}

.lux-inv-list__col--invoice {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
}

.lux-inv-list__invoice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.lux-inv-list__invoice-copy {
    min-width: 0;
}

.lux-inv-list__invoice-top {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.12rem;
}

.lux-inv-list__number {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-list__status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.25rem;
    padding: 0 0.4rem;
    border-radius: 9911px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.lux-inv-list__status-pill.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }
.lux-inv-list__status-pill.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-inv-list__status-pill.is-amber { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-inv-list__status-pill.is-green { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-inv-list__status-pill.is-violet { background: rgba(124, 58, 237, 0.12); color: #6d28d9; }

.lux-inv-list__title {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    text-decoration: none;
}

.lux-inv-list__title i {
    font-size: 0.6875rem;
    opacity: 0;
    transition: opacity 0.14s ease, transform 0.14s ease;
}

.lux-inv-list__title:hover {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-inv-list__title:hover i {
    opacity: 1;
    transform: translate(1px, -1px);
}

.lux-inv-list__description {
    margin: 0.12rem 0 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: #64748b;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lux-inv-list__cell-label {
    display: block;
    margin-bottom: 0.08rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-inv-list__col strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-inv-list__cell-hint {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-inv-list__users-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    min-height: 1.75rem;
    padding: 0 0.35rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-inv-list__amount {
    font-size: 0.8125rem !important;
    font-weight: 900 !important;
    color: #047857 !important;
}

.lux-inv-list__status-select {
    max-width: 100%;
}

.lux-inv-list__menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.95);
    color: #64748b;
    cursor: pointer;
    transition: all 0.14s ease;
}

.lux-inv-list__menu-btn:hover,
.lux-inv-list__item.is-menu-open .lux-inv-list__menu-btn {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-inv-list__menu {
    position: absolute;
    top: calc(100% + 0.25rem);
    right: 0;
    z-index: 10;
    min-width: 10.625rem;
    padding: 0.35rem;
    border: 0px solid rgba(226, 232, 240, 0.98);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}

.lux-inv-list__menu-item {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    min-height: 2rem;
    padding: 0 0.55rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

.lux-inv-list__menu-item i {
    width: 0.875rem;
    text-align: center;
    color: #64748b;
}

.lux-inv-list__menu-item:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-inv-list__menu-item.is-danger {
    color: #dc2626;
}

.lux-inv-list__menu-item.is-danger:hover {
    background: rgba(220, 38, 38, 0.08);
    color: #b91c1c;
}

.lux-inv-list__menu-item.is-confirm {
    background: rgba(220, 38, 38, 0.1);
    font-weight: 800;
}

/* Responsive */

@media (max-width: 1100px) {
    .lux-inv-summary__hero,
    .lux-inv-summary__panels {
        grid-template-columns: 1fr;
    }

    .lux-inv-summary__panel--monthly {
        order: -1;
    }

    .lux-inv-summary__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-inv-list {
        --lux-inv-list-cols: 1fr;
    }

    .lux-inv-list__head {
        display: none;
    }

    .lux-inv-list__item {
        grid-template-columns: 1fr;
        gap: 0.45rem;
    }

    .lux-inv-list__col--actions {
        position: absolute;
        top: 0.65rem;
        right: 0.65rem;
    }

    .lux-inv-list__col--invoice {
        padding-right: 2.5rem;
    }
}

@media (max-width: 640px) {
    .lux-inv-summary__metrics {
        grid-template-columns: 1fr;
    }

    .lux-inv-summary__legend {
        grid-template-columns: 1fr;
    }

    .lux-inv-summary__monthly-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        min-height: 6.5rem;
    }

    .lux-inv-summary__monthly-cell-bar {
        height: 3.5rem;
    }

    .lux-inv-summary__monthly-kpis {
        grid-template-columns: 1fr;
    }

    .lux-inv-outstanding__summary {
        grid-template-columns: 1fr;
    }

    .lux-inv-outstanding__row {
        grid-template-columns: 1fr;
    }

    .lux-inv-outstanding__row-action {
        flex-direction: row;
    }
}

/* ========== luxury-invoice-details.css ========== */

/* ========== Invoice details — luxury full-page document UI ========== */

.lux-inv-detail {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.lux-inv-detail--fullpage {
    box-sizing: border-box;
    min-height: auto;
    overflow: visible;
    padding: 0.75rem;
    padding-bottom: calc(1.25rem + 4.5rem);
    background: #f8fafc;
}

.lux-inv-detail-page .lux-inv-page-hero {
    margin: 0 0 0.65rem;
    padding: 1rem var(--lux-page-gutter-x, 1.25rem) 0.35rem;
}

.lux-inv-detail-page .lux-inv-page-quick-nav {
    margin: 0 var(--lux-page-gutter-x, 1.25rem) 0.85rem;
}

.lux-po-detail-page.lux-bid-detail-page {
    padding-bottom: var(--lux-page-block-bottom, 1.5rem);
}

/* Unlock fixed-height shell so the full invoice document can scroll */
body.lux-inv-detail-page-open {
    overflow-y: auto !important;
}

body.lux-inv-detail-page-open #main_content {
    min-height: 100vh;
    height: auto;
    justify-content: flex-start;
    overflow: visible;
}

body.lux-inv-detail-page-open .page.h-100vh,
.page:has(.lux-inv-detail--fullpage) {
    height: auto !important;
    min-height: 0;
    max-height: none !important;
    overflow: visible !important;
    flex: 0 0 auto;
}

body.lux-inv-detail-page-open .page.h-100vh > .vleft,
.page:has(.lux-inv-detail--fullpage) > .vleft {
    flex: 1 0 auto;
    min-height: auto;
    overflow: visible;
}

body.lux-inv-detail-page-open .page.h-100vh > .vright,
.page:has(.lux-inv-detail--fullpage) > .vright {
    flex: 0 0 auto;
}

.lux-inv-detail__toolbar {
    position: sticky;
    top: 0;
    z-index: 30;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-bottom: none;
    border-radius: 18px 18px 0 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(248, 250, 252, 0.94) 100%);
    backdrop-filter: blur(16px);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}

.lux-inv-detail__toolbar::after {
    content: "";
    display: block;
    height: 2px;
    background: linear-gradient(
        90deg,
        #0b1220 0%,
        #166534 42%,
        #1e293b 100%
    );
}

.lux-inv-detail__toolbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 1.25rem 0.75rem;
}

.lux-inv-detail__toolbar-identity {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.65rem 0.85rem;
    min-width: 0;
}

.lux-inv-detail__back-btn.lux-back-nav__link,
.lux-inv-detail__back-btn {
    min-height: auto;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 650;
    letter-spacing: 0.01em;
    color: #64748b;
}

.lux-inv-detail__back-btn:hover {
    background: transparent;
    border-color: transparent;
    color: #0f172a;
}

.lux-inv-detail__toolbar-heading {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.lux-inv-detail__toolbar-title {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem 0.55rem;
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1.2;
}

.lux-inv-detail__toolbar-label {
    font-size: 0.8125rem;
    font-weight: 650;
    color: #64748b;
}

.lux-inv-detail__toolbar-number {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.lux-inv-detail__toolbar-meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 550;
    color: #64748b;
}

.lux-inv-detail__toolbar-meta-sep {
    color: #cbd5e1;
}

.lux-inv-detail__status {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    min-height: 1.4rem;
    padding: 0.12rem 0.5rem;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 0.6875rem;
    font-weight: 750;
    letter-spacing: 0.02em;
}

.lux-inv-detail__status .fe {
    font-size: 0.75rem;
    line-height: 1;
}

.lux-inv-detail__status.is-slate {
    background: rgba(100, 116, 139, 0.1);
    border-color: rgba(100, 116, 139, 0.18);
    color: #475569;
}
.lux-inv-detail__status.is-blue {
    background: rgba(14, 165, 233, 0.1);
    border-color: rgba(14, 165, 233, 0.22);
    color: #0369a1;
}
.lux-inv-detail__status.is-amber {
    background: rgba(217, 119, 6, 0.1);
    border-color: rgba(217, 119, 6, 0.2);
    color: #b45309;
}
.lux-inv-detail__status.is-green {
    background: rgba(5, 150, 105, 0.1);
    border-color: rgba(5, 150, 105, 0.2);
    color: #047857;
}
.lux-inv-detail__status.is-violet {
    background: rgba(100, 116, 139, 0.12);
    border-color: rgba(71, 85, 105, 0.18);
    color: #334155;
}

.lux-inv-detail__toolbar-actions {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
    padding: 0.3rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.9);
}

.lux-inv-detail__action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    min-height: 2.05rem;
    padding: 0 0.7rem;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.14s ease, color 0.14s ease, border-color 0.14s ease;
}

.lux-inv-detail__action-btn:hover {
    border-color: rgba(15, 23, 42, 0.08);
    color: #0f172a;
    background: rgba(15, 23, 42, 0.04);
}

.lux-inv-detail__action-btn:disabled {
    opacity: 0.65;
    cursor: wait;
}

.lux-inv-detail__action-btn .fe-loader {
    animation: lux-inv-detail-spin 0.8s linear infinite;
}

@keyframes lux-inv-detail-spin {
    to { transform: rotate(360deg); }
}

.lux-inv-detail__sheet--pdf-capture {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.lux-inv-detail__action-btn--accent {
    border-color: rgba(22, 101, 52, 0.16);
    background: rgba(22, 101, 52, 0.07);
    color: #166534;
}

.lux-inv-detail__action-btn--accent:hover {
    border-color: rgba(22, 101, 52, 0.28);
    background: rgba(22, 101, 52, 0.12);
    color: #14532d;
}

.lux-inv-detail__action-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.3rem;
    border-radius: 6px;
    background: rgba(22, 101, 52, 0.14);
    color: #14532d;
    font-size: 0.6875rem;
    font-weight: 800;
}

.lux-inv-detail__denied {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: calc(100vh - 8rem);
    margin: 0.75rem;
    padding: 2rem 1rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    text-align: center;
}

.lux-inv-detail__denied i {
    font-size: 1.5rem;
    color: #94a3b8;
}

.lux-inv-detail__denied strong {
    font-size: 0.9375rem;
    color: #334155;
}

.lux-inv-detail__denied p {
    margin: 0;
    font-size: 0.6875rem;
    color: #64748b;
}

/* Invoice sheet — full bleed */

.lux-inv-detail__sheet {
    overflow: visible;
    width: 100%;
    min-height: auto;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-top: none;
    border-radius: 0 0 18px 18px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.lux-inv-detail--fullpage:not(:has(.lux-inv-detail__toolbar)) .lux-inv-detail__sheet {
    border-top: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
}

.lux-inv-detail__accent {
    height: 0.28rem;
    background: linear-gradient(
        90deg,
        var(--lux-primary, #5b5ff4) 0%,
        #059669 50%,
        #7c3aed 100%
    );
}

.lux-inv-detail__sheet-body {
    padding: 0 0 1.5rem;
}

.lux-inv-detail__sheet--loading {
    padding: 1.25rem;
    min-height: 20rem;
}

.lux-inv-detail__brand {
    position: relative;
    padding: 1rem 1.75rem 0.85rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background:
        radial-gradient(ellipse at 15% 0%, rgba(167, 139, 250, 0.28), transparent 52%),
        radial-gradient(ellipse at 85% 100%, rgba(16, 185, 129, 0.2), transparent 48%),
        linear-gradient(125deg, #0b1220 0%, #162032 45%, #1e1b4b 100%);
    color: #f8fafc;
}

.lux-inv-detail__brand::after {
    content: "";
    position: absolute;
    left: 1.75rem;
    right: 1.75rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.22) 20%,
        rgba(110, 231, 183, 0.45) 50%,
        rgba(255, 255, 255, 0.22) 80%,
        transparent
    );
}

.lux-inv-detail__brand-top {
    margin-bottom: 0.65rem;
}

.lux-inv-detail__brand-main {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.lux-inv-detail__logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.75rem;
    height: 3.75rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.12),
        0 10px 24px rgba(0, 0, 0, 0.18);
    flex-shrink: 0;
}

.lux-inv-detail__logo {
    width: 2.65rem;
    height: auto;
}

.lux-inv-detail__brand-copy {
    min-width: 0;
}

.lux-inv-detail__brand-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin-bottom: 0.18rem;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(226, 232, 240, 0.88);
}

.lux-inv-detail__supplier-name {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 900;
    color: #ffffff;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.lux-inv-detail__supplier-reg {
    margin: 0.15rem 0 0;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(167, 243, 208, 0.88);
}

.lux-inv-detail__supplier-line {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1.45;
    color: rgba(203, 213, 225, 0.88);
}

.lux-inv-detail__brand-contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-inv-detail__contact-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    min-height: 1.65rem;
    padding: 0 0.55rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(8px);
    font-size: 0.625rem;
    font-weight: 600;
    color: rgba(241, 245, 249, 0.94);
}

.lux-inv-detail__contact-chip i {
    font-size: 0.6875rem;
    color: #6ee7b7;
}

.lux-inv-detail__contact-chip.is-muted {
    color: rgba(203, 213, 225, 0.82);
}

.lux-inv-detail__contact-chip.is-muted i {
    color: rgba(196, 181, 253, 0.95);
}

.lux-inv-detail__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 0.85rem;
    padding: 1rem 1.75rem 0.85rem;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.85), rgba(255, 255, 255, 0));
}

.lux-inv-detail__section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin-bottom: 0.35rem;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-detail__section-label i {
    color: var(--lux-primary, #5b5ff4);
}

.lux-inv-detail__bill-to h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-inv-detail__bill-reg,
.lux-inv-detail__bill-line {
    margin: 0.12rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.45;
    color: #475569;
}

.lux-inv-detail__bill-links {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 0.55rem;
}

.lux-inv-detail__bill-links a,
.lux-inv-detail__bill-links span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
    text-decoration: none;
}

.lux-inv-detail__bill-links a:hover {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-inv-detail__bill-links i {
    color: #059669;
}

.lux-inv-detail__summary-title {
    margin-bottom: 0.4rem;
    font-size: 2rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(148, 163, 184, 0.32);
    line-height: 1;
    text-align: right;
}

.lux-inv-detail__summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}

.lux-inv-detail__summary-card {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
}

.lux-inv-detail__summary-card span {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-detail__summary-card strong {
    font-size: 0.9375rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.2;
}

.lux-inv-detail__summary-card.is-primary {
    grid-column: 1 / -1;
    border-color: rgba(5, 150, 105, 0.22);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(255, 255, 255, 0.96));
}

.lux-inv-detail__summary-card.is-primary strong {
    font-size: 1.375rem;
    color: #047857;
}

.lux-inv-detail__summary-card.is-status.is-blue {
    border-color: rgba(37, 99, 235, 0.2);
    background: rgba(37, 99, 235, 0.06);
}

.lux-inv-detail__summary-card.is-status.is-amber {
    border-color: rgba(217, 119, 6, 0.2);
    background: rgba(217, 119, 6, 0.06);
}

.lux-inv-detail__summary-card.is-status.is-green {
    border-color: rgba(5, 150, 105, 0.2);
    background: rgba(5, 150, 105, 0.06);
}

.lux-inv-detail__summary-card.is-status.is-violet {
    border-color: rgba(124, 58, 237, 0.2);
    background: rgba(124, 58, 237, 0.06);
}

.lux-inv-detail__summary-card.is-status.is-slate {
    border-color: rgba(100, 116, 139, 0.2);
    background: rgba(100, 116, 139, 0.06);
}

/* Line items */

.lux-inv-detail__items {
    margin: 0 1.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.lux-inv-detail__items-head,
.lux-inv-detail__item-row {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(5rem, 0.75fr) minmax(3.5rem, 0.45fr) minmax(6rem, 0.75fr);
    gap: 0.55rem;
    align-items: center;
}

.lux-inv-detail__items-head {
    padding: 0.55rem 0.85rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.96);
}

.lux-inv-detail__items-head span {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-detail__items-head span:not(:first-child),
.lux-inv-detail__item-row > div:not(:first-child) {
    text-align: center;
}

.lux-inv-detail__item-row {
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
}

.lux-inv-detail__item-row:last-child {
    border-bottom: none;
}

.lux-inv-detail__item-row:nth-child(even) {
    background: rgba(248, 250, 252, 0.72);
}

.lux-inv-detail__item-desc strong {
    display: block;
    font-size: 0.8125rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-inv-detail__item-desc p {
    margin: 0.18rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.45;
    color: #64748b;
}

.lux-inv-detail__item-total {
    font-size: 0.8125rem !important;
    font-weight: 900 !important;
    color: #047857 !important;
}

/* Settlement */

.lux-inv-detail__settlement {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 0.85rem;
    padding: 0.85rem 1.75rem 1rem;
}

.lux-inv-detail__payment h3,
.lux-inv-detail__terms h3 {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.45rem;
    font-size: 0.8125rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-inv-detail__payment h3 i {
    color: var(--lux-primary, #5b5ff4);
}

.lux-inv-detail__payment-method {
    margin: 0 0 0.65rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #334155;
}

.lux-inv-detail__tax-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.35rem;
    margin-bottom: 0.55rem;
}

.lux-inv-detail__tax-grid span {
    display: block;
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-inv-detail__tax-grid strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-inv-detail__bank-card {
    padding: 0.75rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.98));
}

.lux-inv-detail__bank-label {
    display: block;
    margin-bottom: 0.15rem;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-detail__bank-card strong {
    display: block;
    font-size: 0.8125rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-inv-detail__bank-card p {
    margin: 0.12rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.45;
    color: #475569;
}


.lux-inv-detail__config-hint {
    margin: 0.35rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-inv-detail__config-hint code {
    font-size: 0.625rem;
}

.lux-inv-detail__totals-rows {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 0.55rem;
}

.lux-inv-detail__totals-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.35rem 0;
    border-bottom: 1px dashed rgba(226, 232, 240, 0.95);
    font-size: 0.75rem;
    color: #475569;
}

.lux-inv-detail__totals-row strong {
    font-size: 0.8125rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-inv-detail__totals-row.is-discount strong {
    color: #dc2626;
}

.lux-inv-detail__totals-due {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    background: linear-gradient(135deg, #059669, #047857);
    color: #fff;
}

.lux-inv-detail__totals-due span {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-inv-detail__totals-due strong {
    font-size: 1.25rem;
    font-weight: 900;
}

.lux-inv-detail__signature {
    margin-top: 0.65rem;
    text-align: center;
}

.lux-inv-detail__signature img {
    width: 5.5rem;
    max-width: 40%;
    margin-bottom: 0.35rem;
}

.lux-inv-detail__signature p {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
}

.lux-inv-detail__signature strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #64748b;
}

.lux-inv-detail__terms {
    padding: 0 1.75rem 1rem;
}

.lux-inv-detail__terms p {
    margin: 0;
    padding: 0.65rem 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 0.6875rem;
    line-height: 1.5;
    color: #475569;
}

.lux-inv-detail__footer {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 0.8fr));
    gap: 0.55rem;
    align-items: center;
    padding: 0.75rem 1.75rem 1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
}

.lux-inv-detail__footer img {
    width: 3rem;
    height: auto;
}

.lux-inv-detail__footer div {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
    padding-left: 0.55rem;
    border-left: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-inv-detail__footer span {
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.35;
    color: #64748b;
}

/* Billed employees modal */

body.lux-inv-emp-modal-open {
    overflow: hidden;
}

.lux-inv-emp-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.lux-inv-emp-modal__backdrop {
    position: absolute;
    inset: 0;
    border: none;
    background: rgba(15, 23, 42, 0.52);
    backdrop-filter: blur(6px);
    cursor: pointer;
}

.lux-inv-emp-modal__dialog {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(640px, 100%);
    max-height: min(82vh, 720px);
    border: 0px solid rgba(226, 232, 240, 0.98);
    border-radius: 20px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.22);
    overflow: hidden;
}

.lux-inv-emp-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 1rem 1rem 0.75rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-inv-emp-modal__header-main {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-width: 0;
}

.lux-inv-emp-modal__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16), rgba(16, 185, 129, 0.14));
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.lux-inv-emp-modal__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-inv-emp-modal__header h2 {
    margin: 0.08rem 0 0;
    font-size: 1rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-inv-emp-modal__header p {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
}

.lux-inv-emp-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.95);
    color: #64748b;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.14s ease;
}

.lux-inv-emp-modal__close:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-inv-emp-modal__search-wrap {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 1rem;
}

.lux-inv-emp-modal__search {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 1;
    min-height: 2.25rem;
    padding: 0 0.65rem;
    border: 0px solid #e2e8f0;
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.96);
}

.lux-inv-emp-modal__search i {
    color: #94a3b8;
    flex-shrink: 0;
}

.lux-inv-emp-modal__search input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #0f172a;
    outline: none;
}

.lux-inv-emp-modal__search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    border: none;
    border-radius: 9911px;
    background: rgba(148, 163, 184, 0.16);
    color: #64748b;
    cursor: pointer;
}

.lux-inv-emp-modal__count-pill {
    flex-shrink: 0;
    min-height: 2rem;
    padding: 0 0.55rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    display: inline-flex;
    align-items: center;
}

.lux-inv-emp-modal__list {
    flex: 1;
    overflow: auto;
    padding: 0 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-inv-emp-modal__row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.55rem;
    align-items: center;
    padding: 0.6rem 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.94);
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-inv-emp-modal__row:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
}

.lux-inv-emp-modal__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14), rgba(16, 185, 129, 0.12));
    font-size: 0.6875rem;
    font-weight: 900;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-inv-emp-modal__row-copy strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-inv-emp-modal__row-copy a {
    display: block;
    margin-top: 0.05rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
}

.lux-inv-emp-modal__row-copy a:hover {
    text-decoration: underline;
}

.lux-inv-emp-modal__row-index {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #94a3b8;
}

.lux-inv-emp-modal__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 2rem 1rem;
    text-align: center;
    color: #94a3b8;
    font-size: 0.6875rem;
    font-weight: 700;
}

.lux-inv-emp-modal__empty i {
    font-size: 1.25rem;
}

.lux-inv-emp-modal__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.75rem 1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.96);
}

.lux-inv-emp-modal__footer span {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-inv-emp-modal__done-btn {
    min-height: 2rem;
    padding: 0 0.85rem;
    border: none;
    border-radius: 9911px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    font-size: 0.6875rem;
    font-weight: 800;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

/* Responsive */

@media (max-width: 900px) {
    .lux-inv-detail__brand-contacts {
        gap: 0.28rem;
    }

    .lux-inv-detail__hero,
    .lux-inv-detail__settlement,
    .lux-inv-detail__footer {
        grid-template-columns: 1fr;
    }

    .lux-inv-detail__summary-title {
        text-align: left;
    }

    .lux-inv-detail__tax-grid {
        grid-template-columns: 1fr;
    }

    .lux-inv-detail__items-head {
        display: none;
    }

    .lux-inv-detail__item-row {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .lux-inv-detail__item-row > div:not(:first-child) {
        text-align: left;
    }

    .lux-inv-detail__footer div {
        border-left: none;
        padding-left: 0;
    }
}

@media (max-width: 640px) {
    .lux-inv-detail__toolbar-inner {
        flex-direction: column;
        align-items: stretch;
        padding: 0.7rem 0.9rem 0.8rem;
    }

    .lux-inv-detail__toolbar-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
        width: 100%;
    }

    .lux-inv-detail__toolbar-identity {
        align-items: flex-start;
    }
}

    .lux-inv-detail__summary-grid {
        grid-template-columns: 1fr;
    }

    .lux-inv-detail__hero,
    .lux-inv-detail__settlement,
    .lux-inv-detail__items {
        padding-left: 1rem;
        padding-right: 1rem;
        margin-left: 0;
        margin-right: 0;
    }

    .lux-inv-detail__brand {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .lux-inv-detail__terms,
    .lux-inv-detail__footer {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .lux-inv-emp-modal {
        padding: 0.625rem;
    }

    .lux-inv-emp-modal__footer {
        flex-direction: column;
        align-items: stretch;
    }
}

/* Print — match on-screen invoice document layout */

@media print {
    @page {
        size: A4 portrait;
        margin: 10mm 12mm;
    }

    /* Hide application chrome */
    .no-print,
    .theme_div,
    .user_div,
    .right_sidebar,
    .bottonrighthelpmenu,
    .lux-assist-dock,
    .lux-assist-dock__backdrop,
    .react-notification-container,
    .NotificationContainer,
    .alert,
    .custom-alert-bar,
    .lux-page-alert,
    .lux-connection-error-shell,
    .page-footer-modern,
    .vright,
    .lux-inv-emp-modal,
    #header_top,
    #left-sidebar,
    #page_top {
        display: none !important;
    }

    html,
    body.lux-inv-detail-page-open,
    body:has(.lux-inv-detail__sheet) {
        background: #fff !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.lux-inv-detail-page-open #main_content,
    body:has(.lux-inv-detail__sheet) #main_content {
        display: block !important;
        justify-content: flex-start !important;
        background: #fff !important;
        height: auto !important;
        overflow: visible !important;
    }

    body.lux-inv-detail-page-open .page,
    body.lux-inv-detail-page-open .page.h-100vh,
    body.lux-inv-detail-page-open .vleft,
    body:has(.lux-inv-detail__sheet) .page,
    body:has(.lux-inv-detail__sheet) .page.h-100vh,
    body:has(.lux-inv-detail__sheet) .vleft {
        display: block !important;
        position: static !important;
        left: 0 !important;
        right: auto !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        flex: none !important;
        transform: none !important;
    }

    .lux-inv-detail,
    .lux-inv-detail--fullpage {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        overflow: visible !important;
    }

    .lux-inv-detail__sheet {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
        overflow: visible !important;
        min-height: auto !important;
    }

    .lux-inv-detail__sheet-body {
        padding: 0 0 0.35rem !important;
    }

    .lux-inv-detail__accent {
        display: block !important;
        height: 0.28rem !important;
        background: linear-gradient(
            90deg,
            var(--lux-primary, #5b5ff4) 0%,
            #059669 50%,
            #7c3aed 100%
        ) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Force desktop layout — print often triggers max-width breakpoints */
        .lux-inv-detail__brand {
        padding: 1rem 1.75rem 0.85rem !important;
        background:
            radial-gradient(ellipse at 15% 0%, rgba(167, 139, 250, 0.28), transparent 52%),
            radial-gradient(ellipse at 85% 100%, rgba(16, 185, 129, 0.2), transparent 48%),
            linear-gradient(125deg, #0b1220 0%, #162032 45%, #1e1b4b 100%) !important;
        color: #f8fafc !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .lux-inv-detail__supplier-name {
        color: #ffffff !important;
    }

    .lux-inv-detail__hero {
        display: grid !important;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
        gap: 0.85rem !important;
        padding: 1rem 1.75rem 0.85rem !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .lux-inv-detail__summary-title {
        text-align: right !important;
    }

    .lux-inv-detail__summary-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .lux-inv-detail__summary-card.is-primary {
        grid-column: 1 / -1 !important;
        border-color: rgba(5, 150, 105, 0.22) !important;
        background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(255, 255, 255, 0.96)) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

.lux-inv-detail__items {
        display: block !important;
        margin: 0 1.75rem !important;
        overflow: visible !important;
        break-inside: auto;
        page-break-inside: auto;
    }

    .lux-inv-detail__items-head,
    .lux-inv-detail__item-row {
        display: grid !important;
        grid-template-columns: minmax(0, 2fr) minmax(5rem, 0.75fr) minmax(3.5rem, 0.45fr) minmax(6rem, 0.75fr) !important;
        gap: 0.55rem !important;
    }

    .lux-inv-detail__items-head {
        display: grid !important;
    }

    .lux-inv-detail__items-head span:not(:first-child),
    .lux-inv-detail__item-row > div:not(:first-child) {
        text-align: center !important;
    }

    .lux-inv-detail__item-row {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .lux-inv-detail__settlement {
        display: grid !important;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
        gap: 0.85rem !important;
        padding: 0.85rem 1.75rem 1rem !important;
    }

    .lux-inv-detail__tax-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .lux-inv-detail__bank-card {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .lux-inv-detail__totals-due {
        background: linear-gradient(135deg, #059669, #047857) !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .lux-inv-detail__totals-due span,
    .lux-inv-detail__totals-due strong {
        color: #fff !important;
    }

    .lux-inv-detail__signature {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .lux-inv-detail__terms {
        padding: 0 1.75rem 1rem !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .lux-inv-detail__footer {
        display: grid !important;
        grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 0.8fr)) !important;
        gap: 0.55rem !important;
        align-items: center !important;
        padding: 0.75rem 1.75rem 1rem !important;
        border-top: 1px solid rgba(226, 232, 240, 0.95) !important;
        background: linear-gradient(180deg, #f8fafc, #f1f5f9) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .lux-inv-detail__footer div {
        display: flex !important;
        flex-direction: column !important;
        border-left: 1px solid rgba(226, 232, 240, 0.95) !important;
        padding-left: 0.55rem !important;
    }

    .lux-inv-detail__logo-wrap {
        background: rgba(255, 255, 255, 0.96) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .lux-inv-detail__contact-chip {
        border: 1px solid rgba(255, 255, 255, 0.12) !important;
        background: rgba(255, 255, 255, 0.07) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .lux-inv-detail__items-head {
        background: rgba(248, 250, 252, 0.96) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .lux-inv-detail__item-row:nth-child(even) {
        background: rgba(248, 250, 252, 0.72) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    a[href^="mailto:"],
    a[href^="mailto:"]:visited {
        color: #334155 !important;
        text-decoration: none !important;
    }

    .lux-inv-detail__logo,
    .lux-inv-detail__signature img,
    .lux-inv-detail__footer img {
        max-width: 100% !important;
    }

    .print-exact {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}

/* ========== luxury-mobile-app.css ========== */

/* ========== Mobile app registration — luxury panel ========== */

.lux-mobile-app {
    --lux-mobile-radius: 16px;
    color: #0f172a;
}

/* —— Hero —— */
.lux-mobile-app__hero {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 1rem;
    padding-bottom: 0.875rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.lux-mobile-app__hero-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    color: #fff;
    font-size: 1.25rem;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.26);
}

.lux-mobile-app__kicker {
    margin: 0 0 4px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-mobile-app__title {
    margin: 0 0 6px;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
    line-height: 1.2;
}

.lux-mobile-app__subtitle {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #64748b;
    max-width: 40rem;
}

/* —— Split: download | separator | register —— */
.lux-mobile-app__split {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) auto minmax(0, 0.95fr);
    gap: 0;
    align-items: stretch;
    margin-bottom: 0.875rem;
}

.lux-mobile-app__divider {
    width: 1px;
    margin: 0 1rem;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(148, 163, 184, 0.35) 12%,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25) 50%,
        rgba(148, 163, 184, 0.35) 88%,
        transparent 100%
    );
    flex-shrink: 0;
}

.lux-mobile-app__zone {
    min-width: 0;
    padding: 0.875rem 1rem;
    border-radius: var(--lux-mobile-radius);
    border: 0px solid rgba(148, 163, 184, 0.22);
    background: #fff;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04);
}

.lux-mobile-app__zone--download {
    background:
        linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04) 0%, #fff 38%),
        #fff;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-mobile-app__zone--register {
    background:
        linear-gradient(180deg, rgba(20, 184, 166, 0.05) 0%, #fff 38%),
        #fff;
    border-color: rgba(20, 184, 166, 0.16);
}

.lux-mobile-app__zone-head {
    margin-bottom: 0.75rem;
}

.lux-mobile-app__zone-title {
    margin: 0 0 0.25rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}

.lux-mobile-app__zone-desc {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #64748b;
}

/* —— Download: Android + iOS side by side —— */
.lux-mobile-app__platform-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.lux-mobile-app__platform {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0.75rem 0.75rem;
    border-radius: 14px;
    border: 0px solid #e2e8f0;
    background: #fff;
}

.lux-mobile-app__platform--android {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    box-shadow: 0 4px 14px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-mobile-app__platform--disabled {
    opacity: 0.52;
    filter: grayscale(0.4);
    background: #f8fafc;
    border-style: dashed;
    border-color: #cbd5e1;
    pointer-events: none;
    user-select: none;
}

.lux-mobile-app__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.4rem;
    padding: 0.2rem 0.55rem;
    border-radius: 9911px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #475569;
    background: #f1f5f9;
    border: 0px solid #e2e8f0;
}

.lux-mobile-app__pill--accent {
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.lux-mobile-app__pill--muted {
    color: #94a3b8;
}

.lux-mobile-app__platform-title {
    margin: 0 0 2px;
    font-size: 0.875rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-mobile-app__platform-text {
    margin: 0 0 0.625rem;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-mobile-app__qr-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem;
    margin-bottom: 0.75rem;
    border-radius: 12px;
    background: #fff;
    border: 0px solid #e2e8f0;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.lux-mobile-app__qr-frame--sm {
    width: 100%;
    max-width: 128px;
}

.lux-mobile-app__qr-frame--register {
    width: 100%;
    max-width: 148px;
}

.lux-mobile-app__qr-frame svg {
    display: block;
    width: 100% !important;
    height: auto !important;
}

.lux-mobile-app__qr-frame--placeholder {
    flex-direction: column;
    gap: 0.35rem;
    min-height: 128px;
    background: #f1f5f9;
    border-style: dashed;
}

.lux-mobile-app__apple-icon {
    font-size: 2rem;
    color: #94a3b8;
}

.lux-mobile-app__soon-badge {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-mobile-app__store-link {
    display: inline-block;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.1);
}

.lux-mobile-app__store-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 22px rgba(15, 23, 42, 0.14);
    text-decoration: none;
}

.lux-mobile-app__store-link--disabled {
    box-shadow: none;
    cursor: not-allowed;
}

.lux-mobile-app__store-link img {
    display: block;
    width: auto;
    height: 40px;
    max-width: 100%;
}

.lux-mobile-app__coming-soon {
    margin-top: 0.35rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #94a3b8;
    font-style: italic;
}

/* —— Registration zone —— */
.lux-mobile-app__register-body {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
}

.lux-mobile-app__register-qr {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.lux-mobile-app__scan-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.625rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
    padding: 0.35rem 0.65rem;
    border-radius: 8px;
    background: #f1f5f9;
}

.lux-mobile-app__scan-label i {
    color: var(--lux-accent, #14b8a6);
}

/* —— Quick guide bar —— */
.lux-mobile-app__steps-bar {
    padding: 0.75rem 1rem;
    border-radius: var(--lux-mobile-radius);
    border: 0px solid rgba(148, 163, 184, 0.2);
    background: #f8fafc;
    margin-bottom: 0.75rem;
}

.lux-mobile-app__section-title {
    margin: 0 0 0.75rem;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-mobile-app__steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem 0.875rem;
}

.lux-mobile-app__step {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    min-width: 0;
}

.lux-mobile-app__step-num {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9911px;
    font-size: 12px;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}

.lux-mobile-app__step-body strong {
    display: block;
    margin-bottom: 2px;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}

.lux-mobile-app__step-body p {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-mobile-app__tip {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.75rem 0.75rem;
    border-radius: 12px;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-mobile-app__tip i {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--lux-primary, #5b5ff4);
}

/* —— Popup —— */
.lux-mobile-app--popup .lux-mobile-app__split {
    margin-bottom: 0.75rem;
}

/* —— Embedded —— */
.lux-mobile-app--embedded {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0.625rem;
}

.lux-mobile-app--embedded .lux-mobile-app__hero {
    padding: 1rem 1.125rem;
    margin-bottom: 1rem;
    border-bottom: none;
    border-radius: var(--lux-mobile-radius);
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07) 0%, rgba(20, 184, 166, 0.06) 100%),
        #fff;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

@media (max-width: 960px) {
    .lux-mobile-app__split {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .lux-mobile-app__divider {
        width: 100%;
        height: 1px;
        margin: 0;
        background: linear-gradient(
            90deg,
            transparent 0%,
            rgba(148, 163, 184, 0.35) 20%,
            rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25) 50%,
            rgba(148, 163, 184, 0.35) 80%,
            transparent 100%
        );
    }

    .lux-mobile-app__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .lux-mobile-app__platform-row {
        grid-template-columns: 1fr;
    }

    .lux-mobile-app__register-body {
        flex-direction: column;
        align-items: center;
    }

    .lux-mobile-app__steps {
        grid-template-columns: 1fr;
    }
}

/* —— Accounts directory (lux-accounts) —— */
.lux-accounts__body {
    padding-top: 0.25rem;
}

.lux-acct-toolbar {
    border-bottom: 1px solid rgba(226, 232, 240, 0.95) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
    z-index: 12;
}

.lux-acct-toolbar__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    padding: 0.55rem 0;
}

.lux-acct-toolbar__crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem 0.35rem;
    min-width: 0;
}

.lux-acct-toolbar__crumb {
    border: none;
    background: transparent;
    padding: 0.2rem 0.35rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--lux-primary, #5b5ff4);
    cursor: pointer;
    border-radius: 8px;
}

.lux-acct-toolbar__crumb:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-acct-toolbar__crumb.is-current {
    color: #0f172a;
    cursor: default;
    font-weight: 800;
}

.lux-acct-toolbar__crumb-sep {
    font-size: 0.75rem;
    color: #94a3b8;
}

.lux-acct-toolbar__right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
}

.lux-acct-toolbar__search {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: min(100%, 240px);
    padding: 0.35rem 0.65rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
}

.lux-acct-toolbar__search i {
    color: #94a3b8;
    font-size: 0.9rem;
}

.lux-acct-toolbar__search input {
    border: none;
    background: transparent;
    width: 100%;
    font-size: 0.8125rem;
    outline: none;
}

.lux-acct-toolbar__view-toggle {
    display: inline-flex;
    padding: 3px;
    border-radius: 12px;
    background: #f1f5f9;
    border: 0px solid #e2e8f0;
}

.lux-acct-toolbar__view-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.65rem;
    border: none;
    border-radius: 9px;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
}

.lux-acct-toolbar__view-btn.is-active {
    background: #fff;
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.lux-acct-toolbar__create,
.lux-acct-toolbar__import {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.85rem;
    border: none;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
}

.lux-acct-toolbar__create {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    color: #fff;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-acct-toolbar__import {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
}

.lux-acct-summary {
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.lux-acct-summary:not(.is-collapsed) .lux-acct-summary__body,
.lux-acct-summary--insights:not(.is-collapsed) .lux-acct-summary__body {
    max-height: none;
}

.lux-acct-summary--insights:not(.is-collapsed) .lux-acct-summary__body {
    overflow: visible;
}

.lux-acct-summary__header-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
}

.lux-acct-summary:not(.is-collapsed) .lux-acct-summary__header-bar {
    margin-bottom: 0.65rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-acct-summary__title--bar {
    margin: 0.15rem 0 0;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-acct-summary__title--compact {
    margin: 0.15rem 0 0;
    font-size: 0.95rem;
}

.lux-acct-summary__context {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-acct-summary__toggle {
    border-radius: 999px;
    background: #fff;
}

.lux-acct-summary__filters {
    margin-bottom: 0.65rem;
}

.lux-acct-summary__filters--compact {
    margin-bottom: 0;
}

.lux-acct-summary__filter-chip {
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    background: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
}

.lux-acct-summary__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.lux-acct-summary__metric {
    display: flex;
    gap: 0.5rem;
    padding: 0.55rem 0.65rem;
    border-radius: 14px;
    border: 0px solid rgba(226, 232, 240, 0.9);
    background: rgba(255, 255, 255, 0.88);
}

.lux-acct-summary__metric-icon {
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
}

.lux-acct-summary__metric-label {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.lux-acct-summary__metric-value {
    font-size: 1.1rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-acct-summary__metric-hint {
    display: block;
    font-size: 0.68rem;
    color: #64748b;
}

.lux-acct-summary__highlights {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.lux-acct-summary__highlight {
    display: flex;
    gap: 0.45rem;
    padding: 0.5rem 0.6rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.9);
    border: 0px solid #e2e8f0;
}

.lux-acct-summary__insights {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.65rem;
}

.lux-acct-summary__insight header {
    display: flex;
    gap: 0.45rem;
    margin-bottom: 0.45rem;
    font-size: 0.75rem;
}

.lux-acct-summary__insight header strong {
    display: block;
    color: #0f172a;
}

.lux-acct-summary__insight header span {
    color: #64748b;
    font-size: 0.68rem;
}

.lux-acct-summary__bar {
    display: flex;
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: #e2e8f0;
}

.lux-acct-summary__bar-segment.is-indigo { background: #6366f1; }
.lux-acct-summary__bar-segment.is-sky { background: #0ea5e9; }
.lux-acct-summary__bar-segment.is-teal { background: #14b8a6; }
.lux-acct-summary__bar-segment.is-green { background: #22c55e; }
.lux-acct-summary__bar-segment.is-amber { background: #f59e0b; }
.lux-acct-summary__bar-segment.is-slate { background: #94a3b8; }

.lux-acct-summary__legend {
    list-style: none;
    margin: 0.45rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.25rem;
    font-size: 0.72rem;
}

.lux-acct-summary__legend li {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: 0.35rem;
    align-items: center;
}

.lux-acct-summary__legend-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.lux-acct-summary__charts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.55rem;
}

.lux-acct-summary__chart-panel {
    padding: 0.55rem 0.65rem;
    border-radius: 14px;
    border: 0px solid #e2e8f0;
    background: #fff;
}

.lux-acct-summary__panel-title {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-acct-summary__panel-sub {
    margin: 0.1rem 0 0;
    font-size: 0.68rem;
    color: #64748b;
}

.lux-acct-summary__chart-empty {
    margin: 0.5rem 0 0;
    font-size: 0.72rem;
    color: #94a3b8;
}

/* Insights layout — responsive two-column */
.lux-acct-summary__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
    gap: 0.85rem;
    align-items: start;
}

.lux-acct-summary__layout-main,
.lux-acct-summary__layout-side {
    min-width: 0;
}

.lux-acct-summary__hero {
    margin-bottom: 0.65rem;
}

.lux-acct-summary__hero-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
}

.lux-acct-summary__title--hero {
    margin: 0;
    font-size: clamp(1rem, 2.5vw, 1.15rem);
    font-weight: 800;
    color: #0f172a;
}

.lux-acct-summary__title--hero span {
    font-weight: 600;
    color: #64748b;
}

.lux-acct-summary__subtitle {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-acct-summary__health-ring-wrap {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-shrink: 0;
}

.lux-acct-summary__health-ring {
    --lux-health-pct: 50%;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: conic-gradient(
        var(--lux-health-color, #22c55e) calc(var(--lux-health-pct) * 1%),
        #e2e8f0 0
    );
    position: relative;
}

.lux-acct-summary__health-ring::after {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: 50%;
    background: #fff;
}

.lux-acct-summary__health-ring span {
    position: relative;
    z-index: 1;
    font-size: 0.72rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-acct-summary__health-ring.is-strong {
    --lux-health-color: #22c55e;
}

.lux-acct-summary__health-ring.is-fair {
    --lux-health-color: #f59e0b;
}

.lux-acct-summary__health-ring.is-weak {
    --lux-health-color: #f43f5e;
}

.lux-acct-summary__health-copy strong {
    display: block;
    font-size: 0.75rem;
    color: #0f172a;
}

.lux-acct-summary__health-copy span {
    font-size: 0.68rem;
    color: #64748b;
}

.lux-acct-summary__metric--rose .lux-acct-summary__metric-icon {
    background: rgba(244, 63, 94, 0.12);
    color: #e11d48;
}

.lux-acct-summary__metric--green .lux-acct-summary__metric-icon {
    background: rgba(34, 197, 94, 0.12);
    color: #16a34a;
}

.lux-acct-summary__metric--amber .lux-acct-summary__metric-icon {
    background: rgba(245, 158, 11, 0.12);
    color: #d97706;
}

.lux-acct-summary__section-title {
    margin: 0 0 0.45rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-acct-summary__attention {
    margin-bottom: 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 0px solid rgba(245, 158, 11, 0.25);
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.08), rgba(255, 255, 255, 0.9));
}

.lux-acct-summary__attention--clear {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    border-color: rgba(34, 197, 94, 0.25);
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.08), rgba(255, 255, 255, 0.92));
}

.lux-acct-summary__attention--clear i {
    color: #16a34a;
    font-size: 1.25rem;
}

.lux-acct-summary__attention--clear strong {
    display: block;
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-acct-summary__attention--clear span {
    font-size: 0.75rem;
    color: #64748b;
}

.lux-acct-summary__attention-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
}

.lux-acct-summary__attention-head strong {
    display: block;
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-acct-summary__attention-head > div > span {
    font-size: 0.68rem;
    color: #64748b;
}

.lux-acct-summary__attention-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.lux-acct-summary__attention-quick-btn,
.lux-acct-summary__attention-clear {
    padding: 0.25rem 0.55rem;
    border: 0px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
}

.lux-acct-summary__attention-quick-btn.is-active {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-acct-summary__attention-clear {
    color: #e11d48;
    border-color: rgba(225, 29, 72, 0.2);
}

.lux-acct-summary__attention-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
    gap: 0.45rem;
}

.lux-acct-summary__attention-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.45rem;
    align-items: start;
    padding: 0.55rem 0.6rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.lux-acct-summary__attention-card:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

.lux-acct-summary__attention-card.is-active {
    border-color: var(--lux-primary, #5b5ff4);
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.15);
}

.lux-acct-summary__attention-card-icon {
    width: 1.75rem;
    height: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f1f5f9;
    color: #64748b;
}

.lux-acct-summary__attention-card.is-amber .lux-acct-summary__attention-card-icon {
    background: rgba(245, 158, 11, 0.15);
    color: #d97706;
}

.lux-acct-summary__attention-card.is-rose .lux-acct-summary__attention-card-icon {
    background: rgba(244, 63, 94, 0.12);
    color: #e11d48;
}

.lux-acct-summary__attention-card-count {
    font-size: 1.1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
}

.lux-acct-summary__attention-card-body strong {
    display: block;
    font-size: 0.72rem;
    color: #334155;
    margin-top: 0.1rem;
}

.lux-acct-summary__attention-card-hint,
.lux-acct-summary__attention-card-samples {
    display: block;
    font-size: 0.62rem;
    line-height: 1.35;
    color: #94a3b8;
}

.lux-acct-summary__attention-card-samples {
    margin-top: 0.2rem;
    font-style: italic;
}

.lux-acct-summary__attention-card-pct {
    font-size: 0.68rem;
    font-weight: 800;
    color: #94a3b8;
}

.lux-acct-summary__coverage {
    margin-bottom: 0.65rem;
}

.lux-acct-summary__coverage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr));
    gap: 0.45rem;
}

.lux-acct-summary__coverage-meter {
    padding: 0.5rem 0.6rem;
    border-radius: 12px;
    border: 0px solid #e2e8f0;
    background: #fff;
}

.lux-acct-summary__coverage-top {
    display: flex;
    justify-content: space-between;
    font-size: 0.72rem;
    font-weight: 700;
    color: #334155;
    margin-bottom: 0.35rem;
}

.lux-acct-summary__coverage-track {
    height: 6px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.lux-acct-summary__coverage-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #14b8a6);
}

.lux-acct-summary__coverage-meter.is-sky .lux-acct-summary__coverage-fill {
    background: #0ea5e9;
}

.lux-acct-summary__coverage-meter.is-teal .lux-acct-summary__coverage-fill {
    background: #14b8a6;
}

.lux-acct-summary__coverage-meter.is-green .lux-acct-summary__coverage-fill {
    background: #22c55e;
}

.lux-acct-summary__coverage-detail {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.62rem;
    color: #94a3b8;
}

.lux-acct-summary__playbook {
    margin-bottom: 0.65rem;
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 0px solid #e2e8f0;
    background: rgba(255, 255, 255, 0.92);
}

.lux-acct-summary__playbook-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
}

.lux-acct-summary__playbook-item {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
}

.lux-acct-summary__playbook-step {
    flex-shrink: 0;
    width: 1.35rem;
    height: 1.35rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.65rem;
    font-weight: 800;
    color: var(--lux-primary, #5b5ff4);
}

.lux-acct-summary__playbook-item strong {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: #0f172a;
}

.lux-acct-summary__playbook-item p {
    margin: 0.15rem 0 0;
    font-size: 0.68rem;
    line-height: 1.4;
    color: #64748b;
}

.lux-acct-summary__layout-side .lux-acct-summary__charts--side {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lux-acct-summary__charts--triple {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin-top: 0.55rem;
    width: 100%;
}

.lux-acct-summary__chart-panel--compact .lux-acct-summary__panel-title {
    font-size: 0.75rem;
}

.lux-acct-summary__chart-panel--compact .lux-acct-summary__panel-sub {
    font-size: 0.625rem;
}

.lux-acct-summary__chart-panel--compact {
    padding: 0.45rem 0.55rem;
    min-width: 0;
}

.lux-acct-summary__chart-panel--compact .lux-acct-summary__chart-body {
    min-height: 0;
}

.lux-acct-summary__chart-panel--wide {
    grid-column: 1 / -1;
}

.lux-acct-summary__chart-panel--tall .lux-acct-summary__chart-body {
    min-height: 120px;
}

.lux-acct-summary__bar-segment.is-rose { background: #f43f5e; }
.lux-acct-summary__bar-segment.is-violet { background: #8b5cf6; }
.lux-acct-summary__legend-dot.is-rose { background: #f43f5e; }
.lux-acct-summary__legend-dot.is-violet { background: #8b5cf6; }
.lux-acct-summary__legend-dot.is-green { background: #22c55e; }

.lux-acct-summary__highlight.is-green {
    border-color: rgba(34, 197, 94, 0.25);
    background: rgba(34, 197, 94, 0.06);
}

.lux-acct-summary__highlight.is-amber {
    border-color: rgba(245, 158, 11, 0.25);
    background: rgba(245, 158, 11, 0.06);
}

.lux-acct-summary__layout-skeleton {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.65rem;
}

@media (max-width: 1100px) {
    .lux-acct-summary__layout {
        grid-template-columns: 1fr;
    }

    .lux-acct-summary__layout-side .lux-acct-summary__charts--side {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
    }

    .lux-acct-summary__charts--triple {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .lux-acct-summary {
        padding: 0.65rem 0.85rem;
    }

    .lux-acct-summary__header-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-acct-summary__toggle {
        align-self: flex-end;
    }

    .lux-acct-summary__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-acct-summary__hero-main {
        flex-direction: column;
        align-items: flex-start;
    }

    .lux-acct-summary__attention-grid {
        grid-template-columns: 1fr;
    }

    .lux-acct-summary__insights {
        grid-template-columns: 1fr;
    }

    .lux-acct-summary__layout-side .lux-acct-summary__charts--side {
        grid-template-columns: 1fr;
    }

    .lux-acct-summary__charts--triple {
        grid-template-columns: 1fr;
    }

    .lux-acct-summary__filters {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 0.25rem;
        -webkit-overflow-scrolling: touch;
    }

    .lux-acct-summary__filter-chip {
        flex-shrink: 0;
    }

    .lux-acct-summary__collapsed-strip {
        flex-direction: column;
        align-items: stretch;
    }
}

.lux-acct-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.75rem;
    padding: 0.35rem 0.15rem 0.85rem;
}

.lux-acct-card {
    display: flex;
    flex-direction: column;
    min-height: 200px;
    border-radius: 18px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(165deg, #fff 0%, rgba(248, 250, 252, 0.96) 100%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.lux-acct-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.1);
}

.lux-acct-card__ribbon {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.45rem 0.65rem;
    background: linear-gradient(90deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent);
}

.lux-acct-card__type {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-acct-card__id {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--lux-primary, #5b5ff4);
}

.lux-acct-card__sf-icon {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.lux-acct-card__body {
    flex: 1;
    padding: 0.5rem 0.65rem 0.35rem;
    text-align: center;
}

.lux-acct-card__title {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 800;
    color: #0f172a;
    border: none;
    background: none;
    cursor: pointer;
}

.lux-acct-card__parent {
    margin: 0.25rem 0 0;
    font-size: 0.72rem;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-acct-card__stats {
    display: flex;
    border-top: 1px solid #f1f5f9;
}

.lux-acct-card__stat {
    flex: 1;
    padding: 0.45rem;
    text-align: center;
}

.lux-acct-card__stat strong {
    display: block;
    font-size: 1rem;
    color: #0f172a;
}

.lux-acct-card__stat span {
    font-size: 0.65rem;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lux-acct-card__actions {
    display: flex;
    border-top: 1px solid #f1f5f9;
}

.lux-acct-card__action {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    padding: 0.4rem 0.25rem;
    border: none;
    background: transparent;
    font-size: 0.62rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
}

.lux-acct-card__action--primary {
    color: var(--lux-primary, #5b5ff4);
}

.lux-acct-card__action--danger {
    color: #e11d48;
    flex: 0 0 2.5rem;
}

.lux-acct-card__action.is-confirm {
    background: rgba(225, 29, 72, 0.1);
}

.lux-acct-load-more {
    text-align: center;
    padding: 0.5rem 0 1rem;
}

.lux-acct-load-more button {
    padding: 0.55rem 1.25rem;
    border: none;
    border-radius: 999px;
    font-weight: 800;
    font-size: 0.8125rem;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    cursor: pointer;
}

/* Account detail popover — luxury dialog */
.lux-acct-popover__backdrop {
    position: fixed;
    inset: 0;
    z-index: var(--lux-z-overlay);
    border: none;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(10px);
}

.lux-acct-popover {
    position: fixed;
    z-index: var(--lux-z-overlay-panel);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(520px, calc(100vw - 1.5rem));
    max-height: min(90dvh, 680px);
    display: flex;
    flex-direction: column;
    border-radius: 22px;
    border: 0px solid rgba(255, 255, 255, 0.7);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow:
        0 0 0 1px rgba(15, 23, 42, 0.04),
        0 28px 64px rgba(15, 23, 42, 0.22);
    overflow: hidden;
}

.lux-acct-popover__glow {
    position: absolute;
    top: -35%;
    right: -15%;
    width: 50%;
    height: 65%;
    background: radial-gradient(circle, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.lux-acct-popover__hero {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    padding: 0.85rem 1rem 0.7rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), rgba(20, 184, 166, 0.06));
}

.lux-acct-popover__hero.is-indigo {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.12), rgba(20, 184, 166, 0.06));
}

.lux-acct-popover__hero.is-sky {
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.12), rgba(99, 102, 241, 0.06));
}

.lux-acct-popover__hero.is-teal {
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.12), rgba(14, 165, 233, 0.06));
}

.lux-acct-popover__hero.is-violet {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.14), rgba(99, 102, 241, 0.08));
}

.lux-acct-popover__icon.is-violet {
    color: #6d28d9;
    border-color: rgba(139, 92, 246, 0.28);
}

.lux-acct-popover__metric.is-violet .lux-acct-popover__metric-icon {
    background: rgba(139, 92, 246, 0.12);
    color: #7c3aed;
}

.lux-acct-popover__hero-mesh {
    position: absolute;
    inset: 0;
    opacity: 0.5;
    background-image:
        radial-gradient(circle at 10% 30%, rgba(255, 255, 255, 0.85) 0, transparent 45%),
        radial-gradient(circle at 90% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.15) 0, transparent 40%);
    pointer-events: none;
}

.lux-acct-popover__hero-top {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
}

.lux-acct-popover__hero-brand {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-width: 0;
}

.lux-acct-popover__icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 14px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    font-size: 1.05rem;
    background: rgba(255, 255, 255, 0.92);
    border: 0px solid rgba(148, 163, 184, 0.25);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.lux-acct-popover__icon.is-indigo { color: #4338ca; border-color: rgba(99, 102, 241, 0.25); }
.lux-acct-popover__icon.is-sky { color: #0369a1; border-color: rgba(14, 165, 233, 0.25); }
.lux-acct-popover__icon.is-teal { color: #0f766e; border-color: rgba(20, 184, 166, 0.25); }

.lux-acct-popover__kicker {
    margin: 0;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-acct-popover__hero h2 {
    margin: 0.1rem 0 0;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.25;
}

.lux-acct-popover__meta-line {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-acct-popover__meta-sep {
    margin: 0 0.25rem;
    opacity: 0.5;
}

.lux-acct-popover__close {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border: 0px solid rgba(148, 163, 184, 0.35);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.92);
    color: #64748b;
    cursor: pointer;
}

.lux-acct-popover__metrics-row {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.6rem;
}

.lux-acct-popover__metric {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.55rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    border: 0px solid rgba(148, 163, 184, 0.22);
    min-width: 5.5rem;
}

.lux-acct-popover__metric strong {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-acct-popover__metric span {
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
}

.lux-acct-popover__metric-icon {
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 9px;
    display: grid;
    place-items: center;
    font-size: 0.8rem;
}

.lux-acct-popover__metric.is-sky .lux-acct-popover__metric-icon {
    background: rgba(14, 165, 233, 0.12);
    color: #0284c7;
}

.lux-acct-popover__metric.is-teal .lux-acct-popover__metric-icon {
    background: rgba(20, 184, 166, 0.12);
    color: #0d9488;
}

.lux-acct-popover__body {
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    min-height: 0;
    padding: 0.65rem 1rem;
    overflow: auto;
}

.lux-acct-popover__callout {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.5rem 0.65rem;
    margin-bottom: 0.5rem;
    border-radius: 12px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.95);
}

.lux-acct-popover__callout strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-acct-popover__callout span {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.6875rem;
    line-height: 1.4;
    color: #64748b;
}

.lux-acct-popover__callout--sf {
    border-color: rgba(14, 165, 233, 0.25);
    background: rgba(14, 165, 233, 0.08);
}

.lux-acct-popover__callout--hierarchy {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-acct-popover__callout--hierarchy > i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 1rem;
    margin-top: 0.1rem;
}

.lux-acct-popover__details-title {
    margin: 0 0 0.4rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-acct-popover__dl {
    margin: 0;
    display: grid;
    gap: 0.35rem;
}

.lux-acct-popover__dl-row {
    display: grid;
    grid-template-columns: 5.5rem 1fr;
    gap: 0.5rem;
    align-items: baseline;
    padding: 0.35rem 0.45rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.7);
    border: 0px solid rgba(241, 245, 249, 0.95);
}

.lux-acct-popover__dl-row dt {
    margin: 0;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.lux-acct-popover__dl-row dd {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #0f172a;
}

.lux-acct-popover__dl-row dd a {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-acct-popover__notes {
    margin-top: 0.5rem;
    padding: 0.5rem 0.6rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-acct-popover__notes p {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #475569;
}

.lux-acct-popover__label {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.lux-acct-popover__foot {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.65rem 1rem 0.85rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.04);
}

.lux-acct-popover__foot-primary,
.lux-acct-popover__foot-secondary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.lux-acct-popover__foot-primary {
    padding-bottom: 0.35rem;
    border-bottom: 1px dashed rgba(226, 232, 240, 0.95);
}

.lux-acct-popover__foot-secondary {
    justify-content: flex-end;
    margin-left: auto;
    width: 100%;
}

.lux-acct-popover__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    min-height: 2.05rem;
    padding: 0 0.85rem;
    border: 0px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    font-size: 0.6875rem;
    font-weight: 800;
    cursor: pointer;
    line-height: 1.2;
}

.lux-acct-popover__btn--primary {
    border-color: transparent;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    color: #fff;
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-acct-popover__btn--accent {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-acct-popover__btn--ghost {
    color: #64748b;
}

.lux-acct-popover__btn--danger {
    color: #e11d48;
    border-color: rgba(225, 29, 72, 0.28);
    background: rgba(244, 63, 94, 0.06);
}

.lux-acct-popover__btn--danger.is-confirm {
    background: #e11d48;
    color: #fff;
    border-color: transparent;
}

.lux-create-panel--accounts.open {
    z-index: 1035;
}

.lux-create-panel--accounts .lux-create-panel__context-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.65rem;
}

.lux-create-panel--accounts .lux-create-panel__context-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.28rem 0.5rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(248, 250, 252, 0.9);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
}

.lux-create-panel--accounts .lux-create-panel__context-chip.is-accent {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: #4338ca;
}

.lux-create-panel--accounts .lux-create-panel__context-chip i {
    font-size: 0.75rem;
    opacity: 0.85;
}

/* Accounts page header — breadcrumbs & scope segment */
.lux-page-header--accounts .lux-page-header__group--filters {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 52%;
}

.lux-page-header__breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.15rem 0.25rem;
    min-width: 0;
}

.lux-page-header__crumb {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    max-width: 14rem;
    padding: 0.28rem 0.5rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
}

.lux-page-header__crumb:hover:not(.is-current) {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-page-header__crumb.is-current {
    color: #0f172a;
    cursor: default;
    font-weight: 800;
}

.lux-page-header__crumb-sep {
    font-size: 0.7rem;
    color: #cbd5e1;
    flex-shrink: 0;
}

.lux-page-header__segment {
    display: inline-flex;
    padding: 3px;
    border-radius: 12px;
    background: #f1f5f9;
    border: 0px solid #e2e8f0;
    flex-shrink: 0;
}

.lux-page-header__segment-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.65rem;
    border: none;
    border-radius: 9px;
    background: transparent;
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
    white-space: nowrap;
    cursor: pointer;
}

.lux-page-header__segment-btn.is-active {
    background: #fff;
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

/* Account directory — rich list rows */
.lux-acct-dir-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.35rem 0.15rem 0.85rem;
}

.lux-acct-dir-list__head {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 0.65rem;
    padding: 0 0.85rem 0.35rem;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-acct-dir-list__skeleton {
    margin-bottom: 0.45rem;
}

.lux-acct-dir-row {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: 0.75rem 0.85rem;
    align-items: center;
    padding: 0.75rem 0.85rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 250, 252, 0.95) 100%);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.lux-acct-dir-row:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.lux-acct-dir-row.is-drillable:hover {
    transform: translateX(2px);
}

.lux-acct-dir-row__avatar {
    width: 2.75rem;
    height: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    flex-shrink: 0;
    font-size: 1.1rem;
}

.lux-acct-dir-row__avatar.is-indigo {
    background: rgba(99, 102, 241, 0.12);
    color: #6366f1;
}

.lux-acct-dir-row__avatar.is-sky {
    background: rgba(14, 165, 233, 0.12);
    color: #0ea5e9;
}

.lux-acct-dir-row__avatar.is-teal {
    background: rgba(20, 184, 166, 0.12);
    color: #14b8a6;
}

.lux-acct-dir-row__avatar.is-violet {
    background: linear-gradient(145deg, rgba(139, 92, 246, 0.18), rgba(99, 102, 241, 0.1));
    color: #7c3aed;
    box-shadow: 0 6px 16px rgba(139, 92, 246, 0.15);
}

.lux-acct-dir-row--user-team {
    border-color: rgba(139, 92, 246, 0.2);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.99) 0%, rgba(245, 243, 255, 0.92) 55%, rgba(248, 250, 252, 0.95) 100%);
}

.lux-acct-dir-row--user-team.is-drillable:hover {
    border-color: rgba(139, 92, 246, 0.35);
    box-shadow: 0 14px 32px rgba(139, 92, 246, 0.12);
}

.lux-acct-dir-row__type-badge.is-violet {
    background: rgba(139, 92, 246, 0.12);
    color: #6d28d9;
    border: 0px solid rgba(139, 92, 246, 0.22);
}

.lux-acct-dir-row__chip.is-violet {
    background: rgba(139, 92, 246, 0.1);
    color: #6d28d9;
    border: 0px solid rgba(139, 92, 246, 0.18);
}

.lux-acct-dir-row__desc--hint {
    font-size: 0.75rem;
    color: #64748b;
    font-style: normal;
}

.lux-project-row__action--primary {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35) !important;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1) !important;
    color: var(--lux-primary-dark, #3730a3) !important;
}

.lux-acct-dir-row__sf {
    width: 1.5rem;
    height: 1.5rem;
    object-fit: contain;
}

.lux-acct-dir-row__main {
    min-width: 0;
}

.lux-acct-dir-row__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
}

.lux-acct-dir-row__title {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
    text-align: left;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-acct-dir-row__title.is-static {
    cursor: default;
}

.lux-acct-dir-row__title:hover {
    color: var(--lux-primary, #5b5ff4);
}

.lux-acct-dir-row__drill-icon {
    font-size: 0.85rem;
    opacity: 0.6;
}

.lux-acct-dir-row__type-badge {
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-acct-dir-row__type-badge.is-indigo {
    background: rgba(99, 102, 241, 0.12);
    color: #4f46e5;
}

.lux-acct-dir-row__type-badge.is-sky {
    background: rgba(14, 165, 233, 0.12);
    color: #0284c7;
}

.lux-acct-dir-row__type-badge.is-teal {
    background: rgba(20, 184, 166, 0.12);
    color: #0d9488;
}

.lux-acct-dir-row__id {
    font-size: 0.68rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-acct-dir-row__parent {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-acct-dir-row__parent strong {
    color: #334155;
}

.lux-acct-dir-row__sf-id {
    color: #0ea5e9;
}

.lux-acct-dir-row__desc {
    margin: 0.35rem 0 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-acct-dir-row__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-top: 0.4rem;
}

.lux-acct-dir-row__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    background: #f1f5f9;
    color: #475569;
}

.lux-acct-dir-row__chip.is-sky {
    background: rgba(14, 165, 233, 0.12);
    color: #0284c7;
}

.lux-acct-dir-row__chip.is-green {
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
}

.lux-acct-dir-row__metrics {
    display: flex;
    gap: 0.65rem;
    flex-shrink: 0;
}

.lux-acct-dir-row__metric {
    text-align: center;
    min-width: 3rem;
}

.lux-acct-dir-row__metric strong {
    display: block;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-acct-dir-row__metric span {
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
}

.lux-acct-dir-row__metric--solo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    color: #14b8a6;
    font-size: 0.68rem;
    font-weight: 700;
}

.lux-acct-dir-row__actions {
    flex-shrink: 0;
    align-self: center;
}

.lux-accounts .lux-acct-dir-row .lux-project-row__actions {
    justify-content: flex-end;
}

.lux-accounts .lux-acct-dir-row .lux-project-row__action.is-danger {
    color: #be123c;
}

.lux-accounts .lux-acct-dir-row .lux-project-row__action.is-danger:hover,
.lux-accounts .lux-acct-dir-row .lux-project-row__action.is-danger.is-confirm {
    border-color: rgba(244, 63, 94, 0.35);
    background: rgba(244, 63, 94, 0.08);
    color: #be123c;
}

.lux-accounts .lux-acct-dir-row .lux-project-row__action.is-danger.is-confirm {
    background: #e11d48;
    border-color: #e11d48;
    color: #fff;
}

/* Create account — luxury centered modal */
.lux-acct-create-modal__backdrop {
    position: fixed;
    inset: 0;
    z-index: 1060;
    border: none;
    background: rgba(15, 23, 42, 0.58);
    backdrop-filter: blur(10px);
}

.lux-acct-create-modal {
    position: fixed;
    z-index: 1070;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(600px, calc(100vw - 1.25rem));
    max-height: calc(100dvh - 1.5rem);
    display: flex;
    flex-direction: column;
    border-radius: 22px;
    border: 0px solid rgba(255, 255, 255, 0.65);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow:
        0 0 0 1px rgba(15, 23, 42, 0.04),
        0 28px 64px rgba(15, 23, 42, 0.2),
        0 8px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    overflow: hidden;
}

.lux-acct-create-modal__glow {
    position: absolute;
    top: -40%;
    right: -20%;
    width: 55%;
    height: 70%;
    background: radial-gradient(circle, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14), transparent 68%);
    pointer-events: none;
    z-index: 0;
}

.lux-acct-create-modal__hero {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    padding: 0.85rem 1rem 0.7rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.11) 0%, rgba(20, 184, 166, 0.07) 48%, rgba(255, 255, 255, 0.4) 100%);
    overflow: hidden;
}

.lux-acct-create-modal__hero-mesh {
    position: absolute;
    inset: 0;
    opacity: 0.45;
    background-image:
        radial-gradient(circle at 12% 20%, rgba(255, 255, 255, 0.9) 0, transparent 42%),
        radial-gradient(circle at 88% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2) 0, transparent 38%);
    pointer-events: none;
}

.lux-acct-create-modal__hero-top {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
}

.lux-acct-create-modal__hero-brand {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-width: 0;
}

.lux-acct-create-modal__icon {
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 14px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    font-size: 1.1rem;
    color: var(--lux-primary-dark, #3730a3);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12));
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.lux-acct-create-modal__hero-copy {
    min-width: 0;
}

.lux-acct-create-modal__kicker {
    margin: 0;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-acct-create-modal__hero h2 {
    margin: 0.12rem 0 0;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.2;
}

.lux-acct-create-modal__subtitle {
    margin: 0.3rem 0 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #475569;
    max-width: 34rem;
}

.lux-acct-create-modal__hero-actions {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
}

.lux-acct-create-modal__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(255, 255, 255, 0.88);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.lux-acct-create-modal__close {
    width: 2rem;
    height: 2rem;
    border: 0px solid rgba(148, 163, 184, 0.35);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.92);
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.lux-acct-create-modal__close:hover {
    background: #fff;
    color: #0f172a;
}

.lux-acct-create-modal__meta-row {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.55rem;
}

.lux-acct-create-modal__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    max-width: 100%;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #334155;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(148, 163, 184, 0.28);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-acct-create-modal__chip i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
    flex-shrink: 0;
}

.lux-acct-create-modal__chip--accent {
    color: var(--lux-primary-dark, #3730a3);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-acct-create-modal__body {
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 0.55rem 0.75rem 0.45rem;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.65), #fff 28%);
}

.lux-acct-create-modal__error {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.45rem;
    padding: 0.4rem 0.55rem;
    border-radius: 12px;
    border: 0px solid rgba(244, 63, 94, 0.22);
    background: rgba(244, 63, 94, 0.08);
    color: #be123c;
    font-size: 0.6875rem;
    font-weight: 600;
}

.lux-acct-create-modal__error-dismiss {
    margin-left: auto;
    border: none;
    background: transparent;
    color: inherit;
    cursor: pointer;
    padding: 0;
}

.lux-acct-create-modal__sections {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-acct-create-modal__section.lux-create-section {
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.lux-acct-create-modal .lux-create-section__head {
    padding: 0.45rem 0.65rem;
}

.lux-acct-create-modal .lux-create-section__body {
    padding: 0.5rem 0.65rem 0.6rem;
}

.lux-acct-create-modal .lux-create-section__icon {
    width: 1.65rem;
    height: 1.65rem;
    font-size: 0.78rem;
    border-radius: 9px;
}

.lux-acct-create-modal .lux-create-section__title {
    font-size: 0.78rem;
}

.lux-acct-create-modal .lux-create-section__hint {
    font-size: 0.6875rem;
    line-height: 1.3;
}

.lux-acct-create-modal .lux-create-form .lux-create-field-group + .lux-create-field-group {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
}

.lux-acct-create-modal .lux-create-field__inner .form-group {
    margin-bottom: 0.2rem !important;
}

.lux-acct-create-modal .lux-create-field__inner .form-label,
.lux-acct-create-modal .lux-create-field__inner .control-label {
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
}

.lux-acct-create-modal .lux-create-field__inner .form-control,
.lux-acct-create-modal .lux-create-field__inner .css-yk16xz-control,
.lux-acct-create-modal .lux-create-field__inner .css-1s2u09g-control {
    min-height: 2rem !important;
    border-radius: 10px !important;
    font-size: 0.8125rem !important;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lux-acct-create-modal .lux-create-field__inner textarea.form-control {
    min-height: 2.5rem !important;
    max-height: 2.5rem !important;
    resize: none !important;
    line-height: 1.35 !important;
}

.lux-acct-create-modal__footer.lux-create-footer {
    position: relative;
    z-index: 1;
    border-radius: 0 0 22px 22px;
}

.lux-acct-create-modal__footer .lux-create-footer__submit {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6)) !important;
    border: none !important;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

@media (max-width: 960px) {
    .lux-page-header--accounts .lux-page-header__group--filters {
        max-width: 100%;
        flex: 1 1 100%;
    }

    .lux-page-header--accounts .lux-page-header__toolbar {
        flex-wrap: wrap;
    }

    .lux-page-header--accounts .lux-page-header__spacer {
        display: none;
    }

    .lux-acct-dir-row {
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto auto;
    }

    .lux-acct-dir-row__metrics,
    .lux-acct-dir-row__actions {
        grid-column: 1 / -1;
    }

    .lux-accounts .lux-acct-dir-row .lux-project-row__actions {
        justify-content: flex-start;
    }

    .lux-acct-dir-list__head {
        display: none;
    }

    .lux-acct-create-modal .lux-create-field-group__grid {
        grid-template-columns: 1fr !important;
    }

    .lux-acct-create-modal__hero-top {
        flex-direction: column;
    }

    .lux-acct-create-modal__hero-actions {
        align-self: flex-end;
    }
}

@media (max-width: 768px) {
    .lux-page-header__segment-btn span {
        display: none;
    }
}


/* Taskboard — luxury execution board */
.lux-taskboard {
  --tb-primary: #5b5ff4;
  --tb-accent: #14b8a6;
  width: 100%;
  padding-bottom: 1rem;
}

.lux-taskboard__member-bar {
  margin: 0 0.75rem 0.65rem;
}

.lux-taskboard__workspace {
  margin: 0 0.75rem;
  padding: 0 0 1.5rem;
}

.right_sidebar.create_taskboardconfig-right_sidebar.lux-create-panel {
  width: min(920px, 96vw) !important;
  max-width: 96vw;
  z-index: 1060;
}

.right_sidebar.create_taskboardconfig-right_sidebar.lux-create-panel.open {
  right: 0 !important;
  width: min(1080px, 96vw) !important;
}

.lux-create-panel--taskboard-config-wide.open {
  width: min(1080px, 96vw) !important;
  max-width: 96vw;
}

.lux-create-panel--taskboard-config.open {
  width: min(920px, 96vw);
  max-width: 96vw;
}

.lux-taskboard .section-body,
.lux-taskboard .container-fluid {
  max-width: none;
}

.lux-taskboard-summary__header-actions {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
}

.lux-taskboard-summary__configure-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-height: 1.875rem;
  padding: 0 0.65rem;
  border: 0px solid rgba(91, 95, 244, 0.35);
  border-radius: 9911px;
  background: rgba(91, 95, 244, 0.08);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--tb-primary);
  cursor: pointer;
}

.lux-taskboard-summary__configure-btn:hover {
  background: rgba(91, 95, 244, 0.14);
  border-color: var(--tb-primary);
}

.lux-taskboard__member-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 1rem;
  border-radius: 14px;
  border: 0px solid rgba(148, 163, 184, 0.2);
  background: linear-gradient(135deg, rgba(91, 95, 244, 0.06), rgba(20, 184, 166, 0.04));
}

.lux-taskboard__member-label {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #64748b;
  margin-right: 0.35rem;
}

.lux-taskboard__member-chip {
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: #fff;
  border-radius: 999px;
  padding: 0.28rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #475569;
  transition: border-color 0.12s, box-shadow 0.12s, color 0.12s;
}

.lux-taskboard__member-chip:hover {
  border-color: rgba(91, 95, 244, 0.4);
  color: var(--tb-primary);
}

.lux-taskboard__member-chip.is-active {
  border-color: var(--tb-primary);
  background: rgba(91, 95, 244, 0.1);
  color: var(--tb-primary);
  box-shadow: 0 4px 14px rgba(91, 95, 244, 0.15);
}

.lux-taskboard-summary__chart-empty {
  margin: 2rem 0;
  text-align: center;
  font-size: 0.8125rem;
  color: #94a3b8;
}

/* Kanban */
.lux-taskboard-kanban {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: start;
}

.lux-taskboard-col {
  min-height: 420px;
  border-radius: 16px;
  border: 0px solid rgba(148, 163, 184, 0.18);
  background: rgba(248, 250, 252, 0.85);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.lux-taskboard-col.is-droppable {
  border-color: var(--tb-primary);
  box-shadow: inset 0 0 0 2px rgba(91, 95, 244, 0.2);
}

.lux-taskboard-col__head {
  padding: 0.75rem 0.85rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  background: #fff;
}

.lux-taskboard-col.is-planned .lux-taskboard-col__head {
  background: linear-gradient(135deg, #f8fafc, #f1f5f9);
}
.lux-taskboard-col.is-todo .lux-taskboard-col__head {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.08), #fff);
}
.lux-taskboard-col.is-progress .lux-taskboard-col__head {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.1), #fff);
}
.lux-taskboard-col.is-done .lux-taskboard-col__head {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), #fff);
}

.lux-taskboard-col__head-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.lux-taskboard-col__title {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-taskboard-col__count {
  font-size: 0.75rem;
  font-weight: 800;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: #475569;
}

.lux-taskboard-col__hint {
  margin: 0.25rem 0 0;
  font-size: 0.625rem;
  color: #94a3b8;
}

.lux-taskboard-col__body {
  flex: 1;
  padding: 0.65rem;
  overflow-y: auto;
  max-height: calc(100vh - 320px);
}

.lux-taskboard-col__drop {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  margin-bottom: 0.5rem;
  border-radius: 12px;
  border: 2px dashed rgba(91, 95, 244, 0.35);
  background: rgba(91, 95, 244, 0.06);
  color: var(--tb-primary);
  font-size: 0.8125rem;
  font-weight: 600;
}

.lux-taskboard-card {
  list-style: none;
  margin: 0 0 0.55rem;
  padding: 0;
}

.lux-taskboard-card.is-dragging {
  opacity: 0.35;
}

.lux-taskboard-card__shell {
  border-radius: 16px;
  border: 0px solid rgba(148, 163, 184, 0.22);
  background:
    radial-gradient(circle at 100% 0%, rgba(91, 95, 244, 0.06), transparent 48%),
    #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
  cursor: grab;
  transition: box-shadow 0.14s, border-color 0.14s, transform 0.14s;
  overflow: hidden;
}

.lux-taskboard-card__shell:hover {
  border-color: rgba(91, 95, 244, 0.4);
  box-shadow: 0 14px 32px rgba(91, 95, 244, 0.14);
  transform: translateY(-2px);
}

.lux-taskboard-card.is-overdue .lux-taskboard-card__shell {
  border-color: rgba(244, 63, 94, 0.35);
}

.lux-taskboard-card__accent {
  height: 3px;
}

.lux-taskboard-card.is-stage-planned .lux-taskboard-card__accent { background: linear-gradient(90deg, #94a3b8, #cbd5e1); }
.lux-taskboard-card.is-stage-todo .lux-taskboard-card__accent { background: linear-gradient(90deg, #0ea5e9, #38bdf8); }
.lux-taskboard-card.is-stage-progress .lux-taskboard-card__accent { background: linear-gradient(90deg, #f59e0b, #fbbf24); }
.lux-taskboard-card.is-stage-done .lux-taskboard-card__accent { background: linear-gradient(90deg, #10b981, #34d399); }

.lux-taskboard-card__head {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.65rem 0.35rem;
}

.lux-taskboard-card__drag {
  color: #cbd5e1;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.lux-taskboard-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  flex: 1;
  min-width: 0;
}

.lux-taskboard-card__status,
.lux-taskboard-card__stage {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.1rem 0.38rem;
  border-radius: 999px;
}

.lux-taskboard-card__status.is-sky { background: rgba(14, 165, 233, 0.14); color: #0284c7; }
.lux-taskboard-card__status.is-indigo { background: rgba(99, 102, 241, 0.14); color: #4f46e5; }
.lux-taskboard-card__status.is-amber { background: rgba(245, 158, 11, 0.16); color: #b45309; }
.lux-taskboard-card__status.is-green { background: rgba(16, 185, 129, 0.14); color: #059669; }
.lux-taskboard-card__status.is-slate { background: rgba(100, 116, 139, 0.14); color: #475569; }

.lux-taskboard-card__stage.is-slate { background: #f1f5f9; color: #64748b; }
.lux-taskboard-card__stage.is-sky { background: rgba(14, 165, 233, 0.1); color: #0369a1; }
.lux-taskboard-card__stage.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-taskboard-card__stage.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }

.lux-taskboard-card__ref {
  font-size: 0.625rem;
  font-weight: 700;
  color: #94a3b8;
  flex-shrink: 0;
}

.lux-taskboard-card__main {
  padding: 0 0.65rem 0.5rem;
}

.lux-taskboard-card__title {
  display: block;
  font-size: 0.875rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.35;
}

.lux-taskboard-card__desc {
  margin: 0.3rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lux-taskboard-card__line {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  margin: 0.35rem 0 0;
  font-size: 0.6875rem;
  color: #475569;
  line-height: 1.35;
}

.lux-taskboard-card__line i {
  color: #94a3b8;
  margin-top: 0.1rem;
}

.lux-taskboard-card__line em {
  margin-left: 0.35rem;
  font-style: normal;
  font-size: 0.625rem;
  color: #94a3b8;
}

.lux-taskboard-card__line.is-deliverable span {
  font-weight: 600;
}

.lux-taskboard-card__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem 0.5rem;
  margin-top: 0.55rem;
  padding: 0.5rem 0.55rem;
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.9);
  border: 0px solid rgba(148, 163, 184, 0.12);
}

.lux-taskboard-card__meta-item span {
  display: block;
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #94a3b8;
}

.lux-taskboard-card__meta-item strong {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #334155;
  margin-top: 0.1rem;
}

.lux-taskboard-card__meta-item.is-warn strong {
  color: #e11d48;
}

.lux-taskboard-card__meta-item.is-assignee {
  grid-column: 1 / -1;
}

.lux-taskboard-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: 0.45rem;
}

.lux-taskboard-card__chip {
  font-size: 0.5625rem;
  font-weight: 700;
  padding: 0.14rem 0.42rem;
  border-radius: 6px;
  background: #f1f5f9;
  color: #475569;
}

.lux-taskboard-card__chip.is-category {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
}

.lux-taskboard-card__chip.is-billable {
  background: rgba(91, 95, 244, 0.1);
  color: #4f46e5;
}

.lux-taskboard-card__chip.is-paused {
  background: rgba(245, 158, 11, 0.14);
  color: #b45309;
}

.lux-taskboard-card__chip.is-overdue {
  background: rgba(244, 63, 94, 0.12);
  color: #e11d48;
}

.lux-taskboard-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  padding: 0.5rem 0.65rem 0.6rem;
  border-top: 1px solid rgba(148, 163, 184, 0.12);
  background: rgba(248, 250, 252, 0.6);
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-taskboard-card__foot-hint {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-weight: 600;
  color: #94a3b8;
}

.lux-taskboard-card__actions {
  display: flex;
  gap: 0.15rem;
}

.lux-taskboard-card__action {
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.lux-taskboard-card__action:hover {
  background: rgba(91, 95, 244, 0.1);
  color: var(--tb-primary);
}

.lux-taskboard-card__timer {
  flex: 1;
  min-width: 0;
}

/* List view — luxury register */
.lux-taskboard-list-shell {
  margin: 0 0.75rem;
}

.lux-taskboard-list {
  --lux-taskboard-list-cols:
    2.5rem minmax(14rem, 1.6fr) minmax(6.5rem, 0.75fr) minmax(6rem, 0.7fr) minmax(9rem, 0.95fr)
    minmax(5.5rem, 0.65fr) minmax(7.5rem, auto);
}

.lux-taskboard-list__head,
.lux-taskboard-list__item {
  display: grid;
  grid-template-columns: var(--lux-taskboard-list-cols);
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.lux-taskboard-list__head,
.lux-taskboard-list__item {
  min-width: 52rem;
}

.lux-taskboard-list__head {
  position: sticky;
  top: 0;
  z-index: 4;
  margin-bottom: 0.4rem;
  padding: 0.6rem 0.75rem 0.6rem 0.85rem;
  border: 0px solid rgba(226, 232, 240, 0.95);
  border-radius: 14px;
  background:
    radial-gradient(circle at 0% 0%, rgba(91, 95, 244, 0.06), transparent 50%),
    rgba(248, 250, 252, 0.98);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-taskboard-list__head-cell {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-taskboard-list__head-cell.is-center {
  text-align: center;
}

.lux-taskboard-list__head-label {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
}

.lux-taskboard-list__head-label i {
  color: var(--tb-primary);
  font-size: 0.6875rem;
}

.lux-taskboard-list__body {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  overflow-x: auto;
  padding-bottom: 0.35rem;
}

.lux-taskboard-list__item {
  position: relative;
  padding: 0.7rem 0.75rem 0.7rem 0.85rem;
  border: 0px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(91, 95, 244, 0.05), transparent 46%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.97));
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
  transition: border-color 0.14s, box-shadow 0.14s, transform 0.14s;
}

.lux-taskboard-list__item:hover {
  border-color: rgba(91, 95, 244, 0.22);
  box-shadow: 0 10px 24px rgba(91, 95, 244, 0.1);
  transform: translateY(-1px);
}

.lux-taskboard-list__item.is-deleted {
  opacity: 0.72;
  background: rgba(248, 250, 252, 0.85);
}

.lux-taskboard-list__item.is-overdue {
  border-color: rgba(244, 63, 94, 0.28);
}

.lux-taskboard-list__accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  border-radius: 16px 0 0 16px;
}

.lux-taskboard-list__item.is-stage-planned .lux-taskboard-list__accent {
  background: linear-gradient(180deg, #94a3b8, #cbd5e1);
}
.lux-taskboard-list__item.is-stage-todo .lux-taskboard-list__accent {
  background: linear-gradient(180deg, #0ea5e9, #38bdf8);
}
.lux-taskboard-list__item.is-stage-progress .lux-taskboard-list__accent {
  background: linear-gradient(180deg, #f59e0b, #fbbf24);
}
.lux-taskboard-list__item.is-stage-done .lux-taskboard-list__accent {
  background: linear-gradient(180deg, #10b981, #34d399);
}

.lux-taskboard-list__index {
  font-size: 0.75rem;
  font-weight: 800;
  color: #94a3b8;
}

.lux-taskboard-list__title {
  display: block;
  font-size: 0.875rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.35;
}

.lux-taskboard-list__desc {
  margin: 0.2rem 0 0;
  font-size: 0.6875rem;
  color: #64748b;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lux-taskboard-list__task-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  margin-top: 0.35rem;
}

.lux-taskboard-list__ref {
  font-size: 0.625rem;
  font-weight: 700;
  color: #94a3b8;
}

.lux-taskboard-list__line {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.625rem;
  font-weight: 600;
  color: #64748b;
}

.lux-taskboard-list__line i {
  color: #94a3b8;
  font-size: 0.6875rem;
}

.lux-taskboard-list__column-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  font-size: 0.625rem;
  font-weight: 800;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  white-space: nowrap;
}

.lux-taskboard-list__column-pill.is-slate { background: #f1f5f9; color: #64748b; }
.lux-taskboard-list__column-pill.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-taskboard-list__column-pill.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-taskboard-list__column-pill.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }

.lux-taskboard-list__col--category {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  align-items: flex-start;
}

.lux-taskboard-list__category-pill {
  font-size: 0.625rem;
  font-weight: 700;
  padding: 0.12rem 0.4rem;
  border-radius: 6px;
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
}

.lux-taskboard-list__scope-pill {
  font-size: 0.5625rem;
  font-weight: 700;
  padding: 0.1rem 0.35rem;
  border-radius: 6px;
  background: #f1f5f9;
  color: #64748b;
}

.lux-taskboard-list__scope-pill.is-billable {
  background: rgba(91, 95, 244, 0.1);
  color: #4f46e5;
}

.lux-taskboard-list__schedule-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.25rem 0.5rem;
}

.lux-taskboard-list__schedule-grid em {
  display: block;
  font-size: 0.5625rem;
  font-weight: 700;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #94a3b8;
}

.lux-taskboard-list__schedule-grid strong {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #334155;
}

.lux-taskboard-list__schedule-grid .is-warn strong {
  color: #e11d48;
}

.lux-taskboard-list__owner {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.35rem;
  font-size: 0.625rem;
  font-weight: 600;
  color: #64748b;
}

.lux-taskboard-list__col--status {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}

.lux-taskboard-list__status-pill {
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
}

.lux-taskboard-list__status-pill.is-sky { background: rgba(14, 165, 233, 0.14); color: #0284c7; }
.lux-taskboard-list__status-pill.is-indigo { background: rgba(99, 102, 241, 0.14); color: #4f46e5; }
.lux-taskboard-list__status-pill.is-amber { background: rgba(245, 158, 11, 0.16); color: #b45309; }
.lux-taskboard-list__status-pill.is-green { background: rgba(16, 185, 129, 0.14); color: #059669; }
.lux-taskboard-list__status-pill.is-slate { background: rgba(100, 116, 139, 0.14); color: #475569; }

.lux-taskboard-list__overdue-tag,
.lux-taskboard-list__paused-tag {
  font-size: 0.5625rem;
  font-weight: 800;
  padding: 0.08rem 0.35rem;
  border-radius: 999px;
}

.lux-taskboard-list__overdue-tag {
  background: rgba(244, 63, 94, 0.12);
  color: #e11d48;
}

.lux-taskboard-list__paused-tag {
  background: rgba(245, 158, 11, 0.14);
  color: #b45309;
}

.lux-taskboard-list__col--actions {
  justify-self: end;
  align-self: center;
}

.lux-taskboard-list__actions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.28rem;
  max-width: 100%;
}

.lux-taskboard-list__icon-btn {
  flex-shrink: 0;
  width: 1.85rem;
  height: 1.85rem;
  padding: 0;
  border: 0px solid rgba(148, 163, 184, 0.28);
  border-radius: 9px;
  background: #fff;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.12s, color 0.12s, background 0.12s, box-shadow 0.12s;
}

.lux-taskboard-list__icon-btn:hover {
  border-color: rgba(91, 95, 244, 0.4);
  color: var(--tb-primary);
  box-shadow: 0 4px 10px rgba(91, 95, 244, 0.12);
}

.lux-taskboard-list__icon-btn.is-play {
  border-color: rgba(245, 158, 11, 0.35);
  color: #d97706;
  background: rgba(255, 251, 235, 0.9);
}

.lux-taskboard-list__icon-btn.is-play:hover {
  border-color: #f59e0b;
  color: #b45309;
  background: rgba(254, 243, 199, 0.95);
}

.lux-taskboard-list__icon-btn.is-done {
  border-color: rgba(16, 185, 129, 0.35);
  color: #059669;
  background: rgba(236, 253, 245, 0.9);
}

.lux-taskboard-list__icon-btn.is-done:hover {
  border-color: #10b981;
  color: #047857;
  background: rgba(209, 250, 229, 0.95);
}

.lux-taskboard-list__icon-btn.is-delete {
  border-color: rgba(244, 63, 94, 0.35);
  color: #e11d48;
  background: rgba(254, 226, 226, 0.55);
}

.lux-taskboard-list__icon-btn.is-delete:hover {
  border-color: #f43f5e;
  color: #fff;
  background: #e11d48;
}

.lux-taskboard-list__icon-btn.is-delete.is-restore {
  border-color: rgba(16, 185, 129, 0.35);
  color: #059669;
  background: rgba(236, 253, 245, 0.9);
}

.lux-taskboard-list__icon-btn.is-delete.is-restore:hover {
  border-color: #10b981;
  color: #047857;
  background: rgba(209, 250, 229, 0.95);
}

.lux-taskboard-list__icon-btn.is-remove {
  border-color: rgba(148, 163, 184, 0.35);
  color: #64748b;
}

.lux-taskboard-list__icon-btn.is-remove:hover {
  border-color: rgba(100, 116, 139, 0.5);
  color: #475569;
}

.lux-taskboard-list__icon-btn.is-remove.is-confirm {
  border-color: #b91c1c;
  color: #fff;
  background: #dc2626;
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
}

.lux-taskboard-list__icon-btn.is-remove.is-confirm:hover {
  background: #b91c1c;
}

.lux-taskboard-list__item.is-skeleton {
  pointer-events: none;
  cursor: default;
  transform: none;
}

.lux-taskboard-list__item.is-skeleton:hover {
  transform: none;
}

/* Configure panel — board workspace */
.lux-create-panel--taskboard-config .lux-create-panel__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: 0.65rem 0.85rem 0;
}

.lux-tb-config {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.lux-tb-config__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lux-tb-config__toolbar-stat {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.95);
  border: 0px solid rgba(148, 163, 184, 0.2);
  color: #64748b;
}

.lux-tb-config__toolbar-stat.is-active {
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.25);
  color: #047857;
}

.lux-tb-config__hero {
  flex-shrink: 0;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  border: 0px solid rgba(148, 163, 184, 0.16);
  background: linear-gradient(135deg, rgba(91, 95, 244, 0.07), rgba(20, 184, 166, 0.05));
}

.lux-tb-config__hero-title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-tb-config__hero-copy p {
  margin: 0.35rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.45;
}

.lux-tb-config__hero-tips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.lux-tb-config__hero-tips li {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  font-size: 0.6875rem;
  color: #475569;
  line-height: 1.35;
}

.lux-tb-config__hero-tips i {
  color: var(--tb-primary);
  margin-top: 0.1rem;
}

.lux-tb-config__layout {
  display: grid;
  grid-template-columns: minmax(16rem, 20rem) minmax(0, 1fr);
  gap: 0;
  flex: 1;
  min-height: 0;
  border: 0px solid rgba(148, 163, 184, 0.18);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}

.lux-tb-config__list-pane {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-right: 1px solid rgba(148, 163, 184, 0.16);
  background: #f8fafc;
}

.lux-tb-config__list-head {
  padding: 0.85rem 0.75rem 0.65rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.lux-tb-config__list-head-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.lux-tb-config__list-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-tb-config__list-sub {
  margin: 0.35rem 0 0;
  font-size: 0.6875rem;
  color: #94a3b8;
}

.lux-tb-config__new-btn {
  padding: 0.35rem 0.5rem !important;
  min-width: 2rem;
}

.lux-tb-config__filter {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.55rem;
  padding: 0.42rem 0.55rem;
  border-radius: 10px;
  border: 0px solid rgba(148, 163, 184, 0.22);
  background: #fff;
}

.lux-tb-config__filter input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 0.8125rem;
  background: transparent;
  color: #0f172a;
}

.lux-tb-config__filter i {
  color: #94a3b8;
  font-size: 0.875rem;
}

.lux-tb-config__list-body {
  flex: 1;
  overflow-y: auto;
  padding: 0.55rem;
  min-height: 0;
}

.lux-tb-config__board-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.lux-tb-config__board-card {
  border-radius: 12px;
  border: 0px solid rgba(148, 163, 184, 0.18);
  background: #fff;
  overflow: hidden;
  transition: border-color 0.12s, box-shadow 0.12s;
}

.lux-tb-config__board-card.is-selected {
  border-color: var(--tb-primary);
  box-shadow: 0 8px 22px rgba(91, 95, 244, 0.14);
}

.lux-tb-config__board-card.is-inactive {
  opacity: 0.82;
}

.lux-tb-config__board-card-main {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0.65rem 0.7rem 0.5rem;
  border: none;
  background: transparent;
  cursor: pointer;
}

.lux-tb-config__board-card-top {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.35rem;
}

.lux-tb-config__board-status {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.1rem 0.38rem;
  border-radius: 999px;
}

.lux-tb-config__board-status.is-live {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}

.lux-tb-config__board-status.is-off {
  background: rgba(148, 163, 184, 0.14);
  color: #64748b;
}

.lux-tb-config__board-team {
  font-size: 0.5625rem;
  font-weight: 700;
  color: #94a3b8;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.lux-tb-config__board-name {
  display: block;
  font-size: 0.875rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-tb-config__board-desc {
  margin: 0.25rem 0 0;
  font-size: 0.6875rem;
  color: #64748b;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lux-tb-config__board-meta {
  margin-top: 0.35rem;
  font-size: 0.625rem;
  font-weight: 600;
  color: #94a3b8;
}

.lux-tb-config__member-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.4rem;
}

.lux-tb-config__member-pill {
  font-size: 0.5625rem;
  font-weight: 700;
  padding: 0.1rem 0.38rem;
  border-radius: 6px;
  background: rgba(91, 95, 244, 0.1);
  color: #4f46e5;
}

.lux-tb-config__member-pill.is-more {
  background: #f1f5f9;
  color: #64748b;
}

.lux-tb-config__board-card-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.25rem;
  padding: 0.35rem 0.5rem 0.45rem;
  border-top: 1px solid rgba(148, 163, 184, 0.1);
  background: rgba(248, 250, 252, 0.7);
}

.lux-tb-config__toggle {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.lux-tb-config__toggle-track {
  display: block;
  width: 2.1rem;
  height: 1.15rem;
  border-radius: 999px;
  background: #cbd5e1;
  position: relative;
  transition: background 0.14s;
}

.lux-tb-config__toggle.is-on .lux-tb-config__toggle-track {
  background: var(--tb-primary);
}

.lux-tb-config__toggle-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2);
  transition: transform 0.14s;
}

.lux-tb-config__toggle.is-on .lux-tb-config__toggle-thumb {
  transform: translateX(0.95rem);
}

.lux-tb-config__icon-btn {
  width: 1.75rem;
  height: 1.75rem;
  border: 0px solid rgba(148, 163, 184, 0.22);
  border-radius: 8px;
  background: #fff;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color 0.12s, color 0.12s, background 0.12s;
}

.lux-tb-config__icon-btn:hover {
  border-color: var(--tb-primary);
  color: var(--tb-primary);
}

.lux-tb-config__icon-btn.is-danger {
  border-color: rgba(244, 63, 94, 0.45);
  color: #e11d48;
  background: rgba(254, 226, 226, 0.65);
}

.lux-tb-config__icon-btn.is-danger:hover {
  border-color: #f43f5e;
  color: #fff;
  background: #e11d48;
}

.lux-tb-config__icon-btn.is-danger.is-confirm {
  border-color: #b91c1c;
  color: #fff;
  background: #dc2626;
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.35);
}

.lux-tb-config__empty {
  text-align: center;
  padding: 1.25rem 0.75rem;
}

.lux-tb-config__empty-icon {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(91, 95, 244, 0.1);
  color: var(--tb-primary);
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
}

.lux-tb-config__empty strong {
  display: block;
  font-size: 0.875rem;
  color: #0f172a;
}

.lux-tb-config__empty p {
  margin: 0.35rem 0 0.75rem;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-tb-config__list-no-match {
  margin: 0.75rem;
  font-size: 0.75rem;
  color: #94a3b8;
  text-align: center;
}

.lux-tb-config__editor {
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
}

.lux-tb-config__editor-pane {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  height: 100%;
}

.lux-tb-config__editor-scroll {
  flex: 1;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0.85rem 1rem 0.75rem;
  -webkit-overflow-scrolling: touch;
}

.lux-tb-config__editor-placeholder {
  flex: 1;
  min-height: 0;
  padding: 0.85rem 1rem;
  overflow-y: auto;
}

.lux-tb-config__editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.lux-tb-config__editor-kicker {
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #94a3b8;
}

.lux-tb-config__editor-title {
  margin: 0.15rem 0 0;
  font-size: 1.125rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-tb-config__editor-sub {
  margin: 0.3rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.4;
  max-width: 28rem;
}

.lux-tb-config__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.75rem;
}

.lux-tb-config__step {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.625rem;
  font-weight: 700;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  border: 0px dashed rgba(148, 163, 184, 0.35);
  color: #94a3b8;
}

.lux-tb-config__step.is-done {
  border-style: solid;
  border-color: rgba(91, 95, 244, 0.25);
  background: rgba(91, 95, 244, 0.08);
  color: #4f46e5;
}

.lux-tb-config__error {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.65rem;
  margin-bottom: 0.65rem;
  border-radius: 10px;
  background: rgba(244, 63, 94, 0.08);
  border: 0px solid rgba(244, 63, 94, 0.2);
  color: #be123c;
  font-size: 0.75rem;
  font-weight: 600;
}

.lux-tb-config__sections {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1;
}

.lux-tb-config__section {
  padding: 0.75rem 0.85rem;
  border-radius: 14px;
  border: 0px solid rgba(148, 163, 184, 0.14);
  background: rgba(248, 250, 252, 0.6);
}

.lux-tb-config__section-title {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-tb-config__section-hint {
  margin: 0.3rem 0 0.65rem;
  font-size: 0.6875rem;
  color: #94a3b8;
  line-height: 1.4;
}

.lux-tb-config__fields {
  display: grid;
  gap: 0.65rem;
}

.lux-tb-config__fields--2 {
  grid-template-columns: 1fr 1fr;
}

.lux-tb-config__add-member {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 0.5rem;
  align-items: end;
  margin-bottom: 0.65rem;
}

.lux-tb-config__roster-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.lux-tb-config__roster-item {
  display: grid;
  grid-template-columns: 1.5rem 1fr auto;
  gap: 0.5rem;
  align-items: center;
  padding: 0.5rem 0.6rem;
  border-radius: 10px;
  border: 0px solid rgba(148, 163, 184, 0.14);
  background: #fff;
}

.lux-tb-config__roster-index {
  font-size: 0.6875rem;
  font-weight: 800;
  color: #94a3b8;
}

.lux-tb-config__roster-person strong {
  display: block;
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-tb-config__roster-person span {
  font-size: 0.625rem;
  color: #64748b;
}

.lux-tb-config__roster-empty {
  text-align: center;
  padding: 1rem;
  border-radius: 10px;
  border: 0px dashed rgba(148, 163, 184, 0.25);
  color: #94a3b8;
  font-size: 0.75rem;
}

.lux-tb-config__roster-empty i {
  display: block;
  font-size: 1.25rem;
  margin-bottom: 0.35rem;
  color: #cbd5e1;
}

.lux-tb-config__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  margin: 0;
  padding: 0.75rem 1rem;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
  background: #fff;
  box-shadow: 0 -6px 16px rgba(15, 23, 42, 0.05);
  z-index: 2;
}

.lux-tb-config__footer .lux-planner-btn {
  min-height: 2.125rem;
}

/* Legacy configure (unused) */
.lux-taskboard-config {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.lux-taskboard-config__form-card,
.lux-taskboard-config__list-card {
  border-radius: 16px;
  border: 0px solid rgba(148, 163, 184, 0.18);
  background: #fff;
  padding: 1rem 1.1rem;
}

.lux-taskboard-config__section-title {
  margin: 0 0 0.75rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-taskboard-config__grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 1rem;
}

.lux-taskboard-config__roster {
  margin-top: 0.75rem;
  border-radius: 12px;
  border: 0px solid rgba(148, 163, 184, 0.14);
  overflow: hidden;
}

.lux-taskboard-config__roster-head {
  display: grid;
  grid-template-columns: 40px 1fr 1fr 40px;
  gap: 0.5rem;
  padding: 0.5rem 0.65rem;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #94a3b8;
  background: #f8fafc;
}

.lux-taskboard-config__roster-row {
  display: grid;
  grid-template-columns: 40px 1fr 1fr 40px;
  gap: 0.5rem;
  align-items: center;
  padding: 0.45rem 0.65rem;
  border-top: 1px solid rgba(148, 163, 184, 0.1);
  font-size: 0.8125rem;
}

.lux-taskboard-config__add-row {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 0.5rem;
  align-items: end;
  margin-bottom: 0.65rem;
}

.lux-taskboard-config__boards {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.lux-taskboard-config__board-row {
  display: grid;
  grid-template-columns: 32px 1fr 1.2fr auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.7rem 0.85rem;
  border-radius: 12px;
  border: 0px solid rgba(148, 163, 184, 0.16);
  background: #f8fafc;
}

.lux-taskboard-config__board-row.is-editing {
  border-color: var(--tb-primary);
  background: rgba(91, 95, 244, 0.05);
}

/* Status update modal (legacy ModalManager shell — kept for safety) */
.lux-taskboard-modal .modal-content,
.lux-taskboard-modal > div {
  border-radius: 20px;
  overflow: hidden;
  border: none;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.2);
  max-width: 920px;
  width: calc(100vw - 2rem);
}

.lux-taskboard-modal__hero {
  padding: 1rem 1.25rem;
  background: linear-gradient(135deg, rgba(91, 95, 244, 0.12), rgba(20, 184, 166, 0.08));
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}

.lux-taskboard-modal__hero h3 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-taskboard-modal__hero p {
  margin: 0.3rem 0 0;
  font-size: 0.8125rem;
  color: #64748b;
}

.lux-taskboard-modal__body {
  padding: 1rem 1.25rem 1.25rem;
}

.lux-taskboard-modal__task-card {
  border-radius: 14px;
  border: 0px solid rgba(148, 163, 184, 0.18);
  background: #f8fafc;
  padding: 0.85rem 1rem;
  margin-bottom: 1rem;
}

.lux-taskboard-modal__layout {
  display: grid;
  grid-template-columns: 1.2fr 0.9fr;
  gap: 1rem;
}

/* Taskboard complete / start — TimesheetLuxuryDialog body */
.lux-ts-detail__panel.lux-task-complete-dialog {
  width: min(860px, 100%);
}

.lux-ts-detail__panel.lux-task-complete-dialog .lux-ts-detail__foot {
  padding-top: 0.4rem;
}

.lux-ts-detail__panel.lux-task-complete-dialog .lux-create-footer {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.lux-task-complete {
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
}

.lux-task-complete__hero {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  padding: 0.95rem 1.05rem;
  border: 0 solid transparent;
  background:
    linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), rgba(5, 150, 105, 0.06)),
    #ffffff;
}

.lux-task-complete__hero-glow {
  position: absolute;
  inset: auto -20% -60% auto;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18), transparent 70%);
  pointer-events: none;
}

.lux-task-complete__hero-main {
  position: relative;
  z-index: 1;
}

.lux-task-complete__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.45rem;
}

.lux-task-complete__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.16rem 0.55rem;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.lux-task-complete__chip.is-category {
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
  color: #3730a3;
}

.lux-task-complete__chip.is-type {
  background: rgba(100, 116, 139, 0.12);
  color: #475569;
}

.lux-task-complete__name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.25;
  letter-spacing: -0.015em;
}

.lux-task-complete__deliverable {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0.35rem 0 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #475569;
}

.lux-task-complete__deliverable i {
  color: #94a3b8;
}

.lux-task-complete__desc {
  margin: 0.45rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #64748b;
}

.lux-task-complete__meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.lux-task-complete__meta-grid.is-complete {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lux-task-complete__meta {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 0.65rem 0.7rem;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  border: 0 solid transparent;
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
}

.lux-task-complete__meta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 10px;
  background: rgba(148, 163, 184, 0.12);
  color: #64748b;
  flex-shrink: 0;
}

.lux-task-complete__meta.is-blue .lux-task-complete__meta-icon {
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
  color: #4338ca;
}

.lux-task-complete__meta.is-green .lux-task-complete__meta-icon {
  background: rgba(5, 150, 105, 0.12);
  color: #047857;
}

.lux-task-complete__meta.is-amber .lux-task-complete__meta-icon {
  background: rgba(217, 119, 6, 0.12);
  color: #b45309;
}

.lux-task-complete__meta-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}

.lux-task-complete__meta-copy span {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-task-complete__meta-copy strong {
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.25;
  word-break: break-word;
}

.lux-task-complete__readonly {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-height: 2.15rem;
  justify-content: center;
  padding: 0.45rem 0.7rem;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.95);
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
}

.lux-task-complete__readonly-label {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-task-complete__readonly strong {
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-task-complete__history {
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.9);
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
  overflow: hidden;
}

.lux-task-complete__history-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.7rem 0.85rem;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #0f172a;
  font-size: 0.8125rem;
  font-weight: 700;
  text-align: left;
}

.lux-task-complete__history-toggle span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.lux-task-complete__history-toggle em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  font-style: normal;
  font-size: 0.6875rem;
  font-weight: 800;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
  color: #4338ca;
}

.lux-task-complete__history-list {
  list-style: none;
  margin: 0;
  padding: 0 0.85rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.lux-task-complete__history-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.45rem 0.6rem;
  border-radius: 10px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
  font-size: 0.75rem;
  color: #475569;
}

.lux-task-complete__history-list strong {
  font-weight: 800;
  color: #0f172a;
}

.lux-task-complete__dropzone {
  border-radius: 14px;
  padding: 0.15rem;
  background: rgba(248, 250, 252, 0.85);
}

@media (max-width: 720px) {
  .lux-task-complete__meta-grid,
  .lux-task-complete__meta-grid.is-complete {
    grid-template-columns: 1fr;
  }
}

/* —— EH16 Delivery sprints command center (/project/delivery) —— */
.lux-delivery-sprint__insights {
  margin-bottom: 0.85rem;
}

.lux-delivery-sprint__panel .lux-hrms-dash__panel-head {
  align-items: flex-start;
}

.lux-delivery-sprint__view-toggle {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  padding: 0.2rem;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.95);
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
}

.lux-delivery-sprint__view-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.7rem;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
}

.lux-delivery-sprint__view-btn.is-active {
  background: #fff;
  color: #0f172a;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.lux-delivery-sprint__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.85rem;
}

.lux-delivery-sprint__search {
  position: relative;
  flex: 1 1 220px;
  min-width: 180px;
}

.lux-delivery-sprint__search i {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  font-size: 0.85rem;
  pointer-events: none;
}

.lux-delivery-sprint__search input {
  width: 100%;
  height: 2.35rem;
  padding: 0 0.75rem 0 2.15rem;
  border: none;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: inset 0 0 0 1px rgba(203, 213, 225, 0.95);
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-delivery-sprint__search input:focus {
  outline: none;
  box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.55),
    0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-delivery-sprint__chips {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.lux-delivery-sprint__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.35rem 0.7rem;
  border: none;
  border-radius: 999px;
  background: rgba(241, 245, 249, 0.95);
  color: #475569;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
}

.lux-delivery-sprint__chip em {
  font-style: normal;
  min-width: 1.15rem;
  padding: 0 0.3rem;
  border-radius: 999px;
  background: rgba(244, 63, 94, 0.12);
  color: #e11d48;
  font-size: 0.6875rem;
  font-weight: 800;
  text-align: center;
}

.lux-delivery-sprint__chip.is-active {
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
  color: #3730a3;
}

.lux-delivery-sprint__select {
  height: 2.35rem;
  min-width: 9.5rem;
  padding: 0 0.7rem;
  border: none;
  border-radius: 12px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(203, 213, 225, 0.95);
  font-size: 0.75rem;
  font-weight: 600;
  color: #0f172a;
}

.lux-delivery-sprint__clear {
  border: none;
  background: transparent;
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.lux-delivery-sprint__bulk {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.8rem;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), rgba(5, 150, 105, 0.05));
  box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
  font-size: 0.8125rem;
  color: #334155;
}

.lux-delivery-sprint__board {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 0.85rem;
}

.lux-delivery-sprint__card {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.85rem 0.9rem 0.75rem;
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 45%),
    #fff;
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95), 0 10px 28px rgba(15, 23, 42, 0.04);
}

.lux-delivery-sprint__card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.lux-delivery-sprint__card-title-btn {
  display: block;
  padding: 0;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.lux-delivery-sprint__card-title-btn h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.015em;
}

.lux-delivery-sprint__card-sub {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0.25rem 0 0;
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-delivery-sprint__card-sub code {
  padding: 0.05rem 0.35rem;
  border-radius: 6px;
  background: rgba(148, 163, 184, 0.12);
  font-size: 0.625rem;
}

.lux-delivery-sprint__ring {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, #fff 58%, transparent 59%),
    conic-gradient(#10b981 var(--delivery-pct, 0%), rgba(226, 232, 240, 0.95) 0);
}

.lux-delivery-sprint__ring strong {
  font-size: 0.6875rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-delivery-sprint__bar {
  height: 0.35rem;
  border-radius: 999px;
  background: rgba(226, 232, 240, 0.95);
  overflow: hidden;
}

.lux-delivery-sprint__bar > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #6366f1, #10b981);
}

.lux-delivery-sprint__task-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.lux-delivery-sprint__task-list.is-register {
  gap: 0.55rem;
}

.lux-delivery-sprint__task {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.55rem;
  align-items: start;
  padding: 0.55rem 0.6rem;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.85);
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
}

.lux-delivery-sprint__task.is-selected {
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
  box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.lux-delivery-sprint__check {
  margin: 0.15rem 0 0;
}

.lux-delivery-sprint__task-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.65rem;
}

.lux-delivery-sprint__task-name {
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0f172a;
  text-decoration: none;
}

.lux-delivery-sprint__task-name:hover {
  color: #4338ca;
}

.lux-delivery-sprint__project-link {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #64748b;
  text-decoration: none;
}

.lux-delivery-sprint__project-link:hover {
  color: #4338ca;
}

.lux-delivery-sprint__task-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem;
  margin-top: 0.3rem;
}

.lux-delivery-sprint__pill {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
}

.lux-delivery-sprint__pill.is-green { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-delivery-sprint__pill.is-blue { background: rgba(59, 130, 246, 0.14); color: #1d4ed8; }
.lux-delivery-sprint__pill.is-amber { background: rgba(245, 158, 11, 0.16); color: #b45309; }
.lux-delivery-sprint__pill.is-rose { background: rgba(244, 63, 94, 0.14); color: #e11d48; }
.lux-delivery-sprint__pill.is-slate { background: rgba(148, 163, 184, 0.14); color: #475569; }

.lux-delivery-sprint__muted {
  font-size: 0.6875rem;
  color: #94a3b8;
}

.lux-delivery-sprint__task-actions .lux-delivery-sprint__select {
  min-width: 8.5rem;
  height: 2rem;
}

.lux-delivery-sprint__more {
  align-self: flex-start;
  margin-top: 0.15rem;
  padding: 0;
  border: none;
  background: transparent;
  color: #4338ca;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
}

.lux-delivery-sprint__register {
  border-radius: 16px;
  padding: 0.65rem;
  background: rgba(248, 250, 252, 0.55);
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
}

.lux-delivery-sprint__pulse {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.lux-delivery-sprint__pulse-row {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.7rem 0.85rem;
  border-radius: 14px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
}

.lux-delivery-sprint__pulse-copy {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.lux-delivery-sprint__pulse-copy strong {
  font-size: 0.875rem;
  color: #0f172a;
}

.lux-delivery-sprint__pulse-copy span {
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-delivery-sprint__pulse-track {
  display: flex;
  height: 0.55rem;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(226, 232, 240, 0.9);
}

.lux-delivery-sprint__pulse-track .is-done {
  background: #10b981;
}

.lux-delivery-sprint__pulse-track .is-open {
  background: #f59e0b;
}

.lux-delivery-sprint__pulse-pct {
  font-size: 0.8125rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-delivery-sprint__skeleton {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.lux-delivery-sprint__skeleton-card {
  min-height: 160px;
  border-radius: 18px;
  background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 37%, #f1f5f9 63%);
  background-size: 400% 100%;
  animation: lux-delivery-skeleton 1.2s ease infinite;
}

@keyframes lux-delivery-skeleton {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}

@media (max-width: 900px) {
  .lux-delivery-sprint__pulse-row {
    grid-template-columns: 1fr;
  }
  .lux-delivery-sprint__skeleton {
    grid-template-columns: 1fr;
  }
  .lux-delivery-sprint__task {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .lux-delivery-sprint__task-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1200px) {
  .lux-taskboard-kanban {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .lux-taskboard-kanban {
    grid-template-columns: 1fr;
  }
  .lux-taskboard-list__head,
  .lux-taskboard-list__item {
    min-width: 0;
    grid-template-columns: 1fr;
  }

  .lux-taskboard-list__col--actions {
    justify-self: stretch;
  }

  .lux-taskboard-list__actions {
    justify-content: flex-start;
  }
  .lux-tb-config__layout {
    grid-template-columns: 1fr;
  }
  .lux-tb-config__hero {
    grid-template-columns: 1fr;
  }
  .lux-tb-config__fields--2,
  .lux-tb-config__add-member {
    grid-template-columns: 1fr;
  }
  .lux-taskboard-config__grid {
    grid-template-columns: 1fr;
  }
  .lux-taskboard-modal__layout {
    grid-template-columns: 1fr;
  }
}
/* Team capacity — luxury planner (fresh redesign) */
.lux-planner-page {
    font-family: var(--lux-font, "Inter", system-ui, -apple-system, sans-serif);
}

.lux-planner-shell__intro {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: 0.75rem 1rem;
    margin: 0 0 0.85rem;
    padding: 0 0 0.85rem;
    border: none;
    border-radius: 0;
    background: transparent;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-planner-shell__intro-main {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.lux-planner-shell__range {
    margin: 0.15rem 0 0;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-planner-shell__horizon {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.lux-planner-shell__horizon > span {
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 600;
}

.lux-planner-shell__holiday {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.8125rem;
    color: #475569;
    cursor: pointer;
}

.lux-planner-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.85rem;
}

.lux-planner-nav__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border-radius: 12px;
    border: 0px solid rgba(148, 163, 184, 0.25);
    background: #fff;
    color: #475569;
    font-size: 0.8125rem;
    font-weight: 600;
    transition: all 0.15s ease;
}

.lux-planner-nav__item.is-active {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    color: #fff;
    border-color: transparent;
    box-shadow: 0 8px 20px rgba(91, 95, 244, 0.28);
}

.lux-planner-segment {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    padding: 0.2rem;
    border-radius: 10px;
    background: rgba(241, 245, 249, 0.9);
    border: 0px solid rgba(148, 163, 184, 0.2);
}

.lux-planner-segment button {
    border: none;
    background: transparent;
    padding: 0.35rem 0.7rem;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-planner-segment button.is-active {
    background: #fff;
    color: var(--lux-primary, #5b5ff4);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.lux-planner-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.85rem;
    border-radius: 10px;
    font-size: 0.8125rem;
    font-weight: 600;
    border: 0px solid transparent;
    cursor: pointer;
}

.lux-planner-btn--ghost {
    background: #fff;
    border-color: rgba(148, 163, 184, 0.35);
    color: #334155;
}

.lux-planner-btn--primary {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    color: #fff;
    box-shadow: 0 6px 16px rgba(91, 95, 244, 0.25);
}

.lux-planner-hero {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}

.lux-planner-hero__eyebrow {
    display: block;
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #64748b;
    font-weight: 600;
}

.lux-planner-hero__title-row {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.lux-planner-hero__title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.lux-planner-hero__badge {
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
}

.lux-planner-hero__badge.is-good { background: #d1fae5; color: #047857; }
.lux-planner-hero__badge.is-warn { background: #fef3c7; color: #b45309; }
.lux-planner-hero__badge.is-bad { background: #fee2e2; color: #b91c1c; }

.lux-planner-hero__desc {
    margin: 0.35rem 0 0;
    color: #64748b;
    font-size: 0.875rem;
    max-width: 52rem;
    line-height: 1.5;
}

.lux-planner-hero__meta {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    color: #94a3b8;
}

.lux-planner-hero__actions {
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.lux-planner-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.85rem;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-planner-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.lux-planner-legend__swatch {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    border: 2px solid var(--legend-color, #94a3b8);
    background: color-mix(in srgb, var(--legend-color, #94a3b8) 18%, #fff);
}

.lux-planner-legend__swatch.is-available {
    border-color: #10b981;
    background: rgba(16, 185, 129, 0.16);
}

.lux-planner-legend__swatch.is-light {
    border-color: #14b8a6;
    background: rgba(20, 184, 166, 0.12);
}

.lux-planner-legend__swatch.is-balanced {
    border-color: #3b82f6;
    background: rgba(59, 130, 246, 0.12);
}

.lux-planner-legend__swatch.is-high {
    border-color: #f59e0b;
    background: rgba(245, 158, 11, 0.14);
}

.lux-planner-legend__swatch.is-critical {
    border-color: #ef4444;
    background: rgba(239, 68, 68, 0.12);
}

.lux-planner-legend__swatch.is-leave {
    border-color: #a855f7;
    background: rgba(168, 85, 247, 0.12);
}

.lux-planner-panel-head h3 {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
}

.lux-planner-panel-head p {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-planner-panel-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

/* Overview */
.lux-planner-overview__top {
    display: grid;
    grid-template-columns: minmax(200px, 260px) 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.lux-planner-health {
    padding: 1rem;
    border-radius: 16px;
    border: 0px solid rgba(148, 163, 184, 0.2);
    background: #fff;
}

.lux-planner-health__ring {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
    background: conic-gradient(
        var(--lux-primary, #5b5ff4) calc(var(--score) * 1%),
        #e2e8f0 0
    );
    position: relative;
}

.lux-planner-health__ring::after {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    background: #fff;
}

.lux-planner-health__ring strong,
.lux-planner-health__ring span {
    position: relative;
    z-index: 1;
    line-height: 1.1;
}

.lux-planner-health__ring strong {
    font-size: 1.25rem;
    color: #0f172a;
}

.lux-planner-health__ring span {
    font-size: 0.625rem;
    color: #64748b;
    text-transform: uppercase;
}

.lux-planner-health p {
    margin: 0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-planner-alert-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.5rem;
}

.lux-planner-alert-card {
    display: flex;
    gap: 0.5rem;
    padding: 0.6rem 0.7rem;
    border-radius: 12px;
    border: 0px solid rgba(148, 163, 184, 0.2);
    background: #fff;
    font-size: 0.75rem;
}

.lux-planner-alert-card strong {
    display: block;
    color: #0f172a;
}

.lux-planner-alert-card span {
    color: #64748b;
}

.lux-planner-alert-card.is-critical { border-left: 3px solid #ef4444; }
.lux-planner-alert-card.is-warning { border-left: 3px solid #f59e0b; }
.lux-planner-alert-card.is-info { border-left: 3px solid #3b82f6; }

.lux-planner-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.lux-planner-kpi-card {
    padding: 0.75rem;
    border-radius: 14px;
    background: #fff;
    border: 0px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-planner-kpi-card__icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(91, 95, 244, 0.1);
    color: var(--lux-primary, #5b5ff4);
    margin-bottom: 0.35rem;
}

.lux-planner-kpi-card.is-critical .lux-planner-kpi-card__icon {
    background: rgba(239, 68, 68, 0.12);
    color: #ef4444;
}

.lux-planner-kpi-card__label {
    display: block;
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.lux-planner-kpi-card__value {
    font-size: 1.35rem;
    color: #0f172a;
}

.lux-planner-kpi-card small {
    display: block;
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-planner-heatmap-preview {
    padding: 0.75rem;
    border-radius: 14px;
    border: 0px solid rgba(148, 163, 184, 0.18);
    background: #fff;
}

.lux-planner-heatmap-preview__days,
.lux-planner-heatmap-preview__row {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) 48px;
    gap: 0.35rem;
    align-items: center;
}

.lux-planner-heatmap-preview__days {
    margin-bottom: 0.35rem;
}

.lux-planner-heatmap-preview__days-track {
    display: flex;
    gap: 2px;
    min-width: 0;
}

.lux-planner-heatmap-preview__day {
    flex: 1;
    min-width: 4px;
    text-align: center;
    font-size: 0.625rem;
    font-weight: 600;
    line-height: 1.2;
    color: #94a3b8;
}

.lux-planner-heatmap-preview__day.is-weekend {
    color: #cbd5e1;
}

.lux-planner-heatmap-preview__day.is-today {
    color: var(--lux-primary, #5b5ff4);
    font-weight: 800;
}

.lux-planner-heatmap-preview__cells {
    display: flex;
    gap: 2px;
    min-width: 0;
}

.lux-planner-heatmap-preview__cells span {
    flex: 1;
    height: 14px;
    border-radius: 3px;
    min-width: 4px;
}

.lux-planner-heatmap-preview__name {
    font-size: 0.75rem;
    font-weight: 600;
    color: #334155;
}

.lux-planner-heatmap-preview__pct {
    font-size: 0.6875rem;
    font-weight: 700;
    text-align: right;
}

/* Top projects — luxury portfolio panel */
.lux-planner-projects {
    margin-top: 1.25rem;
    border-radius: 20px;
    border: 0px solid rgba(148, 163, 184, 0.2);
    background: linear-gradient(165deg, #fff 0%, #f8fafc 45%, rgba(91, 95, 244, 0.04) 100%);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.lux-planner-projects__head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
    background: linear-gradient(135deg, rgba(91, 95, 244, 0.07), rgba(20, 184, 166, 0.05));
}

.lux-planner-projects__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--lux-primary, #5b5ff4);
    margin-bottom: 0.25rem;
}

.lux-planner-projects__head h3 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.lux-planner-projects__head p {
    margin: 0.35rem 0 0;
    max-width: 36rem;
    font-size: 0.8125rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-planner-projects__head-stat {
    padding: 0.65rem 0.85rem;
    border-radius: 14px;
    background: #fff;
    border: 0px solid rgba(148, 163, 184, 0.2);
    text-align: right;
    min-width: 120px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-planner-projects__head-stat span {
    display: block;
    font-size: 0.625rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
}

.lux-planner-projects__head-stat strong {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.lux-planner-projects__head-stat small {
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-planner-projects__body {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(320px, 1.15fr);
    gap: 0;
}

.lux-planner-projects__chart-panel,
.lux-planner-projects__ranked {
    padding: 1rem 1.15rem;
}

.lux-planner-projects__chart-panel {
    border-right: 1px solid rgba(148, 163, 184, 0.12);
    background: rgba(255, 255, 255, 0.65);
}

.lux-planner-projects__chart-label,
.lux-planner-projects__ranked-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    margin-bottom: 0.65rem;
}

.lux-planner-projects__chart-skeleton {
    height: 220px;
    border-radius: 12px;
    background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
    background-size: 200% 100%;
    animation: luxPlannerShimmer 1.2s ease infinite;
}

@keyframes luxPlannerShimmer {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

.lux-planner-projects__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lux-planner-projects__row {
    display: grid;
    grid-template-columns: 40px 1fr auto;
    gap: 0.65rem;
    align-items: start;
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    background: #fff;
    border: 0px solid rgba(148, 163, 184, 0.16);
    transition: box-shadow 0.15s, border-color 0.15s;
}

.lux-planner-projects__row:hover {
    border-color: rgba(91, 95, 244, 0.35);
    box-shadow: 0 10px 24px rgba(91, 95, 244, 0.1);
}

.lux-planner-projects__rank {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #64748b;
    background: #f1f5f9;
}

.lux-planner-projects__rank.is-gold {
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #b45309;
}

.lux-planner-projects__rank.is-silver {
    background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
    color: #475569;
}

.lux-planner-projects__rank.is-bronze {
    background: linear-gradient(135deg, #ffedd5, #fed7aa);
    color: #c2410c;
}

.lux-planner-projects__row-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.lux-planner-projects__row-top strong {
    font-size: 0.875rem;
    color: #0f172a;
}

.lux-planner-projects__share {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--lux-primary, #5b5ff4);
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: rgba(91, 95, 244, 0.1);
}

.lux-planner-projects__bar-track {
    height: 6px;
    border-radius: 6px;
    background: rgba(226, 232, 240, 0.9);
    overflow: hidden;
    margin-bottom: 0.45rem;
}

.lux-planner-projects__bar-fill {
    height: 100%;
    border-radius: 6px;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    transition: width 0.4s ease;
}

.lux-planner-projects__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.85rem;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-planner-projects__meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-planner-projects__meta .fe {
    font-size: 0.75rem;
    color: #94a3b8;
}

.lux-planner-projects__statuses {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-top: 0.4rem;
}

.lux-planner-projects__status-chip {
    font-size: 0.625rem;
    font-weight: 600;
    padding: 0.12rem 0.4rem;
    border-radius: 6px;
    border-left: 3px solid #94a3b8;
    background: #f8fafc;
    color: #475569;
    text-transform: capitalize;
}

.lux-planner-projects__open {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.6rem;
    border-radius: 12px;
    border: 0px solid rgba(148, 163, 184, 0.22);
    background: linear-gradient(145deg, #fff, #f8fafc);
    color: inherit;
    text-decoration: none;
    min-width: 148px;
    transition: transform 0.12s, box-shadow 0.12s, border-color 0.12s;
}

.lux-planner-projects__open:hover {
    text-decoration: none;
    border-color: rgba(91, 95, 244, 0.4);
    box-shadow: 0 6px 16px rgba(91, 95, 244, 0.15);
    transform: translateY(-1px);
}

.lux-planner-projects__open > .fe:first-child {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(91, 95, 244, 0.15), rgba(20, 184, 166, 0.12));
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.95rem;
}

.lux-planner-projects__open span {
    flex: 1;
    min-width: 0;
}

.lux-planner-projects__open strong {
    display: block;
    font-size: 0.75rem;
    color: #0f172a;
}

.lux-planner-projects__open small {
    display: block;
    font-size: 0.625rem;
    color: #94a3b8;
}

.lux-planner-projects__open .fe-chevron-right {
    color: #94a3b8;
    font-size: 0.875rem;
}

.lux-planner-projects__open.is-muted {
    opacity: 0.85;
    cursor: default;
}

.lux-planner-projects__foot {
    margin-top: 0.75rem;
    padding-top: 0.65rem;
    border-top: 1px dashed rgba(148, 163, 184, 0.25);
}

.lux-planner-projects__report-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--lux-primary, #5b5ff4);
}

.lux-planner-projects--empty {
    padding: 1.25rem;
    text-align: center;
}

@media (max-width: 960px) {
    .lux-planner-projects__body {
        grid-template-columns: 1fr;
    }
    .lux-planner-projects__chart-panel {
        border-right: none;
        border-bottom: 1px solid rgba(148, 163, 184, 0.12);
    }
    .lux-planner-projects__row {
        grid-template-columns: 36px 1fr;
    }
    .lux-planner-projects__row-actions {
        grid-column: 1 / -1;
    }
    .lux-planner-projects__open {
        width: 100%;
    }
}

.lux-planner-chart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.lux-planner-chart-card {
    padding: 0.85rem;
    border-radius: 14px;
    border: 0px solid rgba(148, 163, 184, 0.18);
    background: #fff;
}

.lux-planner-chart-card--wide { grid-column: 1 / -1; }

.lux-planner-attention__chip {
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #fff;
    padding: 0.3rem 0.7rem;
    font-size: 0.75rem;
    margin: 0 0.35rem 0.35rem 0;
}

.lux-planner-attention__chip.is-active {
    border-color: var(--lux-primary, #5b5ff4);
    background: rgba(91, 95, 244, 0.08);
    color: var(--lux-primary, #5b5ff4);
}

/* Roster heatmap */
.lux-planner-roster__controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
    margin-bottom: 0.85rem;
    padding: 0.55rem 0.65rem;
    border-radius: 14px;
    border: 1px solid rgba(15, 118, 110, 0.12);
    background:
        radial-gradient(circle at 0% 0%, rgba(15, 118, 110, 0.06), transparent 46%),
        linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.03);
}

.lux-planner-roster__search {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.65rem;
    border-radius: 11px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #fff;
    min-width: 210px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.lux-planner-roster__search i {
    color: #0f766e;
}

.lux-planner-roster__search input {
    border: none;
    outline: none;
    font-size: 0.8125rem;
    width: 160px;
    background: transparent;
    color: #0f172a;
}

.lux-planner-heatmap-wrap {
    overflow: auto;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background:
        linear-gradient(180deg, rgba(248, 250, 252, 0.92), #ffffff);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 12px 28px rgba(15, 23, 42, 0.05);
    max-height: min(70vh, 720px);
}

.lux-planner-heatmap {
    --heatmap-person-col: 248px;
    --heatmap-days: 14;
    min-width: calc(var(--heatmap-person-col) + (var(--heatmap-days) * 34px));
}

.lux-planner-heatmap__head-days,
.lux-planner-heatmap__row {
    display: grid;
    grid-template-columns: var(--heatmap-person-col) repeat(var(--heatmap-days), minmax(32px, 1fr));
    gap: 3px;
    align-items: stretch;
    padding: 3px 4px;
    box-sizing: border-box;
}

.lux-planner-heatmap__head-days {
    position: sticky;
    top: 0;
    z-index: 5;
    padding-top: 4px;
    padding-bottom: 4px;
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.04);
}

.lux-planner-heatmap__head-corner,
.lux-planner-heatmap__person {
    position: sticky;
    left: 0;
    z-index: 3;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    background: #f8fafc;
}

.lux-planner-heatmap__head-corner {
    z-index: 6;
    padding: 0.4rem 0.55rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    display: flex;
    align-items: flex-end;
    border-right: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
}

.lux-planner-heatmap__head-day {
    box-sizing: border-box;
    text-align: center;
    padding: 0.35rem 0.1rem;
    font-size: 0.6rem;
    font-weight: 700;
    color: #64748b;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.14s ease, color 0.14s ease;
}

.lux-planner-heatmap__head-day:hover {
    background: rgba(15, 118, 110, 0.08);
    color: #0f766e;
}

.lux-planner-heatmap__head-day strong {
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
}

.lux-planner-heatmap__head-day.is-today,
.lux-planner-heatmap__head-day.is-focus {
    background: rgba(15, 118, 110, 0.12);
    color: #0f766e;
}

.lux-planner-heatmap__head-day.is-today strong,
.lux-planner-heatmap__head-day.is-focus strong {
    color: #0f766e;
}

.lux-planner-heatmap__head-day.is-holiday {
    background: repeating-linear-gradient(
        -45deg,
        rgba(251, 191, 36, 0.16),
        rgba(251, 191, 36, 0.16) 4px,
        transparent 4px,
        transparent 8px
    );
}

.lux-planner-heatmap__head-day.is-weekend {
    color: #94a3b8;
}

.lux-planner-heatmap__row {
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-planner-heatmap__row:hover .lux-planner-heatmap__person {
    background: rgba(15, 118, 110, 0.05);
}

.lux-planner-heatmap__person {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.5rem;
    border: none;
    border-right: 1px solid rgba(226, 232, 240, 0.95);
    text-align: left;
    cursor: pointer;
    min-height: 48px;
    box-shadow: 4px 0 10px rgba(15, 23, 42, 0.03);
}

.lux-planner-heatmap__person:hover {
    background: rgba(15, 118, 110, 0.06);
}

.lux-planner-heatmap__avatar {
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    background: linear-gradient(145deg, #0f766e, #0ea5e9);
    color: #fff;
    font-weight: 800;
    font-size: 0.68rem;
    letter-spacing: 0.02em;
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    box-shadow: 0 6px 14px rgba(15, 118, 110, 0.2);
}

.lux-planner-heatmap__person-text {
    min-width: 0;
    flex: 1;
}

.lux-planner-heatmap__person-text strong {
    display: block;
    font-size: 0.8rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-planner-heatmap__person-text span {
    display: block;
    font-size: 0.66rem;
    color: #94a3b8;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-planner-util-ring {
    position: relative;
    width: 36px;
    height: 36px;
    margin-left: auto;
    flex-shrink: 0;
}

.lux-planner-util-ring svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.lux-planner-util-ring__bg {
    fill: none;
    stroke: #e2e8f0;
    stroke-width: 3;
}

.lux-planner-util-ring__fill {
    fill: none;
    stroke: #0f766e;
    stroke-width: 3;
    stroke-linecap: round;
}

.lux-planner-util-ring.is-critical .lux-planner-util-ring__fill { stroke: #ef4444; }
.lux-planner-util-ring.is-high .lux-planner-util-ring__fill { stroke: #f59e0b; }
.lux-planner-util-ring.is-available .lux-planner-util-ring__fill { stroke: #10b981; }
.lux-planner-util-ring.is-balanced .lux-planner-util-ring__fill { stroke: #0ea5e9; }
.lux-planner-util-ring.is-light .lux-planner-util-ring__fill { stroke: #14b8a6; }

.lux-planner-util-ring span {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.54rem;
    font-weight: 800;
    color: #334155;
}

.lux-planner-heatmap__cell {
    position: relative;
    box-sizing: border-box;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    transition: box-shadow 0.15s ease, transform 0.12s ease, border-color 0.14s ease;
    overflow: hidden;
}

.lux-planner-heatmap__cell-fill {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: var(--cell-fill, 0%);
    max-height: 100%;
    background: var(--cell-color, #94a3b8);
    opacity: 0.5;
    pointer-events: none;
    border-radius: 0 0 4px 4px;
}

/* Capacity at a glance — border + tint by utilization band */
.lux-planner-heatmap__cell.is-available {
    border-color: #10b981;
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.18) 0%, rgba(16, 185, 129, 0.06) 100%);
}

.lux-planner-heatmap__cell.is-available.is-empty .lux-planner-heatmap__cell-fill {
    opacity: 0;
}

.lux-planner-heatmap__cell.is-available.is-empty::after {
    content: "";
    position: absolute;
    inset: auto 0 5px 0;
    margin: 0 auto;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10b981;
    opacity: 0.55;
    pointer-events: none;
}

.lux-planner-heatmap__cell.is-light {
    border-color: #14b8a6;
    background: linear-gradient(180deg, rgba(20, 184, 166, 0.14) 0%, rgba(20, 184, 166, 0.05) 100%);
}

.lux-planner-heatmap__cell.is-balanced {
    border-color: #3b82f6;
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.16) 0%, rgba(59, 130, 246, 0.06) 100%);
}

.lux-planner-heatmap__cell.is-high {
    border-color: #f59e0b;
    background: linear-gradient(180deg, rgba(245, 158, 11, 0.2) 0%, rgba(245, 158, 11, 0.08) 100%);
}

.lux-planner-heatmap__cell.is-high .lux-planner-heatmap__cell-fill {
    opacity: 0.62;
}

.lux-planner-heatmap__cell.is-critical {
    border-color: #ef4444;
    background: linear-gradient(180deg, rgba(239, 68, 68, 0.22) 0%, rgba(239, 68, 68, 0.1) 100%);
}

.lux-planner-heatmap__cell.is-critical .lux-planner-heatmap__cell-fill {
    opacity: 0.68;
}

.lux-planner-heatmap__cell.is-no-capacity:not(.is-on-leave) {
    border-color: #cbd5e1;
    background: #f1f5f9;
    cursor: default;
}

.lux-planner-heatmap__cell.is-no-capacity .lux-planner-heatmap__cell-fill {
    opacity: 0.25;
}

.lux-planner-heatmap__cell.is-weekend:not(.is-on-leave):not(.is-available.is-empty) {
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.12);
}

.lux-planner-heatmap__cell:hover:not(.is-on-leave):not(.is-no-capacity) {
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
    z-index: 1;
}

.lux-planner-heatmap__cell-count {
    position: absolute;
    top: 3px;
    left: 4px;
    z-index: 1;
    font-size: 0.5625rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
    padding: 2px 4px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.82);
}

.lux-planner-heatmap__cell-free {
    position: absolute;
    right: 3px;
    bottom: 3px;
    z-index: 1;
    font-size: 0.5rem;
    font-weight: 700;
    color: #047857;
    line-height: 1;
    padding: 1px 3px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.88);
    pointer-events: none;
}

.lux-planner-heatmap__cell.is-high .lux-planner-heatmap__cell-free,
.lux-planner-heatmap__cell.is-critical .lux-planner-heatmap__cell-free {
    display: none;
}

.lux-planner-heatmap__cell.is-holiday:not(.is-on-leave) {
    background-image: repeating-linear-gradient(
        -45deg,
        rgba(251, 191, 36, 0.1),
        rgba(251, 191, 36, 0.1) 4px,
        transparent 4px,
        transparent 8px
    );
    background-color: #fff;
    background-blend-mode: multiply;
}

.lux-planner-roster__tips {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.6rem;
    margin-top: 1rem;
}

.lux-planner-roster__tips article {
    display: flex;
    gap: 0.6rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    border: 0px solid rgba(148, 163, 184, 0.15);
    font-size: 0.75rem;
}

.lux-planner-roster__tips i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 1.1rem;
}

/* Timeline */
.lux-planner-timeline__capacity-strip {
    display: flex;
    align-items: flex-end;
    gap: 0.65rem;
    margin-bottom: 1rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: #fff;
    border: 0px solid rgba(148, 163, 184, 0.18);
}

.lux-planner-timeline__strip-label {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.lux-planner-timeline__strip-cells {
    display: flex;
    flex: 1;
    gap: 3px;
    height: 48px;
    align-items: flex-end;
}

.lux-planner-timeline__strip-cell {
    flex: 1;
    height: 100%;
    background: #f1f5f9;
    border-radius: 4px 4px 0 0;
    display: flex;
    align-items: flex-end;
}

.lux-planner-timeline__strip-cell span {
    display: block;
    width: 100%;
    border-radius: 4px 4px 0 0;
    background: #94a3b8;
}

.lux-planner-timeline__strip-cell.is-available span { background: #10b981; }
.lux-planner-timeline__strip-cell.is-balanced span { background: #3b82f6; }
.lux-planner-timeline__strip-cell.is-high span { background: #f59e0b; }
.lux-planner-timeline__strip-cell.is-critical span { background: #ef4444; }

.lux-planner-timeline__lane-search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.lux-planner-timeline__lane-search input {
    flex: 1;
    max-width: 280px;
    padding: 0.4rem 0.65rem;
    border-radius: 10px;
    border: 0px solid rgba(148, 163, 184, 0.3);
    font-size: 0.8125rem;
}

.lux-planner-timeline__board {
    border-radius: 16px;
    border: 0px solid rgba(148, 163, 184, 0.2);
    background: #fff;
    overflow: hidden;
}

.lux-planner-timeline__axis {
    display: flex;
    position: relative;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
    background: #f8fafc;
    padding-left: 200px;
}

.lux-planner-timeline__axis-day {
    flex: 1;
    text-align: center;
    padding: 0.35rem 0;
    font-size: 0.625rem;
    color: #64748b;
    min-width: 32px;
}

.lux-planner-timeline__axis-day.is-today {
    background: rgba(91, 95, 244, 0.1);
    color: var(--lux-primary, #5b5ff4);
}

.lux-planner-timeline__today {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--lux-primary, #5b5ff4);
    z-index: 2;
    pointer-events: none;
}

.lux-planner-timeline__lane {
    display: grid;
    grid-template-columns: 200px 1fr;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    min-height: 44px;
}

.lux-planner-timeline__lane-head {
    padding: 0.45rem 0.6rem;
    border-right: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-planner-timeline__lane-head strong {
    display: block;
    font-size: 0.8125rem;
}

.lux-planner-timeline__lane-head span {
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-planner-timeline__lane-head em {
    display: block;
    font-size: 0.6875rem;
    font-style: normal;
    color: var(--lux-primary, #5b5ff4);
    font-weight: 600;
}

.lux-planner-timeline__lane-track {
    position: relative;
    min-height: 44px;
    margin: 4px 8px;
}

.lux-planner-timeline__day-grid {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(var(--timeline-days, 14), minmax(0, 1fr));
    pointer-events: none;
    z-index: 0;
}

.lux-planner-timeline__day-cell {
    border-right: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-planner-timeline__day-cell.is-weekend {
    background: rgba(248, 250, 252, 0.85);
}

.lux-planner-timeline__day-cell.is-today {
    background: rgba(91, 95, 244, 0.06);
}

.lux-planner-timeline__segments-layer {
    position: relative;
    z-index: 1;
    min-height: 44px;
}

.lux-planner-timeline__segment {
    position: absolute;
    top: 8px;
    height: 30px;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 600;
    padding: 0;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.18);
    cursor: pointer;
    overflow: hidden;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-width: 2.5%;
    transition: box-shadow 0.12s, transform 0.12s;
}

.lux-planner-timeline__segment:hover,
.lux-planner-timeline__segment:focus-visible {
    z-index: 3;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.28);
    transform: translateY(-1px);
    outline: none;
}

.lux-planner-timeline__segment.is-selected {
    outline: 2px solid #fff;
    outline-offset: 1px;
    box-shadow: 0 0 0 2px var(--lux-primary, #5b5ff4), 0 8px 18px rgba(91, 95, 244, 0.35);
    z-index: 4;
}

.lux-planner-timeline__segment-label {
    display: block;
    width: 100%;
    padding: 0 0.5rem;
    line-height: 30px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
    text-shadow: 0 1px 2px rgba(15, 23, 42, 0.35);
}

.lux-planner-timeline-popover {
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
    border: 0px solid rgba(148, 163, 184, 0.2);
    overflow: hidden;
    pointer-events: auto;
}

.lux-planner-timeline-popover__accent {
    height: 4px;
}

.lux-planner-timeline-popover__body {
    padding: 0.65rem 0.75rem 0.75rem;
    font-size: 0.75rem;
}

.lux-planner-timeline-popover__body strong {
    display: block;
    font-size: 0.875rem;
    color: #0f172a;
    margin: 0.25rem 0 0.15rem;
}

.lux-planner-timeline-popover__body p {
    margin: 0 0 0.5rem;
    color: #64748b;
    font-size: 0.6875rem;
}

.lux-planner-timeline-popover__status {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.lux-planner-timeline-popover__body dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.2rem 0.5rem;
    margin: 0;
}

.lux-planner-timeline-popover__body dt {
    color: #94a3b8;
    font-weight: 600;
}

.lux-planner-timeline-popover__body dd {
    margin: 0;
    color: #334155;
}

.lux-planner-timeline-popover__hint {
    display: block;
    margin-top: 0.45rem;
    font-size: 0.625rem;
    color: var(--lux-primary, #5b5ff4);
    font-weight: 600;
}

/* Gantt */
.lux-planner-gantt__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
    margin-bottom: 0.75rem;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-planner-gantt__legend i {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    margin-right: 0.2rem;
}

.lux-planner-gantt__frame {
    display: grid;
    grid-template-columns: 220px 1fr;
    grid-template-rows: auto 1fr;
    border-radius: 16px;
    border: 0px solid rgba(148, 163, 184, 0.2);
    background: #fff;
    overflow: hidden;
    max-height: 70vh;
}

.lux-planner-gantt__sidebar-head,
.lux-planner-gantt__timeline-head {
    padding: 0.45rem 0.5rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    background: #f8fafc;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}

.lux-planner-gantt__timeline-head {
    display: flex;
    overflow: hidden;
}

.lux-planner-gantt__day {
    flex-shrink: 0;
    text-align: center;
    font-size: 0.625rem;
    border-right: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-planner-gantt__day.is-today {
    background: rgba(91, 95, 244, 0.1);
}

.lux-planner-gantt__body {
    display: contents;
}

.lux-planner-gantt__sidebar {
    overflow-y: auto;
    border-right: 1px solid rgba(148, 163, 184, 0.15);
    grid-row: 2;
}

.lux-planner-gantt__sidebar-group-btn {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    padding: 0.4rem 0.5rem;
    border: none;
    background: rgba(248, 250, 252, 0.95);
    font-size: 0.75rem;
    font-weight: 600;
    text-align: left;
}

.lux-planner-gantt__sidebar-row {
    padding: 0 0.5rem 0 1.25rem;
    font-size: 0.6875rem;
    color: #475569;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(241, 245, 249, 0.9);
}

.lux-planner-gantt__tracks-scroll {
    overflow: auto;
    grid-row: 2;
}

.lux-planner-gantt__canvas {
    position: relative;
    min-height: 120px;
}

.lux-planner-gantt__grid-cols {
    position: absolute;
    inset: 0;
    display: flex;
    pointer-events: none;
    z-index: 0;
}

.lux-planner-gantt__bars-layer {
    position: relative;
    z-index: 1;
}

.lux-planner-gantt__grid-col {
    flex-shrink: 0;
    border-right: 1px solid rgba(241, 245, 249, 0.95);
    min-height: 100%;
}

.lux-planner-gantt__grid-col.is-weekend {
    background: rgba(248, 250, 252, 0.9);
}

.lux-planner-gantt__today-line {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--lux-primary, #5b5ff4);
    z-index: 3;
    pointer-events: none;
}

.lux-planner-gantt__track-row {
    position: relative;
    border-bottom: 1px solid rgba(241, 245, 249, 0.9);
}

.lux-planner-gantt__bar {
    position: absolute;
    top: 8px;
    height: 24px;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 0.625rem;
    font-weight: 600;
    padding: 0 0.4rem;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.18);
    cursor: pointer;
    z-index: 2;
}

.lux-planner-gantt__bar.is-draggable {
    cursor: grab;
}

/* Drawer */
.lux-planner-drawer {
    position: fixed;
    inset: 0;
    z-index: var(--lux-z-overlay);
    display: flex;
    justify-content: flex-end;
}

.lux-planner-drawer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.35);
    backdrop-filter: blur(2px);
}

.lux-planner-drawer__panel {
    position: relative;
    width: min(420px, 100vw);
    height: 100%;
    background: #fff;
    box-shadow: -12px 0 40px rgba(15, 23, 42, 0.15);
    display: flex;
    flex-direction: column;
    animation: luxPlannerDrawerIn 0.2s ease;
}

@keyframes luxPlannerDrawerIn {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

.lux-planner-drawer__head {
    display: flex;
    justify-content: space-between;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}

.lux-planner-drawer__head h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.lux-planner-drawer__head p {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-planner-drawer__close {
    border: none;
    background: rgba(241, 245, 249, 0.95);
    width: 32px;
    height: 32px;
    border-radius: 8px;
}

.lux-planner-drawer__body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.1rem;
}

.lux-planner-drawer__foot {
    padding: 0.85rem 1.1rem;
    border-top: 1px solid rgba(148, 163, 184, 0.15);
}

.lux-planner-metric-tiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.4rem;
    margin-bottom: 1rem;
}

.lux-planner-metric-tiles__tile {
    padding: 0.5rem;
    border-radius: 10px;
    background: #f8fafc;
    border: 0px solid rgba(148, 163, 184, 0.15);
    font-size: 0.6875rem;
}

.lux-planner-metric-tiles__tile strong {
    display: block;
    font-size: 0.875rem;
    color: #0f172a;
}

.lux-planner-metric-tiles__tile.is-good strong { color: #059669; }
.lux-planner-metric-tiles__tile.is-critical strong { color: #dc2626; }

.lux-planner-assign-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lux-planner-assign-list__item {
    display: flex;
    gap: 0.5rem;
    padding: 0.6rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-planner-assign-list__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-top: 0.35rem;
    flex-shrink: 0;
}

.lux-planner-assign-list__main {
    flex: 1;
    min-width: 0;
}

.lux-planner-assign-list__main strong {
    display: block;
    font-size: 0.8125rem;
}

.lux-planner-assign-list__main span {
    display: block;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-planner-assign-list__time {
    color: var(--lux-primary, #5b5ff4) !important;
    font-weight: 600;
}

.lux-planner-assign-list__actions {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

/* Luxury detail panel — portaled overlay (roster, timeline, gantt) */
.lux-planner-detail-portal {
    position: fixed;
    inset: 0;
    z-index: 12080;
    pointer-events: none;
}

.lux-planner-detail-portal__backdrop {
    position: fixed;
    inset: 0;
    border: none;
    padding: 0;
    margin: 0;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    cursor: pointer;
    pointer-events: auto;
}

.lux-planner-lux-panel--overlay {
    position: fixed;
    right: 0;
    width: min(440px, 94vw);
    max-width: 100%;
    display: flex;
    flex-direction: column;
    background: #f8fafc;
    border-left: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow: -16px 0 48px rgba(15, 23, 42, 0.2);
    transform: translateX(100%);
    transition: transform 0.22s ease;
    pointer-events: auto;
    overflow: hidden;
    z-index: 12081;
}

.lux-planner-lux-panel--overlay.is-open {
    transform: translateX(0);
}

.lux-planner-lux-panel__sheet {
    position: relative;
    width: 100%;
    height: 100%;
    background: #f8fafc;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

@keyframes luxPlannerSheetIn {
    from { transform: translateX(100%); opacity: 0.6; }
    to { transform: translateX(0); opacity: 1; }
}

.lux-planner-lux-panel__hero {
    position: relative;
    padding: 1.25rem 1.25rem 1rem;
    color: #fff;
    overflow: hidden;
}

.lux-planner-lux-panel__hero-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #5b5ff4 0%, #14b8a6 55%, #0f172a 120%);
    opacity: 0.95;
}

.lux-planner-lux-panel__hero h2,
.lux-planner-lux-panel__hero p,
.lux-planner-lux-panel__status {
    position: relative;
    z-index: 1;
}

.lux-planner-lux-panel__hero h2 {
    margin: 0.35rem 0 0;
    font-size: 1.2rem;
    font-weight: 700;
}

.lux-planner-lux-panel__hero p {
    margin: 0.25rem 0 0;
    font-size: 0.8125rem;
    opacity: 0.9;
}

.lux-planner-lux-panel__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 2;
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.lux-planner-lux-panel__status {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.2);
}

.lux-planner-lux-panel__bandwidth {
    position: relative;
    z-index: 1;
    margin-top: 0.5rem;
    padding: 0.45rem 0.55rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.15);
    font-size: 0.75rem;
    display: flex;
    gap: 0.35rem;
    align-items: flex-start;
}

.lux-planner-lux-panel__body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.1rem 1.25rem;
}

.lux-planner-lux-panel__body h3 {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    margin: 0 0 0.5rem;
}

.lux-planner-lux-metric {
    padding: 0.55rem;
    border-radius: 12px;
    background: #fff;
    border: 0px solid rgba(148, 163, 184, 0.18);
}

.lux-planner-lux-metric span {
    display: block;
    font-size: 0.625rem;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-planner-lux-metric strong {
    font-size: 1rem;
    color: #0f172a;
}

.lux-planner-lux-metric.is-good strong { color: #059669; }
.lux-planner-lux-metric.is-critical strong { color: #dc2626; }

.lux-planner-lux-panel__metrics {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.45rem;
    margin-bottom: 1rem;
}

.lux-planner-lux-card {
    display: flex;
    gap: 0.65rem;
    padding: 0.75rem;
    border-radius: 14px;
    background: #fff;
    border: 0px solid rgba(148, 163, 184, 0.18);
    margin-bottom: 1rem;
}

.lux-planner-lux-card__accent {
    width: 4px;
    border-radius: 4px;
    flex-shrink: 0;
}

.lux-planner-lux-dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.2rem 0.65rem;
    margin: 0.5rem 0 0;
    font-size: 0.75rem;
}

.lux-planner-lux-dl dt {
    color: #94a3b8;
    margin: 0;
}

.lux-planner-lux-dl dd {
    margin: 0;
    color: #334155;
}

.lux-planner-lux-list-item {
    display: flex;
    gap: 0.5rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    list-style: none;
}

.lux-planner-lux-panel__list ul {
    margin: 0;
    padding: 0;
}

.lux-planner-lux-panel__chart {
    margin-bottom: 1rem;
    padding: 0.65rem;
    border-radius: 14px;
    background: #fff;
    border: 0px solid rgba(148, 163, 184, 0.15);
}

.lux-planner-lux-panel__chart-sub {
    font-size: 0.75rem;
    color: #64748b;
    margin: -0.25rem 0 0.5rem;
}

.lux-planner-lux-panel__foot {
    padding: 0.85rem 1.1rem;
    border-top: 1px solid rgba(148, 163, 184, 0.15);
    background: #fff;
}

.lux-planner-btn--block {
    width: 100%;
    justify-content: center;
}

/* Luxury action buttons */
.lux-planner-lux-actions {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-planner-lux-btn {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 0px solid rgba(148, 163, 184, 0.22);
    background: #fff;
    text-align: left;
    transition: transform 0.12s, box-shadow 0.12s;
}

.lux-planner-lux-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}

.lux-planner-lux-btn--primary {
    border-color: transparent;
    background: linear-gradient(135deg, rgba(91, 95, 244, 0.12), rgba(20, 184, 166, 0.12));
}

.lux-planner-lux-btn--accent {
    border-color: transparent;
    background: linear-gradient(135deg, #5b5ff4, #14b8a6);
    color: #fff;
}

.lux-planner-lux-btn--accent .lux-planner-lux-btn__text strong,
.lux-planner-lux-btn--accent .lux-planner-lux-btn__text small,
.lux-planner-lux-btn--accent .lux-planner-lux-btn__chev {
    color: #fff;
}

.lux-planner-lux-btn__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(91, 95, 244, 0.12);
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.lux-planner-lux-btn--accent .lux-planner-lux-btn__icon {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.lux-planner-lux-btn__text {
    flex: 1;
    min-width: 0;
}

.lux-planner-lux-btn__text strong {
    display: block;
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-planner-lux-btn__text small {
    display: block;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-planner-lux-btn__chev {
    color: #94a3b8;
    font-size: 0.875rem;
}

/* Assign affordance on cells */
.lux-planner-heatmap__cell {
    position: relative;
}

.lux-planner-heatmap__assign,
.lux-planner-hourly__assign {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: linear-gradient(145deg, #0f766e, #0ea5e9);
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 0.625rem;
    z-index: 2;
    box-shadow: 0 4px 10px rgba(15, 118, 110, 0.35);
}

.lux-planner-heatmap__cell:hover .lux-planner-heatmap__assign,
.lux-planner-hourly__cell:hover .lux-planner-hourly__assign {
    display: flex;
}

.lux-planner-heatmap__head-day.is-focus {
    background: rgba(15, 118, 110, 0.14);
    box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.22);
}

.lux-planner-heatmap__cell.is-focus {
    box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.35);
}

/* Hourly grid */
.lux-planner-hourly-wrap {
    border-radius: 16px;
    border: 0px solid rgba(148, 163, 184, 0.2);
    background: #fff;
    overflow: auto;
}

.lux-planner-hourly__head,
.lux-planner-hourly__row {
    display: grid;
    align-items: stretch;
}

.lux-planner-hourly__head {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8fafc;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
    text-align: center;
}

.lux-planner-hourly__head span:first-child {
    text-align: left;
    padding: 0.4rem 0.5rem;
}

.lux-planner-hourly__person {
    padding: 0.4rem 0.5rem;
    border: none;
    background: transparent;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
}

.lux-planner-hourly__cell {
    position: relative;
    min-height: 40px;
    border: none;
    border-right: 1px solid rgba(241, 245, 249, 0.95);
    background: #fafafa;
    cursor: pointer;
}

.lux-planner-hourly__cell.has-bandwidth {
    background: rgba(16, 185, 129, 0.06);
}

.lux-planner-hourly__fill {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: #5b5ff4;
    opacity: 0.35;
    pointer-events: none;
}

.lux-planner-hourly__cell em {
    position: relative;
    z-index: 1;
    font-size: 0.625rem;
    font-style: normal;
    font-weight: 700;
}

.lux-planner-roster__date-pick {
    padding: 0.35rem 0.5rem;
    border-radius: 8px;
    border: 0px solid rgba(148, 163, 184, 0.3);
    font-size: 0.8125rem;
}

/* Fluid Gantt */
.lux-planner-gantt--fluid {
    width: 100%;
}

.lux-planner-gantt__frame--fluid {
    display: grid;
    grid-template-columns: var(--gantt-sidebar-width, 220px) minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    width: 100%;
    max-height: min(72vh, 720px);
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.lux-planner-gantt__frame--fluid .lux-planner-gantt__sidebar-head {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    align-items: center;
    width: 100% !important;
    min-height: 2.75rem;
    padding: 0.45rem 0.65rem;
    border-right: 1px solid rgba(148, 163, 184, 0.15);
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
    box-sizing: border-box;
}

.lux-planner-gantt__timeline-head--fluid {
    grid-column: 2;
    grid-row: 1;
    overflow-x: auto;
    overflow-y: hidden;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.lux-planner-gantt__timeline-head--fluid::-webkit-scrollbar {
    display: none;
    height: 0;
}

.lux-planner-gantt__timeline-inner {
    display: flex;
    align-items: stretch;
    min-width: 100%;
    min-height: 2.75rem;
}

.lux-planner-gantt__day {
    box-sizing: border-box;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.05rem;
    text-align: center;
    padding: 0.35rem 0.15rem;
    font-size: 0.625rem;
    border-right: 1px solid rgba(226, 232, 240, 0.95);
    color: #64748b;
}

.lux-planner-gantt__day strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-planner-gantt__day.is-today,
.lux-planner-gantt__day--hour.is-now {
    background: rgba(15, 118, 110, 0.1);
    color: #0f766e;
}

.lux-planner-gantt__day--hour.is-now strong {
    color: #0f766e;
}

.lux-planner-gantt__body--fluid {
    display: contents;
}

.lux-planner-gantt__frame--fluid .lux-planner-gantt__sidebar {
    grid-column: 1;
    grid-row: 2;
    width: 100% !important;
    overflow-x: hidden;
    overflow-y: auto;
    border-right: 1px solid rgba(148, 163, 184, 0.15);
    scrollbar-width: thin;
}

.lux-planner-gantt__tracks-scroll {
    grid-column: 2;
    grid-row: 2;
    overflow: auto;
    min-width: 0;
    background:
        linear-gradient(180deg, rgba(248, 250, 252, 0.65), rgba(255, 255, 255, 0.4));
}

.lux-planner-gantt__canvas {
    position: relative;
    min-height: 100%;
}

.lux-planner-gantt__grid-cols {
    display: flex;
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.lux-planner-gantt__grid-col {
    box-sizing: border-box;
    flex-shrink: 0;
    border-right: 1px solid rgba(241, 245, 249, 0.95);
    min-height: 100%;
}

.lux-planner-gantt__grid-col.is-hour:nth-child(even) {
    background: rgba(248, 250, 252, 0.55);
}

.lux-planner-gantt__grid-col.is-now {
    background: rgba(15, 118, 110, 0.06);
}

.lux-planner-gantt__bars-layer {
    position: relative;
    z-index: 1;
}

.lux-planner-gantt__track-group {
    position: relative;
}

.lux-planner-gantt__group-spacer {
    box-sizing: border-box;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(248, 250, 252, 0.92);
}

.lux-planner-gantt__track-row {
    position: relative;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-planner-gantt__sidebar-group-btn {
    box-sizing: border-box;
    min-height: 36px;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-planner-gantt__sidebar-row {
    box-sizing: border-box;
}

.lux-planner-gantt__day--hour {
    gap: 0.08rem;
    padding: 0.3rem 0.1rem;
}

.lux-planner-gantt__day--hour strong {
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1;
}

.lux-planner-gantt__day--hour span {
    display: block;
    font-size: 0.54rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    line-height: 1;
}

.lux-planner-gantt__frame--fluid.is-hourly .lux-planner-gantt__sidebar-head {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: none;
    color: #0f766e;
}

.lux-planner-gantt__today-line {
    z-index: 2;
}

.lux-planner-timeline__chart-card {
    margin-bottom: 1rem;
    padding: 0.85rem;
    border-radius: 14px;
    background: #fff;
    border: 0px solid rgba(148, 163, 184, 0.18);
}

.lux-planner-timeline__chart-card h3 {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
}

.lux-planner-timeline__strip-cell em {
    display: block;
    font-size: 0.5625rem;
    font-style: normal;
    text-align: center;
    margin-top: 2px;
    color: #64748b;
}

.lux-planner-gantt__date-pick {
    padding: 0.35rem 0.5rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    font-size: 0.75rem;
    background: #fff;
}

.lux-planner-timeline__board--fluid {
    width: 100%;
}

.lux-planner-shell__view {
    min-height: 200px;
}

.lux-planner-page > .lux-page-header {
    margin: 0;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-top: none;
}

body.lux-shell-dark .lux-planner-shell__intro {
    border-bottom-color: rgba(51, 65, 85, 0.95);
}

/* Leave, actuals, drag-assign, capacity panel */
.lux-planner-heatmap__cell.is-on-leave {
    border-color: #a855f7;
    background: repeating-linear-gradient(
        -45deg,
        rgba(168, 85, 247, 0.14),
        rgba(168, 85, 247, 0.14) 4px,
        rgba(168, 85, 247, 0.05) 4px,
        rgba(168, 85, 247, 0.05) 8px
    );
    cursor: default;
}

.lux-planner-heatmap__cell.is-on-leave .lux-planner-heatmap__cell-fill {
    opacity: 0.35;
    background: #a855f7;
}

.lux-planner-heatmap__leave-mark {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7c3aed;
    font-size: 0.75rem;
    z-index: 1;
}

.lux-planner-heatmap__actual-bar {
    position: absolute;
    left: 2px;
    bottom: 2px;
    height: 3px;
    max-width: calc(100% - 4px);
    background: #0ea5e9;
    border-radius: 2px;
    z-index: 1;
    pointer-events: none;
}

.lux-planner-heatmap__cell.is-drop-target,
.lux-planner-hourly__cell.is-drop-target {
    outline: 2px dashed var(--lux-primary, #5b5ff4);
    outline-offset: -2px;
    background: rgba(91, 95, 244, 0.08);
}

.lux-planner-hourly__cell.is-on-leave {
    background: repeating-linear-gradient(
        -45deg,
        rgba(168, 85, 247, 0.1),
        rgba(168, 85, 247, 0.1) 3px,
        transparent 3px,
        transparent 6px
    );
}

.lux-planner-roster__leave-tag {
    display: block;
    font-size: 0.5625rem;
    font-weight: 700;
    color: #7c3aed;
    font-style: normal;
}

.lux-planner-roster__layout {
    display: grid;
    grid-template-columns: 1fr minmax(200px, 260px);
    gap: 0.75rem;
    align-items: start;
}

.lux-planner-roster__grid-pane {
    min-width: 0;
}

.lux-planner-assign-tray {
    border-radius: 14px;
    border: 0px solid rgba(148, 163, 184, 0.25);
    background: #f8fafc;
    position: sticky;
    top: 0.5rem;
    max-height: calc(100vh - 120px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.lux-planner-assign-tray.is-collapsed .lux-planner-assign-tray__list {
    display: none;
}

.lux-planner-assign-tray__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.65rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    font-size: 0.75rem;
}

.lux-planner-assign-tray__head strong {
    display: block;
    color: #0f172a;
}

.lux-planner-assign-tray__toggle {
    border: none;
    background: transparent;
    color: #64748b;
}

.lux-planner-assign-tray__list {
    padding: 0.5rem;
    overflow-y: auto;
    flex: 1;
}

.lux-planner-assign-tray__card {
    display: flex;
    gap: 0.35rem;
    padding: 0.4rem;
    margin-bottom: 0.35rem;
    border-radius: 10px;
    background: #fff;
    border: 0px solid rgba(148, 163, 184, 0.2);
    cursor: grab;
    font-size: 0.6875rem;
}

.lux-planner-assign-tray__card:active {
    cursor: grabbing;
}

.lux-planner-assign-tray__card-body strong {
    display: block;
    color: #0f172a;
}

.lux-planner-assign-tray__card-body span {
    color: #64748b;
}

.lux-planner-assign-tray__card-body em {
    display: block;
    font-style: normal;
    color: #5b5ff4;
    font-weight: 600;
}

.lux-planner-assign-tray__hint,
.lux-planner-assign-tray__empty {
    font-size: 0.625rem;
    color: #64748b;
    margin: 0.25rem 0 0;
}

.lux-planner-conflict {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lux-planner-conflict__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
}

.lux-planner-conflict__sheet {
    position: relative;
    width: min(420px, 92vw);
    padding: 1.25rem;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.2);
}

.lux-planner-conflict__msg {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    padding: 0.5rem 0.65rem;
    border-radius: 10px;
    font-size: 0.8125rem;
    margin: 0.5rem 0;
}

.lux-planner-conflict__msg.is-error {
    background: rgba(239, 68, 68, 0.08);
    color: #b91c1c;
}

.lux-planner-conflict__msg.is-warn {
    background: rgba(245, 158, 11, 0.1);
    color: #b45309;
}

.lux-planner-conflict__actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
}

.lux-planner-capacity-portal {
    position: fixed;
    inset: 0;
    z-index: 12100;
    pointer-events: none;
}

.lux-planner-capacity-portal__backdrop {
    position: fixed;
    inset: 0;
    border: none;
    padding: 0;
    margin: 0;
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    cursor: pointer;
    pointer-events: auto;
}

.lux-planner-capacity-panel {
    --cap-ink: #0f172a;
    --cap-muted: #64748b;
    --cap-teal: #0f766e;
    --cap-teal-soft: rgba(15, 118, 110, 0.12);
    --cap-line: rgba(148, 163, 184, 0.22);
    position: fixed;
    right: 0;
    width: min(420px, 96vw);
    max-width: 100%;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(120% 80% at 100% 0%, rgba(15, 118, 110, 0.08), transparent 46%),
        linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    border-left: 1px solid rgba(15, 118, 110, 0.16);
    box-shadow:
        -1px 0 0 rgba(255, 255, 255, 0.55) inset,
        -20px 0 56px rgba(15, 23, 42, 0.2);
    transform: translateX(100%);
    transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: auto;
    overflow: hidden;
    z-index: 12101;
}

.lux-planner-capacity-panel.is-open {
    transform: translateX(0);
}

.lux-planner-capacity-panel__hero {
    position: relative;
    flex-shrink: 0;
    padding: 1rem 1.05rem 0.95rem;
    color: #fff;
    overflow: hidden;
}

.lux-planner-capacity-panel__hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 100% 0%, rgba(45, 212, 191, 0.35), transparent 42%),
        radial-gradient(circle at 0% 100%, rgba(14, 165, 233, 0.28), transparent 46%),
        linear-gradient(145deg, #0f766e 0%, #0e7490 48%, #0f172a 120%);
}

.lux-planner-capacity-panel__hero-top,
.lux-planner-capacity-panel__kpis,
.lux-planner-capacity-panel__search,
.lux-planner-capacity-panel__eyebrow,
.lux-planner-capacity-panel__hero-copy {
    position: relative;
    z-index: 1;
}

.lux-planner-capacity-panel__hero-top {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding-right: 2.2rem;
}

.lux-planner-capacity-panel__mark {
    display: inline-grid;
    place-items: center;
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 14px;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.18);
    font-size: 1.05rem;
}

.lux-planner-capacity-panel__eyebrow {
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    opacity: 0.88;
    margin-bottom: 0.18rem;
}

.lux-planner-capacity-panel__hero h2 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.lux-planner-capacity-panel__hero p {
    margin: 0.35rem 0 0;
    font-size: 0.74rem;
    opacity: 0.9;
    line-height: 1.4;
    max-width: 22rem;
}

.lux-planner-capacity-panel__close {
    position: absolute;
    top: 0.7rem;
    right: 0.7rem;
    z-index: 2;
    width: 2rem;
    height: 2rem;
    border: none;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    cursor: pointer;
    transition: background 0.14s ease;
}

.lux-planner-capacity-panel__close:hover {
    background: rgba(255, 255, 255, 0.28);
}

.lux-planner-capacity-panel__kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.4rem;
    margin: 0.85rem 0 0.7rem;
}

.lux-planner-capacity-panel__kpis article {
    display: grid;
    gap: 0.1rem;
    padding: 0.45rem 0.55rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.lux-planner-capacity-panel__kpis article.is-accent {
    background: rgba(253, 224, 71, 0.18);
    border-color: rgba(253, 224, 71, 0.28);
}

.lux-planner-capacity-panel__kpis em {
    font-style: normal;
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.8;
}

.lux-planner-capacity-panel__kpis strong {
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.lux-planner-capacity-panel__search {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.65rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.lux-planner-capacity-panel__search i {
    opacity: 0.85;
}

.lux-planner-capacity-panel__search input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 600;
}

.lux-planner-capacity-panel__search input::placeholder {
    color: rgba(255, 255, 255, 0.72);
}

.lux-planner-capacity-panel__body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0.8rem 0.9rem 1.15rem;
    -webkit-overflow-scrolling: touch;
}

.lux-planner-capacity-intro {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    padding: 0.6rem 0.7rem;
    margin: 0 0 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(15, 118, 110, 0.14);
    background:
        linear-gradient(135deg, rgba(15, 118, 110, 0.08), rgba(255, 255, 255, 0.92));
    color: #475569;
    font-size: 0.74rem;
    line-height: 1.4;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.03);
}

.lux-planner-capacity-intro i {
    color: var(--cap-teal);
    margin-top: 0.1rem;
    flex-shrink: 0;
}

.lux-planner-capacity-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-planner-capacity-list__empty {
    display: grid;
    justify-items: center;
    gap: 0.25rem;
    padding: 1.8rem 1rem;
    text-align: center;
    color: var(--cap-muted);
    border-radius: 16px;
    border: 1px dashed rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.72);
}

.lux-planner-capacity-list__empty i {
    font-size: 1.25rem;
    color: var(--cap-teal);
    margin-bottom: 0.2rem;
}

.lux-planner-capacity-list__empty strong {
    color: var(--cap-ink);
    font-size: 0.88rem;
}

.lux-planner-capacity-list__empty span {
    font-size: 0.74rem;
}

.lux-planner-capacity-card {
    padding: 0.75rem 0.8rem 0.7rem;
    border-radius: 16px;
    border: 1px solid var(--cap-line);
    background:
        radial-gradient(circle at 100% 0%, rgba(15, 118, 110, 0.07), transparent 42%),
        linear-gradient(165deg, #ffffff, #f8fafc);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 10px 22px rgba(15, 23, 42, 0.04);
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-planner-capacity-card.has-override {
    border-color: rgba(15, 118, 110, 0.34);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 12px 26px rgba(15, 118, 110, 0.1);
}

.lux-planner-capacity-card__person {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    margin-bottom: 0.45rem;
}

.lux-planner-capacity-card__avatar {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 12px;
    display: inline-grid;
    place-items: center;
    font-weight: 800;
    font-size: 0.72rem;
    letter-spacing: 0.02em;
    color: #fff;
    background: linear-gradient(145deg, #0f766e, #0ea5e9);
    box-shadow: 0 8px 16px rgba(15, 118, 110, 0.22);
    flex-shrink: 0;
}

.lux-planner-capacity-card__copy {
    min-width: 0;
    flex: 1;
}

.lux-planner-capacity-card__name-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.lux-planner-capacity-card__person strong,
.lux-planner-capacity-card__name-row strong {
    display: block;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--cap-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 11rem;
}

.lux-planner-capacity-card__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    background: rgba(15, 118, 110, 0.12);
    color: #0f766e;
    font-size: 0.54rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.lux-planner-capacity-card__badge.is-profile {
    background: rgba(148, 163, 184, 0.16);
    color: #64748b;
}

.lux-planner-capacity-card__copy em,
.lux-planner-capacity-card__person span {
    display: block;
    margin-top: 0.12rem;
    font-style: normal;
    font-size: 0.68rem;
    color: var(--cap-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-planner-capacity-card__effective {
    display: grid;
    justify-items: end;
    gap: 0.02rem;
    flex-shrink: 0;
    padding: 0.25rem 0.4rem;
    border-radius: 10px;
    background: rgba(15, 118, 110, 0.08);
    border: 1px solid rgba(15, 118, 110, 0.12);
}

.lux-planner-capacity-card__effective strong {
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f766e;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.lux-planner-capacity-card__effective span {
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #0f766e;
    opacity: 0.8;
}

.lux-planner-capacity-card__meter {
    height: 0.28rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.18);
    overflow: hidden;
    margin-bottom: 0.55rem;
}

.lux-planner-capacity-card__meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0f766e, #0ea5e9);
    transition: width 0.2s ease;
}

.lux-planner-capacity-card.has-override .lux-planner-capacity-card__meter span {
    background: linear-gradient(90deg, #0f766e, #f59e0b);
}

.lux-planner-capacity-card__control {
    display: flex;
    align-items: flex-end;
    gap: 0.55rem;
}

.lux-planner-capacity-card__control label {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    font-size: 0.6rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
    margin: 0;
}

.lux-planner-capacity-card__control input {
    padding: 0.48rem 0.6rem;
    border-radius: 11px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #fff;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--cap-ink);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-planner-capacity-card__control input:focus {
    outline: none;
    border-color: rgba(15, 118, 110, 0.45);
    box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.12);
}

.lux-planner-capacity-card__reset {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    height: 2.15rem;
    padding: 0 0.7rem;
    border: 1px solid rgba(15, 118, 110, 0.22);
    border-radius: 11px;
    background: rgba(15, 118, 110, 0.08);
    color: #0f766e;
    font-size: 0.7rem;
    font-weight: 800;
    cursor: pointer;
    transition: background 0.14s ease, border-color 0.14s ease;
}

.lux-planner-capacity-card__reset:hover {
    background: rgba(15, 118, 110, 0.14);
    border-color: rgba(15, 118, 110, 0.34);
}

.lux-planner-capacity-card__hint {
    display: inline-flex;
    align-items: center;
    min-height: 2.15rem;
    padding: 0 0.15rem;
    font-size: 0.66rem;
    font-weight: 600;
    color: #94a3b8;
    white-space: nowrap;
}

@media (max-width: 480px) {
    .lux-planner-capacity-panel {
        width: 100vw;
    }

    .lux-planner-capacity-card__hint {
        display: none;
    }
}

.lux-planner-schedule-empty-rich.lux-register-empty {
    grid-column: 1 / -1;
    margin: 0.5rem;
}

.lux-planner-schedule-empty {
    grid-column: 1 / -1;
    padding: 2rem 1.25rem;
    text-align: center;
    color: #64748b;
    background: linear-gradient(160deg, #f8fafc, #fff);
    border-radius: 14px;
    margin: 0.5rem;
}

.lux-planner-schedule-empty i {
    display: block;
    font-size: 1.75rem;
    color: var(--lux-primary, #5b5ff4);
    margin-bottom: 0.5rem;
}

.lux-planner-schedule-empty strong {
    display: block;
    color: #0f172a;
    font-size: 0.9375rem;
    margin-bottom: 0.35rem;
}

.lux-planner-schedule-empty p {
    margin: 0;
    font-size: 0.8125rem;
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
}

.lux-planner-schedule-empty--gantt {
    padding: 1.25rem;
    margin: 0.5rem 0.5rem 0.5rem 200px;
}

.lux-page-header__team-item-hint {
    display: block;
    font-size: 0.5625rem;
    color: #94a3b8;
    font-weight: 500;
}

.lux-page-header__team-item--all.is-selected .lux-page-header__team-item-name {
    font-weight: 700;
    color: var(--lux-primary, #5b5ff4);
}

.lux-planner-shell__capacity-btn {
    margin-left: 0.25rem;
}

.lux-planner-btn--danger {
    background: #ef4444;
    color: #fff;
}

/* Team capacity — luxury assign work panel */
.lux-create-panel--planner-assign .lux-create-panel__body {
    padding: 0;
}

.lux-planner-assign-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    flex: 1;
    min-height: 0;
    height: 100%;
}

.lux-planner-assign-panel__workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
    min-height: 0;
    overflow: hidden;
}

.lux-planner-assign-summary {
    flex-shrink: 0;
    min-height: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    background:
        linear-gradient(180deg, rgba(91, 95, 244, 0.06) 0%, transparent 42%),
        linear-gradient(165deg, #f8fafc 0%, #fff 72%);
    overflow: hidden;
}

.lux-planner-assign-summary.is-summary-collapsed {
    max-height: none;
}

.lux-planner-assign-summary__summary-toggle {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.lux-planner-assign-summary__compact {
    padding: 0.35rem 0.7rem 0.45rem;
    min-width: 0;
}

.lux-planner-assign-summary__compact-head {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.4rem;
    min-width: 0;
    width: 100%;
}

.lux-planner-assign-summary__compact-main {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
}

.lux-planner-assign-summary__compact-inline {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    flex-shrink: 0;
    gap: 0.3rem;
}

.lux-planner-assign-summary__compact-main strong {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-planner-assign-summary__compact-meta {
    font-size: 0.5625rem;
    color: #64748b;
    line-height: 1.3;
}

.lux-planner-assign-summary__compact-sep {
    margin: 0 0.2rem;
    opacity: 0.65;
}

.lux-planner-assign-insight__util.is-compact {
    font-size: 0.6875rem;
    padding: 0.15rem 0.4rem;
    border-radius: 8px;
    min-width: 2.5rem;
    text-align: center;
}

.lux-planner-assign-insight__util.is-compact em {
    display: none;
}

.lux-planner-assign-summary__compact-pill {
    display: inline-flex;
    flex-direction: column;
    gap: 0.02rem;
    padding: 0.12rem 0.35rem;
    border-radius: 8px;
    border: 0px solid rgba(148, 163, 184, 0.22);
    background: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
}

.lux-planner-assign-summary__compact-pill em {
    font-size: 0.5rem;
    font-weight: 700;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
}

.lux-planner-assign-summary__compact-pill.is-good {
    border-color: rgba(16, 185, 129, 0.28);
    color: #047857;
}

.lux-planner-assign-summary__chip--compact {
    font-size: 0.5625rem;
    padding: 0.15rem 0.4rem;
    white-space: nowrap;
}

.lux-planner-assign-summary__compact-head .lux-planner-assign-summary__summary-toggle {
    flex-shrink: 0;
    margin-left: 0.1rem;
}

.lux-planner-assign-summary__compact-head .lux-planner-assign-summary__compact-main + .lux-planner-assign-summary__compact-inline {
    margin-left: auto;
}

@media (max-width: 560px) {
    .lux-planner-assign-summary__compact-head {
        flex-wrap: wrap;
    }

    .lux-planner-assign-summary__compact-inline {
        margin-left: calc(1.65rem + 0.4rem);
        order: 3;
        width: calc(100% - 1.65rem - 0.4rem);
        justify-content: flex-end;
    }

    .lux-planner-assign-summary__compact-head .lux-planner-assign-summary__summary-toggle {
        order: 4;
        margin-left: auto;
    }
}

.lux-planner-assign-summary.is-daily-chart-expanded.is-secondary-charts-expanded {
    max-height: min(62vh, 580px);
}

.lux-planner-assign-summary.is-daily-chart-expanded.is-secondary-charts-collapsed {
    max-height: min(42vh, 380px);
}

.lux-planner-assign-summary.is-daily-chart-collapsed.is-secondary-charts-expanded {
    max-height: min(48vh, 460px);
}

.lux-planner-assign-summary.is-daily-chart-collapsed.is-secondary-charts-collapsed {
    max-height: min(24vh, 220px);
}

.lux-planner-assign-summary--empty {
    padding: 0.5rem 0.75rem;
    max-height: none;
}

.lux-planner-assign-summary__placeholder {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    color: #64748b;
    font-size: 0.8125rem;
}

.lux-planner-assign-summary__placeholder i {
    font-size: 1.35rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-planner-assign-summary__placeholder strong {
    display: block;
    color: #0f172a;
    margin-right: 0.35rem;
}

.lux-planner-assign-summary__layout {
    display: grid;
    grid-template-columns: minmax(10.5rem, 12.75rem) minmax(0, 1fr);
    gap: 0.45rem;
    padding: 0.45rem 0.7rem 0.5rem;
    min-height: 0;
    height: 100%;
    align-items: stretch;
}

.lux-planner-assign-summary__panel {
    border-radius: 12px;
    border: 0px solid rgba(148, 163, 184, 0.22);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.92) 100%);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 4px 14px rgba(15, 23, 42, 0.05);
}

.lux-planner-assign-summary__identity {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.45rem 0.5rem;
}

.lux-planner-assign-summary__lead {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.lux-planner-assign-summary__who h3 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-planner-assign-summary__meta {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.lux-planner-assign-summary__meta li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35rem;
    font-size: 0.5625rem;
    line-height: 1.25;
}

.lux-planner-assign-summary__meta li span {
    color: #94a3b8;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    flex-shrink: 0;
}

.lux-planner-assign-summary__meta li strong {
    color: #334155;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-planner-assign-summary__status {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.22rem;
    margin-top: 0.1rem;
    padding-top: 0.3rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-planner-assign-summary__chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 0.14rem 0.4rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.95);
    font-size: 0.5rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.25;
}

.lux-planner-assign-summary__chip-sep {
    margin: 0 0.15rem;
    opacity: 0.45;
}

.lux-planner-assign-summary__chip.is-available { color: #059669; border-color: rgba(16, 185, 129, 0.35); }
.lux-planner-assign-summary__chip.is-light { color: #0d9488; border-color: rgba(20, 184, 166, 0.35); }
.lux-planner-assign-summary__chip.is-balanced { color: #2563eb; border-color: rgba(59, 130, 246, 0.35); }
.lux-planner-assign-summary__chip.is-high { color: #d97706; border-color: rgba(245, 158, 11, 0.4); }
.lux-planner-assign-summary__chip.is-critical { color: #dc2626; border-color: rgba(239, 68, 68, 0.4); }

.lux-planner-assign-summary__analytics {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.lux-planner-assign-summary__metrics-row {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    flex-wrap: wrap;
}

.lux-planner-assign-summary__pills {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.3rem;
    min-width: 0;
    flex: 1;
}

.lux-planner-assign-summary__metrics-row .lux-planner-assign-summary__summary-toggle {
    margin-left: 0.1rem;
}

.lux-planner-assign-summary__charts-btn.lux-planner-btn {
    flex-shrink: 0;
    cursor: pointer;
}

.lux-planner-assign-summary__charts-btn--sm.lux-planner-btn {
    min-height: 1.35rem;
    min-width: 0;
    padding: 0.12rem 0.4rem;
    gap: 0.2rem;
    border-radius: 999px;
    font-size: 0.5625rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    border: 0px solid rgba(91, 95, 244, 0.32);
    background: linear-gradient(145deg, #fff 0%, #f8f7ff 100%);
    color: var(--lux-primary-dark, #4338ca);
    box-shadow: 0 1px 4px rgba(91, 95, 244, 0.1);
}

.lux-planner-assign-summary__charts-btn--sm .fe {
    font-size: 0.625rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-planner-assign-summary__charts-btn:hover {
    border-color: rgba(91, 95, 244, 0.55);
    background: #fff;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-planner-assign-summary__charts-btn:active {
    transform: translateY(1px);
}

.lux-planner-assign-metric--pill {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.05rem;
    padding: 0.28rem 0.4rem;
    min-width: 0;
}

.lux-planner-assign-metric--pill span {
    font-size: 0.5rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
    line-height: 1.1;
}

.lux-planner-assign-metric--pill strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
}

.lux-planner-assign-metric--pill.is-good strong {
    color: #059669;
}

.lux-planner-assign-summary__charts-block {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
    min-height: 0;
    flex: 1;
    overflow-x: hidden;
    overflow-y: auto;
}

.lux-planner-assign-summary__charts-block .lux-planner-assign-insight__chart {
    padding: 0.32rem 0.45rem 0.28rem;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.lux-planner-assign-summary__charts-secondary .lux-planner-assign-insight__chart {
    overflow: hidden;
}

.lux-planner-assign-summary__charts-secondary .lux-planner-assign-insight__chart > div:last-child {
    flex: 1;
    min-height: 0;
    min-width: 0;
}

.lux-planner-assign-summary__daily {
    width: 100%;
    flex-shrink: 0;
    flex-grow: 0;
    overflow: visible;
}

.lux-planner-assign-summary__daily-body {
    flex: 0 0 auto;
    width: 100%;
    min-height: 11.75rem;
    overflow: visible;
}

.lux-planner-assign-summary__daily-body .apexcharts-canvas,
.lux-planner-assign-summary__daily-body > div {
    min-height: inherit !important;
}

.lux-planner-assign-summary__chart-head,
.lux-planner-assign-summary__secondary-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-width: 0;
}

.lux-planner-assign-summary__chart-head-label,
.lux-planner-assign-summary__secondary-label {
    font-size: 0.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #94a3b8;
}

.lux-planner-assign-summary__charts-secondary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.35rem;
    min-width: 0;
}

.lux-planner-assign-summary__charts-secondary .lux-planner-assign-insight__chart {
    min-height: 8.25rem;
}

.lux-planner-assign-summary__chart-empty {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 5.5rem;
    padding: 0.35rem;
    text-align: center;
    font-size: 0.5625rem;
    line-height: 1.35;
    color: #94a3b8;
    font-weight: 500;
}

.lux-planner-assign-insight__avatar {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, #5b5ff4, #14b8a6);
}

.lux-planner-assign-insight__avatar--sm {
    width: 26px;
    height: 26px;
    border-radius: 9px;
    font-size: 0.6875rem;
}

.lux-planner-assign-insight__util {
    display: inline-flex;
    align-items: baseline;
    gap: 0.25rem;
    font-size: 0.9375rem;
    font-weight: 800;
    padding: 0.12rem 0.45rem;
    border-radius: 10px;
    background: #fff;
    border: 0px solid rgba(148, 163, 184, 0.3);
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.lux-planner-assign-insight__util em {
    font-size: 0.5rem;
    font-weight: 700;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.75;
}

.lux-planner-assign-insight__util.is-available { color: #059669; border-color: rgba(16, 185, 129, 0.45); }
.lux-planner-assign-insight__util.is-light { color: #0d9488; border-color: rgba(20, 184, 166, 0.45); }
.lux-planner-assign-insight__util.is-balanced { color: #2563eb; border-color: rgba(59, 130, 246, 0.45); }
.lux-planner-assign-insight__util.is-high { color: #d97706; border-color: rgba(245, 158, 11, 0.5); }
.lux-planner-assign-insight__util.is-critical { color: #dc2626; border-color: rgba(239, 68, 68, 0.5); }

.lux-planner-assign-insight__metrics {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.4rem;
}

.lux-planner-assign-metric {
    padding: 0.45rem 0.5rem;
    border-radius: 10px;
    border: 0px solid rgba(148, 163, 184, 0.2);
    background: rgba(255, 255, 255, 0.85);
}

.lux-planner-assign-metric span {
    display: block;
    font-size: 0.5625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #94a3b8;
}

.lux-planner-assign-metric strong {
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-planner-assign-metric.is-good strong {
    color: #059669;
}

.lux-planner-assign-insight__chart h4 {
    margin: 0 0 0.1rem;
    font-size: 0.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #64748b;
}

.lux-planner-assign-insight__chart.is-compact {
    min-width: 0;
    min-height: 0;
}

.lux-planner-assign-insight__chart {
    min-width: 0;
    min-height: 0;
}

.lux-planner-assign-summary__charts-block .apexcharts-canvas {
    margin: 0 auto;
}

.lux-planner-assign-summary__charts-block .apexcharts-svg {
    overflow: visible;
}

.lux-planner-assign-alloc {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 100%;
    height: 100%;
    overflow: hidden;
    padding: 0.85rem 0.75rem;
    border-left: 1px solid rgba(148, 163, 184, 0.22);
    background: linear-gradient(165deg, #fff 0%, #f8fafc 100%);
    align-self: stretch;
}

.lux-planner-assign-alloc--empty {
    align-items: stretch;
    justify-content: flex-start;
    padding: 0.5rem 0.55rem 0.65rem;
}

.lux-planner-assign-alloc-empty {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0.65rem 0.55rem 0.75rem;
    border-radius: 14px;
    border: 0px solid rgba(148, 163, 184, 0.22);
    background:
        radial-gradient(circle at 0% 0%, rgba(91, 95, 244, 0.1), transparent 52%),
        radial-gradient(circle at 100% 100%, rgba(20, 184, 166, 0.08), transparent 48%),
        linear-gradient(165deg, #fff 0%, #f8fafc 100%);
    text-align: center;
}

.lux-planner-assign-alloc-empty__glow {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.5) 50%, transparent 60%);
    pointer-events: none;
    opacity: 0.55;
}

.lux-planner-assign-alloc-empty__art {
    position: relative;
    width: 100%;
    max-width: 11rem;
    margin: 0 auto 0.5rem;
}

.lux-planner-assign-alloc-empty__art svg {
    display: block;
    width: 100%;
    height: auto;
}

.lux-planner-assign-alloc-empty__copy {
    position: relative;
    width: 100%;
    min-width: 0;
}

.lux-planner-assign-alloc-empty__eyebrow {
    display: block;
    font-size: 0.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #94a3b8;
    margin-bottom: 0.2rem;
}

.lux-planner-assign-alloc-empty__title {
    margin: 0 0 0.35rem;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-planner-assign-alloc-empty__text {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-planner-assign-alloc-empty__hints {
    list-style: none;
    margin: 0.55rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    text-align: left;
}

.lux-planner-assign-alloc-empty__hints li {
    display: flex;
    align-items: flex-start;
    gap: 0.3rem;
    font-size: 0.625rem;
    line-height: 1.35;
    color: #475569;
}

.lux-planner-assign-alloc-empty__hints .fe-check-circle {
    flex-shrink: 0;
    margin-top: 0.1rem;
    color: #10b981;
    font-size: 0.6875rem;
}

.lux-planner-assign-alloc-empty.is-no-tasks {
    border-color: rgba(16, 185, 129, 0.22);
}

.lux-planner-assign-alloc__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    margin-bottom: 0.5rem;
}

.lux-planner-assign-alloc__head h4 {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #64748b;
}

.lux-planner-assign-alloc__head span {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-planner-assign-alloc__list {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: auto;
    flex: 1;
    min-height: 0;
}


.lux-planner-assign-task {
    display: flex;
    gap: 0.45rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-planner-assign-task__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-top: 0.35rem;
    flex-shrink: 0;
}

.lux-planner-assign-task__main strong {
    display: block;
    font-size: 0.75rem;
    color: #0f172a;
}

.lux-planner-assign-task__context {
    display: block;
    font-size: 0.625rem;
    color: #64748b;
}

.lux-planner-assign-task__schedule {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.35rem;
}

.lux-planner-assign-task__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.45rem;
    border-radius: 6px;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1.2;
}

.lux-planner-assign-task__pill i {
    font-size: 0.6875rem;
    opacity: 0.85;
}

.lux-planner-assign-task__pill.is-date {
    background: rgba(59, 130, 246, 0.1);
    color: #1d4ed8;
}

.lux-planner-assign-task__pill.is-hours {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.lux-planner-assign-task__full-range {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.5625rem;
    color: #94a3b8;
}

.lux-planner-assign-task__days {
    list-style: none;
    margin: 0.35rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.lux-planner-assign-task__days li {
    display: grid;
    grid-template-columns: 2.25rem 1fr auto;
    gap: 0.35rem;
    align-items: center;
    padding: 0.2rem 0.35rem;
    border-radius: 6px;
    background: rgba(248, 250, 252, 0.95);
    font-size: 0.5625rem;
    color: #64748b;
}

.lux-planner-assign-task__days li strong {
    font-size: 0.625rem;
    color: #0f172a;
    text-align: right;
}

.lux-planner-assign-panel__form {
    min-height: 0;
    max-height: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    align-self: stretch;
    border-right: 1px solid rgba(148, 163, 184, 0.18);
}

.lux-planner-assign-form {
    min-height: 0;
    height: 100%;
    justify-content: flex-start;
}

.lux-planner-assign-form__fields {
    align-items: flex-start;
    justify-content: flex-start;
}

.lux-planner-assign-form__fields .top {
    width: 100%;
}

.lux-planner-assign-form__section-head {
    margin-bottom: 0.5rem;
}

.lux-planner-assign-form__section-head h4 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-planner-assign-form__section-head p {
    margin: 0.15rem 0 0;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-planner-assign-form__footer {
    flex-shrink: 0;
}

.lux-create-panel--planner-assign .custom-select__control {
    border-radius: 10px;
    min-height: 34px;
    border-color: rgba(148, 163, 184, 0.35);
}

.lux-create-panel--planner-assign .form-label {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

/* Portaled selects/dates above assign panel (9999) and planner detail overlays (~12100) */
body:has(#planner-assign-work-panel.open) .custom-select__menu-portal {
    z-index: 13150 !important;
}

body:has(#planner-assign-work-panel.open) #lux-date-picker-portal .react-datepicker-popper,
body:has(#planner-assign-work-panel.open) .lux-date-picker-popper {
    z-index: 13150 !important;
}

/* Embedded assignment form */
.lux-planner-assign-form__sections {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding-bottom: 0.5rem;
}

.lux-planner-assign-form__columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
}

.lux-planner-assign-form__column {
    min-width: 0;
    height: 100%;
}

.lux-planner-assign-form__grid--stack,
.lux-planner-assign-form__fields-stack {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    width: 100%;
    min-width: 0;
}

.lux-planner-assign-form__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem 0.55rem;
    width: 100%;
    min-width: 0;
}

.lux-planner-assign-form__row > .lux-planner-assign-field {
    min-width: 0;
}

.lux-planner-assign-form__row .lux-planner-assign-field--switch {
    justify-content: flex-end;
    padding-bottom: 0.15rem;
}

.lux-planner-assign-form__grid.lux-planner-assign-form__grid--stack {
    display: flex;
    flex-direction: column;
    grid-template-columns: unset;
}

.lux-planner-assign-field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    width: 100%;
    min-width: 0;
}

.lux-planner-assign-field .form-group {
    margin-bottom: 0;
}

.lux-planner-assign-field .form-label {
    margin-bottom: 0;
}

.lux-create-panel--planner-assign .lux-planner-assign-field .form-control,
.lux-create-panel--planner-assign .lux-planner-assign-field .custom-select__control {
    width: 100%;
}

.lux-planner-assign-form__hours {
    width: 100%;
}

.lux-planner-assign-form__hours-hint {
    margin: 0;
    padding: 0.35rem 0;
    font-size: 0.6875rem;
    line-height: 1.4;
    color: #94a3b8;
}

.lux-planner-assign-field.is-field-disabled .form-label {
    opacity: 0.7;
}

.lux-planner-assign-form__sections .lux-create-section {
    margin: 0;
    border-radius: 14px;
    border: 0px solid rgba(148, 163, 184, 0.2);
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-planner-assign-form__sections .lux-create-section__head {
    padding: 0.55rem 0.7rem;
}

.lux-planner-assign-form__sections .lux-create-section__body {
    padding: 0 0.7rem 0.65rem;
}

.lux-planner-assign-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem 0.65rem;
}

.lux-planner-assign-form__grid .lux-planner-assign-field--switch {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.lux-planner-assign-section--hours .lux-create-section__body {
    padding-top: 0;
}

/* Planner assign footer */
.lux-planner-assign-footer {
    border-top: 1px solid rgba(148, 163, 184, 0.24);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), #fff);
    box-shadow: 0 -10px 28px rgba(15, 23, 42, 0.06);
}

.lux-planner-assign-footer__summary {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.55rem 0.85rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.lux-planner-assign-footer__summary-main {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    min-width: 0;
}

.lux-planner-assign-footer__stat {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 5.5rem;
    padding: 0.35rem 0.55rem;
    border-radius: 10px;
    border: 0px solid rgba(148, 163, 184, 0.22);
    background: #fff;
}

.lux-planner-assign-footer__stat-label {
    font-size: 0.5625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #94a3b8;
}

.lux-planner-assign-footer__stat strong {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-planner-assign-footer__stat--warn {
    border-color: rgba(239, 68, 68, 0.35);
    background: rgba(254, 242, 242, 0.9);
}

.lux-planner-assign-footer__stat--warn strong {
    color: #b91c1c;
}

.lux-planner-assign-footer__stat--ok {
    border-color: rgba(16, 185, 129, 0.28);
    background: rgba(236, 253, 245, 0.85);
}

.lux-planner-assign-footer__stat--ok strong {
    color: #047857;
}

.lux-planner-assign-footer__empty {
    margin: 0;
    font-size: 0.6875rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-planner-assign-footer__context {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.6875rem;
    color: #475569;
    text-align: right;
}

.lux-planner-assign-footer__context span {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    justify-content: flex-end;
}

.lux-planner-assign-footer__context i {
    color: var(--lux-primary, #5b5ff4);
}

.lux-planner-assign-footer__bar {
    align-items: flex-end;
}

.lux-planner-assign-footer__hint {
    margin: 0;
    max-width: 22rem;
    font-size: 0.6875rem;
    line-height: 1.4;
    color: #64748b;
}

.lux-planner-assign-footer__submit.btn i {
    margin-right: 0.2rem;
}

@media (max-width: 720px) {
    .lux-planner-assign-footer__context {
        width: 100%;
        text-align: left;
    }

    .lux-planner-assign-footer__context span {
        justify-content: flex-start;
    }

    .lux-planner-assign-footer__bar {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-planner-assign-footer__hint {
        max-width: none;
    }

    .lux-planner-assign-footer__bar .lux-create-footer__actions {
        margin-left: 0;
        width: 100%;
        justify-content: stretch;
    }

    .lux-planner-assign-footer__bar .lux-create-footer__submit {
        flex: 1;
    }
}

/* Daily hours planner UI */
.lux-planner-day-hours__over-banner {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    margin-bottom: 0.5rem;
    padding: 0.5rem 0.6rem;
    border-radius: 12px;
    border: 0px solid rgba(239, 68, 68, 0.35);
    background: linear-gradient(135deg, rgba(254, 242, 242, 0.95), rgba(255, 255, 255, 0.98));
    color: #991b1b;
}

.lux-planner-day-hours__over-banner-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 8px;
    background: rgba(239, 68, 68, 0.12);
    flex-shrink: 0;
}

.lux-planner-day-hours__over-banner strong {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #b91c1c;
}

.lux-planner-day-hours__over-banner p {
    margin: 0.2rem 0 0;
    font-size: 0.625rem;
    line-height: 1.4;
    color: #7f1d1d;
}

.lux-planner-day-hours__toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.lux-planner-day-hours__toolbar p {
    margin: 0;
    font-size: 0.6875rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-planner-day-hours__toolbar p i {
    margin-right: 0.25rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-planner-day-hours__fill-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
    min-height: 2.35rem;
    padding: 0.35rem 0.65rem 0.35rem 0.45rem;
    border-radius: 12px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    background: linear-gradient(135deg, rgba(91, 95, 244, 0.14), rgba(255, 255, 255, 0.98));
    box-shadow: 0 4px 14px rgba(91, 95, 244, 0.18);
    cursor: pointer;
    text-align: left;
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}

.lux-planner-day-hours__fill-btn:hover {
    transform: translateY(-1px);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.65);
    box-shadow: 0 6px 18px rgba(91, 95, 244, 0.24);
}

.lux-planner-day-hours__fill-btn:active {
    transform: translateY(0);
}

.lux-planner-day-hours__fill-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 9px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    font-size: 0.8125rem;
}

.lux-planner-day-hours__fill-btn-text {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
}

.lux-planner-day-hours__fill-btn-text strong {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #312e81;
    line-height: 1.2;
}

.lux-planner-day-hours__fill-btn-text small {
    font-size: 0.5625rem;
    color: #64748b;
    line-height: 1.2;
}

.lux-planner-day-hours--empty {
    padding: 0.75rem;
    border-radius: 10px;
    background: #f8fafc;
    font-size: 0.75rem;
    color: #64748b;
    text-align: center;
}

.lux-planner-day-hours__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-height: min(42vh, 360px);
    overflow-y: auto;
}

.lux-planner-day-hour-row {
    display: grid;
    grid-template-columns: minmax(72px, 88px) minmax(0, 1fr) auto auto;
    gap: 0.4rem;
    align-items: center;
    padding: 0.45rem 0.5rem;
    border-radius: 12px;
    border: 0px solid rgba(148, 163, 184, 0.22);
    background: #fff;
}

.lux-planner-day-hour-row.is-weekend {
    background: rgba(248, 250, 252, 0.95);
}

.lux-planner-day-hour-row.is-leave {
    opacity: 0.75;
    background: rgba(168, 85, 247, 0.06);
}

.lux-planner-day-hour-row.is-over {
    border-color: rgba(239, 68, 68, 0.45);
    box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.12);
}

.lux-planner-day-hour-row.is-open {
    border-color: rgba(91, 95, 244, 0.45);
    box-shadow: 0 4px 12px rgba(91, 95, 244, 0.12);
}

.lux-planner-day-hour-row__date strong {
    display: block;
    font-size: 0.6875rem;
    color: #0f172a;
}

.lux-planner-day-hour-row__date span {
    font-size: 0.5625rem;
    color: #94a3b8;
}

.lux-planner-day-hour-row__capacity {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    min-width: 0;
}

.lux-planner-day-hour-row__tag {
    font-size: 0.5625rem;
    font-weight: 600;
    padding: 0.15rem 0.35rem;
    border-radius: 4px;
    white-space: nowrap;
}

.lux-planner-day-hour-row__tag.is-booked {
    background: rgba(59, 130, 246, 0.1);
    color: #1d4ed8;
}

.lux-planner-day-hour-row__tag.is-this {
    background: rgba(91, 95, 244, 0.12);
    color: #4338ca;
}

.lux-planner-day-hour-row__tag.is-free {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.lux-planner-day-hour-row__tag.is-full {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}

.lux-planner-day-hour-row__tag.is-leave {
    background: rgba(168, 85, 247, 0.12);
    color: #7c3aed;
}

.lux-planner-day-hour-row__tag.is-over {
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
    border: 0px solid rgba(239, 68, 68, 0.22);
}

.lux-planner-day-hour-row__tag.is-over i {
    margin-right: 0.15rem;
}

.lux-planner-day-hour-row__util {
    font-weight: 600;
    opacity: 0.9;
}

.lux-planner-day-hour-row__edit {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 56px;
    padding: 0.25rem 0.45rem;
    border-radius: 10px;
    border: 0px solid rgba(91, 95, 244, 0.35);
    background: linear-gradient(165deg, rgba(91, 95, 244, 0.08), #fff);
    cursor: pointer;
}

.lux-planner-day-hour-row__hours {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-planner-day-hour-row__edit-label {
    font-size: 0.5rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
}

.lux-planner-day-hour-row__edit i {
    display: none;
}

.lux-planner-day-hour-row__remove {
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.lux-planner-day-hour-row__remove:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #dc2626;
}

.lux-planner-day-hours-popover {
    border-radius: 14px;
    border: 0px solid rgba(148, 163, 184, 0.28);
    background: #fff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
    padding: 0.65rem;
}

.lux-planner-day-hours-popover__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.lux-planner-day-hours-popover__head strong {
    display: block;
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-planner-day-hours-popover__head span {
    font-size: 0.625rem;
    color: #64748b;
}

.lux-planner-day-hours-popover__close {
    border: none;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}

.lux-planner-day-hours-popover__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.35rem;
    margin-bottom: 0.45rem;
}

.lux-planner-day-hours-popover__stats div span {
    display: block;
    font-size: 0.5rem;
    text-transform: uppercase;
    color: #94a3b8;
    font-weight: 700;
}

.lux-planner-day-hours-popover__stats div strong {
    font-size: 0.6875rem;
    color: #0f172a;
}

.lux-planner-day-hours-popover__stats .is-good strong {
    color: #059669;
}

.lux-planner-day-hours-popover__stats .is-warn strong {
    color: #dc2626;
}

.lux-planner-day-hours-popover__bar {
    position: relative;
    height: 6px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.lux-planner-day-hours-popover__bar .is-booked {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: #3b82f6;
}

.lux-planner-day-hours-popover__bar .is-new {
    position: absolute;
    top: 0;
    bottom: 0;
    background: #5b5ff4;
    opacity: 0.85;
}

.lux-planner-day-hours-popover__bar .is-new.is-over {
    background: #ef4444;
}

.lux-planner-day-hours-popover__field {
    display: block;
    margin-bottom: 0.45rem;
}

.lux-planner-day-hours-popover__field span {
    display: block;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 0.2rem;
}

.lux-planner-day-hours-popover__field input {
    width: 100%;
    border-radius: 10px;
    border: 0px solid rgba(148, 163, 184, 0.35);
    padding: 0.35rem 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
}

.lux-planner-day-hours-popover__quick {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-bottom: 0.45rem;
}

.lux-planner-day-hours-popover__quick button {
    padding: 0.2rem 0.45rem;
    border-radius: 6px;
    border: 0px solid rgba(148, 163, 184, 0.3);
    background: #f8fafc;
    font-size: 0.625rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
}

.lux-planner-day-hours-popover__warn {
    margin: 0 0 0.45rem;
    font-size: 0.625rem;
    color: #b45309;
}

.lux-planner-day-hours-popover__foot {
    display: flex;
    justify-content: space-between;
    gap: 0.35rem;
}

.lux-planner-btn {
    padding: 0.35rem 0.65rem;
    border-radius: 8px;
    font-size: 0.6875rem;
    font-weight: 700;
    border: 0px solid transparent;
    cursor: pointer;
}

.lux-planner-btn--ghost {
    background: #fff;
    border-color: rgba(148, 163, 184, 0.35);
    color: #475569;
}

.lux-planner-btn--primary {
    background: linear-gradient(135deg, #5b5ff4, #6366f1);
    color: #fff;
}

@media (max-width: 720px) {
    .lux-planner-assign-form__grid {
        grid-template-columns: 1fr;
    }
    .lux-planner-assign-form__columns {
        grid-template-columns: 1fr;
    }
    .lux-planner-day-hour-row {
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
    }
    .lux-planner-day-hour-row__capacity {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1100px) {
    .lux-planner-assign-summary.is-daily-chart-expanded.is-secondary-charts-expanded {
        max-height: min(66vh, 600px);
    }
    .lux-planner-assign-summary.is-daily-chart-expanded.is-secondary-charts-collapsed {
        max-height: min(44vh, 400px);
    }
    .lux-planner-assign-summary.is-daily-chart-collapsed.is-secondary-charts-expanded {
        max-height: min(52vh, 500px);
    }
    .lux-planner-assign-summary.is-daily-chart-collapsed.is-secondary-charts-collapsed {
        max-height: min(26vh, 240px);
    }
    .lux-planner-assign-summary__charts-secondary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lux-planner-assign-summary__charts-secondary .lux-planner-assign-insight__chart:first-child {
        grid-column: 1 / -1;
    }
    .lux-planner-assign-panel__workspace {
        grid-template-columns: 1fr;
    }
    .lux-planner-assign-panel__form {
        max-height: none;
        border-right: none;
        border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    }
    .lux-planner-assign-alloc {
        max-height: 40vh;
        border-left: none;
    }
}

@media (max-width: 720px) {
    .lux-planner-assign-summary__layout {
        grid-template-columns: 1fr;
    }
    .lux-planner-assign-summary__metrics-row {
        flex-wrap: wrap;
    }
    .lux-planner-assign-summary__pills {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }
    .lux-planner-assign-summary__charts-btn {
        margin-left: auto;
    }
    .lux-planner-assign-summary__charts-secondary {
        grid-template-columns: 1fr;
    }
    .lux-planner-assign-summary__charts-secondary .lux-planner-assign-insight__chart:first-child {
        grid-column: auto;
    }
}

@media (max-width: 960px) {
    .lux-planner-roster__layout {
        grid-template-columns: 1fr;
    }
    .lux-planner-overview__top {
        grid-template-columns: 1fr;
    }
    .lux-planner-chart-grid {
        grid-template-columns: 1fr;
    }
    .lux-planner-gantt__frame--fluid {
        grid-template-columns: 160px minmax(0, 1fr);
    }
    .lux-planner-lux-panel__sheet {
        width: 100vw;
    }
}
/* ========== Reports — page, results table, notification config ========== */

.lux-reports-summary__context {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.35rem;
}

.lux-reports-summary__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.9);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
}

.lux-reports-summary__chip.is-primary {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

/* Results register — shell provided by .lux-register-list-section */
.lux-register-list-section .lux-report-results {
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    overflow: hidden;
}

.lux-register-list-section .lux-report-results__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.55rem 0.85rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), rgba(14, 165, 233, 0.04)),
        #fff;
}

.lux-report-results__meta-copy {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-report-results__meta-copy strong {
    color: #0f172a;
    font-weight: 800;
}

.lux-report-results__scroll {
    overflow: auto;
    max-height: min(72vh, 920px);
    -webkit-overflow-scrolling: touch;
}

.lux-report-table {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.75rem;
}

.lux-report-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 0.5rem 0.65rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.35);
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #475569;
    white-space: nowrap;
    vertical-align: bottom;
}

.lux-report-table tbody td {
    padding: 0.45rem 0.65rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    color: #0f172a;
    vertical-align: top;
    line-height: 1.45;
}

.lux-report-table tbody tr:nth-child(even) td {
    background: rgba(248, 250, 252, 0.65);
}

.lux-report-table tbody tr:hover td {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
}

.lux-report-table .reportDataHeader-activity th,
.lux-report-table .reportDataHeader-utilization th,
.lux-report-table .reportDataHeader-utilization-monthly th,
.lux-report-table .reportDataHeader-project15percentage th,
.lux-report-table .reportDataHeader-poestimation th,
.lux-report-table .reportDataHeader-projecthours th,
.lux-report-table .reportDataHeader-utilizationbyuserskills th,
.lux-report-table .reportDataHeader-utilizationbyprojectcategory th,
.lux-report-table .reportDataHeader-timesheetdump th,
.lux-report-table .feedbackDataHeader-project15percentage th {
    background: linear-gradient(180deg, #eef2ff, #e2e8f0);
    color: #334155;
}

.lux-report-table .colorred {
    color: #dc2626 !important;
    font-weight: 700;
}

.lux-report-table .colorgreen {
    color: #16a34a !important;
    font-weight: 700;
}

/* Notification config panel */
.right_sidebar.lux-create-panel--report-config {
    width: min(1080px, 96vw) !important;
    right: calc(-1 * min(1080px, 96vw) - 24px) !important;
}

.right_sidebar.lux-create-panel--report-config.open {
    right: 0 !important;
}

.lux-report-config-panel {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.lux-report-config-panel__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    padding: 0.45rem 1rem 0.55rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(255, 255, 255, 0.72);
}

.lux-report-config-panel__body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0.75rem 1rem 1rem;
}

.lux-report-config-form-wrap {
    margin-bottom: 1rem;
    padding: 0.85rem;
    border-radius: 14px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), rgba(255, 255, 255, 0.98));
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.lux-report-config-form-wrap .lux-create-field-group + .lux-create-field-group {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
}

.lux-report-config-cron {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.5rem;
}

.lux-report-config-cron__label {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    margin: 0;
}

.lux-report-config-cron__value {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    cursor: pointer;
}

.lux-report-config-cron__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    border-radius: 8px;
    background: #fff;
    color: var(--lux-primary, #5b5ff4);
    cursor: pointer;
}

.lux-report-config-list__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
}

.lux-report-config-list__title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-report-config-list__count {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-report-config-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-report-config-card {
    border-radius: 14px;
    border: 0px solid rgba(148, 163, 184, 0.28);
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.lux-report-config-card.is-expanded {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}

.lux-report-config-card__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.55rem 0.75rem;
    cursor: pointer;
}

.lux-report-config-card__main {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    flex: 1;
}

.lux-report-config-card__status {
    flex-shrink: 0;
    font-size: 1rem;
}

.lux-report-config-card__status.is-on {
    color: #16a34a;
}

.lux-report-config-card__status.is-off {
    color: #dc2626;
}

.lux-report-config-card__id {
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary, #5b5ff4);
}

.lux-report-config-card__name {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-report-config-card__actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-report-config-card__cron {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    max-width: 12rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-report-config-card__switch .custom-switch-indicator {
    border-radius: 999px;
}

.lux-report-config-card__icon-btn {
    width: 2rem;
    height: 2rem;
    border: 0px solid rgba(148, 163, 184, 0.35);
    border-radius: 9px;
    background: #fff;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.lux-report-config-card__icon-btn:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    color: var(--lux-primary, #5b5ff4);
}

.lux-report-config-card__icon-btn.is-delete:hover {
    color: #dc2626;
    border-color: rgba(220, 38, 38, 0.35);
    background: #fef2f2;
}

.lux-report-config-card__detail {
    padding: 0.65rem 0.85rem 0.75rem;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, #f8fafc, #fff);
}

.lux-report-config-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem 0.75rem;
}

.lux-report-config-detail-grid .lux-report-config-detail-item.is-wide {
    grid-column: 1 / -1;
}

.lux-report-config-detail-item label {
    display: block;
    margin: 0 0 0.15rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-report-config-detail-item span {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.4;
}

.lux-report-config-detail-item span p {
    margin: 0;
}

.lux-report-config-email-table {
    margin-top: 0.5rem;
    border-radius: 12px;
    border: 0px solid rgba(148, 163, 184, 0.25);
    overflow: hidden;
}

.lux-report-config-email-table table {
    width: 100%;
    margin: 0;
    font-size: 0.75rem;
}

.lux-report-config-email-table thead th {
    padding: 0.4rem 0.55rem;
    background: #f1f5f9;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
}

.lux-report-config-email-table tbody td {
    padding: 0.35rem 0.55rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-report-config-email-add {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.45rem;
    margin-top: 0.35rem;
}

.lux-report-config-email-add__link {
    border: none;
    background: none;
    padding: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary, #5b5ff4);
    cursor: pointer;
}

@media (max-width: 960px) {
    .lux-report-config-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .lux-report-config-detail-grid {
        grid-template-columns: 1fr;
    }

    .lux-report-config-card__cron {
        display: none;
    }
}
/* ========== Personal notes — overlay + page ========== */

/* Overlay — blurred page behind scattered yellow sticky cards (no modal window) */
.lux-notes-overlay__backdrop {
    position: fixed;
    inset: 0;
    z-index: 9996;
    padding: 0;
    border: none;
    background: rgba(15, 23, 42, 0.32);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    cursor: pointer;
    animation: luxNotesOverlayBackdropIn 0.22s ease;
}

@keyframes luxNotesOverlayBackdropIn {
    from {
        opacity: 0;
        backdrop-filter: blur(0);
        -webkit-backdrop-filter: blur(0);
    }
    to {
        opacity: 1;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }
}

.lux-notes-overlay {
    position: fixed;
    inset: 0;
    z-index: 9997;
    pointer-events: none;
}

.lux-notes-overlay__float-head {
    position: fixed;
    top: 1rem;
    left: 4.5rem;
    z-index: 2;
    width: min(380px, calc(100vw - 4.5rem - 1rem));
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border-radius: 16px;
    pointer-events: auto;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.97) 0%, rgba(254, 249, 195, 0.92) 100%);
    border: 0px solid rgba(234, 179, 8, 0.32);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.75) inset,
        0 16px 36px rgba(15, 23, 42, 0.14);
    transform: rotate(-0.4deg);
}

.lux-notes-overlay__eyebrow {
    margin-bottom: 0.35rem;
}

.lux-notes-overlay__title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
}

.lux-notes-overlay__sub {
    margin: 0.25rem 0 0;
    font-size: 0.8125rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-notes-overlay__head-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.lux-notes-overlay__close {
    width: 2.25rem;
    height: 2.25rem;
    border: 0px solid rgba(148, 163, 184, 0.35);
    border-radius: 10px;
    background: #fff;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.lux-notes-overlay__close:hover {
    background: #f8fafc;
    color: #0f172a;
}

.lux-notes-overlay__deck {
    position: fixed;
    top: 6.75rem;
    left: 4.5rem;
    bottom: 1rem;
    z-index: 1;
    width: min(400px, calc(100vw - 4.5rem - 1rem));
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 0 0.25rem 1rem 0;
    scrollbar-width: thin;
    pointer-events: none;
}

.lux-notes-overlay__card-slot {
    pointer-events: auto;
    max-width: 100%;
}

.lux-notes-overlay__deck .lux-note-card {
    background: linear-gradient(165deg, #fefce8 0%, #fef9c3 52%, #fffbeb 100%);
    border-color: rgba(234, 179, 8, 0.38);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.88) inset,
        0 16px 32px rgba(180, 130, 0, 0.14);
}

.lux-notes-overlay__deck .lux-notes-overlay__card-slot:nth-child(odd) .lux-note-card {
    transform: rotate(-1deg);
}

.lux-notes-overlay__deck .lux-notes-overlay__card-slot:nth-child(even) .lux-note-card {
    transform: rotate(0.85deg);
}

.lux-notes-overlay__deck .lux-notes-overlay__card-slot:nth-child(3n) .lux-note-card {
    transform: rotate(-0.35deg);
}

.lux-notes-overlay__deck .lux-note-card .lux-note-card__pin {
    display: block;
}

.lux-notes-overlay__empty-card {
    padding: 1.5rem 1.25rem;
    border-radius: 16px;
    text-align: center;
    background: linear-gradient(160deg, #fefce8, #fef9c3);
    border: 0px dashed rgba(234, 179, 8, 0.45);
    box-shadow: 0 14px 32px rgba(180, 130, 0, 0.12);
    transform: rotate(-0.6deg);
}

.lux-notes-overlay__empty-card i {
    font-size: 1.75rem;
    color: var(--lux-primary, #5b5ff4);
    margin-bottom: 0.5rem;
}

.lux-notes-overlay__empty-card strong {
    display: block;
    font-size: 1rem;
    color: #0f172a;
    margin-bottom: 0.35rem;
}

.lux-notes-overlay__empty-card p {
    margin: 0 0 1rem;
    font-size: 0.8125rem;
    color: #64748b;
    line-height: 1.5;
}

/* Note cards */
.lux-note-card.is-sticky {
    background: linear-gradient(165deg, #fefce8 0%, #fef9c3 48%, #fff 100%);
    transform: rotate(-0.6deg);
}

.lux-note-card__pin {
    position: absolute;
    top: 0.45rem;
    right: 0.75rem;
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #f43f5e, #be123c);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.25);
}

.lux-note-card__badges {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-note-card__remind {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 8px;
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
    font-size: 0.75rem;
}

.lux-note-card {
    position: relative;
    padding: 1rem 1rem 0.875rem 1.125rem;
    border-radius: 16px;
    background: linear-gradient(165deg, #fffefb 0%, #fff 55%, #f8fafc 100%);
    border: 0px solid rgba(148, 163, 184, 0.28);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.75) inset,
        0 14px 32px rgba(15, 23, 42, 0.1);
    overflow: hidden;
}

.lux-note-card.is-compact {
    padding: 0.875rem 0.875rem 0.75rem 1rem;
}

.lux-note-card__accent {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--lux-primary, #5b5ff4);
}

.lux-note-card.is-today .lux-note-card__accent {
    background: #0ea5e9;
}

.lux-note-card.is-overdue .lux-note-card__accent {
    background: #f43f5e;
}

.lux-note-card.is-upcoming .lux-note-card__accent {
    background: #8b5cf6;
}

.lux-note-card.is-done .lux-note-card__accent {
    background: #22c55e;
}

.lux-note-card.is-done {
    opacity: 0.88;
    background: linear-gradient(165deg, #f8fafc 0%, #f1f5f9 100%);
}

.lux-note-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.lux-note-card__title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.3;
    flex: 1;
}

.lux-note-card__status {
    flex-shrink: 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
}

.lux-note-card__status.is-open {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-note-card__status.is-done {
    background: rgba(34, 197, 94, 0.14);
    color: #15803d;
}

.lux-note-card__body {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: #475569;
    white-space: pre-wrap;
    word-break: break-word;
}

.lux-note-card__body.is-empty {
    font-style: italic;
    color: #94a3b8;
}

.lux-note-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.lux-note-card__when {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-note-card__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-note-card__icon-btn {
    width: 2rem;
    height: 2rem;
    border: 0px solid rgba(148, 163, 184, 0.3);
    border-radius: 9px;
    background: #fff;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.lux-note-card__icon-btn:hover {
    background: #f8fafc;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    color: var(--lux-primary, #5b5ff4);
}

.lux-note-card__icon-btn.is-done:hover {
    color: #16a34a;
    border-color: rgba(34, 197, 94, 0.4);
}

.lux-note-card__icon-btn.is-delete:hover {
    color: #dc2626;
    border-color: rgba(220, 38, 38, 0.35);
    background: #fef2f2;
}

/* Note editor — centered luxury modal */
.lux-note-editor-modal__backdrop {
    position: fixed;
    inset: 0;
    z-index: 10050;
    border: none;
    padding: 0;
    background: rgba(15, 23, 42, 0.58);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    cursor: pointer;
    animation: luxNoteEditorBackdropIn 0.2s ease;
}

@keyframes luxNoteEditorBackdropIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.lux-note-editor-modal {
    position: fixed;
    z-index: 10060;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(560px, calc(100vw - 1.25rem));
    max-height: min(90vh, 780px);
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    border: 0px solid rgba(148, 163, 184, 0.32);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.8) inset,
        0 28px 64px rgba(15, 23, 42, 0.24);
    animation: luxNoteEditorModalIn 0.24s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes luxNoteEditorModalIn {
    from {
        opacity: 0;
        transform: translate(-50%, -48%) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

.lux-note-editor-modal__glow {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 0% 0%, rgba(254, 240, 138, 0.22), transparent 45%),
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 40%);
}

.lux-note-editor-modal__hero {
    position: relative;
    flex-shrink: 0;
    padding: 0.85rem 1rem 0.75rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), rgba(254, 240, 138, 0.14)),
        #fff;
}

.lux-note-editor-modal__hero-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
}

.lux-note-editor-modal__hero-brand {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-width: 0;
}

.lux-note-editor-modal__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 12px;
    background: linear-gradient(135deg, #fef08a, #fde047);
    color: #a16207;
    flex-shrink: 0;
    font-size: 1rem;
    box-shadow: 0 4px 12px rgba(234, 179, 8, 0.25);
}

.lux-note-editor-modal__hero-copy h2 {
    margin: 0.15rem 0 0;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
    line-height: 1.2;
}

.lux-note-editor-modal__eyebrow {
    margin-bottom: 0.2rem;
}

.lux-note-editor-modal__subtitle {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-note-editor-modal__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 0px solid rgba(148, 163, 184, 0.35);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.95);
    color: #475569;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-note-editor-modal__close:hover {
    color: #0f172a;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
}

.lux-note-editor-modal__body {
    position: relative;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0.85rem 1rem 0.5rem;
    -webkit-overflow-scrolling: touch;
}

.lux-note-editor-modal .lux-note-editor-footer {
    flex-shrink: 0;
    border-radius: 0 0 20px 20px;
}

.lux-note-editor-form .lux-create-field-group + .lux-create-field-group {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
}

.lux-note-editor-form textarea.form-control {
    min-height: 6.5rem;
    resize: vertical;
}

.lux-note-editor-status {
    margin-top: 0.25rem;
}

/* Live preview card */
.lux-note-editor-preview {
    position: relative;
    margin: 0 0 0.85rem;
    padding: 0.95rem 1rem 0.85rem 1.1rem;
    border-radius: 16px;
    background: linear-gradient(165deg, #fefce8 0%, #fef9c3 42%, #fff 100%);
    border: 0px solid rgba(234, 179, 8, 0.28);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.8) inset,
        0 12px 28px rgba(15, 23, 42, 0.08);
    transform: rotate(-0.5deg);
}

.lux-note-editor-preview.is-done {
    background: linear-gradient(165deg, #f8fafc 0%, #f1f5f9 100%);
    border-color: rgba(148, 163, 184, 0.35);
    transform: none;
}

.lux-note-editor-preview__pin {
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #f43f5e, #be123c);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2);
}

.lux-note-editor-preview__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}

.lux-note-editor-preview__title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.3;
}

.lux-note-editor-preview__badges {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-note-editor-preview__remind {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 8px;
    background: rgba(245, 158, 11, 0.18);
    color: #b45309;
    font-size: 0.75rem;
}

.lux-note-editor-preview__status {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
}

.lux-note-editor-preview__status.is-open {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-note-editor-preview__status.is-done {
    background: rgba(34, 197, 94, 0.14);
    color: #15803d;
}

.lux-note-editor-preview__body {
    margin: 0 0 0.6rem;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: #475569;
    white-space: pre-wrap;
    word-break: break-word;
}

.lux-note-editor-preview__foot {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    padding-top: 0.45rem;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
}

/* Remind toggle card */
.lux-note-editor-option {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.65rem 0.75rem;
    border: 0px solid rgba(203, 213, 225, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.9);
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.lux-note-editor-option:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    background: #fff;
}

.lux-note-editor-option.is-active {
    border-color: rgba(245, 158, 11, 0.45);
    background: linear-gradient(135deg, rgba(254, 243, 199, 0.5), rgba(255, 255, 255, 0.95));
    box-shadow: 0 4px 16px rgba(245, 158, 11, 0.12);
}

.lux-note-editor-option__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 11px;
    background: rgba(248, 250, 252, 0.95);
    color: #64748b;
    flex-shrink: 0;
}

.lux-note-editor-option.is-active .lux-note-editor-option__icon {
    background: rgba(245, 158, 11, 0.18);
    color: #b45309;
}

.lux-note-editor-option__copy {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.lux-note-editor-option__copy strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-note-editor-option__copy span {
    font-size: 0.6875rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-note-editor-option__switch {
    width: 2.35rem;
    height: 1.35rem;
    border-radius: 999px;
    background: rgba(203, 213, 225, 0.9);
    position: relative;
    flex-shrink: 0;
    transition: background 0.18s ease;
}

.lux-note-editor-option__switch.is-on {
    background: linear-gradient(135deg, #f59e0b, #d97706);
}

.lux-note-editor-option__knob {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.18);
    transition: transform 0.18s ease;
}

.lux-note-editor-option__switch.is-on .lux-note-editor-option__knob {
    transform: translateX(1rem);
}

.lux-note-editor-footer .lux-note-editor-footer__hint {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-note-editor-footer .lux-note-editor-footer__hint .fe {
    color: #94a3b8;
}

/* Notes page */
.lux-rail__notes-btn.active {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    color: var(--lux-primary, #5b5ff4);
    box-shadow: 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.lux-notes-page__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.lux-notes-page__list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lux-notes-register-row {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 2fr) 8rem 7rem;
    gap: 0.75rem;
    align-items: center;
    padding: 0.875rem 1rem;
    border-radius: 14px;
    background: #fff;
    border: 0px solid rgba(148, 163, 184, 0.25);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.lux-notes-register-row.is-done {
    background: #f8fafc;
}

.lux-notes-register-row__title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-notes-register-row__desc {
    margin: 0;
    font-size: 0.8125rem;
    color: #64748b;
    line-height: 1.45;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-notes-register-row__when {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-notes-register-row__actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.25rem;
}

.lux-rail__notes-btn {
    position: relative;
}

.lux-rail__notes-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 1rem;
    height: 1rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    background: #f43f5e;
    color: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    line-height: 1rem;
    text-align: center;
    pointer-events: none;
}

@media (max-width: 900px) {
    .lux-notes-overlay__float-head {
        left: 0.75rem;
        width: calc(100vw - 1.5rem);
    }

    .lux-notes-overlay__deck {
        left: 0.75rem;
        width: calc(100vw - 1.5rem);
    }

    .lux-notes-register-row {
        grid-template-columns: 1fr;
    }

    .lux-notes-register-row__actions {
        justify-content: flex-start;
    }

    .lux-note-editor-modal {
        width: calc(100vw - 1rem);
        max-height: 94vh;
    }
}
/* ========== Feedback — workspace page, campaigns, recipients, templates ========== */

.lux-feedback-page {
    width: 100%;
    padding-bottom: 1rem;
}

.lux-feedback-page.lux-register-page {
    padding-bottom: 1rem;
}

/* Allow the main app shell to grow and scroll (fixed .page.h-100vh otherwise clips content) */
.page:has(.lux-feedback-page) {
    height: auto !important;
    min-height: 100vh;
    max-height: none !important;
    overflow: visible !important;
}

.page:has(.lux-feedback-page) > .vleft {
    flex: 1 0 auto;
    min-height: auto;
    overflow: visible;
}

.pd-page:has(.lux-feedback-page) .pd-page__body {
    overflow: visible;
}

.lux-feedback-page .lux-page-header {
    margin-top: 0;
    margin-bottom: 0;
}

.lux-feedback-summary__context {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0.35rem 0 0.65rem;
}

.lux-feedback-summary__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.92);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
}

.lux-feedback-summary__insights {
    flex: 1;
    min-width: 200px;
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    border: 0px solid rgba(148, 163, 184, 0.28);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), rgba(255, 255, 255, 0.98));
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.lux-feedback-summary__insights-title,
.lux-feedback-summary__tips-title {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-feedback-summary__insights-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem 0.75rem;
}

.lux-feedback-summary__insights-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-feedback-summary__insights-list strong {
    color: #0f172a;
    font-weight: 800;
}

.lux-feedback-summary__tips {
    margin-top: 0.85rem;
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    border: 0px dashed rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
}

.lux-feedback-summary__tips-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-feedback-summary__tips-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    font-size: 0.75rem;
    color: #475569;
}

.lux-feedback-summary__tips-list li i {
    color: var(--lux-primary, #5b5ff4);
    margin-top: 0.15rem;
}

.lux-feedback-summary__tips-list strong {
    display: block;
    color: #0f172a;
    font-weight: 700;
}

.lux-feedback-summary__tips-list span {
    display: block;
    color: #64748b;
    line-height: 1.4;
}

.lux-feedback-header-extra .lux-planner-btn {
    white-space: nowrap;
}

/* Create request panel */
.lux-feedback-create {
    display: flex;
    flex-direction: column;
    margin: 0 0.65rem 0.85rem;
    border-radius: 16px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    max-height: min(88vh, 920px);
}

.lux-feedback-create__head {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    flex-shrink: 0;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.09), rgba(14, 165, 233, 0.05));
}

.lux-feedback-create__head-icon {
    width: 2.25rem;
    height: 2.25rem;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary, #5b5ff4);
    font-size: 1rem;
    flex-shrink: 0;
}

.lux-feedback-create__kicker {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-feedback-create__head-copy h3 {
    margin: 0.12rem 0 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.lux-feedback-create__head-copy p {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-feedback-create__body {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0;
}

/* New feedback request — luxury form */
.lux-fb-create-form {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.lux-fb-create-form--panel .lux-fb-create-form__scroll {
    flex: 1;
    min-height: 0;
}

.lux-fb-create-form__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    align-items: start;
}

.lux-fb-create-form__main {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    min-width: 0;
}

.lux-fb-create-form__aside {
    min-width: 0;
    position: sticky;
    top: 0;
}

.lux-fb-create-section {
    border: 0px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.lux-fb-create-section__head {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.55rem 0.7rem;
    border-bottom: 1px solid #e2e8f0;
    background: rgba(248, 250, 252, 0.9);
}

.lux-fb-create-section__icon {
    width: 1.75rem;
    height: 1.75rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.lux-fb-create-section__head h4 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-fb-create-section__head p {
    margin: 0.1rem 0 0;
    font-size: 0.625rem;
    color: #94a3b8;
    line-height: 1.35;
}

.lux-fb-create-section__body {
    padding: 0.65rem 0.7rem 0.7rem;
}

.lux-fb-create-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem 0.6rem;
}

.lux-fb-create-grid__full {
    grid-column: 1 / -1;
}

.lux-fb-create-grid .form-group {
    margin-bottom: 0 !important;
}

.lux-fb-create-grid .form-control,
.lux-fb-create-grid textarea.form-control {
    border-radius: 12px !important;
    border-color: #e2e8f0 !important;
    font-weight: 600;
}

/* Schedule section — aligned date + toggle rows */
.lux-fb-create-schedule__dates {
    align-items: start;
}

.lux-fb-create-schedule__dates .react-datepicker-wrapper {
    display: block;
    width: 100%;
}

.lux-fb-create-schedule__dates .react-datepicker-wrapper .form-control {
    width: 100%;
    min-height: 2.25rem;
}

.lux-fb-create-schedule__end-date .form-group {
    margin-bottom: 0 !important;
}

.lux-fb-create-schedule__end-date.is-inactive .form-control {
    background: #f8fafc;
}

.lux-fb-create-schedule__end-hint {
    margin: 0.2rem 0 0;
    font-size: 0.5625rem;
    font-weight: 600;
    line-height: 1.3;
    color: #94a3b8;
}

.lux-fb-create-schedule__toggles {
    margin-top: 0.5rem;
    align-items: end;
}

.lux-fb-create-schedule__toggles .form-group {
    margin-bottom: 0 !important;
}

.lux-fb-create-schedule__toggles .custom-controls-stacked {
    margin-top: 0.28rem !important;
    min-height: 2.25rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.lux-fb-create-recurring {
    margin-top: 0.55rem;
    padding-top: 0.55rem;
    border-top: 1px dashed #e2e8f0;
}

.lux-fb-create-recurring__schedule {
    margin-top: 0.5rem;
}

.lux-fb-create-recurring__schedule-label {
    margin: 0 0 0.35rem;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.lux-fb-create-form .lux-create-footer {
    flex-shrink: 0;
    margin: 0;
    border-top: 1px solid #e2e8f0;
    border-radius: 0;
    background: #f8fafc;
}

/* Recipients panel */
.lux-fb-recipients {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 320px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 16px;
    background: linear-gradient(180deg, #fff 0%, rgba(248, 250, 252, 0.96) 100%);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.lux-fb-recipients.has-recipients {
    border-color: rgba(16, 185, 129, 0.28);
    box-shadow: 0 14px 32px rgba(16, 185, 129, 0.08);
}

.lux-fb-recipients.is-empty .lux-fb-recipients__list-wrap.has-error {
    border-color: #fca5a5;
    background: #fffafb;
}

.lux-fb-recipients__head {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.75rem 0.8rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.08), rgba(255, 255, 255, 0.96));
}

.lux-fb-recipients__head-icon {
    width: 2.1rem;
    height: 2.1rem;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(16, 185, 129, 0.18), rgba(255, 255, 255, 0.95));
    color: #059669;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.16);
}

.lux-fb-recipients__head-copy {
    min-width: 0;
    flex: 1;
}

.lux-fb-recipients__head h4 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-fb-recipients__head p {
    margin: 0.12rem 0 0;
    font-size: 0.625rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-fb-recipients__count {
    margin-left: auto;
    min-width: 1.65rem;
    height: 1.65rem;
    display: grid;
    place-items: center;
    padding: 0 0.4rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    color: #64748b;
    background: rgba(148, 163, 184, 0.16);
}

.lux-fb-recipients__count.is-filled {
    color: #047857;
    background: rgba(16, 185, 129, 0.16);
}

.lux-fb-recipients__summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.45rem 0.8rem 0;
}

.lux-fb-recipients__summary-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.95);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-fb-recipients__summary-pill.is-ready {
    background: rgba(16, 185, 129, 0.12);
    box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.18);
    color: #047857;
}

.lux-fb-recipients__body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin: 0.5rem 0.65rem 0;
    overflow: hidden;
}

.lux-fb-recipients__list-wrap {
    flex: 1;
    min-height: 0;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    overflow: auto;
    background: linear-gradient(180deg, #f8fafc, #fff);
}

.lux-fb-recipients__list-wrap.is-filled {
    border-color: rgba(16, 185, 129, 0.18);
    background: linear-gradient(180deg, rgba(236, 253, 245, 0.55), #fff 40%);
}

.lux-fb-recipients__footer {
    flex-shrink: 0;
    padding: 0.55rem 0.65rem 0.7rem;
    border-top: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.95);
}

.lux-fb-recipients__list-wrap.has-error {
    border-color: #f87171;
}

/* Recipients empty — rich illustration */
.lux-fb-recipients__list-wrap .lux-fb-recipients-empty {
    height: 100%;
    min-height: 100%;
}

.lux-fb-recipients-empty {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: min-content;
    padding: 0.75rem 0.65rem 0.85rem;
    text-align: center;
}

.lux-fb-recipients-empty__glow {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.55) 50%, transparent 60%);
    pointer-events: none;
    opacity: 0.5;
}

.lux-fb-recipients-empty__art {
    position: relative;
    width: 100%;
    max-width: 8.5rem;
    margin: 0 auto 0.45rem;
}

.lux-fb-recipients-empty__art svg {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 10px 22px rgba(15, 23, 42, 0.08));
}

.lux-fb-recipients-empty__copy {
    position: relative;
    width: 100%;
    min-width: 0;
}

.lux-fb-recipients-empty__eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.35rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-fb-recipients-empty__title {
    margin: 0 0 0.3rem;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.lux-fb-recipients-empty__text {
    margin: 0;
    font-size: 0.625rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-fb-recipients-empty__hints {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    text-align: left;
}

.lux-fb-recipients-empty__hints li {
    display: flex;
    align-items: flex-start;
    gap: 0.28rem;
    font-size: 0.5625rem;
    line-height: 1.35;
    color: #64748b;
    font-weight: 600;
}

.lux-fb-recipients-empty__hints li .fe {
    flex-shrink: 0;
    margin-top: 0.05rem;
    font-size: 0.6875rem;
    color: #10b981;
}

.lux-fb-recipients-empty__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    margin-top: 0.55rem;
    min-height: 2rem;
    padding: 0 0.85rem;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    transition: transform 0.14s ease, box-shadow 0.14s ease;
}

.lux-fb-recipients-empty__cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.34);
}

.lux-fb-recipients.is-empty .lux-fb-recipients__list-wrap.has-error .lux-fb-recipients-empty__eyebrow {
    border-color: rgba(248, 113, 113, 0.35);
    background: rgba(254, 226, 226, 0.5);
    color: #b91c1c;
}

.lux-fb-recipients__list {
    margin: 0;
    padding: 0.45rem;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-fb-recipients__row {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(135deg, #fff, rgba(248, 250, 252, 0.96));
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
    overflow: hidden;
    transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.lux-fb-recipients__row::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #94a3b8;
}

.lux-fb-recipients__row.is-tone-1::before { background: linear-gradient(180deg, #0ea5e9, #38bdf8); }
.lux-fb-recipients__row.is-tone-2::before { background: linear-gradient(180deg, #10b981, #34d399); }
.lux-fb-recipients__row.is-tone-3::before { background: linear-gradient(180deg, #f59e0b, #fbbf24); }
.lux-fb-recipients__row.is-tone-4::before { background: linear-gradient(180deg, #f43f5e, #fb7185); }
.lux-fb-recipients__row.is-tone-5::before { background: linear-gradient(180deg, #6366f1, #818cf8); }

.lux-fb-recipients__row:hover {
    border-color: rgba(16, 185, 129, 0.35);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.07);
    transform: translateY(-1px);
}

.lux-fb-recipients__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 12px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #0f172a;
    background: linear-gradient(145deg, rgba(14, 165, 233, 0.16), rgba(255, 255, 255, 0.95));
    box-shadow: inset 0 0 0 1px rgba(14, 165, 233, 0.16);
    flex-shrink: 0;
}

.lux-fb-recipients__row.is-tone-2 .lux-fb-recipients__avatar {
    background: linear-gradient(145deg, rgba(16, 185, 129, 0.16), rgba(255, 255, 255, 0.95));
    box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.16);
    color: #047857;
}

.lux-fb-recipients__row.is-tone-3 .lux-fb-recipients__avatar {
    background: linear-gradient(145deg, rgba(245, 158, 11, 0.18), rgba(255, 255, 255, 0.95));
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.18);
    color: #b45309;
}

.lux-fb-recipients__row.is-tone-4 .lux-fb-recipients__avatar {
    background: linear-gradient(145deg, rgba(244, 63, 94, 0.14), rgba(255, 255, 255, 0.95));
    box-shadow: inset 0 0 0 1px rgba(244, 63, 94, 0.16);
    color: #be123c;
}

.lux-fb-recipients__row.is-tone-5 .lux-fb-recipients__avatar {
    background: linear-gradient(145deg, rgba(99, 102, 241, 0.16), rgba(255, 255, 255, 0.95));
    box-shadow: inset 0 0 0 1px rgba(99, 102, 241, 0.16);
    color: #4338ca;
}

.lux-fb-recipients__identity {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
}

.lux-fb-recipients__name-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.lux-fb-recipients__identity strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-fb-recipients__ready-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.lux-fb-recipients__email {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #475569;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-fb-recipients__domain {
    display: inline-flex;
    align-self: flex-start;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.95);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
    font-size: 0.5625rem;
    font-weight: 700;
    color: #64748b;
}

.lux-fb-recipients__remove {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid rgba(254, 202, 202, 0.95);
    border-radius: 10px;
    background: #fff;
    color: #dc2626;
    cursor: pointer;
    transition: background 0.14s ease, border-color 0.14s ease;
}

.lux-fb-recipients__remove:hover {
    background: #fef2f2;
    border-color: rgba(248, 113, 113, 0.75);
}

.lux-fb-recipients__footer .lux-fb-recipients__add-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    width: 100%;
    min-height: 2.25rem;
    margin: 0;
    padding: 0 0.85rem;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, #059669, #047857);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(5, 150, 105, 0.28);
    transition: transform 0.14s ease, box-shadow 0.14s ease;
}

.lux-fb-recipients__footer .lux-fb-recipients__add-trigger:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(5, 150, 105, 0.34);
}

.lux-fb-recipients__add-panel {
    flex-shrink: 0;
    margin: 0 0.65rem 0.7rem;
    padding: 0.7rem 0.75rem;
    border: 1px solid rgba(16, 185, 129, 0.22);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(236, 253, 245, 0.55), #fff);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.lux-fb-recipients__add-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}

.lux-fb-recipients__add-title {
    margin: 0;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #047857;
}

.lux-fb-recipients__add-hint {
    font-size: 0.5625rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-fb-recipients__add-fields {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.4rem;
}

.lux-fb-recipients__add-fields .form-group {
    margin-bottom: 0 !important;
}

.lux-fb-recipients__add-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
    margin-top: 0.5rem;
    padding-top: 0.45rem;
    border-top: 1px solid #f1f5f9;
}

.lux-fb-recipients__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.38rem 0.7rem;
    border-radius: 10px;
    border: 0px solid #e2e8f0;
    font-size: 0.6875rem;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}

.lux-fb-recipients__btn.is-primary {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
}

.lux-fb-recipients__btn.is-primary:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lux-fb-recipients__btn.is-ghost {
    color: #64748b;
    background: #f8fafc;
}

.lux-fb-recipients__btn.is-ghost:hover {
    color: #0f172a;
    border-color: #cbd5e1;
}

@media (max-width: 960px) {
    .lux-fb-create-form__layout {
        grid-template-columns: 1fr;
    }

    .lux-fb-create-form__aside {
        position: static;
    }

    .lux-fb-create-schedule__dates,
    .lux-fb-create-schedule__toggles {
        grid-template-columns: 1fr;
    }
}

.lux-feedback-recurring-panel {
    margin-top: 0.5rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    border: 0px solid rgba(148, 163, 184, 0.25);
    background: rgba(248, 250, 252, 0.9);
}

.lux-feedback-config-cron {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
}

.lux-feedback-config-cron__label {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    margin: 0;
}

.lux-feedback-config-cron__value {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    cursor: pointer;
}

.lux-feedback-config-cron__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    border-radius: 8px;
    background: #fff;
    color: var(--lux-primary, #5b5ff4);
    cursor: pointer;
}

.lux-feedback-email-table {
    border-radius: 12px;
    border: 0px solid rgba(148, 163, 184, 0.28);
    overflow: hidden;
}

.lux-feedback-email-table table {
    margin: 0;
    font-size: 0.75rem;
}

.lux-feedback-email-table thead th {
    padding: 0.4rem 0.55rem;
    background: #f1f5f9;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
}

.lux-feedback-email-table tbody td {
    padding: 0.35rem 0.55rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-feedback-email-add__link {
    border: none;
    background: none;
    padding: 0.35rem 0 0;
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary, #5b5ff4);
    cursor: pointer;
}

/* Campaign list — gutters come from .lux-register-list-section */
.lux-register-list-section.lux-feedback-list-section {
    padding: 0;
}

.lux-feedback-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lux-feedback-list__section-head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.35rem 0 0.15rem;
    padding: 0.45rem 0.7rem;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.1), rgba(255, 255, 255, 0.92));
    border: 1px solid rgba(14, 165, 233, 0.16);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #0369a1;
}

.lux-feedback-list__section-head i {
    font-size: 0.875rem;
}

.lux-feedback-list__section-count {
    margin-left: auto;
    min-width: 1.4rem;
    height: 1.4rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(3, 105, 161, 0.12);
    color: #0369a1;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.lux-feedback-recurring-label {
    margin: 0.75rem 0 0.35rem;
    padding: 0.35rem 0.65rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    border-radius: 8px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

/* Project / item groups */
.lux-feedback-groups {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.lux-feedback-group {
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.lux-feedback-group.is-expanded {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.lux-feedback-group__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), rgba(255, 255, 255, 0.96));
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.lux-feedback-group__header:hover {
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), rgba(255, 255, 255, 0.98));
}

.lux-feedback-group__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    flex: 1;
    border: none;
    background: none;
    padding: 0;
    text-align: left;
    cursor: pointer;
    color: inherit;
}

.lux-feedback-group__chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    color: #64748b;
    flex-shrink: 0;
}

.lux-feedback-group__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16), rgba(255, 255, 255, 0.95));
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-feedback-group__copy {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.lux-feedback-group__id {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-primary, #5b5ff4);
}

.lux-feedback-group__name {
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-feedback-group__meta {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-feedback-group__stats {
    display: none;
    flex-shrink: 0;
}

@media (min-width: 720px) {
    .lux-feedback-group__stats {
        display: block;
    }
}

.lux-feedback-group__stat {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.05rem;
    padding: 0.35rem 0.65rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}

.lux-feedback-group__stat strong {
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
}

.lux-feedback-group__stat em {
    font-style: normal;
    font-size: 0.625rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lux-feedback-group__open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 11px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #fff;
    color: #475569;
    flex-shrink: 0;
    transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}

.lux-feedback-group__open:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-feedback-group__body {
    padding: 0.75rem 0.85rem 0.9rem;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.7), rgba(255, 255, 255, 0.95));
}

/* Project details embedded banner */
.lux-feedback-page--embedded {
    padding: 0.15rem 0 1rem;
}

.lux-feedback-project-banner {
    position: relative;
    display: grid;
    gap: 1rem;
    margin: 0 var(--lux-page-gutter-x, 0.75rem) 0.85rem;
    padding: 1.15rem 1.2rem;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background:
        linear-gradient(135deg, rgba(124, 58, 237, 0.1), rgba(255, 255, 255, 0.96) 42%, rgba(14, 165, 233, 0.08));
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
}

@media (min-width: 900px) {
    .lux-feedback-project-banner {
        grid-template-columns: minmax(0, 1.4fr) minmax(16rem, 1fr);
        align-items: center;
    }
}

.lux-feedback-project-banner__glow {
    position: absolute;
    inset: auto -10% -40% auto;
    width: 18rem;
    height: 18rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18), transparent 68%);
    pointer-events: none;
}

.lux-feedback-project-banner__copy {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.lux-feedback-project-banner__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.4rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7c3aed;
}

.lux-feedback-project-banner__title {
    margin: 0;
    font-size: clamp(1.2rem, 1.8vw, 1.55rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.2;
}

.lux-feedback-project-banner__lede {
    margin: 0.4rem 0 0;
    max-width: 38rem;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #64748b;
}

.lux-feedback-project-banner__kpis {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-feedback-project-banner__kpi {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.7rem 0.8rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}

.lux-feedback-project-banner__kpi span {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-feedback-project-banner__kpi strong {
    font-size: 1.125rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1;
}

/* Campaign card */
.lux-feedback-card {
    position: relative;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background:
        linear-gradient(180deg, #ffffff 0%, #f8fafc 140%);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.lux-feedback-card:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.09);
    transform: translateY(-1px);
}

.lux-feedback-card__accent {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #94a3b8, #cbd5e1);
}

/* Distinct status accent colors */
.lux-feedback-card.is-tone-draft .lux-feedback-card__accent {
    background: linear-gradient(180deg, #0284c7, #38bdf8);
}
.lux-feedback-card.is-tone-requested .lux-feedback-card__accent {
    background: linear-gradient(180deg, #d97706, #fbbf24);
}
.lux-feedback-card.is-tone-received .lux-feedback-card__accent {
    background: linear-gradient(180deg, #0d9488, #2dd4bf);
}
.lux-feedback-card.is-tone-reviewed .lux-feedback-card__accent {
    background: linear-gradient(180deg, #16a34a, #4ade80);
}
.lux-feedback-card.is-tone-closed .lux-feedback-card__accent {
    background: linear-gradient(180deg, #475569, #94a3b8);
}
.lux-feedback-card.is-tone-recurring .lux-feedback-card__accent {
    background: linear-gradient(180deg, #0891b2, #22d3ee);
}
.lux-feedback-card.is-tone-progress .lux-feedback-card__accent,
.lux-feedback-card.is-tone-default .lux-feedback-card__accent {
    background: linear-gradient(180deg, #4f46e5, #818cf8);
}
.lux-feedback-card.is-tone-expired .lux-feedback-card__accent {
    background: linear-gradient(180deg, #dc2626, #fb7185);
}
.lux-feedback-card.is-tone-off .lux-feedback-card__accent,
.lux-feedback-card.is-tone-paused .lux-feedback-card__accent {
    background: linear-gradient(180deg, #64748b, #cbd5e1);
}
.lux-feedback-card.is-tone-empty .lux-feedback-card__accent {
    background: linear-gradient(180deg, #a855f7, #c084fc);
}

.lux-feedback-card.is-expanded {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}

.lux-feedback-card__bar {
    display: grid;
    gap: 0.85rem;
    padding: 0.95rem 1rem 0.95rem 1.15rem;
    cursor: pointer;
}

@media (min-width: 960px) {
    .lux-feedback-card__bar {
        grid-template-columns: minmax(0, 1.45fr) minmax(15rem, 0.9fr);
        align-items: start;
    }
}

.lux-feedback-card__main {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.lux-feedback-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    height: 2.55rem;
    border-radius: 14px;
    flex-shrink: 0;
    background: rgba(148, 163, 184, 0.14);
    color: #475569;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}

.lux-feedback-card__badge.is-draft {
    background: rgba(2, 132, 199, 0.14);
    color: #0369a1;
}
.lux-feedback-card__badge.is-requested {
    background: rgba(217, 119, 6, 0.16);
    color: #b45309;
}
.lux-feedback-card__badge.is-received {
    background: rgba(13, 148, 136, 0.14);
    color: #0f766e;
}
.lux-feedback-card__badge.is-reviewed {
    background: rgba(22, 163, 74, 0.14);
    color: #15803d;
}
.lux-feedback-card__badge.is-closed {
    background: rgba(71, 85, 105, 0.14);
    color: #334155;
}
.lux-feedback-card__badge.is-recurring {
    background: rgba(8, 145, 178, 0.14);
    color: #0e7490;
}
.lux-feedback-card__badge.is-progress,
.lux-feedback-card__badge.is-default {
    background: rgba(79, 70, 229, 0.14);
    color: #4338ca;
}
.lux-feedback-card__badge.is-expired {
    background: rgba(220, 38, 38, 0.14);
    color: #b91c1c;
}
.lux-feedback-card__badge.is-off,
.lux-feedback-card__badge.is-paused {
    background: rgba(100, 116, 139, 0.14);
    color: #475569;
}
.lux-feedback-card__badge.is-empty {
    background: rgba(168, 85, 247, 0.14);
    color: #7e22ce;
}

.lux-feedback-card__status-icon {
    flex-shrink: 0;
    font-size: 1rem;
}

.lux-feedback-card__status-icon.is-on { color: #16a34a; }
.lux-feedback-card__status-icon.is-off { color: #dc2626; }
.lux-feedback-card__status-icon.is-warn { color: #d97706; }
.lux-feedback-card__status-icon.is-info { color: #2563eb; }
.lux-feedback-card__status-icon.is-spin { color: #d97706; }

.lux-feedback-card__id {
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary, #5b5ff4);
}

.lux-feedback-card__name {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: -0.015em;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-feedback-card__side {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
    min-width: 0;
}

.lux-feedback-card__metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.4rem;
}

.lux-feedback-card__metric {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.45rem 0.5rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
}

.lux-feedback-card__metric span {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-feedback-card__metric strong {
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
}

.lux-feedback-card__metric.is-good strong { color: #15803d; }
.lux-feedback-card__metric.is-warn strong { color: #b45309; }
.lux-feedback-card__metric.is-rate strong { color: var(--lux-primary, #5b5ff4); }

.lux-feedback-card__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.lux-feedback-card__counts {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    font-size: 0.6875rem;
    font-weight: 700;
}

.lux-feedback-card__count-received {
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.lux-feedback-card__count-pending {
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.15);
    color: #b45309;
}

.lux-feedback-card__date {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}

.lux-feedback-card__cron {
    font-size: 0.6875rem;
    color: #94a3b8;
    max-width: 10rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-feedback-card__progress {
    grid-column: 1 / -1;
}

.lux-feedback-card__progress-track {
    height: 0.35rem;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.95);
    overflow: hidden;
}

.lux-feedback-card__progress-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #34d399);
    transition: width 0.25s ease;
}

.lux-feedback-card__icon-btn {
    width: 2rem;
    height: 2rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 10px;
    background: #fff;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}

.lux-feedback-card__icon-btn:hover:not(:disabled) {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    color: var(--lux-primary, #5b5ff4);
}

.lux-feedback-card__icon-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.lux-feedback-card__icon-btn.is-delete:hover {
    color: #dc2626;
    border-color: rgba(220, 38, 38, 0.35);
    background: #fef2f2;
}

.lux-feedback-card__detail {
    padding: 0.65rem 0.85rem 0.75rem;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, #f8fafc, #fff);
}

.lux-feedback-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem 0.75rem;
}

.lux-feedback-detail-item label {
    display: block;
    margin: 0 0 0.15rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-feedback-detail-item span,
.lux-feedback-detail-item a {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.4;
}

.lux-feedback-detail-item a {
    color: var(--lux-primary, #5b5ff4);
}

.lux-feedback-recipients {
    grid-column: 1 / -1;
    margin-top: 0.35rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    border: 0px solid rgba(148, 163, 184, 0.25);
    background: #fff;
}

.lux-feedback-recipients__title {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-feedback-recipients__empty {
    text-align: center;
    padding: 1rem;
    font-size: 0.8125rem;
    color: #64748b;
}

/* Recipient row */
.lux-feedback-recipient {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.75rem 0.7rem 0.85rem;
    margin-bottom: 0.45rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(135deg, #fff, rgba(248, 250, 252, 0.96));
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.lux-feedback-recipient:last-child {
    margin-bottom: 0;
}

.lux-feedback-recipient__accent {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #94a3b8;
}

.lux-feedback-recipient.is-status-draft .lux-feedback-recipient__accent { background: linear-gradient(180deg, #0284c7, #38bdf8); }
.lux-feedback-recipient.is-status-requested .lux-feedback-recipient__accent { background: linear-gradient(180deg, #d97706, #fbbf24); }
.lux-feedback-recipient.is-status-received .lux-feedback-recipient__accent { background: linear-gradient(180deg, #0d9488, #2dd4bf); }
.lux-feedback-recipient.is-status-reviewed .lux-feedback-recipient__accent { background: linear-gradient(180deg, #16a34a, #4ade80); }
.lux-feedback-recipient.is-status-closed .lux-feedback-recipient__accent { background: linear-gradient(180deg, #475569, #94a3b8); }
.lux-feedback-recipient.is-status-default .lux-feedback-recipient__accent { background: linear-gradient(180deg, #4f46e5, #818cf8); }
.lux-feedback-recipient.is-expired .lux-feedback-recipient__accent { background: linear-gradient(180deg, #dc2626, #fb7185); }

.lux-feedback-recipient__main {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    flex: 1;
}

.lux-feedback-recipient__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 11px;
    font-size: 0.6875rem;
    font-weight: 800;
    flex-shrink: 0;
    background: rgba(148, 163, 184, 0.14);
    color: #475569;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}

.lux-feedback-recipient__avatar.is-draft { background: rgba(2, 132, 199, 0.14); color: #0369a1; box-shadow: inset 0 0 0 1px rgba(2, 132, 199, 0.18); }
.lux-feedback-recipient__avatar.is-requested { background: rgba(217, 119, 6, 0.16); color: #b45309; box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.2); }
.lux-feedback-recipient__avatar.is-received { background: rgba(13, 148, 136, 0.14); color: #0f766e; box-shadow: inset 0 0 0 1px rgba(13, 148, 136, 0.18); }
.lux-feedback-recipient__avatar.is-reviewed { background: rgba(22, 163, 74, 0.14); color: #15803d; box-shadow: inset 0 0 0 1px rgba(22, 163, 74, 0.18); }
.lux-feedback-recipient__avatar.is-closed { background: rgba(71, 85, 105, 0.14); color: #334155; box-shadow: inset 0 0 0 1px rgba(71, 85, 105, 0.18); }

.lux-feedback-recipient__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.lux-feedback-recipient__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.lux-feedback-recipient__icon {
    font-size: 0.9rem;
    flex-shrink: 0;
}

.lux-feedback-recipient__name {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-feedback-recipient__email {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-feedback-recipient__actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-feedback-recipient__date {
    font-size: 0.6875rem;
    color: #94a3b8;
    white-space: nowrap;
}

.lux-feedback-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
}

.lux-feedback-status-pill.is-draft {
    background: rgba(2, 132, 199, 0.14);
    color: #0369a1;
}
.lux-feedback-status-pill.is-requested {
    background: rgba(217, 119, 6, 0.16);
    color: #b45309;
}
.lux-feedback-status-pill.is-received {
    background: rgba(13, 148, 136, 0.14);
    color: #0f766e;
}
.lux-feedback-status-pill.is-reviewed {
    background: rgba(22, 163, 74, 0.14);
    color: #15803d;
}
.lux-feedback-status-pill.is-closed {
    background: rgba(71, 85, 105, 0.16);
    color: #334155;
}
.lux-feedback-status-pill.is-default {
    background: rgba(79, 70, 229, 0.12);
    color: #4338ca;
}
.lux-feedback-status-pill.is-expired,
.lux-feedback-status-pill.is-off {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}

/* Template config panel */
.right_sidebar.lux-create-panel--feedback-template {
    width: min(1120px, 96vw) !important;
    right: calc(-1 * min(1120px, 96vw) - 24px) !important;
}

.right_sidebar.lux-create-panel--feedback-template.open {
    right: 0 !important;
}

.right_sidebar.lux-create-panel--feedback-template .lux-create-panel__body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: 0;
}

.lux-feedback-template-panel__body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Feedback request create panel */
.right_sidebar.lux-create-panel--feedback-request {
    width: min(1080px, 96vw) !important;
    right: calc(-1 * min(1080px, 96vw) - 24px) !important;
}

.right_sidebar.lux-create-panel--feedback-request.open {
    right: 0 !important;
}

.right_sidebar.lux-create-panel--feedback-request .lux-create-panel__body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    padding: 0;
}

.lux-feedback-request-panel__body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.lux-create-panel--feedback-request .lux-fb-create-form--panel {
    flex: 1;
    min-height: 0;
    height: 100%;
}

.lux-create-panel--feedback-request .lux-fb-create-form__scroll {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

.lux-create-panel--feedback-request .lux-fb-create-form__aside {
    position: static;
    top: auto;
}

.lux-create-panel--feedback-request .lux-fb-create-section--schedule {
    overflow: visible;
}

.lux-create-panel--feedback-request .custom-select__menu-portal,
.lux-create-panel--feedback-request .lux-date-picker-popper,
body:has(#lux-feedback-request-create.open) #lux-date-picker-portal .react-datepicker-popper {
    z-index: 10150 !important;
}

.lux-create-panel--feedback-request .react-datepicker-wrapper {
    display: block;
    width: 100%;
}

.lux-create-panel--feedback-request .react-datepicker-wrapper .form-control {
    width: 100%;
}

/* Feedback template editor */
.lux-feedback-template-editor {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    height: 100%;
}

.lux-feedback-template-editor__layout {
    display: grid;
    grid-template-columns: minmax(16rem, 19rem) minmax(0, 1fr);
    flex: 1;
    min-height: 0;
    margin: 0 0.85rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.07);
    position: relative;
    z-index: 1;
}

.lux-feedback-template-editor__list-pane {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-right: 1px solid #e2e8f0;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 55%),
        #f8fafc;
}

.lux-feedback-template-editor__list-head {
    padding: 0.85rem 0.75rem 0.7rem;
    border-bottom: 1px solid #e2e8f0;
}

.lux-feedback-template-editor__list-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.lux-feedback-template-editor__list-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-feedback-template-editor__count {
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.lux-feedback-template-editor__filter {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.45rem;
    padding: 0.45rem 0.6rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    color: #94a3b8;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-feedback-template-editor__filter input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 600;
    color: #0f172a;
}

.lux-feedback-template-editor__new {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    width: 100%;
    margin-top: 0.55rem;
    padding: 0.5rem 0.65rem;
    border: 1px dashed rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease, box-shadow 0.14s ease;
}

.lux-feedback-template-editor__new:hover,
.lux-feedback-template-editor__new.is-inline:hover {
    border-style: solid;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-feedback-template-editor__new.is-inline {
    width: auto;
    margin-top: 0.65rem;
}

.lux-feedback-template-editor__list-body {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0.45rem 0.55rem 0.65rem;
}

.lux-feedback-template-editor__list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-feedback-template-editor__list-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.35rem;
    padding: 1.25rem 0.75rem;
    color: #64748b;
    font-size: 0.75rem;
}

.lux-feedback-template-editor__list-empty i {
    font-size: 1.35rem;
    color: #94a3b8;
}

.lux-feedback-template-editor__list-empty strong {
    color: #0f172a;
    font-size: 0.8125rem;
}

.lux-feedback-template-editor__item {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
    transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.lux-feedback-template-editor__item.is-selected {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.38);
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-feedback-template-editor__item-main {
    display: flex;
    align-items: flex-start;
    gap: 0.3rem;
    padding: 0.42rem 0.45rem;
}

.lux-feedback-template-editor__item-select {
    flex: 1;
    min-width: 0;
    padding: 0;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.lux-feedback-template-editor__item-name {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-feedback-template-editor__item-meta {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-feedback-template-editor__item-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    flex-shrink: 0;
}

.lux-feedback-template-editor__item-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    color: #64748b;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}

.lux-feedback-template-editor__item-action:hover {
    color: var(--lux-primary-dark, #3730a3);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-feedback-template-editor__item-action.is-danger:hover {
    color: #be123c;
    border-color: rgba(244, 63, 94, 0.35);
    background: #fff1f2;
}

.lux-feedback-template-editor__form-pane {
    min-width: 0;
    min-height: 0;
    overflow: auto;
    padding: 0.85rem 0.95rem 0.85rem;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 42%),
        linear-gradient(180deg, #fbfdff 0%, #ffffff 48%);
}

.lux-feedback-template-editor__status {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 0px solid #e2e8f0;
    background:
        radial-gradient(circle at 100% 0%, rgba(20, 184, 166, 0.08), transparent 50%),
        #f8fafc;
}

.lux-feedback-template-editor__status-icon {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.lux-feedback-template-editor__status-copy {
    flex: 1;
    min-width: 0;
}

.lux-feedback-template-editor__status-copy strong {
    display: block;
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-feedback-template-editor__status-copy p {
    margin: 0.15rem 0 0;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-feedback-template-editor__preview-link {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    border: 0px solid #e2e8f0;
    background: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
}

.lux-feedback-template-editor__preview-link:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

/* Feedback template — editor hero (create / edit / preview) */
.lux-ft-hero {
    position: relative;
    margin-bottom: 0.75rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92)),
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 55%);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
    overflow: hidden;
}

.lux-ft-hero__glow {
    position: absolute;
    top: -45%;
    right: -8%;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(circle, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16), transparent 68%);
}

.lux-ft-hero--create .lux-ft-hero__glow {
    background: radial-gradient(circle, rgba(20, 184, 166, 0.2), transparent 68%);
}

.lux-ft-hero--preview .lux-ft-hero__glow {
    background: radial-gradient(circle, rgba(148, 163, 184, 0.18), transparent 68%);
}

.lux-ft-hero__inner {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.lux-ft-hero__main {
    flex: 1;
    min-width: 0;
}

.lux-ft-hero__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
}

.lux-ft-hero__mode-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.lux-ft-hero__mode-pill.is-create {
    color: #0f766e;
    background: #ccfbf1;
    border: 0px solid #99f6e4;
}

.lux-ft-hero__mode-pill.is-edit {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.lux-ft-hero__mode-pill.is-preview {
    color: #475569;
    background: #f1f5f9;
    border: 0px solid #e2e8f0;
}

.lux-ft-hero__mode-pill.is-idle {
    color: #64748b;
    background: #f8fafc;
    border: 0px solid #e2e8f0;
}

.lux-ft-hero__ref {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: #94a3b8;
}

.lux-ft-hero__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.25;
}

.lux-ft-hero__subtitle {
    margin: 0.3rem 0 0;
    max-width: 34rem;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-ft-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin: 0.5rem 0 0;
    padding: 0;
    list-style: none;
}

.lux-ft-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    padding: 0.18rem 0.45rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 700;
    color: #475569;
    background: #fff;
    border: 1px solid #e2e8f0;
}

.lux-ft-hero__chip.is-muted {
    color: #64748b;
    background: #f8fafc;
}

.lux-ft-hero__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-ft-hero__action {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.38rem 0.65rem;
    border-radius: 12px;
    font-size: 0.6875rem;
    font-weight: 800;
    cursor: pointer;
    text-decoration: none;
    border: 0px solid #e2e8f0;
    background: #fff;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ft-hero__action--preview:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-ft-hero__action--ghost {
    color: #64748b;
    background: #f8fafc;
}

.lux-ft-hero__action--ghost:hover {
    color: #0f172a;
    border-color: #cbd5e1;
}

/* Feedback template — details panel */
.lux-ft-details {
    margin-bottom: 0.7rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.lux-ft-details--empty {
    background: rgba(248, 250, 252, 0.85);
}

.lux-ft-details__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.3rem;
    padding: 1.25rem 1rem;
    color: #64748b;
}

.lux-ft-details__empty i {
    font-size: 1.25rem;
    color: #94a3b8;
}

.lux-ft-details__empty strong {
    font-size: 0.8125rem;
    color: #334155;
}

.lux-ft-details__empty p {
    margin: 0;
    max-width: 18rem;
    font-size: 0.6875rem;
    line-height: 1.45;
}

.lux-ft-details__head {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.7rem 0.85rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.6));
}

.lux-ft-details__head-icon {
    width: 2.1rem;
    height: 2.1rem;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.lux-ft-details__head-copy h3 {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ft-details__head-copy p {
    margin: 0.12rem 0 0;
    font-size: 0.6875rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-ft-details__body {
    padding: 0.75rem 0.85rem 0.85rem;
}

.lux-ft-details__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem 0.65rem;
}

.lux-ft-field {
    padding: 0.55rem 0.6rem;
    border: 0px solid #e2e8f0;
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.55);
}

.lux-ft-field--full {
    grid-column: 1 / -1;
}

.lux-ft-field__head {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin-bottom: 0.4rem;
}

.lux-ft-field__icon {
    width: 1.65rem;
    height: 1.65rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #fff;
    border: 0px solid #e2e8f0;
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.8rem;
    flex-shrink: 0;
}

.lux-ft-field__title {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ft-field__hint {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.625rem;
    color: #94a3b8;
    line-height: 1.35;
}

.lux-ft-field__control .form-group {
    margin-bottom: 0 !important;
}

.lux-ft-field__control .form-control,
.lux-ft-field__control textarea.form-control {
    border-radius: 12px !important;
    border: 0px solid #e2e8f0 !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    background: #fff !important;
}

.lux-ft-field__control .custom-select__control {
    min-height: 36px;
    border-radius: 12px;
    border-color: #e2e8f0;
    font-size: 0.75rem;
    font-weight: 600;
    background: #fff;
}

.lux-ft-details__access {
    margin-top: 0.65rem;
    padding-top: 0.65rem;
    border-top: 1px dashed #e2e8f0;
}

.lux-ft-details__access-head {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.lux-ft-details__access-icon {
    width: 1.85rem;
    height: 1.85rem;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(20, 184, 166, 0.1);
    color: #0d9488;
    flex-shrink: 0;
}

.lux-ft-details__access-head h4 {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ft-details__access-head p {
    margin: 0.1rem 0 0;
    font-size: 0.625rem;
    color: #94a3b8;
    line-height: 1.4;
}

.lux-ft-details__access .lux-ft-field {
    background: #fff;
}

.lux-ft-details__readonly {
    padding: 0.75rem 0.85rem 0.85rem;
}

.lux-ft-details__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}

.lux-ft-fact {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.5rem 0.55rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}

.lux-ft-fact__icon {
    width: 1.5rem;
    height: 1.5rem;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #fff;
    border: 0px solid #e2e8f0;
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.75rem;
}

.lux-ft-fact__label {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.lux-ft-fact__value {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
}

.lux-ft-details__description-block {
    margin-top: 0.5rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    border: 0px solid #e2e8f0;
    background: #fff;
}

.lux-ft-details__description-label {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.lux-ft-details__description-block p {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    color: #334155;
    line-height: 1.45;
}

.lux-ft-details__access-readonly {
    margin-top: 0.45rem;
}

@media (max-width: 720px) {
    .lux-ft-details__grid,
    .lux-ft-details__facts {
        grid-template-columns: 1fr;
    }

    .lux-ft-hero__inner {
        flex-direction: column;
    }

    .lux-ft-hero__aside {
        flex-direction: row;
        align-items: center;
        width: 100%;
    }
}

.lux-feedback-template-editor__card {
    margin-bottom: 0.65rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.lux-feedback-template-editor__card-head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
    background: rgba(248, 250, 252, 0.85);
}

.lux-feedback-template-editor__card-head--tools {
    justify-content: space-between;
    align-items: flex-start;
}

.lux-feedback-template-editor__card-head i {
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.9rem;
}

.lux-feedback-template-editor__card-head h3 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-feedback-template-editor__card-hint {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-feedback-template-editor__card-tools {
    display: inline-flex;
    gap: 0.3rem;
}

.lux-feedback-template-editor__tool-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.32rem 0.55rem;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
}

.lux-feedback-template-editor__tool-btn:hover,
.lux-feedback-template-editor__tool-btn.is-active {
    color: var(--lux-primary-dark, #3730a3);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.32);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-feedback-template-editor__card-body {
    padding: 0.65rem 0.75rem 0.75rem;
}

.lux-feedback-template-editor__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem 0.65rem;
}

.lux-feedback-template-editor__grid .col-12,
.lux-feedback-template-editor__grid .col-6 {
    grid-column: span 2;
    max-width: 100%;
    padding: 0;
}

.lux-feedback-template-editor__questions-empty {
    margin: 0.5rem 0 0;
    font-size: 0.6875rem;
    color: #94a3b8;
    text-align: center;
}

.lux-feedback-template-editor__error {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.35rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: #fef2f2;
    border: 0px solid #fecaca;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #b91c1c;
}

.lux-feedback-template-editor__error button {
    margin-left: auto;
    padding: 0;
    border: none;
    background: transparent;
    font-weight: 800;
    color: #be123c;
    cursor: pointer;
}

.lux-feedback-template-editor__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.65rem;
    padding: 0.75rem 0.95rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
    flex-shrink: 0;
}

.lux-feedback-template-editor__foot-hint {
    margin: 0;
    font-size: 0.6875rem;
    color: #64748b;
    max-width: 20rem;
}

.lux-feedback-template-editor__foot-actions {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.lux-feedback-template-editor__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.85rem;
    border-radius: 12px;
    border: 0px solid #e2e8f0;
    background: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    cursor: pointer;
}

.lux-feedback-template-editor__btn.is-ghost {
    color: #64748b;
}

.lux-feedback-template-editor__btn.is-ghost:hover {
    color: #0f172a;
    border-color: #cbd5e1;
}

.lux-feedback-template-editor__btn.is-secondary {
    color: var(--lux-primary-dark, #3730a3);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-feedback-template-editor__btn.is-primary {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-feedback-template-editor__tool-btn.is-accent {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
}

.lux-feedback-template-editor__tool-btn.is-accent:hover {
    filter: brightness(1.03);
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

/* Feedback template — luxury question configure */
.lux-fb-qt {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-fb-qt-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.35rem;
    padding: 1.35rem 1rem;
    border: 0px dashed #cbd5e1;
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.9);
}

.lux-fb-qt-empty__icon {
    width: 2.5rem;
    height: 2.5rem;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 1.1rem;
}

.lux-fb-qt-empty strong {
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-fb-qt-empty p {
    margin: 0;
    max-width: 16rem;
    font-size: 0.6875rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-fb-qt-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.55rem 0.65rem;
    align-items: start;
    padding: 0.65rem 0.7rem;
    border: 0px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-fb-qt-card:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.lux-fb-qt-card--configure {
    background: linear-gradient(180deg, #fff 0%, rgba(248, 250, 252, 0.65) 100%);
}

.lux-fb-qt-card--preview {
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

.lux-fb-qt-card__rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    min-width: 1.75rem;
}

.lux-fb-qt-card__index {
    display: grid;
    place-items: center;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 10px;
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
}

.lux-fb-qt-card__reorder {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.lux-fb-qt-card__reorder-btn {
    display: grid;
    place-items: center;
    width: 1.35rem;
    height: 1.2rem;
    padding: 0;
    border: 0px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
}

.lux-fb-qt-card__reorder-btn:hover:not(:disabled) {
    color: var(--lux-primary, #5b5ff4);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-fb-qt-card__reorder-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.lux-fb-qt-card__content {
    min-width: 0;
}

.lux-fb-qt-card__field {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}

.lux-fb-qt-card__field--primary {
    margin-bottom: 0.5rem;
}

.lux-fb-qt-card__label {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-fb-qt-card__input {
    width: 100%;
    padding: 0.45rem 0.6rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #0f172a;
    background: #fff;
}

.lux-fb-qt-card__input:focus {
    outline: none;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-fb-qt-card__input:disabled {
    background: #f8fafc;
    color: #64748b;
}

.lux-fb-qt-card__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.55rem 0.75rem;
}

.lux-fb-qt-card__field--type {
    flex: 1 1 12rem;
    min-width: 10rem;
}

.lux-fb-qt-card__select .custom-select__control {
    min-height: 34px;
    border-radius: 12px;
    border-color: #e2e8f0;
    font-size: 0.75rem;
    font-weight: 600;
}

.lux-fb-qt-type-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.3rem;
    padding: 0.18rem 0.45rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.lux-fb-qt-type-pill.is-violet {
    color: #5b21b6;
    background: #ede9fe;
}

.lux-fb-qt-type-pill.is-sky {
    color: #0369a1;
    background: #e0f2fe;
}

.lux-fb-qt-type-pill.is-amber {
    color: #b45309;
    background: #fef3c7;
}

.lux-fb-qt-type-pill.is-gold {
    color: #a16207;
    background: #fef9c3;
}

.lux-fb-qt-type-pill.is-slate {
    color: #475569;
    background: #f1f5f9;
}

.lux-fb-qt-card__toggles {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-fb-qt-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.32rem 0.55rem;
    border: 0px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    user-select: none;
}

.lux-fb-qt-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.lux-fb-qt-toggle.is-on {
    color: var(--lux-primary-dark, #3730a3);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-fb-qt-card__field--options {
    margin-top: 0.45rem;
    padding-top: 0.45rem;
    border-top: 1px dashed #e2e8f0;
}

.lux-fb-qt-card__hint {
    margin: 0.15rem 0 0;
    font-size: 0.625rem;
    color: #94a3b8;
}

.lux-fb-qt-card__remove {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0px solid #fecaca;
    border-radius: 10px;
    background: #fff;
    color: #dc2626;
    cursor: pointer;
}

.lux-fb-qt-card__remove:hover {
    background: #fef2f2;
    border-color: #f87171;
}

.lux-fb-qt-card__preview-main {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-fb-qt-card__preview-text {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.4;
}

.lux-fb-qt-card__placeholder {
    color: #94a3b8;
    font-weight: 600;
}

.lux-fb-qt-card__required {
    display: inline-flex;
    margin-left: 0.35rem;
    padding: 0.1rem 0.35rem;
    border-radius: 6px;
    font-size: 0.5625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #b91c1c;
    background: #fee2e2;
    vertical-align: middle;
}

.lux-fb-qt-card__preview-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.lux-fb-qt-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    max-width: 100%;
    padding: 0.16rem 0.42rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
    background: #f1f5f9;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .lux-fb-qt-card {
        grid-template-columns: auto 1fr;
    }

    .lux-fb-qt-card__remove {
        grid-column: 2;
        justify-self: end;
    }
}

@media (max-width: 900px) {
    .lux-feedback-template-editor__layout {
        grid-template-columns: 1fr;
    }

    .lux-feedback-template-editor__list-pane {
        max-height: 12rem;
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
    }

    .lux-feedback-template-editor__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 960px) {
    .lux-feedback-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-feedback-summary__insights-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .lux-feedback-detail-grid {
        grid-template-columns: 1fr;
    }

    .lux-feedback-card__cron {
        display: none;
    }

    .lux-feedback-recipient {
        flex-wrap: wrap;
    }
}
/* —— Campaign detail popover (click list row) —— */
.lux-feedback-card {
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}

.lux-feedback-card:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
}

.lux-feedback-card.is-popover-open {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), 0 18px 36px rgba(15, 23, 42, 0.1);
}

.lux-feedback-card__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.28rem;
    min-width: 0;
    flex: 1;
}

.lux-feedback-card__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.55rem;
    min-width: 0;
    width: 100%;
}

.lux-feedback-card__hint {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-feedback-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-feedback-card__meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    max-width: 100%;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.95);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
    font-size: 0.625rem;
    font-weight: 700;
    color: #475569;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-feedback-card__meta-chip i {
    font-size: 0.7rem;
    color: #94a3b8;
}

.lux-feedback-card__status-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.lux-feedback-card__status-pill.is-draft {
    background: rgba(2, 132, 199, 0.14);
    color: #0369a1;
}
.lux-feedback-card__status-pill.is-requested {
    background: rgba(217, 119, 6, 0.16);
    color: #b45309;
}
.lux-feedback-card__status-pill.is-received {
    background: rgba(13, 148, 136, 0.14);
    color: #0f766e;
}
.lux-feedback-card__status-pill.is-reviewed {
    background: rgba(22, 163, 74, 0.14);
    color: #15803d;
}
.lux-feedback-card__status-pill.is-closed {
    background: rgba(71, 85, 105, 0.16);
    color: #334155;
}
.lux-feedback-card__status-pill.is-recurring {
    background: rgba(8, 145, 178, 0.14);
    color: #0e7490;
}
.lux-feedback-card__status-pill.is-progress,
.lux-feedback-card__status-pill.is-default {
    background: rgba(79, 70, 229, 0.12);
    color: #4338ca;
}
.lux-feedback-card__status-pill.is-expired {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}
.lux-feedback-card__status-pill.is-off,
.lux-feedback-card__status-pill.is-paused {
    background: rgba(100, 116, 139, 0.18);
    color: #475569;
}
.lux-feedback-card__status-pill.is-empty {
    background: rgba(168, 85, 247, 0.12);
    color: #7e22ce;
}

.lux-feedback-card__open-hint {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.28rem 0.6rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    opacity: 0.9;
}

.lux-feedback-card:hover .lux-feedback-card__open-hint {
    opacity: 1;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

@media (max-width: 640px) {
    .lux-feedback-card__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-feedback-card__actions {
        justify-content: flex-start;
    }

    .lux-feedback-project-banner__kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.lux-feedback-popover__backdrop {
    position: fixed;
    inset: 0;
    z-index: 10060;
    border: none;
    background: rgba(15, 23, 42, 0.4);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    cursor: pointer;
}

.lux-feedback-popover {
    position: fixed;
    z-index: 10061;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(94vw, 52rem);
    max-height: min(90vh, 40rem);
    display: flex;
    flex-direction: column;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 20px;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    box-shadow: 0 28px 72px rgba(15, 23, 42, 0.2);
    overflow: hidden;
}

.lux-feedback-popover__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.1rem 0.85rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), rgba(14, 165, 233, 0.04)),
        #fff;
}

.lux-feedback-popover__eyebrow {
    margin-bottom: 0.35rem;
}

.lux-feedback-popover__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.lux-feedback-popover__title-row h2 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
}

.lux-feedback-popover__status {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
}

.lux-feedback-popover__status.is-draft {
    background: rgba(2, 132, 199, 0.14);
    color: #0369a1;
}
.lux-feedback-popover__status.is-requested {
    background: rgba(217, 119, 6, 0.16);
    color: #b45309;
}
.lux-feedback-popover__status.is-received {
    background: rgba(13, 148, 136, 0.14);
    color: #0f766e;
}
.lux-feedback-popover__status.is-reviewed {
    background: rgba(22, 163, 74, 0.14);
    color: #15803d;
}
.lux-feedback-popover__status.is-closed {
    background: rgba(71, 85, 105, 0.16);
    color: #334155;
}
.lux-feedback-popover__status.is-recurring {
    background: rgba(8, 145, 178, 0.14);
    color: #0e7490;
}
.lux-feedback-popover__status.is-progress,
.lux-feedback-popover__status.is-default {
    background: rgba(79, 70, 229, 0.12);
    color: #4338ca;
}
.lux-feedback-popover__status.is-expired {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}
.lux-feedback-popover__status.is-off,
.lux-feedback-popover__status.is-paused {
    background: rgba(100, 116, 139, 0.18);
    color: #475569;
}
.lux-feedback-popover__status.is-empty {
    background: rgba(168, 85, 247, 0.12);
    color: #7e22ce;
}

.lux-feedback-popover__subtitle {
    margin: 0.35rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-feedback-popover__description {
    margin: 0.45rem 0 0;
    font-size: 0.8125rem;
    color: #334155;
    line-height: 1.5;
}

.lux-feedback-popover__close {
    width: 2.25rem;
    height: 2.25rem;
    border: 0px solid rgba(148, 163, 184, 0.35);
    border-radius: 10px;
    background: #fff;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-feedback-popover__close:hover {
    color: #0f172a;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
}

.lux-feedback-popover__kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
    padding: 0.65rem 1.1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(248, 250, 252, 0.85);
}

.lux-feedback-popover__kpi {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.45rem 0.55rem;
    border-radius: 10px;
    border: 0px solid rgba(148, 163, 184, 0.22);
    background: #fff;
}

.lux-feedback-popover__kpi i {
    font-size: 0.75rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-feedback-popover__kpi-label {
    font-size: 0.625rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lux-feedback-popover__kpi-value {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-feedback-popover__breakdown {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    padding: 0 1.1rem 0.55rem;
}

.lux-feedback-popover__breakdown-title {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lux-feedback-popover__breakdown-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-feedback-popover__body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0.75rem 1.1rem 1rem;
}

.lux-feedback-popover__section + .lux-feedback-popover__section {
    margin-top: 1rem;
}

.lux-feedback-popover__section-title {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.55rem;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-feedback-popover__section-count {
    margin-left: auto;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.625rem;
}

.lux-feedback-popover__detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem 0.75rem;
}

.lux-feedback-popover__detail.is-wide {
    grid-column: 1 / -1;
}

.lux-feedback-popover__detail-label {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 0.12rem;
}

.lux-feedback-popover__detail-value {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.45;
}

.lux-feedback-popover__detail-value a {
    color: var(--lux-primary, #5b5ff4);
}

.lux-feedback-popover__recipients {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.lux-feedback-popover__foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
    padding: 0.65rem 1.1rem;
    border-top: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(248, 250, 252, 0.95);
}

@media (max-width: 720px) {
    .lux-feedback-popover__kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-feedback-popover__detail-grid {
        grid-template-columns: 1fr;
    }

    .lux-feedback-card__open-hint span {
        display: none;
    }
}
/* ========== Public feedback request form (client + template preview) ========== */

body.lux-fb-body {
    overflow-y: auto !important;
}

.lux-fb-bool-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
}

.lux-fb-page {
    --lux-fb-font: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
    min-height: 100vh;
    padding: 0 0 3rem;
    font-family: var(--lux-fb-font);
    color: #0f172a;
    background:
        radial-gradient(ellipse 120% 80% at 0% -20%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14), transparent 55%),
        radial-gradient(ellipse 90% 60% at 100% 0%, rgba(14, 165, 233, 0.1), transparent 50%),
        linear-gradient(180deg, #f8fafc 0%, #eef2ff 42%, #f1f5f9 100%);
}

.lux-fb-page__inner {
    width: min(1060px, calc(100% - 2rem));
    margin: 0 auto;
}

.lux-fb-page__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 0 0.85rem;
}

.lux-fb-page__logo {
    height: 2.75rem;
    width: auto;
    max-width: 200px;
    object-fit: contain;
}

.lux-fb-page__logo-mark {
    height: 2.75rem;
    width: auto;
    opacity: 0.18;
}

.lux-fb-page__shell {
    position: relative;
    border-radius: 24px;
    border: 0px solid rgba(255, 255, 255, 0.85);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.96) 100%);
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06),
        0 28px 64px rgba(15, 23, 42, 0.1);
    overflow: hidden;
}

.lux-fb-page__ribbon {
    position: absolute;
    top: 1rem;
    right: -2.75rem;
    z-index: 20;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 3rem;
    transform: rotate(32deg);
    background: linear-gradient(135deg, #f59e0b, #d97706);
    box-shadow: 0 8px 20px rgba(217, 119, 6, 0.35);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fff;
    pointer-events: none;
}

.lux-fb-page__ribbon i {
    font-size: 0.75rem;
}

/* Main + sidebar — form left, guide panel right */
.lux-fb-shell-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    align-items: stretch;
}

.lux-fb-shell-main {
    min-width: 0;
}

.lux-fb-hero {
    padding: 1.5rem 1.75rem 1.15rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 48%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(241, 245, 249, 0.9));
    text-align: left;
}

.lux-fb-shell-main > .lux-fb-alert {
    margin: 0.75rem 1.75rem 0;
}

/* Rich aside — fixed-width right column */
.lux-fb-rich {
    box-sizing: border-box;
    width: 280px;
    max-width: 280px;
    padding: 1.15rem 1rem 1.25rem;
    border-left: 1px solid rgba(148, 163, 184, 0.2);
    background:
        linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), rgba(255, 255, 255, 0.98));
    position: sticky;
    top: 0;
    align-self: start;
    max-height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
}

.lux-fb-rich__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.5rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-fb-rich__lead {
    margin: 0 0 1rem;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: #475569;
}

.lux-fb-rich__steps {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lux-fb-rich__step {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
}

.lux-fb-rich__step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 999px;
    background: var(--lux-primary, #5b5ff4);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #fff;
    flex-shrink: 0;
}

.lux-fb-rich__step strong {
    display: block;
    font-size: 0.75rem;
    color: #0f172a;
}

.lux-fb-rich__step span {
    display: block;
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-fb-rich__legend {
    margin-bottom: 1rem;
    padding: 0.65rem 0.7rem;
    border-radius: 12px;
    border: 0px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.85);
}

.lux-fb-rich__legend-title {
    margin: 0 0 0.45rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-fb-rating-legend {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}

.lux-fb-rating-legend li {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-fb-rating-legend__stars {
    display: inline-flex;
    gap: 0.05rem;
    min-width: 4.5rem;
}

.lux-fb-rating-legend__stars .fa-star {
    font-size: 0.55rem;
    color: #cbd5e1;
}

.lux-fb-rating-legend li.is-excellent .fa-star,
.lux-fb-rating-legend li.is-great .fa-star { color: #16a34a; }
.lux-fb-rating-legend li.is-good .fa-star { color: #3b82f6; }
.lux-fb-rating-legend li.is-fair .fa-star { color: #f97316; }
.lux-fb-rating-legend li.is-poor .fa-star { color: #ef4444; }

.lux-fb-rich__pillars {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin-bottom: 1rem;
}

.lux-fb-rich__pillar {
    display: flex;
    gap: 0.5rem;
    padding: 0.55rem 0.6rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    border: 0px solid rgba(148, 163, 184, 0.22);
}

.lux-fb-rich__pillar i {
    color: var(--lux-primary, #5b5ff4);
    margin-top: 0.1rem;
}

.lux-fb-rich__pillar strong {
    display: block;
    font-size: 0.75rem;
    color: #0f172a;
}

.lux-fb-rich__pillar p {
    margin: 0.15rem 0 0;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-fb-rich__quote {
    margin: 0;
    padding: 0.55rem 0.65rem;
    border-left: 3px solid var(--lux-primary, #5b5ff4);
    border-radius: 0 10px 10px 0;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
}

/* Reset legacy bootstrap rows inside the form */
.lux-fb-page .row {
    margin-left: 0;
    margin-right: 0;
}

.lux-fb-page [class*="col-"] {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    flex: none;
}

.lux-fb-rich__quote p {
    margin: 0;
    font-size: 0.75rem;
    font-style: italic;
    line-height: 1.5;
    color: #475569;
}

.lux-fb-rich__quote footer {
    margin-top: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-fb-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.5rem;
    padding: 0.22rem 0.6rem;
    border-radius: 999px;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-fb-hero__title {
    margin: 0 0 0.45rem;
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.2;
    color: #0f172a;
}

.lux-fb-hero__lead {
    margin: 0 0 1rem;
    max-width: 42rem;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: #475569;
}

.lux-fb-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.lux-fb-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.92);
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
}

.lux-fb-hero__chip strong {
    color: #0f172a;
    font-weight: 800;
}

.lux-fb-progress {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
    padding: 0.55rem 0.75rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-fb-progress__bar {
    flex: 1;
    height: 6px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.25);
    overflow: hidden;
}

.lux-fb-progress__fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #0ea5e9);
    transition: width 0.25s ease;
}

.lux-fb-progress__text {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    white-space: nowrap;
}

.lux-fb-form {
    padding: 1.25rem 1.75rem 1.75rem;
}

.lux-fb-section {
    margin-bottom: 1.5rem;
}

.lux-fb-section__head {
    margin: 0 0 0.85rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px dashed rgba(148, 163, 184, 0.4);
}

.lux-fb-section__title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-fb-section__hint {
    margin: 0.25rem 0 0;
    font-size: 0.8125rem;
    color: #94a3b8;
    line-height: 1.45;
}

.lux-fb-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
}

.lux-fb-q {
    min-width: 0;
}

.lux-fb-q--half {
    grid-column: span 1;
}

.lux-fb-q--full,
.lux-fb-q--hero,
.lux-fb-q--multi-rating {
    grid-column: 1 / -1;
}

.lux-fb-q__card--multi-rating {
    padding: 1rem 1.15rem 1.05rem;
    overflow: visible;
}

.lux-fb-q__card {
    height: 100%;
    padding: 0.85rem 0.95rem;
    border-radius: 16px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-fb-q--hero .lux-fb-q__card {
    padding: 1.15rem 1.1rem 1rem;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background:
        radial-gradient(circle at 100% 0%, rgba(14, 165, 233, 0.06), transparent 45%),
        #fff;
    box-shadow: 0 12px 28px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-fb-q__label {
    display: block;
    margin: 0 0 0.55rem;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.4;
    color: #0f172a;
}

.lux-fb-q__required {
    margin-left: 0.15rem;
    color: #dc2626;
    font-weight: 800;
}

.lux-fb-q__hint {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.75rem;
    color: #94a3b8;
}

/* Text inputs */
.lux-fb-form input[type="text"],
.lux-fb-form input[type="number"],
.lux-fb-form textarea,
.lux-fb-form select {
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: 0px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
    font-size: 0.875rem;
    color: #0f172a;
    transition: border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease;
}

.lux-fb-form input:focus,
.lux-fb-form textarea:focus,
.lux-fb-form select:focus {
    outline: none;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-fb-form textarea {
    min-height: 6.5rem;
    resize: vertical;
}

/* Star ratings — aligned buttons (overrides legacy feedback/style.css) */
.lux-fb-page .starRating,
.lux-fb-page .starRating.smallstar {
    display: none !important;
}

.lux-fb-stars {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
}

.lux-fb-stars__row {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: nowrap;
}

.lux-fb-stars__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.85rem;
    height: 2.85rem;
    padding: 0;
    border: 0px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    transition: transform 0.12s ease, border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease;
}

.lux-fb-stars__btn .fa-star,
.lux-fb-stars__btn .lux-fb-stars__icon {
    display: block;
    font-size: 1.35rem;
    color: #cbd5e1;
    line-height: 1;
    width: 1em;
    height: 1em;
    text-align: center;
    pointer-events: none;
}

.lux-fb-stars__btn:hover:not(:disabled) {
    transform: translateY(-2px);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.08);
}

.lux-fb-stars__btn.is-lit .fa-star,
.lux-fb-stars__btn.is-selected .fa-star {
    color: #f59e0b;
}

.lux-fb-stars__btn.colorred .fa-star { color: #ef4444 !important; }
.lux-fb-stars__btn.colororange .fa-star { color: #f97316 !important; }
.lux-fb-stars__btn.colorblue .fa-star { color: #3b82f6 !important; }
.lux-fb-stars__btn.colorlightgreen1 .fa-star { color: #22c55e !important; }
.lux-fb-stars__btn.colorgreen .fa-star { color: #16a34a !important; }

.lux-fb-stars__btn.colorred,
.lux-fb-stars__btn.colororange,
.lux-fb-stars__btn.colorblue,
.lux-fb-stars__btn.colorlightgreen1,
.lux-fb-stars__btn.colorgreen {
    border-color: rgba(148, 163, 184, 0.35);
    background: #fff;
}

.lux-fb-stars--hero .lux-fb-stars__btn {
    width: 3.25rem;
    height: 3.25rem;
}

.lux-fb-stars--hero .lux-fb-stars__btn .fa-star {
    font-size: 1.65rem;
}

.lux-fb-stars__hint {
    font-size: 0.75rem;
    font-weight: 600;
    color: #94a3b8;
    text-align: center;
}

.lux-fb-q__card--hero-rating {
    text-align: center;
}

.lux-fb-q__label--hero {
    text-align: center;
    font-size: 1.0625rem !important;
}

.lux-fb-section--hero .lux-fb-section__head--center {
    text-align: center;
}

.lux-fb-grid--hero {
    max-width: 36rem;
    margin: 0 auto;
}

/* Multi-dimension star rating — full width table */
.lux-fb-multi-rating {
    width: 100%;
}

.lux-fb-multi-rating__table {
    width: 100%;
    margin-top: 0.65rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: #fff;
    overflow: visible;
}

.lux-fb-multi-rating__head,
.lux-fb-dimension-rating {
    display: grid;
    grid-template-columns: minmax(11rem, 30%) minmax(0, 1fr) 3.5rem;
    align-items: center;
    column-gap: 1rem;
    padding: 0.6rem 1rem;
}

.lux-fb-multi-rating__head {
    background: linear-gradient(180deg, #f1f5f9 0%, #e8eef4 100%);
    border-bottom: 1px solid #e2e8f0;
    border-radius: 14px 14px 0 0;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-fb-multi-rating__col--stars {
    text-align: center;
}

.lux-fb-multi-rating__col--score {
    text-align: right;
}

.lux-fb-multi-rating__body .lux-fb-dimension-rating {
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    background: #fff;
}

.lux-fb-multi-rating__body .lux-fb-dimension-rating:last-child {
    border-bottom: none;
    border-radius: 0 0 14px 14px;
}

.lux-fb-page .lux-fb-q__card .rating,
.lux-fb-page .lux-fb-q__card .ratingInner {
    margin: 0;
    padding: 0;
    min-height: 0;
    background: transparent;
    border-radius: 0;
}

.lux-fb-dimension-rating__title {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
    word-break: break-word;
}

.lux-fb-dimension-rating__stars-cell {
    min-width: 0;
    width: 100%;
    overflow: visible;
}

.lux-fb-dimension-rating__stars-cell .lux-fb-stars {
    width: 100%;
    max-width: none;
    align-items: stretch;
}

.lux-fb-stars--matrix .lux-fb-stars__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    width: 100%;
    flex-wrap: nowrap;
}

.lux-fb-stars--matrix .lux-fb-stars__btn {
    flex: 1 1 0;
    min-width: 2.15rem;
    max-width: 3.25rem;
    width: auto;
    height: 2.5rem;
    padding: 0;
}

.lux-fb-stars--matrix .lux-fb-stars__btn .fa-star,
.lux-fb-stars--matrix .lux-fb-stars__btn .lux-fb-stars__icon {
    font-size: 1.15rem;
}

.lux-fb-dimension-rating__score {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #64748b;
    text-align: right;
    white-space: nowrap;
}

.lux-fb-form .ratingInner {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.lux-fb-thanks-line {
    margin: 0.75rem 0 0;
    text-align: center;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--lux-primary, #5b5ff4);
}


/* Radio / checkbox options */
.lux-fb-form .radioField {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.35rem 0 0;
    padding: 0.45rem 0.55rem;
    border-radius: 10px;
    border: 0px solid transparent;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease;
}

.lux-fb-form .radioField:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-fb-form .radioField label {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
}

.lux-fb-form .radioField input[type="radio"],
.lux-fb-form .radioField input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    accent-color: var(--lux-primary, #5b5ff4);
}

/* Reactions */
.lux-fb-form .reactions {
    padding: 0.25rem 0;
}

.lux-fb-form .reaction_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
    margin: 0.65rem 0;
}

.lux-fb-form .emoji {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem;
    border-radius: 14px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color 0.14s ease, transform 0.12s ease, background 0.14s ease;
}

.lux-fb-form .emoji:hover,
.lux-fb-form .emoji_img.colorgreen {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    transform: translateY(-2px);
}

.lux-fb-form .emoji_img img {
    width: 3rem;
    height: 3rem;
    object-fit: contain;
}

.lux-fb-form .emoji span {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-fb-form .info-text {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin-top: 0.65rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: rgba(14, 165, 233, 0.08);
    border: 0px solid rgba(14, 165, 233, 0.18);
}

.lux-fb-form .info-text h5 {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.45;
    color: #0369a1;
}

.lux-fb-form .info-text .fa-circle-info {
    color: #0ea5e9;
    margin-top: 0.1rem;
}

/* Alerts & states */
.lux-fb-alert {
    margin: 0;
    padding: 0.75rem 0.95rem;
    border-radius: 14px;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.45;
}

.lux-fb-alert--error {
    background: rgba(239, 68, 68, 0.1);
    border: 0px solid rgba(239, 68, 68, 0.25);
    color: #b91c1c;
}

.lux-fb-alert--success {
    background: rgba(22, 163, 74, 0.1);
    border: 0px solid rgba(22, 163, 74, 0.25);
    color: #15803d;
}

.lux-fb-alert--info {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    color: #3730a3;
}

.lux-fb-loading {
    padding: 3rem 1.75rem;
    text-align: center;
    color: #64748b;
    font-weight: 600;
}

/* Footer actions */
.lux-fb-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1.25rem;
    padding-top: 1.15rem;
    border-top: 1px solid rgba(148, 163, 184, 0.25);
}

.lux-fb-foot__note {
    flex: 1;
    min-width: 12rem;
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #94a3b8;
}

.lux-fb-foot__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.lux-fb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.5rem;
    padding: 0 1.15rem;
    border-radius: 9911px;
    border: 0px solid #e2e8f0;
    background: #fff;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #475569;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}

.lux-fb-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.lux-fb-btn--primary {
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 10px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-fb-btn--primary:hover:not(:disabled) {
    box-shadow: 0 14px 28px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
}

.lux-fb-btn img {
    width: 1.25rem;
    height: 1.25rem;
}

.lux-fb-page__legal {
    margin-top: 1.25rem;
    text-align: center;
    font-size: 0.6875rem;
    color: #94a3b8;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .lux-fb-shell-layout {
        grid-template-columns: 1fr;
    }

    .lux-fb-rich {
        width: 100%;
        max-width: none;
        position: static;
        max-height: none;
        border-left: none;
        border-top: 1px solid rgba(148, 163, 184, 0.2);
    }
}

@media (max-width: 720px) {
    .lux-fb-grid {
        grid-template-columns: 1fr;
    }

    .lux-fb-q--half {
        grid-column: 1 / -1;
    }

    .lux-fb-form,
    .lux-fb-hero,
    .lux-fb-rich {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .lux-fb-page__ribbon {
        font-size: 0.625rem;
        right: -3.25rem;
    }

    .lux-fb-multi-rating__head,
    .lux-fb-dimension-rating {
        grid-template-columns: 1fr;
        row-gap: 0.45rem;
        padding: 0.65rem 0.85rem;
    }

    .lux-fb-multi-rating__head {
        display: none;
    }

    .lux-fb-dimension-rating__stars-cell .lux-fb-stars--matrix .lux-fb-stars__row {
        justify-content: flex-start;
        gap: 0.35rem;
    }

    .lux-fb-stars--matrix .lux-fb-stars__btn {
        flex: 0 0 2.35rem;
        max-width: none;
    }

    .lux-fb-dimension-rating__score {
        text-align: left;
    }

    .lux-fb-stars__btn {
        width: 2.55rem;
        height: 2.55rem;
    }

    .lux-fb-stars--hero .lux-fb-stars__btn {
        width: 2.85rem;
        height: 2.85rem;
    }
}

/* ========== luxury-deliverables-list.css ========== */

.deliverablelist.lux-deliverable-requests {
    padding-bottom: 1rem;
}

.lux-deliverable-context {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin: 0 0.65rem 0.75rem;
    padding: 0.75rem 1rem 0.85rem;
    border-radius: 16px;
    border: 0px solid rgba(226, 232, 240, 0.95);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 52%),
        rgba(255, 255, 255, 0.92);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.lux-deliverable-context__nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
}

.lux-deliverable-context__nav.lux-back-nav {
    margin: 0 0 0.45rem;
}

.lux-deliverable-context__body {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
}

.lux-deliverable-context__icon {
    width: 2.35rem;
    height: 2.35rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.lux-deliverable-context__copy {
    flex: 1;
    min-width: 0;
}

.lux-deliverable-context__eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-deliverable-context__title {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    max-width: 100%;
    margin-top: 0.15rem;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    text-decoration: none;
}

.lux-deliverable-context__title:hover {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-deliverable-context__meta {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-deliverable-context__dot {
    margin: 0 0.25rem;
}

.lux-deliverable-context__aside {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-left: auto;
}

.lux-deliverable-context__status {
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border: 0px solid transparent;
}

.lux-deliverable-context__status.is-sky { background: #e0f2fe; color: #0369a1; border-color: #bae6fd; }
.lux-deliverable-context__status.is-indigo { background: #e0e7ff; color: #4338ca; border-color: #c7d2fe; }
.lux-deliverable-context__status.is-amber { background: #fef3c7; color: #b45309; border-color: #fde68a; }
.lux-deliverable-context__status.is-green { background: #dcfce7; color: #15803d; border-color: #bbf7d0; }
.lux-deliverable-context__status.is-slate { background: #f1f5f9; color: #475569; border-color: #e2e8f0; }

.lux-deliverable-summary .lux-bid-summary__header-bar {
    align-items: center;
}

.lux-deliverable-summary .lux-bid-summary__header-main {
    flex: 1;
    min-width: 0;
}

.lux-deliverable-summary .lux-bid-summary__toggle {
    flex-shrink: 0;
    align-self: center;
    margin-top: 0;
}

.lux-deliverable-summary .lux-bid-summary__collapsed-strip {
    align-items: center;
}

.lux-deliverable-summary__metrics-row .lux-bid-summary__kpi-strip {
    flex: 1;
    min-width: 0;
}

.lux-deliverable-summary__highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lux-deliverable-summary__stage-flow {
    margin-bottom: 0.55rem;
}

.lux-deliverable-summary__insights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.lux-deliverable-summary .lux-bid-summary__insight header {
    align-items: center;
}

.lux-deliverable-summary .lux-bid-summary__insight header i {
    width: 1.75rem;
    height: 1.75rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    flex-shrink: 0;
    font-size: 0.85rem;
    line-height: 1;
}

.lux-deliverable-summary .lux-bid-summary__insight header > div {
    min-width: 0;
}

.lux-deliverable-summary .lux-po-summary__highlight-icon {
    display: grid;
    place-items: center;
    line-height: 1;
}

.lux-deliverable-summary .lux-po-summary__highlight-icon i {
    font-size: 0.8rem;
    line-height: 1;
}

.lux-deliverable-requests .lux-register-list-section {
    padding: 0 0.65rem 1rem;
}

.lux-deliverable-requests .lux-bid-list {
    --lux-bid-list-cols:
        2rem 4rem minmax(14rem, 2.2fr) minmax(5rem, 0.7fr) minmax(4.5rem, 0.65fr)
        minmax(5.5rem, 0.72fr) minmax(6.5rem, 0.85fr) minmax(6.25rem, 0.88fr) minmax(7rem, auto);
    min-width: 56rem;
}

.lux-deliverable-requests .lux-bid-list__head,
.lux-deliverable-requests .lux-bid-list__item {
    gap: 0.55rem;
}

.lux-deliverable-requests .lux-bid-list__item {
    min-height: 4.1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.lux-deliverable-row__index {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-deliverable-row__name-col {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    min-width: 0;
}

.lux-deliverable-row__name {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    max-width: 100%;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    text-decoration: none;
}

.lux-deliverable-row__name-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-deliverable-row__name i {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: #94a3b8;
    opacity: 0;
    transition: opacity 0.14s ease;
}

.lux-deliverable-row__name:hover {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-deliverable-row__name:hover i {
    opacity: 1;
}

.lux-deliverable-row__description {
    margin: 0;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-deliverable-row__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.lux-deliverable-row__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-deliverable-row__badge.is-inactive {
    background: #f1f5f9;
    color: #64748b;
}

.lux-deliverable-row__badge.is-overdue {
    background: #ffe4e6;
    color: #be123c;
}

.lux-deliverable-row__category {
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
}

.lux-deliverable-row__members-empty {
    font-size: 0.75rem;
    color: #94a3b8;
}

.lux-deliverable-row__members {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-deliverable-row__avatars {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
}

.lux-deliverable-row__avatars li {
    margin-left: -0.35rem;
}

.lux-deliverable-row__avatars li:first-child {
    margin-left: 0;
}

.lux-deliverable-row__avatars img {
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 999px;
    border: 2px solid #fff;
    object-fit: cover;
}

.lux-deliverable-row__members-more {
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
}

.lux-deliverable-row__dates-col {
    display: flex;
    align-items: center;
}

.lux-deliverable-row__dates {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}

.lux-deliverable-row__date {
    display: flex;
    flex-direction: column;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #334155;
    line-height: 1.2;
}

.lux-deliverable-row__date em {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    font-style: normal;
}

.lux-deliverable-row__date.is-end {
    color: #be123c;
}

.lux-deliverable-row.is-overdue .lux-deliverable-row__date.is-end {
    color: #be123c;
}

.lux-deliverable-row__progress {
    min-width: 0;
}

.lux-deliverable-row__progress-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35rem;
    margin-bottom: 0.2rem;
}

.lux-deliverable-row__progress-head strong {
    font-size: 0.75rem;
    color: #0f172a;
}

.lux-deliverable-row__progress-head span {
    font-size: 0.5625rem;
    color: #94a3b8;
    white-space: nowrap;
}

.lux-deliverable-row__progress-track {
    height: 0.35rem;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.lux-deliverable-row__progress-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #14b8a6);
}

.lux-deliverable-row__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.2rem;
}

.lux-deliverable-row__action {
    width: 1.85rem;
    height: 1.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.9);
    color: #64748b;
    cursor: pointer;
    transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}

.lux-deliverable-row__action:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    color: var(--lux-primary-dark, #3730a3);
    background: #fff;
}

.lux-deliverable-row__toggle {
    position: relative;
    display: inline-flex;
    margin-right: 0.15rem;
    cursor: pointer;
}

.lux-deliverable-row__toggle input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.lux-deliverable-row__toggle-ui {
    width: 2rem;
    height: 1.1rem;
    border-radius: 999px;
    background: #cbd5e1;
    transition: background 0.14s ease;
}

.lux-deliverable-row__toggle-ui::after {
    content: "";
    position: absolute;
    top: 0.14rem;
    left: 0.14rem;
    width: 0.82rem;
    height: 0.82rem;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2);
    transition: transform 0.14s ease;
}

.lux-deliverable-row__toggle input:checked + .lux-deliverable-row__toggle-ui {
    background: var(--lux-primary, #5b5ff4);
}

.lux-deliverable-row__toggle input:checked + .lux-deliverable-row__toggle-ui::after {
    transform: translateX(0.9rem);
}

.lux-register-empty--deliverables {
    background:
        radial-gradient(circle at 100% 0%, rgba(245, 158, 11, 0.09), transparent 44%),
        radial-gradient(circle at 0% 100%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 50%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
}

.lux-register-empty--deliverables .lux-register-empty__eyebrow {
    color: #b45309;
}

@media (max-width: 1100px) {
    .lux-deliverable-summary__highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-deliverable-summary__insights {
        grid-template-columns: 1fr;
    }

    .lux-deliverable-context__body {
        flex-wrap: wrap;
    }

    .lux-deliverable-context__aside {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }
}

/* Project details — tab panels (Files, Activity, Team, Calendar, Alerts, Dashboard) */
.lux-project-details-page .lux-pd-tab {
    margin: 0;
}

.lux-pd-tab__body {
    padding: 0.85rem 1.1rem 1.1rem;
}

.lux-pd-tab__panel .lux-item-collab {
    margin: 0;
}

.lux-pd-tab__empty {
    margin: 0;
}

.lux-pd-tab__empty--compact .lux-register-empty__inner {
    padding-top: 0.5rem;
}

.lux-pd-tab__loading {
    display: grid;
    gap: 0.45rem;
    padding: 0.5rem 0;
}

.lux-pd-tab__loading-bar {
    height: 0.55rem;
    border-radius: 6px;
    background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
    background-size: 200% 100%;
    animation: lux-pd-shimmer 1.2s ease infinite;
}

@keyframes lux-pd-shimmer {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

.lux-pd-dashboard .pd-summary-stats {
    margin-bottom: 0.85rem;
}

.lux-pd-dashboard__categories {
    margin-top: 0.25rem;
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    border: 0px solid rgba(15, 23, 42, 0.07);
    background: #f8fafc;
}

.lux-pd-dashboard__categories-head h4 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-dashboard__categories-head span {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-pd-dashboard__category-list {
    list-style: none;
    margin: 0.65rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
}

.lux-pd-dashboard__category-row {
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    background: #fff;
    border: 0px solid rgba(15, 23, 42, 0.06);
}

.lux-pd-dashboard__category-meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.lux-pd-dashboard__category-meta strong {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 55%;
}

.lux-pd-dashboard__category-meta span {
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
    white-space: nowrap;
}

.lux-pd-dashboard__category-bar {
    height: 6px;
    border-radius: 99px;
    background: #e2e8f0;
    overflow: hidden;
}

.lux-pd-dashboard__category-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
}

.lux-pd-members__toolbar,
.lux-pd-team__layout {
    display: grid;
    grid-template-columns: minmax(0, 16.5rem) minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
}

.lux-pd-team__access {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 0.75rem;
    border-radius: 16px;
    border: 0px solid rgba(148, 163, 184, 0.22);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 52%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.lux-pd-team__access--empty {
    min-height: 100%;
    justify-content: center;
}

.lux-pd-team__access-head {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
}

.lux-pd-team__access-head-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-pd-team__access-eyebrow {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-pd-team__access-head strong {
    display: block;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-team__access-stack {
    display: grid;
    gap: 0.55rem;
}

.lux-pd-team__access-card {
    padding: 0.62rem 0.68rem;
    border-radius: 12px;
    border: 0px solid rgba(15, 23, 42, 0.07);
    background: rgba(255, 255, 255, 0.88);
}

.lux-pd-team__access-card header {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
}

.lux-pd-team__access-card header i {
    margin-top: 0.1rem;
    font-size: 0.875rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-pd-team__access-card header span {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-pd-team__access-card header strong {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.35;
}

.lux-pd-team__access-card.is-owner {
    border-color: rgba(139, 92, 246, 0.18);
    background: rgba(139, 92, 246, 0.05);
}

.lux-pd-team__access-card.is-owner header i {
    color: #7c3aed;
}

.lux-pd-team__access-card.is-skills {
    border-color: rgba(20, 184, 166, 0.18);
    background: rgba(20, 184, 166, 0.05);
}

.lux-pd-team__access-card.is-skills header i {
    color: #0d9488;
}

.lux-pd-team__access-list {
    list-style: none;
    margin: 0.45rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.28rem;
}

.lux-pd-team__access-list li {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
}

.lux-pd-team__access-list li i {
    font-size: 0.6875rem;
    color: #10b981;
}

.lux-pd-team__access-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-top: 0.45rem;
}

.lux-pd-team__access-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.48rem;
    border-radius: 99px;
    font-size: 0.625rem;
    font-weight: 800;
    color: #0f766e;
    background: rgba(20, 184, 166, 0.12);
    border: 1px solid rgba(20, 184, 166, 0.18);
}

.lux-pd-team__access-empty {
    display: grid;
    gap: 0.35rem;
    justify-items: center;
    text-align: center;
    padding: 0.75rem 0.35rem;
}

.lux-pd-team__access-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 12px;
    color: #64748b;
    background: rgba(148, 163, 184, 0.14);
}

.lux-pd-team__access-empty strong {
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-team__access-empty span {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
}

.lux-pd-team__roster {
    min-width: 0;
    padding: 0.75rem;
    border-radius: 16px;
    border: 0px solid rgba(148, 163, 184, 0.22);
    background:
        radial-gradient(circle at 0% 0%, rgba(14, 165, 233, 0.06), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.lux-pd-team__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.75rem;
}

.lux-pd-team__search {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex: 1;
    min-width: 0;
    padding: 0.45rem 0.65rem;
    border-radius: 12px;
    border: 0px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-pd-team__search i {
    color: #94a3b8;
    font-size: 0.875rem;
}

.lux-pd-team__search input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #0f172a;
    background: transparent;
}

.lux-pd-team__search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    padding: 0;
    border: none;
    border-radius: 8px;
    color: #64748b;
    background: rgba(148, 163, 184, 0.14);
    cursor: pointer;
}

.lux-pd-team__search-clear:hover {
    color: #0f172a;
    background: rgba(148, 163, 184, 0.22);
}

.lux-pd-team__count {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.05rem;
    flex-shrink: 0;
    padding: 0.35rem 0.55rem;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-pd-team__count strong {
    font-size: 0.875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    line-height: 1;
}

.lux-pd-team__count span {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-pd-team__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 0.65rem;
}

.lux-pd-team-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.75rem;
    border-radius: 14px;
    border: 0px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    overflow: hidden;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.lux-pd-team-card:hover {
    transform: translateY(-1px);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.lux-pd-team-card__accent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
}

.lux-pd-team-card.is-violet .lux-pd-team-card__accent {
    background: linear-gradient(90deg, #8b5cf6, #6366f1);
}

.lux-pd-team-card.is-sky .lux-pd-team-card__accent {
    background: linear-gradient(90deg, #0ea5e9, #38bdf8);
}

.lux-pd-team-card.is-mint .lux-pd-team-card__accent {
    background: linear-gradient(90deg, #10b981, #34d399);
}

.lux-pd-team-card__glow {
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 40%, rgba(255, 255, 255, 0.55) 50%, transparent 60%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.16s ease;
}

.lux-pd-team-card:hover .lux-pd-team-card__glow {
    opacity: 0.7;
}

.lux-pd-team-card__hero {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.lux-pd-team-card__avatar-link {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
}

.lux-pd-team-card__avatar-ring {
    position: absolute;
    inset: -3px;
    border-radius: 999px;
    border: 2px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    transition: border-color 0.16s ease, transform 0.16s ease;
}

.lux-pd-team-card__avatar-link:hover .lux-pd-team-card__avatar-ring {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.42);
    transform: scale(1.03);
}

.lux-pd-team-card__avatar {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    object-fit: cover;
}

.lux-pd-team-card__identity {
    min-width: 0;
}

.lux-pd-team-card__name {
    display: block;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-pd-team-card__name:hover {
    color: var(--lux-primary, #5b5ff4);
}

.lux-pd-team-card__role {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-pd-team-card__meta {
    display: grid;
    gap: 0.4rem;
}

.lux-pd-team-card__email {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #475569;
    text-decoration: none;
}

.lux-pd-team-card__email span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-pd-team-card__email:hover {
    color: var(--lux-primary, #5b5ff4);
}

.lux-pd-team-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.lux-pd-team-card__tag {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.18rem 0.42rem;
    border-radius: 6px;
    color: #475569;
    background: rgba(148, 163, 184, 0.14);
}

.lux-pd-team-card__tag.is-violet {
    color: #6d28d9;
    background: rgba(139, 92, 246, 0.12);
}

.lux-pd-team-card__tag.is-sky {
    color: #0369a1;
    background: rgba(14, 165, 233, 0.12);
}

.lux-pd-team-card__tag.is-mint {
    color: #047857;
    background: rgba(16, 185, 129, 0.12);
}

.lux-pd-team__no-match {
    display: grid;
    gap: 0.35rem;
    justify-items: center;
    text-align: center;
    padding: 1.5rem 1rem;
    border-radius: 14px;
    border: 0px dashed rgba(148, 163, 184, 0.35);
    background: rgba(248, 250, 252, 0.72);
}

.lux-pd-team__no-match-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    color: #64748b;
    background: rgba(148, 163, 184, 0.14);
}

.lux-pd-team__no-match strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-team__no-match span {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-pd-team__no-match-btn {
    margin-top: 0.25rem;
    padding: 0.35rem 0.7rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    border-radius: 10px;
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    cursor: pointer;
}

.lux-pd-team__no-match-btn:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

/* Legacy member class aliases (calendar tab references) */
.lux-pd-members__toolbar {
    margin-bottom: 0.75rem;
}

.lux-pd-members__search {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.65rem;
    border-radius: 12px;
    border: 0px solid rgba(15, 23, 42, 0.1);
    background: #fff;
}

.lux-pd-members__search i {
    color: #94a3b8;
    font-size: 0.875rem;
}

.lux-pd-members__search input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #0f172a;
    background: transparent;
}

.lux-pd-members__access {
    display: grid;
    gap: 0.55rem;
    margin-bottom: 0.85rem;
}

.lux-pd-members__access-label {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 0.35rem;
}

.lux-pd-members__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-pd-members__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.55rem;
    border-radius: 99px;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #334155;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.15);
}

.lux-pd-members__chip.is-skill {
    background: rgba(20, 184, 166, 0.08);
    border-color: rgba(20, 184, 166, 0.2);
}

.lux-pd-members__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 0.55rem;
}

.lux-pd-member {
    display: flex;
    gap: 0.65rem;
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 0px solid rgba(15, 23, 42, 0.07);
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.lux-pd-member__avatar {
    flex-shrink: 0;
}

.lux-pd-member__name {
    display: block;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-member__role,
.lux-pd-member__email {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-pd-member__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.35rem;
}

.lux-pd-member__tag {
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.15rem 0.4rem;
    border-radius: 6px;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-pd-members__no-match {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    text-align: center;
    padding: 1rem;
}

/* Project details — richer Activity / Team / Calendar / Alerts panels */
.lux-project-details-page .lux-pd-tab {
    position: relative;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 20px;
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 40%),
        #fff;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.lux-pd-tab::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--lux-primary, #5b5ff4), #14b8a6);
    z-index: 1;
}

.lux-pd-tab--activity::before {
    background: linear-gradient(180deg, #6366f1, #14b8a6);
}

.lux-pd-tab--team::before {
    background: linear-gradient(180deg, #8b5cf6, #0ea5e9);
}

.lux-pd-tab--calendar::before {
    background: linear-gradient(180deg, #0ea5e9, #8b5cf6);
}

.lux-pd-tab--alerts::before {
    background: linear-gradient(180deg, #f59e0b, #ef4444);
}

.lux-project-details-page .lux-pd-tab .lux-pd-tab__head,
.lux-project-details-page .lux-pd-tab .lux-settings-tab__head {
    padding: 1.15rem 1.25rem 1rem;
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 55%),
        #fff;
}

.lux-project-details-page .lux-pd-tab .lux-pd-tab__icon,
.lux-project-details-page .lux-pd-tab .lux-settings-tab__icon {
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 14px;
    box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-project-details-page .lux-pd-tab .lux-settings-tab__stats,
.lux-pd-tab__stats {
    gap: 0.65rem;
    padding: 0.85rem 1.25rem;
    background: linear-gradient(180deg, #f8fafc, #fff);
}

.lux-project-details-page .lux-pd-tab .lux-settings-tab__stat,
.lux-pd-tab__stat {
    padding: 0.7rem 0.8rem;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.03);
}

.lux-pd-tab__body {
    padding: 0.95rem 1.2rem 1.25rem;
}

.lux-pd-activity {
    display: grid;
    gap: 0.85rem;
}

.lux-pd-activity__intro {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.lux-pd-activity__intro-card {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #fff, #f8fafc);
}

.lux-pd-activity__intro-icon {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    flex-shrink: 0;
}

.lux-pd-activity__intro-card.is-comments .lux-pd-activity__intro-icon {
    color: #4338ca;
    background: rgba(99, 102, 241, 0.12);
}

.lux-pd-activity__intro-card.is-audit .lux-pd-activity__intro-icon {
    color: #0f766e;
    background: rgba(20, 184, 166, 0.12);
}

.lux-pd-activity__intro-card strong {
    display: block;
    font-size: 0.84rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-activity__intro-card span {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.74rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-pd-activity__surface {
    padding: 0.15rem 0 0;
}

.lux-pd-team__roster-head,
.lux-pd-calendar__section-head,
.lux-pd-notifications__section-head {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-bottom: 0.75rem;
}

.lux-pd-team__roster-icon,
.lux-pd-calendar__section-icon,
.lux-pd-notifications__section-icon {
    width: 2.1rem;
    height: 2.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    flex-shrink: 0;
}

.lux-pd-team__roster-head strong,
.lux-pd-calendar__section-head strong,
.lux-pd-notifications__section-head strong {
    display: block;
    font-size: 0.88rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-team__roster-head span,
.lux-pd-calendar__section-head span:last-child,
.lux-pd-notifications__section-head span:last-child {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.74rem;
    color: #64748b;
}

.lux-pd-team__access {
    border: 1px solid rgba(148, 163, 184, 0.28);
}

.lux-pd-team__roster {
    padding: 0.9rem;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background:
        radial-gradient(circle at 100% 0%, rgba(139, 92, 246, 0.06), transparent 45%),
        #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.lux-pd-calendar {
    display: grid;
    gap: 1rem;
}

.lux-pd-calendar__window {
    padding: 1rem 1.05rem 1.05rem;
    border-radius: 16px;
    border: 1px solid rgba(14, 165, 233, 0.2);
    background:
        radial-gradient(circle at 0% 0%, rgba(14, 165, 233, 0.1), transparent 48%),
        radial-gradient(circle at 100% 100%, rgba(139, 92, 246, 0.08), transparent 42%),
        #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.lux-pd-calendar__window.is-complete {
    border-color: rgba(16, 185, 129, 0.28);
}

.lux-pd-calendar__window.is-upcoming {
    border-color: rgba(245, 158, 11, 0.28);
}

.lux-pd-calendar__window-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    margin-bottom: 0.85rem;
}

.lux-pd-calendar__window-eyebrow {
    display: block;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-pd-calendar__window-head strong {
    display: block;
    margin-top: 0.2rem;
    font-size: 1.05rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-calendar__window-hint {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.74rem;
    color: #64748b;
}

.lux-pd-calendar__window-duration {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
    padding: 0.45rem 0.7rem;
    border-radius: 12px;
    background: rgba(14, 165, 233, 0.08);
    border: 1px solid rgba(14, 165, 233, 0.16);
}

.lux-pd-calendar__window-duration span {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-pd-calendar__window-duration strong {
    font-size: 0.9rem;
    font-weight: 800;
    color: #0369a1;
}

.lux-pd-calendar__window-range {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
}

.lux-pd-calendar__window-point {
    padding: 0.7rem 0.8rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.lux-pd-calendar__window-point.is-end {
    text-align: right;
}

.lux-pd-calendar__window-point span {
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-pd-calendar__window-point strong {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-calendar__window-arrow {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #64748b;
    background: #f1f5f9;
}

.lux-pd-calendar__window-progress-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.4rem;
    font-size: 0.74rem;
    font-weight: 700;
    color: #475569;
}

.lux-pd-calendar__window-progress-meta em {
    font-style: normal;
    color: #0369a1;
}

.lux-pd-calendar__window-bar {
    height: 0.45rem;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.lux-pd-calendar__window-bar > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0ea5e9, #8b5cf6);
}

.lux-pd-calendar__milestones {
    padding: 0.9rem;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.lux-pd-calendar__timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.65rem;
    position: relative;
}

.lux-pd-calendar__event {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.9rem 0.95rem;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #fff, #f8fafc);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.03);
}

.lux-pd-calendar__event-rail {
    position: absolute;
    left: 0;
    top: 0.75rem;
    bottom: 0.75rem;
    width: 3px;
    border-radius: 999px;
    background: #cbd5e1;
}

.lux-pd-calendar__event.is-sky .lux-pd-calendar__event-rail { background: #0ea5e9; }
.lux-pd-calendar__event.is-violet .lux-pd-calendar__event-rail { background: #8b5cf6; }
.lux-pd-calendar__event.is-mint .lux-pd-calendar__event-rail { background: #10b981; }
.lux-pd-calendar__event.is-slate .lux-pd-calendar__event-rail { background: #64748b; }

.lux-pd-calendar__event-icon {
    width: 2.35rem;
    height: 2.35rem;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-pd-calendar__event.is-sky .lux-pd-calendar__event-icon {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}

.lux-pd-calendar__event.is-violet .lux-pd-calendar__event-icon {
    background: rgba(139, 92, 246, 0.12);
    color: #6d28d9;
}

.lux-pd-calendar__event.is-mint .lux-pd-calendar__event-icon {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.lux-pd-calendar__event.is-slate .lux-pd-calendar__event-icon {
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

.lux-pd-calendar__event-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
}

.lux-pd-calendar__event-body strong {
    font-size: 0.9rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-calendar__event-relative {
    flex-shrink: 0;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
    background: #f1f5f9;
}

.lux-pd-calendar__event-hint {
    margin: 0.3rem 0 0;
    font-size: 0.76rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-pd-calendar__event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.55rem;
    font-size: 0.74rem;
    font-weight: 700;
    color: #475569;
}

.lux-pd-calendar__event-meta time {
    color: #0f172a;
}

.lux-pd-calendar__footer-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px dashed rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
}

.lux-pd-calendar__footer-icon {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--lux-primary, #5b5ff4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-pd-calendar__footer-card strong {
    display: block;
    font-size: 0.86rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-calendar__footer-card span {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.74rem;
    line-height: 1.4;
    color: #64748b;
}

.lux-pd-calendar__footer-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 750;
    color: #fff;
    text-decoration: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    box-shadow: 0 8px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    white-space: nowrap;
}

.lux-pd-calendar__footer-btn:hover {
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
}

.lux-pd-calendar__footer,
.lux-pd-files__links {
    margin: 0.75rem 0 0;
    font-size: 0.75rem;
    font-weight: 700;
    text-align: center;
}

.lux-pd-calendar__footer a,
.lux-pd-files__links a {
    color: var(--lux-primary, #5b5ff4);
}

.lux-pd-notifications {
    display: grid;
    gap: 1rem;
}

.lux-pd-notifications__banner {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin: 0;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    background:
        radial-gradient(circle at 0% 0%, rgba(245, 158, 11, 0.12), transparent 50%),
        #fffbeb;
    color: #78350f;
}

.lux-pd-notifications__banner-icon {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(245, 158, 11, 0.18);
    color: #b45309;
    flex-shrink: 0;
}

.lux-pd-notifications__banner strong {
    display: block;
    font-size: 0.84rem;
    font-weight: 800;
    color: #92400e;
}

.lux-pd-notifications__banner span {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.74rem;
    line-height: 1.45;
    color: #a16207;
}

.lux-pd-notifications__section {
    padding: 0.95rem;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.lux-pd-notifications__grid {
    display: grid;
    gap: 0.7rem;
}

.lux-pd-pref-card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #fff, #f8fafc);
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-pd-pref-card:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
}

.lux-pd-pref-card__accent {
    position: absolute;
    left: 0;
    top: 0.8rem;
    bottom: 0.8rem;
    width: 3px;
    border-radius: 999px;
    background: #cbd5e1;
}

.lux-pd-pref-card.is-violet .lux-pd-pref-card__accent { background: #8b5cf6; }
.lux-pd-pref-card.is-sky .lux-pd-pref-card__accent { background: #0ea5e9; }
.lux-pd-pref-card.is-mint .lux-pd-pref-card__accent { background: #10b981; }
.lux-pd-pref-card.is-amber .lux-pd-pref-card__accent { background: #f59e0b; }
.lux-pd-pref-card.is-slate .lux-pd-pref-card__accent { background: #64748b; }

.lux-pd-pref-card__glow {
    position: absolute;
    inset: auto -10% -40% auto;
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    opacity: 0.35;
    pointer-events: none;
    background: radial-gradient(circle, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18), transparent 70%);
}

.lux-pd-pref-card.is-on {
    border-color: rgba(16, 185, 129, 0.28);
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.06), #fff);
}

.lux-pd-pref-card.is-soon {
    opacity: 0.78;
}

.lux-pd-pref-card__icon {
    width: 2.4rem;
    height: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    flex-shrink: 0;
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-pd-pref-card.is-violet .lux-pd-pref-card__icon {
    color: #6d28d9;
    background: rgba(139, 92, 246, 0.12);
}

.lux-pd-pref-card.is-sky .lux-pd-pref-card__icon {
    color: #0369a1;
    background: rgba(14, 165, 233, 0.12);
}

.lux-pd-pref-card.is-mint .lux-pd-pref-card__icon {
    color: #047857;
    background: rgba(16, 185, 129, 0.12);
}

.lux-pd-pref-card.is-amber .lux-pd-pref-card__icon {
    color: #b45309;
    background: rgba(245, 158, 11, 0.14);
}

.lux-pd-pref-card__copy {
    min-width: 0;
}

.lux-pd-pref-card__title-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.lux-pd-pref-card__copy strong {
    font-size: 0.9rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-pref-card__copy p {
    margin: 0.25rem 0 0;
    font-size: 0.76rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-pd-pref-card__badge {
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.lux-pd-pref-card__badge.is-on {
    color: #047857;
    background: rgba(16, 185, 129, 0.14);
}

.lux-pd-pref-card__badge.is-off {
    color: #64748b;
    background: #f1f5f9;
}

.lux-pd-pref-card__badge.is-soon {
    color: #b45309;
    background: rgba(245, 158, 11, 0.16);
}

.lux-pd-pref-card__switch {
    position: relative;
    display: inline-flex;
    cursor: pointer;
}

.lux-pd-pref-card__switch input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.lux-pd-pref-card__track {
    width: 2.55rem;
    height: 1.4rem;
    border-radius: 999px;
    background: #cbd5e1;
    position: relative;
    transition: background 0.18s ease;
}

.lux-pd-pref-card__thumb {
    position: absolute;
    top: 0.18rem;
    left: 0.18rem;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.18);
    transition: transform 0.18s ease;
}

.lux-pd-pref-card__switch input:checked + .lux-pd-pref-card__track {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), #14b8a6);
}

.lux-pd-pref-card__switch input:checked + .lux-pd-pref-card__track .lux-pd-pref-card__thumb {
    transform: translateX(1.15rem);
}

.lux-pd-pref-card__switch input:disabled + .lux-pd-pref-card__track {
    opacity: 0.55;
    cursor: not-allowed;
}


@media (max-width: 900px) {
    .lux-project-details-page .pd-nav {
        width: 100%;
    }

    .lux-pd-team__layout {
        grid-template-columns: 1fr;
    }

    .lux-pd-team__grid,
    .lux-pd-members__grid {
        grid-template-columns: 1fr;
    }

    .lux-pd-activity__intro {
        grid-template-columns: 1fr;
    }

    .lux-pd-calendar__footer-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .lux-pd-calendar__footer-btn {
        grid-column: 1 / -1;
        justify-content: center;
    }

    .lux-pd-calendar__window-range {
        grid-template-columns: 1fr;
    }

    .lux-pd-calendar__window-arrow {
        display: none;
    }

    .lux-pd-calendar__window-point.is-end {
        text-align: left;
    }
}

/* Approval delegation (manager profile) */
.lux-approval-delegation {
    display: grid;
    gap: 1.1rem;
}

.lux-approval-delegation__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.lux-approval-delegation__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6366f1;
}

.lux-approval-delegation__title {
    margin: 0.2rem 0 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-approval-delegation__subtitle {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: #64748b;
    max-width: 42rem;
}

.lux-approval-delegation__summary-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.65rem;
}

.lux-approval-delegation__summary-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.lux-approval-delegation__summary-chip.is-active {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.lux-approval-delegation__summary-chip.is-upcoming {
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
}

.lux-approval-delegation__summary-chip.is-ended {
    background: rgba(148, 163, 184, 0.16);
    color: #475569;
}

.lux-approval-delegation__tip {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.75rem 0.9rem;
    border-radius: 12px;
    border: 1px solid rgba(99, 102, 241, 0.18);
    background: linear-gradient(135deg, rgba(238, 242, 255, 0.9), rgba(255, 255, 255, 0.95));
    font-size: 0.75rem;
    line-height: 1.5;
    color: #4338ca;
}

.lux-approval-delegation__tip .fe {
    margin-top: 0.1rem;
    flex-shrink: 0;
}

.lux-approval-delegation__list {
    display: grid;
    gap: 0.85rem;
}

.lux-approval-delegation__card {
    padding: 1rem 1.05rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: linear-gradient(135deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.72));
}

.lux-approval-delegation__card--active {
    border-color: rgba(16, 185, 129, 0.28);
    background: linear-gradient(135deg, rgba(236, 253, 245, 0.98), rgba(209, 250, 229, 0.45));
}

.lux-approval-delegation__card--upcoming {
    border-color: rgba(59, 130, 246, 0.28);
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.98), rgba(219, 234, 254, 0.55));
}

.lux-approval-delegation__card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.lux-approval-delegation__card-identity {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.lux-approval-delegation__avatar,
.lux-approval-delegation__delegate-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 12px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    color: #4338ca;
    background: linear-gradient(135deg, rgba(238, 242, 255, 0.95), rgba(199, 210, 254, 0.55));
    border: 1px solid rgba(99, 102, 241, 0.2);
}

.lux-approval-delegation__avatar {
    width: 2.35rem;
    height: 2.35rem;
}

.lux-approval-delegation__delegate-avatar {
    width: 2rem;
    height: 2rem;
}

.lux-approval-delegation__card-title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-approval-delegation__card-range {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-approval-delegation__scope-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.75rem;
}

.lux-approval-delegation__scope-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.lux-approval-delegation__scope-pill.is-attendance {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}

.lux-approval-delegation__scope-pill.is-timesheet {
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}

.lux-approval-delegation__scope-pill.is-muted {
    background: rgba(148, 163, 184, 0.14);
    color: #64748b;
}

.lux-approval-delegation__note {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0.75rem 0 0;
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    border-left: 3px solid rgba(99, 102, 241, 0.35);
    background: rgba(255, 255, 255, 0.55);
    font-size: 0.75rem;
    line-height: 1.45;
    color: #475569;
}

.lux-approval-delegation__status {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.lux-approval-delegation__status--active {
    background: rgba(16, 185, 129, 0.14);
    color: #047857;
}

.lux-approval-delegation__status--upcoming {
    background: rgba(59, 130, 246, 0.14);
    color: #1d4ed8;
}

.lux-approval-delegation__status--ended,
.lux-approval-delegation__status--revoked {
    background: rgba(148, 163, 184, 0.18);
    color: #475569;
}

.lux-approval-delegation__card-actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.85rem;
    flex-wrap: wrap;
}

.lux-approval-delegation__form {
    display: grid;
    gap: 0.9rem;
    padding: 1.1rem 1.15rem;
    border-radius: 16px;
    border: 1px solid rgba(99, 102, 241, 0.22);
    background: linear-gradient(145deg, rgba(238, 242, 255, 0.72), rgba(255, 255, 255, 0.98));
    box-shadow: 0 10px 28px rgba(99, 102, 241, 0.08);
}

.lux-approval-delegation__form-head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.lux-approval-delegation__form-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 12px;
    background: rgba(99, 102, 241, 0.12);
    color: #4f46e5;
    flex-shrink: 0;
}

.lux-approval-delegation__form-head h3 {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-approval-delegation__form-head p {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-approval-delegation__search-wrap {
    position: relative;
}

.lux-approval-delegation__search-wrap .fe {
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.85rem;
    color: #94a3b8;
    pointer-events: none;
}

.lux-approval-delegation__input--search {
    padding-left: 2rem;
}

.lux-approval-delegation__delegate-meta {
    display: grid;
    gap: 0.05rem;
    text-align: left;
    flex: 1;
    min-width: 0;
}

.lux-approval-delegation__selected-hint {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.75rem;
    color: #047857;
}

.lux-approval-delegation__presets {
    display: grid;
    gap: 0.4rem;
}

.lux-approval-delegation__preset-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.lux-approval-delegation__preset-btn {
    border: 1px solid rgba(148, 163, 184, 0.4);
    border-radius: 999px;
    padding: 0.3rem 0.7rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    background: #fff;
    cursor: pointer;
}

.lux-approval-delegation__preset-btn.is-active,
.lux-approval-delegation__preset-btn:hover {
    border-color: rgba(99, 102, 241, 0.35);
    background: rgba(238, 242, 255, 0.9);
    color: #4338ca;
}

.lux-approval-delegation__scope-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-approval-delegation__scope-card {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: 0.15rem 0.55rem;
    align-items: start;
    padding: 0.7rem 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-approval-delegation__scope-card input {
    grid-row: 1 / span 2;
    margin-top: 0.15rem;
}

.lux-approval-delegation__scope-card.is-checked {
    border-color: rgba(99, 102, 241, 0.45);
    background: linear-gradient(135deg, rgba(238, 242, 255, 0.95), rgba(255, 255, 255, 0.98));
    box-shadow: 0 6px 16px rgba(99, 102, 241, 0.1);
}

.lux-approval-delegation__scope-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 8px;
    background: rgba(99, 102, 241, 0.1);
    color: #4f46e5;
}

.lux-approval-delegation__scope-card-copy {
    display: grid;
    gap: 0.1rem;
}

.lux-approval-delegation__scope-card-copy strong {
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-approval-delegation__scope-card-copy em {
    font-style: normal;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: #64748b;
}

.lux-approval-delegation__field,
.lux-approval-delegation__scopes {
    display: grid;
    gap: 0.4rem;
    margin: 0;
    border: 0;
    padding: 0;
}

.lux-approval-delegation__field-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.lux-approval-delegation__label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-approval-delegation__input,
.lux-approval-delegation__textarea {
    width: 100%;
    border: 1px solid rgba(148, 163, 184, 0.45);
    border-radius: 10px;
    padding: 0.55rem 0.7rem;
    font-size: 0.8125rem;
    color: #0f172a;
    background: #fff;
}

.lux-approval-delegation__textarea {
    resize: vertical;
    min-height: 4.5rem;
}

.lux-approval-delegation__delegate-list {
    display: grid;
    gap: 0.35rem;
    max-height: 11rem;
    overflow: auto;
    padding: 0.35rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.9);
}

.lux-approval-delegation__delegate-option {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    border: 1px solid transparent;
    border-radius: 10px;
    padding: 0.5rem 0.6rem;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.lux-approval-delegation__delegate-option strong {
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-approval-delegation__delegate-option em {
    font-style: normal;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-approval-delegation__delegate-option:hover,
.lux-approval-delegation__delegate-option.is-selected {
    border-color: rgba(99, 102, 241, 0.28);
    background: rgba(238, 242, 255, 0.75);
}

.lux-approval-delegation__selected-delegate {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    font-size: 0.8125rem;
    color: #334155;
}

.lux-approval-delegation__error {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.75rem;
    color: #be123c;
}

.lux-approval-delegation__empty-hint {
    margin: 0;
    padding: 0.35rem 0.15rem;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-approval-delegation__loading {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    font-size: 0.8125rem;
    color: #64748b;
}

.lux-approval-delegation__form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.lux-approval-delegation__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border-radius: 10px;
    padding: 0.5rem 0.85rem;
    font-size: 0.75rem;
    font-weight: 700;
    border: 1px solid transparent;
    cursor: pointer;
}

.lux-approval-delegation__btn--primary {
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    color: #fff;
    box-shadow: 0 6px 16px rgba(79, 70, 229, 0.25);
}

.lux-approval-delegation__btn--primary:hover:not(:disabled) {
    filter: brightness(1.03);
}

.lux-approval-delegation__btn--ghost {
    background: #fff;
    border-color: rgba(148, 163, 184, 0.45);
    color: #334155;
}

.lux-approval-delegation__btn--danger {
    background: rgba(190, 24, 93, 0.08);
    border-color: rgba(190, 24, 93, 0.22);
    color: #be123c;
}

.lux-approval-delegation__btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

@media (max-width: 720px) {
    .lux-approval-delegation__field-row,
    .lux-approval-delegation__scope-grid {
        grid-template-columns: 1fr;
    }

    .lux-approval-remind-card__body {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-approval-remind-card__btn {
        width: 100%;
        justify-content: center;
    }
}

.lux-approval-acting-for {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #4338ca;
    background: linear-gradient(135deg, rgba(238, 242, 255, 0.95), rgba(224, 231, 255, 0.7));
    border: 1px solid rgba(99, 102, 241, 0.22);
    white-space: nowrap;
}

.lux-approval-acting-for__dot {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.18);
    animation: lux-approval-pulse 2s ease-in-out infinite;
}

@keyframes lux-approval-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.55; }
}

.lux-att-pending__card-title-row,
.lux-ts-pending__card-title-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.lux-approval-remind-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border-radius: 10px;
    border: 1px solid rgba(99, 102, 241, 0.28);
    background: rgba(238, 242, 255, 0.85);
    color: #4338ca;
    padding: 0.45rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
}

.lux-approval-remind-btn.is-disabled,
.lux-approval-remind-btn:disabled,
.lux-approval-remind-btn.is-cooldown {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-approval-remind-card {
    position: relative;
    display: grid;
    gap: 0.5rem;
    margin-top: 0.75rem;
    padding: 0.85rem 0.95rem;
    border-radius: 14px;
    border: 1px solid rgba(99, 102, 241, 0.2);
    background: linear-gradient(135deg, rgba(238, 242, 255, 0.92), rgba(255, 255, 255, 0.98));
    overflow: hidden;
}

.lux-approval-remind-card__glow {
    position: absolute;
    top: -30%;
    right: -10%;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.14), transparent 70%);
    pointer-events: none;
}

.lux-approval-remind-card__body {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.lux-approval-remind-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 12px;
    background: rgba(99, 102, 241, 0.12);
    color: #4f46e5;
    flex-shrink: 0;
}

.lux-approval-remind-card__copy {
    flex: 1;
    min-width: 10rem;
}

.lux-approval-remind-card__copy strong {
    display: block;
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-approval-remind-card__copy p {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-approval-remind-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: none;
    border-radius: 10px;
    padding: 0.5rem 0.85rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    box-shadow: 0 6px 14px rgba(79, 70, 229, 0.22);
    cursor: pointer;
    flex-shrink: 0;
}

.lux-approval-remind-card__btn.is-disabled,
.lux-approval-remind-card__btn:disabled,
.lux-approval-remind-card__btn.is-cooldown {
    opacity: 0.55;
    cursor: not-allowed;
    box-shadow: none;
}

.lux-approval-remind-card__status {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.72rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-approval-remind-card__status.is-cooldown {
    color: #b45309;
}

.lux-approval-remind-card__status.is-loading {
    color: #6366f1;
}

.lux-att-mark-popover__remind,
.lux-ts-board__workflow-remind {
    margin-top: 0.35rem;
}

.lux-approval-history-card {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.6rem 0.7rem;
    border-radius: 10px;
    border: 1px solid rgba(16, 185, 129, 0.22);
    background: linear-gradient(135deg, rgba(236, 253, 245, 0.9), rgba(255, 255, 255, 0.95));
}

.lux-approval-history-card.is-delegate {
    border-color: rgba(99, 102, 241, 0.22);
    background: linear-gradient(135deg, rgba(238, 242, 255, 0.9), rgba(255, 255, 255, 0.95));
}

.lux-approval-history-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 8px;
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
    flex-shrink: 0;
}

.lux-approval-history-card.is-delegate .lux-approval-history-card__icon {
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}

.lux-approval-history-card__eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-approval-history-card__copy p {
    margin: 0.1rem 0 0;
    font-size: 0.78rem;
    line-height: 1.4;
    color: #0f172a;
}

.lux-approval-history--compact {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    line-height: 1.45;
    color: #0f766e;
}

.lux-ts-summary__approval-history-wrap {
    margin-top: 0.35rem;
}

/* —— Leave management —— */
.lux-leave-page {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.lux-leave-summary {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 14px;
    padding: 1rem 1.15rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.lux-leave-summary__kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.lux-leave-summary__kpi {
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(148, 163, 184, 0.2);
}

.lux-leave-summary__kpi-label {
    display: block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.lux-leave-summary__kpi-value {
    font-size: 1.35rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-leave-summary__kpi.is-pending .lux-leave-summary__kpi-value { color: #b45309; }
.lux-leave-summary__kpi.is-approved .lux-leave-summary__kpi-value { color: #047857; }
.lux-leave-summary__kpi.is-failed .lux-leave-summary__kpi-value { color: #b91c1c; }

.lux-leave-balance__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.lux-leave-balance__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
}

.lux-leave-balance__subtitle {
    margin: 0.2rem 0 0;
    font-size: 0.8rem;
    color: #64748b;
}

.lux-leave-balance__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 0.85rem;
}

.lux-leave-balance__card {
    border-radius: 12px;
    padding: 1rem;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.25);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-leave-balance__metric {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0.35rem 0;
}

.lux-leave-balance__unit {
    font-size: 0.75rem;
    font-weight: 500;
    color: #64748b;
}

.lux-leave-balance__empty {
    text-align: center;
    padding: 2rem 1rem;
    color: #64748b;
    border: 1px dashed rgba(148, 163, 184, 0.4);
    border-radius: 12px;
}

.lux-leave-pending {
    border-radius: 14px;
    border: 1px solid rgba(245, 158, 11, 0.35);
    background: linear-gradient(180deg, rgba(255, 251, 235, 0.95), rgba(255, 255, 255, 0.9));
    padding: 1rem;
}

.lux-leave-pending__card {
    background: #fff;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.25);
    padding: 0.85rem;
    margin-bottom: 0.65rem;
}

.lux-leave-pending__actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.65rem;
}

.lux-leave-pending__collapsed-bar {
    width: 100%;
    border: none;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    background: rgba(245, 158, 11, 0.15);
    color: #92400e;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    cursor: pointer;
}

.lux-leave-table__grid {
    width: 100%;
    font-size: 0.85rem;
}

.lux-leave-status-badge {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
}

.lux-leave-status-badge.is-pending { background: #fef3c7; color: #92400e; }
.lux-leave-status-badge.is-approved { background: #d1fae5; color: #065f46; }
.lux-leave-status-badge.is-rejected { background: #fee2e2; color: #991b1b; }
.lux-leave-status-badge.is-synced { background: #e0e7ff; color: #3730a3; }
.lux-leave-status-badge.is-draft { background: #f1f5f9; color: #475569; }

.lux-leave-sync {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
}

.lux-leave-sync__source,
.lux-leave-sync__promo {
    padding: 0.1rem 0.45rem;
    border-radius: 6px;
    font-weight: 600;
}

.lux-leave-sync__promo.is-success { background: #d1fae5; color: #065f46; }
.lux-leave-sync__promo.is-failed { background: #fee2e2; color: #991b1b; }
.lux-leave-sync__promo.is-pending { background: #fef3c7; color: #92400e; }

.lux-leave-drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    z-index: var(--lux-z-overlay);
    display: flex;
    justify-content: flex-end;
}

.lux-leave-drawer {
    width: min(440px, 100vw);
    height: 100%;
    background: #fff;
    box-shadow: -8px 0 32px rgba(15, 23, 42, 0.12);
    display: flex;
    flex-direction: column;
    overflow: auto;
}

.lux-leave-drawer__header {
    display: flex;
    justify-content: space-between;
    padding: 1.25rem 1.25rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
}

.lux-leave-drawer__form {
    padding: 1rem 1.25rem 1.5rem;
    flex: 1;
}

.lux-leave-drawer__dates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.lux-leave-drawer__computed {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
    background: #f8fafc;
    border-radius: 8px;
    margin-bottom: 0.85rem;
    font-size: 0.85rem;
}

.lux-leave-drawer__footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
}

.lux-leave-overlap {
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem;
    margin-bottom: 0.85rem;
    border-radius: 10px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.lux-leave-audit--rich {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0 1.1rem 1.25rem;
}

.lux-attendance-audit,
.lux-ts-audit {
    margin: 0.75rem 0 1rem;
    padding: 1rem 1.1rem 1.15rem;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.lux-ts-audit--actor {
    margin-top: 0;
}

.lux-leave-audit__timeline {
    list-style: none;
    padding: 0 1.25rem 1.25rem;
    margin: 0;
}

.lux-leave-audit__event {
    padding: 0.65rem 0;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.8rem;
}

.lux-leave-page__history-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.75rem;
}

.lux-leave-page__history-header h3 {
    margin: 0;
    font-size: 1.05rem;
}

.lux-leave-tabs {
    display: flex;
    gap: 0.35rem;
    margin: 1.25rem 0 0.85rem;
    flex-wrap: wrap;
}

.lux-leave-tabs__btn {
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    padding: 0.4rem 0.85rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
}

.lux-leave-tabs__btn.is-active {
    background: #0f172a;
    border-color: #0f172a;
    color: #fff;
}

/* F04 — Leave enhancements */
.lux-leave-impact__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.35);
    border: 0;
    z-index: var(--lux-z-overlay);
}

.lux-leave-impact__drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: min(420px, 100vw);
    height: 100vh;
    background: #fff;
    border-left: 1px solid #e2e8f0;
    box-shadow: -12px 0 40px rgba(15, 23, 42, 0.12);
    z-index: var(--lux-z-overlay-panel);
    display: flex;
    flex-direction: column;
}

.lux-leave-impact__header {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid #e2e8f0;
}

.lux-leave-impact__eyebrow {
    margin: 0;
    font-size: 0.72rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lux-leave-impact__subtitle {
    margin: 0.25rem 0 0;
    font-size: 0.82rem;
    color: #64748b;
}

.lux-leave-impact__close {
    border: 0;
    background: transparent;
    color: #64748b;
}

.lux-leave-impact__body {
    padding: 1rem 1.1rem 1.5rem;
    overflow: auto;
}

.lux-leave-impact__metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 0.85rem;
}

.lux-leave-impact__metric {
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.lux-leave-impact__metric span {
    display: block;
    font-size: 0.72rem;
    color: #64748b;
}

.lux-leave-impact__metric strong,
.lux-leave-impact__risk {
    display: inline-block;
    margin-top: 0.2rem;
    font-size: 0.88rem;
}

.lux-leave-impact__risk.is-low { color: #047857; }
.lux-leave-impact__risk.is-medium { color: #b45309; }
.lux-leave-impact__risk.is-high { color: #b91c1c; }

.lux-leave-impact__section {
    margin-top: 1rem;
}

.lux-leave-impact__section h3 {
    font-size: 0.92rem;
    margin-bottom: 0.45rem;
}

.lux-leave-impact__backups li {
    padding: 0.55rem 0;
    border-bottom: 1px solid #f1f5f9;
}

.lux-leave-impact__backups span,
.lux-leave-impact__backups small {
    display: block;
    color: #64748b;
    font-size: 0.78rem;
}

.lux-leave-impact__ai {
    padding: 0.75rem;
    border-radius: 12px;
    background: rgba(99, 102, 241, 0.06);
    border: 1px solid rgba(99, 102, 241, 0.15);
}

.lux-leave-impact__ai-badge {
    font-size: 0.68rem;
    font-weight: 700;
    color: #4338ca;
}

.lux-leave-coverage,
.lux-leave-analytics,
.lux-leave-payroll {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.lux-leave-coverage__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(42px, 1fr));
    gap: 0.35rem;
}

.lux-leave-coverage__cell {
    text-align: center;
    padding: 0.35rem 0.2rem;
    border-radius: 8px;
    font-size: 0.68rem;
    background: #ecfdf5;
}

.lux-leave-coverage__cell.is-expected { background: #ffedd5; }
.lux-leave-coverage__cell.is-good { background: #d1fae5; }
.lux-leave-coverage__cell.is-bad { background: #fee2e2; }
.lux-leave-coverage__cell.is-medium { background: #fef3c7; }
.lux-leave-coverage__cell.is-high { background: #fee2e2; }

.lux-leave-analytics__metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.65rem;
}

.lux-leave-analytics__metric {
    padding: 0.65rem;
    border-radius: 10px;
    background: #f8fafc;
}

.lux-leave-analytics__bar-track {
    flex: 1;
    height: 8px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.lux-leave-analytics__bar-fill {
    height: 100%;
    background: #4338ca;
    border-radius: 999px;
}

.lux-leave-analytics__chart li {
    display: grid;
    grid-template-columns: 48px 1fr 40px;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.35rem;
}

.lux-leave-payroll__totals {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    font-size: 0.82rem;
}

.lux-leave-payroll__totals .is-lwp,
.lux-leave-payroll .is-lwp {
    color: #b91c1c;
    font-weight: 600;
}

.lux-leave-calc {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.1rem 1.15rem;
    margin-bottom: 1rem;
}

.lux-leave-calc__totals {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0.85rem 0 1rem;
}

.lux-leave-calc__total {
    background: #f8fafc;
    border-radius: 10px;
    padding: 0.75rem;
}

.lux-leave-calc__total.is-balance strong {
    color: #047857;
}

.lux-leave-calc__total-label {
    display: block;
    font-size: 0.72rem;
    color: #64748b;
    margin-bottom: 0.25rem;
}

.lux-leave-calc__empty {
    color: #64748b;
    font-size: 0.85rem;
    margin: 0;
}

.lux-leave-calendar {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.1rem;
    margin-bottom: 1rem;
}

.lux-leave-calendar__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.lux-leave-calendar__nav {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.lux-leave-calendar__month {
    font-weight: 600;
    min-width: 8rem;
    text-align: center;
}

.lux-leave-calendar__empty,
.lux-leave-calendar__loading {
    padding: 2rem 1rem;
    text-align: center;
    color: #64748b;
}

.lux-leave-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    z-index: var(--lux-z-overlay);
    display: flex;
    justify-content: flex-end;
}

.lux-leave-drawer__body {
    padding: 1rem 1.25rem;
    flex: 1;
    overflow: auto;
}

.lux-leave-policy-section {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.1rem;
    margin-bottom: 1rem;
}

.lux-leave-policy-section__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.85rem;
}

.lux-leave-ledger__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lux-leave-ledger__item {
    padding: 0.65rem 0;
    border-bottom: 1px solid #e2e8f0;
}

.lux-leave-ledger__item-head {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
}

.lux-leave-ledger__meta {
    margin: 0.2rem 0 0;
    font-size: 0.78rem;
    color: #64748b;
}

.lux-leave-table__head,
.lux-leave-table__row {
    display: grid;
    grid-template-columns: 1.4fr 1fr 0.7fr 0.7fr 0.5fr;
    gap: 0.5rem;
    align-items: center;
    padding: 0.55rem 0.65rem;
    font-size: 0.82rem;
}

.lux-leave-table__head {
    font-weight: 600;
    color: #64748b;
    border-bottom: 1px solid #e2e8f0;
}

.lux-leave-table__row {
    border-bottom: 1px solid #f1f5f9;
}

.lux-leave-table__row small {
    display: block;
    color: #94a3b8;
    font-size: 0.72rem;
}

.lux-leave-calc__table .lux-leave-table__head,
.lux-leave-calc__table .lux-leave-table__row {
    grid-template-columns: 1.4fr 0.7fr 0.7fr 0.7fr 0.7fr 0.5fr;
}

.lux-profile-leave-card__kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.lux-profile-leave-card__kpis article {
    background: #f8fafc;
    border-radius: 8px;
    padding: 0.5rem 0.55rem;
    text-align: center;
}

.lux-profile-leave-card__kpis span {
    display: block;
    font-size: 0.68rem;
    color: #64748b;
}

.lux-profile-leave-card__balances {
    list-style: none;
    padding: 0;
    margin: 0 0 0.75rem;
}

.lux-profile-leave-card__balances li {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.8rem;
}

.lux-profile-leave-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
}

.lux-today-panel__leave-pending {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: #fef3c7;
    color: #92400e;
    font-size: 0.85rem;
    text-decoration: none;
}

.lux-today-panel__leave-pending:hover {
    text-decoration: none;
    background: #fde68a;
}

.lux-profile-leave-view__kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.lux-profile-leave-view__kpis article {
    background: #f8fafc;
    border-radius: 10px;
    padding: 0.65rem;
    text-align: center;
}

.lux-profile-leave-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.lux-profile-leave-view__history header {
    margin: 1.25rem 0 0.75rem;
}

.lux-profile-leave-view__history h3 {
    margin: 0;
    font-size: 1.05rem;
}

/* ========== Audit trail (lux-audit) ========== */

.lux-audit-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.lux-audit-panel__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.lux-audit-panel__eyebrow {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0.25rem;
}

.lux-audit-panel__title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.lux-audit-panel__subtitle {
    margin: 0.35rem 0 0;
    font-size: 0.88rem;
    color: #64748b;
    line-height: 1.5;
    max-width: 52ch;
}

.lux-audit-panel__count {
    font-size: 0.78rem;
    font-weight: 700;
    color: #475569;
    background: rgba(148, 163, 184, 0.14);
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    white-space: nowrap;
}

.lux-audit-panel__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.35rem;
    background: rgba(241, 245, 249, 0.85);
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    margin-bottom: 0.5rem;
}

.lux-audit-panel__tab {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.9rem;
    border: none;
    border-radius: 10px;
    background: transparent;
    font-size: 0.82rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.lux-audit-panel__tab.is-active {
    background: #fff;
    color: #0f172a;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.lux-audit-panel__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.lux-audit-panel__filter-chip {
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.lux-audit-panel__filter-chip.is-active {
    border-color: rgba(var(--lux-primary-rgb), 0.35);
    background: rgba(var(--lux-primary-rgb), 0.08);
    color: var(--lux-primary-dark);
}

.lux-audit__timeline {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.lux-audit__day-label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0.75rem;
}

.lux-audit__entries {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.lux-audit__entry {
    display: grid;
    grid-template-columns: 2.25rem 1fr;
    gap: 0.75rem;
}

.lux-audit__entry-rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 0.15rem;
}

.lux-audit__entry-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.lux-audit__entry-icon.is-success,
.lux-audit__entry-icon.is-green { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-audit__entry-icon.is-danger { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-audit__entry-icon.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-audit__entry-icon.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-audit__entry-icon.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-audit__entry-icon.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-audit__entry-icon.is-teal { background: rgba(20, 184, 166, 0.12); color: #0f766e; }
.lux-audit__entry-icon.is-rose { background: rgba(244, 63, 94, 0.1); color: #e11d48; }
.lux-audit__entry-icon.is-slate { background: rgba(148, 163, 184, 0.16); color: #475569; }

.lux-audit__entry-line {
    flex: 1;
    width: 2px;
    margin-top: 0.35rem;
    background: linear-gradient(180deg, rgba(226, 232, 240, 0.95), transparent);
    min-height: 1rem;
}

.lux-audit__entry-card {
    background: #fff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    padding: 0.9rem 1rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lux-audit__entry-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.lux-audit__entry-user {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.lux-audit__avatar-ring {
    display: inline-flex;
    padding: 2px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb), 0.35), rgba(var(--lux-accent-rgb), 0.25));
}

.lux-audit__avatar {
    width: 2rem !important;
    height: 2rem !important;
    border-radius: 999px;
}

.lux-audit__entry-names strong {
    display: block;
    font-size: 0.88rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-audit__entry-names span {
    display: block;
    font-size: 0.75rem;
    color: #64748b;
    margin-top: 0.1rem;
}

.lux-audit__entry-time {
    text-align: right;
    flex-shrink: 0;
}

.lux-audit__entry-time strong {
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-audit__entry-time span {
    display: block;
    font-size: 0.68rem;
    color: #94a3b8;
    margin-top: 0.1rem;
}

.lux-audit__entry-title {
    margin: 0 0 0.55rem;
    font-size: 0.92rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.45;
}

.lux-audit__entry-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.5rem;
}

.lux-audit__entity-chip,
.lux-audit__action-chip,
.lux-audit__delegate-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
}

.lux-audit__entity-chip.is-indigo { background: rgba(99, 102, 241, 0.1); color: #4338ca; }
.lux-audit__entity-chip.is-violet { background: rgba(139, 92, 246, 0.1); color: #6d28d9; }
.lux-audit__entity-chip.is-sky { background: rgba(14, 165, 233, 0.1); color: #0369a1; }
.lux-audit__entity-chip.is-teal { background: rgba(20, 184, 166, 0.1); color: #0f766e; }
.lux-audit__entity-chip.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-audit__entity-chip.is-rose { background: rgba(244, 63, 94, 0.1); color: #e11d48; }
.lux-audit__entity-chip.is-green { background: rgba(16, 185, 129, 0.1); color: #047857; }
.lux-audit__entity-chip.is-slate { background: rgba(148, 163, 184, 0.14); color: #475569; }

.lux-audit__action-chip.is-success,
.lux-audit__action-chip.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-audit__action-chip.is-danger { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-audit__action-chip.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-audit__action-chip.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-audit__action-chip.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-audit__action-chip.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-audit__action-chip.is-slate { background: rgba(148, 163, 184, 0.16); color: #475569; }

.lux-audit__delegate-chip {
    background: rgba(139, 92, 246, 0.1);
    color: #6d28d9;
}

.lux-audit__note {
    margin: 0.5rem 0 0;
    padding: 0.65rem 0.75rem;
    border-left: 3px solid rgba(var(--lux-primary-rgb), 0.45);
    background: rgba(var(--lux-primary-rgb), 0.04);
    border-radius: 0 10px 10px 0;
    font-size: 0.82rem;
    color: #334155;
    line-height: 1.5;
}

.lux-audit__note i {
    margin-right: 0.35rem;
    color: var(--lux-primary);
}

.lux-audit__entry-actions {
    margin-top: 0.75rem;
    padding-top: 0.65rem;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.lux-audit__deep-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid rgba(var(--lux-primary-rgb), 0.25);
    border-radius: 999px;
    background: rgba(var(--lux-primary-rgb), 0.06);
    color: var(--lux-primary);
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.lux-audit__deep-link:hover {
    background: rgba(var(--lux-primary-rgb), 0.12);
    border-color: rgba(var(--lux-primary-rgb), 0.4);
}

.lux-audit__changes {
    margin: 0.65rem 0 0;
    padding: 0.65rem 0.75rem;
    background: #f8fafc;
    border-radius: 10px;
    border: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-audit__change-row {
    display: grid;
    grid-template-columns: minmax(6rem, 28%) 1fr;
    gap: 0.5rem;
    padding: 0.35rem 0;
    font-size: 0.78rem;
}

.lux-audit__change-row + .lux-audit__change-row {
    border-top: 1px dashed rgba(226, 232, 240, 0.9);
}

.lux-audit__change-row dt {
    margin: 0;
    font-weight: 700;
    color: #64748b;
}

.lux-audit__change-row dd {
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    color: #0f172a;
}

.lux-audit__change-from {
    color: #94a3b8;
    text-decoration: line-through;
}

.lux-audit__change-to {
    font-weight: 700;
}

.lux-audit__loading-row {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.lux-audit__pagination {
    margin-top: 0.5rem;
}

@media (max-width: 640px) {
    .lux-audit__entry-head {
        flex-direction: column;
    }

    .lux-audit__entry-time {
        text-align: left;
    }

    .lux-audit__change-row {
        grid-template-columns: 1fr;
    }
}

/* Collapsible audit footer (page-level, org-gated via auditUiEnabled) */

.lux-page-audit-footer {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: var(--lux-page-block-gap-y);
    margin-bottom: var(--lux-page-block-bottom);
    padding-top: 0.5rem;
}

.lux-page-audit-footer--timesheet {
    gap: 0.55rem;
    margin-top: 0.85rem;
    margin-bottom: 1rem;
    padding-top: 0.25rem;
}

.lux-audit-collapsible {
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.lux-audit-collapsible--compact {
    border-radius: 12px;
    background:
        radial-gradient(circle at 100% 0%, rgba(5, 150, 105, 0.06), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow:
        0 8px 20px rgba(15, 23, 42, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.lux-audit-collapsible--timesheet .lux-audit-collapsible__toggle {
    padding: 0.55rem 0.85rem;
    background: transparent;
}

.lux-audit-collapsible--timesheet .lux-audit-collapsible__icon {
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 8px;
    font-size: 0.8rem;
    background: linear-gradient(135deg, rgba(5, 150, 105, 0.16), rgba(16, 185, 129, 0.1));
    color: #047857;
}

.lux-audit-collapsible--timesheet .lux-audit-collapsible__title {
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: -0.015em;
}

.lux-audit-collapsible--timesheet .lux-audit-collapsible__subtitle {
    font-size: 0.72rem;
    line-height: 1.35;
}

.lux-audit-collapsible--timesheet .lux-audit-collapsible__body {
    padding: 0.55rem 0.75rem 0.75rem;
}

.lux-audit-collapsible--timesheet .lux-audit__entry {
    grid-template-columns: 1.65rem 1fr;
    gap: 0.5rem;
}

.lux-audit-collapsible--timesheet .lux-audit__entry-icon {
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 8px;
    font-size: 0.75rem;
}

.lux-audit-collapsible--timesheet .lux-audit__entry-card {
    padding: 0.55rem 0.7rem;
    border-radius: 11px;
    background:
        radial-gradient(circle at 100% 0%, rgba(5, 150, 105, 0.04), transparent 48%),
        #fff;
}

.lux-audit-collapsible--timesheet .lux-audit__entry-title {
    font-size: 0.8125rem;
    margin: 0.15rem 0 0.35rem;
}

.lux-audit-collapsible--timesheet .lux-audit__entry-names strong {
    font-size: 0.78rem;
}

.lux-audit-collapsible--timesheet .lux-audit__entry-names span,
.lux-audit-collapsible--timesheet .lux-audit__entry-time span {
    font-size: 0.68rem;
}

.lux-audit-collapsible--timesheet .lux-audit__avatar {
    width: 1.55rem !important;
    height: 1.55rem !important;
}

.lux-audit-collapsible--timesheet .lux-audit__entity-chip,
.lux-audit-collapsible--timesheet .lux-audit__action-chip {
    font-size: 0.65rem;
    padding: 0.15rem 0.45rem;
}

.lux-audit-collapsible--timesheet .lux-activity-panel-empty {
    padding: 0.85rem 0.65rem;
}

.lux-audit-collapsible__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1.1rem;
    border: none;
    background: linear-gradient(180deg, rgba(241, 245, 249, 0.65), rgba(255, 255, 255, 0.4));
    cursor: pointer;
    text-align: left;
    transition: background 0.15s ease;
}

.lux-audit-collapsible__toggle:hover {
    background: linear-gradient(180deg, rgba(226, 232, 240, 0.55), rgba(255, 255, 255, 0.55));
}

.lux-audit-collapsible__toggle-main {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.lux-audit-collapsible__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    background: rgba(5, 150, 105, 0.1);
    color: #059669;
    flex-shrink: 0;
}

.lux-audit-collapsible__copy {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.lux-audit-collapsible__title {
    display: block;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.lux-audit-collapsible__subtitle {
    display: block;
    font-size: 0.82rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-audit-collapsible__chevron {
    color: #64748b;
    flex-shrink: 0;
}

.lux-audit-collapsible__body {
    padding: 0.85rem 1.1rem 1.1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-audit-collapsible.is-expanded .lux-audit-collapsible__body .lux-audit-panel {
    gap: 0.75rem;
}

.profile-activity__track-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.profile-activity__track-heading {
    margin: 0 0 0.65rem;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

@media (max-width: 768px) {
    .profile-activity__track-grid {
        grid-template-columns: 1fr;
    }
}

/* P00 — Persona Experience Foundation */
.lux-header__kicker-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.65rem;
}

.lux-persona-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.32);
    background: rgba(255, 255, 255, 0.55);
    color: #475569;
    font-size: 0.6875rem;
    font-weight: 650;
    letter-spacing: 0.02em;
    line-height: 1.2;
    cursor: pointer;
}

.lux-persona-chip--static {
    cursor: default;
}

.lux-persona-chip__caret {
    font-size: 0.625rem;
    opacity: 0.7;
}

body.lux-shell-dark .lux-persona-chip {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(148, 163, 184, 0.25);
    color: #e2e8f0;
}

.lux-scope-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.1rem 0.2rem;
    border-radius: 0;
    border: none;
    border-bottom: 1px dotted rgba(148, 163, 184, 0.55);
    background: transparent;
    color: #64748b;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.2;
    text-transform: none;
    white-space: nowrap;
    cursor: default;
    user-select: none;
    box-shadow: none;
}

.lux-scope-badge > i {
    font-size: 0.72rem;
    line-height: 1;
    opacity: 0.75;
    color: inherit;
}

.lux-scope-badge > span {
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
}

.lux-scope-badge__prefix {
    color: #94a3b8;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.58rem;
}

.lux-scope-badge__prefix::after {
    content: "·";
    margin-left: 0.28rem;
    color: #cbd5e1;
    font-weight: 600;
    text-transform: none;
}

.lux-scope-badge__value {
    color: #475569;
    font-weight: 650;
}

body.lux-shell-dark .lux-scope-badge {
    background: transparent;
    border-color: rgba(148, 163, 184, 0.35);
    color: #94a3b8;
}

body.lux-shell-dark .lux-scope-badge__value {
    color: #cbd5e1;
}

/* Header kicker row — persona + scope share one size */
#page_top.lux-header-bar .lux-header__scope-badge,
#page_top.lux-header-bar .lux-scope-badge,
.lux-header__kicker-row .lux-scope-badge,
.lux-header__kicker-row .lux-persona-chip {
    font-size: 0.6875rem;
    font-weight: 650;
    line-height: 1.2;
}

.lux-persona-dashboard {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.lux-persona-dashboard__hero {
    margin-bottom: 0;
}

.lux-persona-dashboard__hero-copy {
    min-width: 0;
    flex: 1;
}

.lux-persona-dashboard__section-title {
    margin: 0 0 0.65rem;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-persona-dashboard__attention-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lux-persona-dashboard__attention-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    border-radius: 12px;
    background: rgba(251, 191, 36, 0.12);
    color: #92400e;
    font-weight: 600;
    font-size: 0.88rem;
}

.lux-persona-dashboard__widgets {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.85rem;
}

.lux-persona-widget {
    display: flex;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 16px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.lux-persona-widget__icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(99, 102, 241, 0.12);
    color: #4f46e5;
    flex-shrink: 0;
}

.lux-persona-widget__title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-persona-widget__hint {
    margin: 0.2rem 0 0;
    font-size: 0.8rem;
    color: #64748b;
}

.lux-persona-dashboard__footnote {
    margin: 0;
    font-size: 0.82rem;
    color: #64748b;
}

.lux-persona-access-denied__meta {
    margin-bottom: 0.5rem;
}

.lux-persona-access-denied__help {
    margin-top: 1rem;
    text-align: center;
    color: #64748b;
    font-size: 0.88rem;
}

.lux-masked-field--masked,
.lux-masked-field--hidden {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.08em;
    color: #94a3b8;
}

.lux-persona-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 12rem;
}

.lux-persona-loading__pulse {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    border: 3px solid rgba(99, 102, 241, 0.2);
    border-top-color: #6366f1;
    animation: lux-persona-spin 0.8s linear infinite;
}

@keyframes lux-persona-spin {
    to {
        transform: rotate(360deg);
    }
}

/* M0 — Mock UI template prototype */
.lux-mock-prototype {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 0.75rem var(--lux-page-gutter-x) var(--lux-page-block-bottom);
    max-width: 100%;
    overflow-x: hidden;
}

.lux-mock-prototype__header {
    padding: 1rem 1.15rem;
    border-radius: 20px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 48%),
        radial-gradient(circle at 100% 100%, rgba(16, 185, 129, 0.1), transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.lux-mock-prototype__banner {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.85rem;
    border-radius: 12px;
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
    font-size: 0.84rem;
}

.lux-mock-prototype__walkthrough {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
}

.lux-mock-prototype__walkthrough-label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    margin-right: 0.35rem;
}

.lux-mock-prototype__walkthrough-step {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(226, 232, 240, 0.95);
    color: #334155;
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
}

.lux-mock-prototype__walkthrough-index {
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    background: #6366f1;
    color: #fff;
    font-size: 0.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.lux-mock-prototype__title {
    margin: 0.2rem 0 0;
    font-size: 1.35rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.15;
}

.lux-mock-prototype__description {
    margin: 0.28rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.45;
    color: #64748b;
    max-width: 48rem;
}

.lux-mock-prototype__meta-row {
    margin: 0;
}

.lux-mock-prototype__summary {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.65rem;
}

.lux-mock-prototype__metric {
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.72);
}

.lux-mock-prototype__metric-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lux-mock-prototype__metric-value {
    display: block;
    font-size: 1.25rem;
    font-weight: 800;
    color: #0f172a;
    margin-top: 0.15rem;
}

.lux-mock-prototype__metric-hint {
    display: block;
    font-size: 0.72rem;
    color: #94a3b8;
    margin-top: 0.1rem;
}

.lux-mock-prototype__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 0.85rem;
}

.lux-mock-panel {
    padding: 1rem;
    border-radius: 16px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.72);
}

.lux-mock-panel__title {
    margin: 0 0 0.65rem;
    font-size: 0.9rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-mock-panel__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-mock-panel__list-item {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.86rem;
    color: #334155;
}

.lux-mock-panel__meta {
    font-size: 0.75rem;
    color: #94a3b8;
}

.lux-mock-badge {
    display: inline-flex;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    background: rgba(148, 163, 184, 0.2);
    color: #475569;
}

.lux-mock-badge--success { background: rgba(34, 197, 94, 0.15); color: #15803d; }
.lux-mock-badge--warning { background: rgba(251, 191, 36, 0.18); color: #b45309; }
.lux-mock-badge--danger { background: rgba(239, 68, 68, 0.15); color: #b91c1c; }
.lux-mock-badge--primary { background: rgba(99, 102, 241, 0.15); color: #4338ca; }
.lux-mock-badge--info { background: rgba(14, 165, 233, 0.15); color: #0369a1; }

.lux-mock-register__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
}

.lux-mock-register__table th,
.lux-mock-register__table td {
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    text-align: left;
}

.lux-mock-register__table th {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.lux-mock-register__actions {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.lux-mock-register__btn {
    padding: 0.3rem 0.6rem;
    border-radius: 8px;
    border: 1px solid rgba(99, 102, 241, 0.35);
    background: #6366f1;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
}

.lux-mock-register__btn--ghost {
    background: transparent;
    color: #4f46e5;
}

.lux-mock-audit__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-mock-audit__item {
    font-size: 0.82rem;
    color: #475569;
}

.lux-mock-audit__time {
    display: block;
    font-size: 0.7rem;
    color: #94a3b8;
}

.lux-mock-360__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.85rem;
}

.lux-mock-360__tab {
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: transparent;
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
}

.lux-mock-360__tab.is-active {
    background: #6366f1;
    border-color: #6366f1;
    color: #fff;
}

.lux-mock-360__facts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.65rem;
}

.lux-mock-360__facts dt {
    font-size: 0.72rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lux-mock-360__facts dd {
    margin: 0.15rem 0 0;
    font-weight: 700;
    color: #0f172a;
}

.lux-mock-gantt {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin-bottom: 0.85rem;
}

.lux-mock-gantt__bar {
    padding: 0.45rem 0.65rem;
    border-radius: 10px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #0f172a;
}

.lux-mock-gantt__bar--done { background: rgba(34, 197, 94, 0.2); width: 70%; }
.lux-mock-gantt__bar--in-progress { background: rgba(99, 102, 241, 0.2); width: 85%; }
.lux-mock-gantt__bar--planned { background: rgba(148, 163, 184, 0.2); width: 60%; }

.lux-mock-heatmap {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-mock-heatmap__bar {
    display: inline-block;
    height: 8px;
    border-radius: 4px;
    margin-left: 0.25rem;
}

.lux-mock-heatmap__bar--low { background: #86efac; }
.lux-mock-heatmap__bar--medium { background: #fcd34d; }
.lux-mock-heatmap__bar--high { background: #fca5a5; }

.lux-mock-ai-draft {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 16px;
    border: 1px dashed rgba(99, 102, 241, 0.45);
    background: rgba(99, 102, 241, 0.06);
}

/* F02 — Employee 360 production shell (align with profile-page / pd-page rhythm) */
.lux-employee-360.pd-page,
.lux-project-details-page.lux-employee-360 {
    --pd-gap: 14px;
    padding: 0 var(--lux-page-gutter-x) var(--lux-page-block-bottom);
}

.lux-employee-360 .pd-back-nav,
.lux-employee-360 .lux-back-nav {
    margin: 0.65rem 0 0.5rem;
}

.lux-employee-360 .pd-hero.profile-hero {
    margin: 0 0 0.75rem;
    padding: 0.85rem 0.95rem 0.95rem;
}

.lux-employee-360__body.pd-page__body {
    padding-top: 0;
}

.lux-employee-360__main.pd-workspace__main {
    display: flex;
    flex-direction: column;
    gap: var(--pd-gap, 14px);
    min-width: 0;
}

.lux-employee-360__toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    margin: 0 0 0.65rem;
    flex-wrap: wrap;
}

.lux-employee-360__profile-link,
.lux-employee-360-entry-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    font-size: 0.78rem;
    font-weight: 600;
    color: #475569;
    text-decoration: none;
}

.lux-employee-360__profile-link:hover,
.lux-employee-360-entry-link:hover {
    color: #6366f1;
    border-color: rgba(99, 102, 241, 0.35);
    text-decoration: none;
}

.lux-employee-360__error {
    margin: 0.75rem 0;
    padding: 0.65rem 0.85rem;
    border-radius: 12px;
    background: rgba(239, 68, 68, 0.08);
    color: #b91c1c;
    font-size: 0.82rem;
    font-weight: 600;
}

.lux-employee-360 .profile-nav.pd-nav,
.lux-employee-360__tabs.pd-nav {
    margin-bottom: var(--pd-gap, 14px);
}

.lux-employee-360__tab-soon {
    display: inline-flex;
    opacity: 0.75;
    font-size: 0.7rem;
}

.lux-employee-360__panel {
    padding: 1rem 1.1rem;
    border-radius: 16px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    margin-bottom: 0.85rem;
}

.lux-employee-360__panel-title {
    margin: 0 0 0.35rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-employee-360__panel-desc {
    margin: 0 0 0.85rem;
    font-size: 0.82rem;
    color: #64748b;
}

.lux-employee-360__metrics {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 0.65rem;
}

.lux-employee-360__metric {
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.85);
}

.lux-employee-360__metric--success { border-color: rgba(34, 197, 94, 0.25); }
.lux-employee-360__metric--warning { border-color: rgba(245, 158, 11, 0.3); }
.lux-employee-360__metric--info { border-color: rgba(59, 130, 246, 0.25); }
.lux-employee-360__metric--primary { border-color: rgba(99, 102, 241, 0.25); }

.lux-employee-360__metric-label {
    display: block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.lux-employee-360__metric-value {
    display: block;
    margin-top: 0.2rem;
    font-size: 1rem;
    color: #0f172a;
}

.lux-employee-360__metric-hint {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.72rem;
    color: #94a3b8;
}

.lux-employee-360__attention-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-employee-360__attention-item {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.82rem;
    color: #475569;
}

.lux-employee-360__chip-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-employee-360__chip {
    padding: 0.3rem 0.6rem;
    border-radius: 999px;
    background: rgba(99, 102, 241, 0.1);
    color: #4338ca;
    font-size: 0.78rem;
    font-weight: 600;
}

.lux-employee-360__field-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 0.75rem;
}

.lux-employee-360__field-label {
    display: block;
    font-size: 0.72rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lux-employee-360__field-value {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.92rem;
    color: #0f172a;
}

.lux-employee-360__notes-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lux-employee-360__note {
    padding: 0.75rem 0.9rem;
    border-radius: 12px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
}

.lux-employee-360__note-head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: baseline;
}

.lux-employee-360__note-head strong {
    font-size: 0.9rem;
    color: #0f172a;
}

.lux-employee-360__note-head span {
    font-size: 0.75rem;
    color: #64748b;
    white-space: nowrap;
}

.lux-employee-360__note p {
    margin: 0.45rem 0 0;
    font-size: 0.84rem;
    color: #334155;
    line-height: 1.45;
}

.lux-employee-360__note-author {
    display: inline-block;
    margin-top: 0.35rem;
    font-size: 0.72rem;
    color: #64748b;
}

.lux-employee-360__activity-empty {
    margin-top: 0.5rem;
}

.lux-employee-360__embed-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
    padding: 0.55rem 0.75rem;
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.9);
    border: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-employee-360__embed-period {
    font-size: 0.88rem;
    color: #0f172a;
    margin-right: auto;
}

.lux-employee-360__embed-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #4338ca;
    text-decoration: none;
}

.lux-employee-360__embed-link:hover {
    color: #312e81;
    text-decoration: underline;
}

.lux-employee-360__embed-audit {
    margin-top: 1rem;
}

.lux-employee-360__embed-empty {
    margin: 0.5rem 0 1rem;
}

.lux-employee-360__timesheet-board .lux-ts-page__grid-shell {
    margin-top: 0.5rem;
}

.lux-employee-360__embed--attendance .lux-att-you,
.lux-employee-360__embed--timesheet .lux-ts-summary {
    margin-top: 0;
}

.lux-employee-360__field-hint {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.72rem;
    color: #94a3b8;
}

.lux-employee-360__register-wrap {
    overflow-x: auto;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #fff;
}

.lux-employee-360__register {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.lux-employee-360__register th,
.lux-employee-360__register td {
    padding: 0.65rem 0.75rem;
    text-align: left;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    vertical-align: middle;
}

.lux-employee-360__register th {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    background: rgba(248, 250, 252, 0.95);
}

.lux-employee-360__register tbody tr:last-child td {
    border-bottom: none;
}

.lux-employee-360__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    background: rgba(148, 163, 184, 0.15);
    color: #475569;
}

.lux-employee-360__badge.is-success {
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
}

.lux-employee-360__badge.is-warning {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.lux-employee-360__badge.is-info {
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
}

.lux-employee-360__inline-badge {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 600;
    color: #64748b;
    background: rgba(148, 163, 184, 0.15);
}

.lux-employee-360__tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    margin-left: 0.35rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}

.lux-module-empty {
    padding: 1rem 1.25rem 2rem;
}

.lux-module-empty__help {
    margin: 0.75rem 0 0;
    font-size: 0.82rem;
    color: #64748b;
    text-align: center;
}

.lux-module-empty__help a {
    color: #4338ca;
    font-weight: 600;
}

/* F03 — Onboarding / offboarding lifecycle (luxury) */

.lux-onb-summary {
    margin-bottom: 0.75rem;
    padding: 0.65rem 0.85rem 0.75rem;
    border: 0 solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 42%),
        radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.05), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03),
        0 12px 28px rgba(15, 23, 42, 0.06);
    transition: padding 0.22s ease;
}

.lux-onb-summary.is-collapsed {
    padding-bottom: 0.65rem;
}

.lux-onb-summary__header-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0;
}

.lux-onb-summary.is-collapsed .lux-onb-summary__header-bar {
    margin-bottom: 0.45rem;
}

.lux-onb-summary:not(.is-collapsed) .lux-onb-summary__header-bar {
    margin-bottom: 0.65rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-onb-summary__header-main {
    min-width: 0;
    flex: 1;
}

.lux-onb-summary__title--compact {
    margin: 0.15rem 0 0;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.3;
}

.lux-onb-summary__title--compact span:last-child {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #64748b;
}

.lux-onb-summary__title--bar {
    margin: 0.15rem 0 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-onb-summary__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    flex-shrink: 0;
    min-height: 1.75rem;
    padding: 0 0.55rem;
    border: 1px solid #e2e8f0;
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.9);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    cursor: pointer;
    transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease;
}

.lux-onb-summary__toggle:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-onb-summary__collapsed-strip {
    margin-bottom: 0.15rem;
}

.lux-onb-summary__collapsed-line {
    margin: 0;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-onb-summary__body {
    overflow: hidden;
    transition: max-height 0.28s ease, opacity 0.22s ease;
}

.lux-onb-summary__body .lux-onb-hero--queue {
    margin-bottom: 0.65rem;
    border-radius: 16px;
}

.lux-onb-summary__body .lux-onb-kpi-strip {
    margin-bottom: 0.65rem;
}

.lux-onb-summary__body .lux-onb-insights {
    margin-bottom: 0;
}

.lux-onb-summary--case .lux-onb-hero--detail {
    margin-bottom: 0.65rem;
    border-radius: 16px;
}

.lux-onb-summary--case .lux-onb-insight-strip {
    margin-bottom: 0;
}

/* F03-T5 — New-hire self-service portal */
.lux-onb-self-service-page .lux-onb-hero--self-service {
    margin-bottom: 0.65rem;
    border-radius: 16px;
}

.lux-onb-self-service__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

.lux-onb-self-service__result-count {
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
    letter-spacing: 0.02em;
}

.lux-onb-self-service__panel {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lux-onb-task--self-service .lux-onb-task__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-onb-task--self-service.is-actionable {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.lux-onb-task__status-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.45rem;
    border-radius: 9911px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-onb-task__status-chip.is-primary {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-onb-task__status-chip.is-success,
.lux-onb-task__status-chip.is-green {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.lux-onb-task__status-chip.is-neutral {
    background: rgba(148, 163, 184, 0.16);
    color: #475569;
}

.lux-onb-task__required-chip {
    display: inline-flex;
    padding: 0.1rem 0.4rem;
    border-radius: 9911px;
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-onb-self-service__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.45rem;
    padding: 2rem 1rem;
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.9);
    border: 1px dashed rgba(226, 232, 240, 0.95);
}

.lux-onb-self-service__empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    background: rgba(16, 185, 129, 0.12);
    color: #059669;
    font-size: 1.1rem;
}

.lux-onb-self-service__empty h3 {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-onb-self-service__empty p {
    margin: 0;
    max-width: 28rem;
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.5;
}

.lux-onb-self-service__skeleton {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lux-onb-self-service__skeleton-card {
    height: 5.5rem;
    border-radius: 16px;
    background: linear-gradient(90deg, #f1f5f9 0%, #e2e8f0 50%, #f1f5f9 100%);
    background-size: 200% 100%;
    animation: lux-onb-shimmer 1.2s ease-in-out infinite;
}

.lux-onb-hook-banner {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin-bottom: 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.95);
}

.lux-onb-hook-banner.is-green {
    border-color: rgba(16, 185, 129, 0.28);
    background: rgba(16, 185, 129, 0.08);
}

.lux-onb-hook-banner.is-amber,
.lux-onb-hook-banner.is-pending {
    border-color: rgba(245, 158, 11, 0.3);
    background: rgba(251, 191, 36, 0.1);
}

.lux-onb-hook-banner.is-rose,
.lux-onb-hook-banner.is-failed {
    border-color: rgba(239, 68, 68, 0.28);
    background: rgba(254, 226, 226, 0.55);
}

.lux-onb-hook-banner__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.85);
    color: #64748b;
    flex-shrink: 0;
}

.lux-onb-hook-banner__copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.lux-onb-hook-banner__copy strong {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #0f172a;
}

.lux-onb-hook-banner__copy > span {
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.4;
}

.lux-onb-hook-banner__error {
    font-size: 0.72rem !important;
    color: #b91c1c !important;
    font-weight: 700;
}

.lux-onb-self-service__retry {
    border: none;
    background: none;
    padding: 0;
    font: inherit;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: underline;
    cursor: pointer;
}

@keyframes lux-onb-shimmer {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

.lux-onb-page.lux-hrms-dash {
    padding: 0.75rem 0.75rem 1.5rem;
}

.lux-onb-page__error {
    margin: 0 0 0.75rem;
    padding: 0.65rem 0.85rem;
    border-radius: 14px;
    background: rgba(239, 68, 68, 0.08);
    color: #b91c1c;
    font-size: 0.82rem;
    font-weight: 700;
}

/* Hero variants */
.lux-onb-hero--queue.lux-onb-hero--join {
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14), transparent 50%),
        radial-gradient(circle at 100% 100%, rgba(16, 185, 129, 0.12), transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-onb-hero--queue.lux-onb-hero--exit {
    background:
        radial-gradient(circle at 0% 0%, rgba(245, 158, 11, 0.12), transparent 48%),
        radial-gradient(circle at 100% 100%, rgba(239, 68, 68, 0.08), transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-onb-hero--detail {
    align-items: center;
    flex-wrap: wrap;
}

.lux-onb-hero__detail-main {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex: 1;
    min-width: 0;
}

.lux-onb-hero__detail-aside {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    flex-shrink: 0;
}

.lux-onb-hero__template {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
}

/* Luxury action pills */
.lux-onb-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: var(--lux-action-min-height);
    padding: 0 0.9rem;
    border: none;
    border-radius: 999px;
    font-size: var(--lux-action-font-size);
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-onb-action--compact {
    min-height: var(--lux-action-compact-min-height);
    padding: 0 0.7rem;
    font-size: 0.625rem;
}

.lux-onb-action--primary {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-onb-action--primary:hover {
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
}

.lux-onb-action--ghost {
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
}

.lux-onb-action--ghost:hover {
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
}

/* Toolbar + filters */
.lux-onb-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.85rem 1rem;
    margin-bottom: 0.85rem;
    padding: 0.75rem 0.9rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.lux-onb-toolbar__grid {
    display: flex;
    align-items: flex-end;
    gap: 1.25rem;
    flex: 1;
    min-width: 0;
    flex-wrap: wrap;
}

.lux-onb-toolbar__status-col {
    flex: 1;
    min-width: min(100%, 320px);
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.lux-onb-toolbar__dept-col {
    flex-shrink: 0;
    width: min(220px, 100%);
    display: flex;
    align-items: flex-end;
}

.lux-onb-toolbar__label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    line-height: 1;
}

.lux-onb-toolbar__chips {
    flex-wrap: wrap;
}

.lux-onb-toolbar__count {
    display: inline-flex;
    align-items: baseline;
    gap: 0.25rem;
    flex-shrink: 0;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.95);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
}

.lux-onb-toolbar__count strong {
    font-size: 0.82rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-onb-dept-filter.lux-att-employee-filter {
    width: 100%;
    min-width: 0;
}

.lux-onb-dept-filter.lux-att-employee-filter.is-header .lux-att-employee-filter__trigger {
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 2.11rem;
    padding: 0.28rem 0.6rem;
    border-radius: 12px;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
}

.lux-onb-dept-filter .lux-att-employee-filter__trigger i.fe-briefcase {
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-onb-dept-filter .lux-att-employee-filter__trigger.is-open .lux-att-employee-filter__chevron {
    transform: rotate(180deg);
    opacity: 1;
}

.lux-onb-dept-filter .lux-att-employee-filter__chevron {
    transition: transform 0.18s ease, opacity 0.18s ease;
}

/* Case card grid */
.lux-onb-case-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.65rem;
}

.lux-onb-case-card {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 0.85rem 0.9rem;
    border-radius: 18px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    text-decoration: none;
    color: inherit;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.lux-onb-case-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    text-decoration: none;
    color: inherit;
}

.lux-onb-case-card--exit:hover {
    box-shadow: 0 14px 32px rgba(245, 158, 11, 0.14);
}

.lux-onb-case-card--skeleton {
    min-height: 190px;
    animation: lux-onb-shimmer 1.2s ease-in-out infinite;
    background: linear-gradient(90deg, rgba(226,232,240,0.35), rgba(241,245,249,0.9), rgba(226,232,240,0.35));
    background-size: 200% 100%;
}

.lux-onb-case-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

.lux-onb-case-card__identity {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-width: 0;
}

.lux-onb-case-card__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), #818cf8);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 900;
    flex-shrink: 0;
}

.lux-onb-case-card--exit .lux-onb-case-card__avatar {
    background: linear-gradient(135deg, #f59e0b, #ef4444);
}

.lux-onb-case-card__avatar--lg {
    width: 3.25rem;
    height: 3.25rem;
    font-size: 1rem;
    border-radius: 18px;
}

.lux-onb-case-card__name {
    display: block;
    font-size: 0.92rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.2;
}

.lux-onb-case-card__role {
    display: block;
    font-size: 0.74rem;
    font-weight: 600;
    color: #64748b;
}

.lux-onb-case-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
}

.lux-onb-case-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-onb-case-card__progress-track {
    height: 7px;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.9);
    overflow: hidden;
}

.lux-onb-case-card__progress-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #34d399);
}

.lux-onb-case-card--exit .lux-onb-case-card__progress-fill {
    background: linear-gradient(90deg, #f59e0b, #f97316);
}

.lux-onb-case-card__progress-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 0.3rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
}

.lux-onb-case-card__foot {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding-top: 0.35rem;
    border-top: 1px solid rgba(226, 232, 240, 0.8);
    font-size: 0.72rem;
    font-weight: 700;
}

.lux-onb-case-card__owner {
    color: #64748b;
}

.lux-onb-case-card__alert {
    color: #b45309;
}

.lux-onb-case-card__open {
    margin-left: auto;
    color: var(--lux-primary-dark, #3730a3);
}

/* Progress ring (detail hero) */
.lux-onb-progress-ring {
    --lux-onb-pct: 0;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background:
        radial-gradient(closest-side, #fff 78%, transparent 80% 100%),
        conic-gradient(var(--lux-primary, #5b5ff4) calc(var(--lux-onb-pct) * 1%), rgba(226, 232, 240, 0.9) 0);
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.lux-onb-hero--exit .lux-onb-progress-ring {
    background:
        radial-gradient(closest-side, #fff 78%, transparent 80% 100%),
        conic-gradient(#f59e0b calc(var(--lux-onb-pct) * 1%), rgba(226, 232, 240, 0.9) 0);
}

.lux-onb-progress-ring__value {
    font-size: 0.9rem;
    font-weight: 900;
    color: #312e81;
}

/* Insight strip */
.lux-onb-insight-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.85rem;
}

.lux-onb-insight {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.7rem 0.75rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.lux-onb-insight__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-onb-insight__label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lux-onb-insight__value {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.88rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-onb-detail__cta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
    padding: 0.75rem 0.9rem;
    border-radius: 16px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-onb-detail__cta-hint {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-onb-detail__cta--done {
    background: rgba(34, 197, 94, 0.08);
    box-shadow: inset 0 0 0 1px rgba(34, 197, 94, 0.18);
    color: #15803d;
    font-size: 0.8125rem;
    font-weight: 700;
}

.lux-onb-detail__cta--done .fe-check-circle {
    color: #16a34a;
}

/* —— Lifecycle case detail page shell —— */
.lux-onb-detail__shell {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin: 0 var(--lux-page-gutter-x, 1.25rem) 0.85rem;
}

.lux-onb-detail__shell .lux-onb-hero--detail {
    margin-bottom: 0;
    border-radius: 16px;
}

.lux-onb-detail__shell .lux-onb-detail__kpi {
    margin-bottom: 0;
}

.lux-onb-detail-quick-nav {
    margin-bottom: 0;
}

.lux-onb-detail .lux-hrms-dash__panel.lux-onb-checklist-section {
    margin: 0 var(--lux-page-gutter-x, 1.25rem) var(--lux-page-block-bottom, 1.5rem);
}

.lux-onb-settlement {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
}

.lux-onb-settlement--ready {
    background: rgba(34, 197, 94, 0.08);
    box-shadow: inset 0 0 0 1px rgba(34, 197, 94, 0.18);
}

.lux-onb-settlement--blocked {
    background: rgba(245, 158, 11, 0.08);
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.2);
}

.lux-onb-settlement__head {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
}

.lux-onb-settlement__head .fe-dollar-sign {
    color: #b45309;
    font-size: 1.1rem;
    margin-top: 0.1rem;
}

.lux-onb-settlement--ready .lux-onb-settlement__head .fe-dollar-sign {
    color: #16a34a;
}

.lux-onb-settlement__blockers {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #b45309;
}

.lux-onb-settlement__tasks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.lux-onb-settlement__task-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    border: none;
    border-radius: 10px;
    padding: 0.45rem 0.6rem;
    background: rgba(255, 255, 255, 0.65);
    font-size: 0.8rem;
    font-weight: 700;
    color: #0f172a;
    cursor: pointer;
}

.lux-onb-settlement__task-btn:hover {
    background: rgba(255, 255, 255, 0.95);
}

.lux-onb-audit__head {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    margin-bottom: 0.75rem;
}

.lux-onb-audit__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lux-onb-audit__list li {
    display: grid;
    grid-template-columns: 6.5rem 1fr;
    gap: 0.5rem 1rem;
    font-size: 0.875rem;
}

.lux-onb-audit__date {
    color: #64748b;
    font-weight: 600;
}

.lux-onb-audit__label {
    font-weight: 700;
    color: #0f172a;
}

.lux-onb-audit__detail {
    grid-column: 2;
    color: #475569;
    font-size: 0.8125rem;
}

/* F03 — Lifecycle template catalog */
.lux-onb-template-panel .lux-hrms-dash__panel-body {
    padding-top: 0.15rem;
}

.lux-onb-template-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 0.75rem;
}

.lux-onb-template-grid--loading {
    min-height: 12rem;
}

.lux-onb-template-card {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    padding: 0.9rem 0.95rem;
    border-radius: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 52%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.8),
        0 10px 24px rgba(15, 23, 42, 0.06);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.lux-onb-template-card:hover {
    transform: translateY(-2px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.85),
        0 14px 32px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-onb-template-card--exit {
    background:
        radial-gradient(circle at 100% 0%, rgba(245, 158, 11, 0.1), transparent 52%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 235, 0.92));
}

.lux-onb-template-card--exit:hover {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.85),
        0 14px 32px rgba(245, 158, 11, 0.14);
}

.lux-onb-template-card--skeleton {
    min-height: 210px;
    animation: lux-onb-shimmer 1.2s ease-in-out infinite;
    background: linear-gradient(90deg, rgba(226, 232, 240, 0.35), rgba(241, 245, 249, 0.9), rgba(226, 232, 240, 0.35));
    background-size: 200% 100%;
}

.lux-onb-template-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
}

.lux-onb-template-card__identity {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.lux-onb-template-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 14px;
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), #818cf8);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.03em;
    box-shadow: 0 8px 18px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-onb-template-card--exit .lux-onb-template-card__icon {
    background: linear-gradient(135deg, #f59e0b, #ef4444);
    box-shadow: 0 8px 18px rgba(245, 158, 11, 0.28);
}

.lux-onb-template-card__head-copy {
    min-width: 0;
}

.lux-onb-template-card__name {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.25;
}

.lux-onb-template-card__code {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-onb-template-card__count {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 3.1rem;
    padding: 0.35rem 0.5rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-onb-template-card__count strong {
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
}

.lux-onb-template-card__count span {
    margin-top: 0.1rem;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.lux-onb-template-card--exit .lux-onb-template-card__count {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}

.lux-onb-template-card__desc {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.45;
    color: #64748b;
}

.lux-onb-template-card__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-onb-template-card__chips span {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.28rem 0.5rem;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.95);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
    font-size: 0.68rem;
    font-weight: 700;
    color: #475569;
}

.lux-onb-template-card__chips span i {
    font-size: 0.72rem;
    color: #94a3b8;
}

.lux-onb-template-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 0.55rem;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
}

.lux-onb-template-card__status {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.68rem;
    font-weight: 700;
    color: #047857;
}

.lux-onb-template-card__status i {
    font-size: 0.75rem;
}

.lux-onb-template-card__foot .lux-onb-action {
    margin-left: auto;
}

@media (max-width: 640px) {
    .lux-onb-template-grid {
        grid-template-columns: 1fr;
    }
}

/* F03 — Lifecycle template authoring (luxury drawer) */
.lux-onb-template-author {
    width: min(34rem, 100%);
}

.lux-onb-template-author .lux-onb-drawer__head {
    padding: 0.8rem 1rem 0.7rem;
}

.lux-onb-template-author .lux-onb-drawer__category-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 14px;
    font-size: 0.9rem;
}

.lux-onb-template-author .lux-onb-drawer__head-copy h2 {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.25;
}

.lux-onb-template-author .lux-onb-drawer__task-id {
    margin-top: 0.25rem;
    font-size: 0.7rem;
    line-height: 1.35;
}

.lux-onb-template-author .lux-onb-drawer__body {
    padding-top: 0.65rem;
}

.lux-onb-template-author.is-exit .lux-onb-template-author__intro {
    background:
        radial-gradient(circle at 100% 0%, rgba(217, 119, 6, 0.12), transparent 55%),
        rgba(217, 119, 6, 0.05);
}

.lux-onb-template-author.is-exit .lux-onb-template-author__intro i,
.lux-onb-template-author.is-exit .lux-onb-template-author__field.is-highlight > span,
.lux-onb-template-author.is-exit .lux-onb-template-author__field.is-highlight > span i {
    color: #b45309;
}

.lux-onb-template-author.is-exit .lux-onb-template-author__task-icon {
    background: rgba(217, 119, 6, 0.14);
    color: #b45309;
}

.lux-onb-template-author.is-exit .lux-onb-template-author__add-btn {
    background: rgba(217, 119, 6, 0.12);
    color: #b45309;
}

.lux-onb-template-author.is-exit .lux-onb-template-author__pill.is-active {
    background: rgba(217, 119, 6, 0.14);
    color: #b45309;
    box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.22);
}

.lux-onb-template-author__body {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.lux-onb-template-author__intro {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.7rem 0.8rem;
    border-radius: 14px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 55%),
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.lux-onb-template-author__intro i {
    margin-top: 0.1rem;
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.9rem;
    flex-shrink: 0;
}

.lux-onb-template-author__intro p {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.45;
}

.lux-onb-template-author__highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    margin-bottom: 0.15rem;
}

.lux-onb-template-author__highlight {
    padding: 0.6rem 0.7rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-onb-template-author__highlight span {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-onb-template-author__highlight strong {
    display: block;
    margin-top: 0.1rem;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-onb-template-author__highlight.is-required strong { color: #b45309; }
.lux-onb-template-author__highlight.is-self strong { color: #047857; }

.lux-onb-template-author__error {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    margin: 0;
    padding: 0.6rem 0.7rem;
    border-radius: 12px;
    background: rgba(254, 242, 242, 0.95);
    font-size: 0.75rem;
    font-weight: 700;
    color: #b91c1c;
    line-height: 1.4;
}

.lux-onb-template-author__card {
    position: relative;
    padding: 0.85rem;
    border-radius: 16px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 50%),
        rgba(255, 255, 255, 0.9);
    border: 0px solid rgba(226, 232, 240, 0.95);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 8px 22px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.lux-onb-template-author__card.is-tasks {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 52%),
        rgba(248, 250, 252, 0.95);
    overflow: visible;
}

.lux-onb-template-author__card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.7rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-onb-template-author__card-head h3 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-onb-template-author__card-head p {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.4;
}

.lux-onb-template-author__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.lux-onb-template-author__field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0 0 0.65rem;
}

.lux-onb-template-author__field.is-wide {
    grid-column: 1 / -1;
}

.lux-onb-template-author__field > span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-onb-template-author__field > span i {
    font-size: 0.7rem;
    color: #94a3b8;
}

.lux-onb-template-author__field.is-highlight > span {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-onb-template-author__field.is-highlight > span i {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-onb-template-author__input,
.lux-onb-template-author__textarea {
    width: 100%;
    min-height: 2.2rem;
    padding: 0.4rem 0.6rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.98);
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
}

.lux-onb-template-author__textarea {
    min-height: 3.75rem;
    resize: vertical;
    line-height: 1.45;
}

.lux-onb-template-author__field.is-highlight .lux-onb-template-author__input,
.lux-onb-template-author__field.is-highlight .lux-onb-template-author__textarea {
    background: linear-gradient(
        180deg,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04),
        rgba(255, 255, 255, 0.98)
    );
    box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-onb-template-author__input:focus,
.lux-onb-template-author__textarea:focus {
    outline: none;
    box-shadow:
        inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35),
        0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-onb-template-author__add-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2rem;
    padding: 0 0.75rem;
    border: 0;
    border-radius: 999px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s ease, box-shadow 0.15s ease;
}

.lux-onb-template-author__add-btn:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.lux-onb-template-author__task-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.lux-onb-template-author__task-card {
    padding: 0.8rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    border: 0px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-onb-template-author__task-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
}

.lux-onb-template-author__duplicate {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border: 0;
    border-radius: 10px;
    background: rgba(148, 163, 184, 0.12);
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.lux-onb-template-author__duplicate:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-onb-template-author__task-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
}

.lux-onb-template-author__task-id {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}

.lux-onb-template-author__task-icon {
    display: grid;
    place-items: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.9rem;
    flex-shrink: 0;
}

.lux-onb-template-author__task-id strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-onb-template-author__task-id span {
    display: block;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
}

.lux-onb-template-author__remove {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 10px;
    background: rgba(254, 242, 242, 0.95);
    color: #b91c1c;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(225, 29, 72, 0.1);
    transition: transform 0.12s ease;
}

.lux-onb-template-author__remove:active {
    transform: translateY(1px);
}

.lux-onb-template-author__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.15rem;
}

.lux-onb-template-author__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 1.85rem;
    padding: 0 0.65rem;
    border: 0;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.95);
    color: #64748b;
    font-size: 0.6875rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.28);
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.lux-onb-template-author__pill.is-active {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
    box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}

.lux-onb-template-author__pill:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

@media (max-width: 640px) {
    .lux-onb-template-author__highlights,
    .lux-onb-template-author__grid {
        grid-template-columns: 1fr;
    }

    .lux-onb-template-author__card-head {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-onb-template-author__add-btn {
        justify-content: center;
        width: 100%;
    }
}

/* F03 — Start lifecycle case drawer (luxury) */
.lux-onb-case-start {
    width: min(34rem, 100%);
}

.lux-onb-case-start__scroll {
    display: block;
}

.lux-onb-case-start__form {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    min-height: min-content;
}

.lux-onb-case-start .lux-onb-template-author__card,
.lux-onb-case-start__card {
    overflow: visible;
    flex-shrink: 0;
}

.lux-onb-case-start__card--schedule .lux-onb-template-author__grid:last-child .lux-onb-template-author__field {
    margin-bottom: 0;
}

.lux-onb-case-start__highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}

.lux-onb-case-start__highlights .lux-onb-template-author__highlight strong.is-text {
    font-size: 0.75rem;
    letter-spacing: 0.02em;
    text-transform: none;
    line-height: 1.25;
}

.lux-onb-case-start__loading {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
}

.lux-onb-case-start__empty {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem;
    border-radius: 14px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 50%),
        rgba(255, 255, 255, 0.92);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-onb-case-start__empty > i {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 1rem;
    flex-shrink: 0;
}

.lux-onb-case-start__empty strong {
    display: block;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-onb-case-start__empty p {
    margin: 0.15rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-onb-case-start__empty .lux-onb-action {
    margin-left: auto;
}

.lux-onb-case-start__template-desc {
    margin: -0.35rem 0 0;
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
    font-size: 0.6875rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.45;
}

.lux-onb-case-start.is-exit .lux-onb-case-start__empty > i {
    background: rgba(217, 119, 6, 0.14);
    color: #b45309;
}

.lux-onb-case-start.is-exit .lux-onb-case-start__template-desc {
    background: rgba(217, 119, 6, 0.06);
}

@media (max-width: 640px) {
    .lux-onb-case-start__highlights {
        grid-template-columns: 1fr;
    }

    .lux-onb-case-start__empty {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-onb-case-start__empty .lux-onb-action {
        margin-left: 0;
        justify-content: center;
    }
}

.lux-onb-convert__body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.lux-onb-convert__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 1rem;
}

.lux-onb-convert__field-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 0.15rem;
}

.lux-onb-convert__field-value {
    font-size: 0.875rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-onb-convert__role {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
}

.lux-onb-convert__role select {
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    padding: 0.55rem 0.7rem;
    font-size: 0.875rem;
    font-weight: 600;
    background: #fff;
}

.lux-onb-convert__blockers {
    display: flex;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: rgba(245, 158, 11, 0.1);
    color: #b45309;
    font-size: 0.8125rem;
    font-weight: 600;
}

.lux-onb-convert__blockers ul {
    margin: 0;
    padding-left: 1rem;
}

.lux-onb-convert__error {
    color: #b91c1c;
    font-size: 0.8125rem;
    font-weight: 700;
    margin: 0;
}

.lux-onb-convert__success {
    text-align: center;
    padding: 1.25rem 0.5rem;
}

.lux-onb-convert__success .fe-check-circle {
    font-size: 2rem;
    color: #16a34a;
}

.lux-onb-convert__success h3 {
    margin: 0.5rem 0 0.35rem;
    font-size: 1.125rem;
}

.lux-onb-convert__success-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 1rem;
}

.lux-onb-convert__loading {
    color: #64748b;
    font-weight: 600;
}

/* Badges */
.lux-onb-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.lux-onb-badge--primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: #4338ca; }
.lux-onb-badge--success { background: rgba(34, 197, 94, 0.14); color: #15803d; }
.lux-onb-badge--warning { background: rgba(245, 158, 11, 0.16); color: #b45309; }
.lux-onb-badge--danger { background: rgba(239, 68, 68, 0.12); color: #b91c1c; }
.lux-onb-badge--info { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-onb-badge--neutral,
.lux-onb-badge--muted { background: rgba(148, 163, 184, 0.16); color: #475569; }

/* Checklist */
.lux-onb-checklist-section {
    margin-top: 0.35rem;
    padding: 1rem 1.05rem 1.1rem;
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 38%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.94));
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.07);
    border: 1px solid rgba(226, 232, 240, 0.75);
}

.lux-onb-checklist-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-onb-checklist-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #4338ca);
}

.lux-onb-checklist-hero__title {
    margin: 0.45rem 0 0;
    font-size: 1.15rem;
    font-weight: 900;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.lux-onb-checklist-hero__desc {
    margin: 0.3rem 0 0;
    max-width: 36rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
}

.lux-onb-checklist-hero__stats {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.lux-onb-checklist-hero__ring {
    --lux-onb-ring: var(--lux-primary, #5b5ff4);
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: conic-gradient(
        var(--lux-onb-ring) calc(var(--lux-onb-pct, 0) * 1%),
        rgba(226, 232, 240, 0.92) 0
    );
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-onb-checklist-hero__ring span {
    width: 3.15rem;
    height: 3.15rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    font-size: 0.78rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-onb-checklist-hero__figures {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-onb-checklist-hero__figures article {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
}

.lux-onb-checklist-hero__figures span {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-onb-checklist-hero__figures strong {
    font-size: 0.9rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-onb-checklist-hero__figures strong.is-alert {
    color: #dc2626;
}

.lux-onb-checklist {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lux-onb-checklist__group {
    --onb-tone: var(--lux-primary, #5b5ff4);
    --onb-tone-rgb: var(--lux-primary-rgb, 91, 95, 244);
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    border: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-onb-checklist__group--violet { --onb-tone: #7c3aed; --onb-tone-rgb: 124, 58, 237; }
.lux-onb-checklist__group--blue { --onb-tone: #2563eb; --onb-tone-rgb: 37, 99, 235; }
.lux-onb-checklist__group--primary { --onb-tone: var(--lux-primary, #5b5ff4); --onb-tone-rgb: var(--lux-primary-rgb, 91, 95, 244); }
.lux-onb-checklist__group--green { --onb-tone: #16a34a; --onb-tone-rgb: 22, 163, 74; }
.lux-onb-checklist__group--teal { --onb-tone: #0d9488; --onb-tone-rgb: 13, 148, 136; }
.lux-onb-checklist__group--amber { --onb-tone: #d97706; --onb-tone-rgb: 217, 119, 6; }
.lux-onb-checklist__group--rose { --onb-tone: #e11d48; --onb-tone-rgb: 225, 29, 72; }
.lux-onb-checklist__group--slate { --onb-tone: #475569; --onb-tone-rgb: 71, 85, 105; }
.lux-onb-checklist__group--neutral { --onb-tone: #64748b; --onb-tone-rgb: 100, 116, 139; }

.lux-onb-checklist__group-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.85rem 1rem 0.7rem;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--onb-tone-rgb), 0.14), transparent 55%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-onb-checklist__group-brand {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.lux-onb-checklist__group-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--onb-tone), rgba(var(--onb-tone-rgb), 0.65));
    color: #fff;
    font-size: 0.95rem;
    box-shadow: 0 8px 18px rgba(var(--onb-tone-rgb), 0.28);
    flex-shrink: 0;
}

.lux-onb-checklist__group-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-onb-checklist__group-sub {
    margin: 0.15rem 0 0;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
}

.lux-onb-checklist__group-pill {
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    background: rgba(var(--onb-tone-rgb), 0.12);
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--onb-tone);
    flex-shrink: 0;
}

.lux-onb-checklist__group-progress {
    height: 4px;
    background: rgba(226, 232, 240, 0.85);
}

.lux-onb-checklist__group-progress-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--onb-tone), rgba(var(--onb-tone-rgb), 0.55));
    transition: width 0.25s ease;
}

.lux-onb-checklist-empty {
    text-align: center;
    padding: 2.5rem 1rem;
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.9);
    color: #64748b;
}

.lux-onb-checklist-empty i {
    font-size: 1.75rem;
    color: #94a3b8;
}

.lux-onb-task {
    width: 100%;
    display: grid;
    grid-template-columns: auto auto 1fr auto auto;
    align-items: center;
    gap: 0.55rem 0.65rem;
    padding: 0.75rem 0.85rem;
    border: none;
    border-radius: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    position: relative;
    transition: background 0.15s ease, transform 0.15s ease;
}

.lux-onb-task::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.35rem;
    bottom: 0.35rem;
    width: 3px;
    border-radius: 999px;
    background: rgba(var(--onb-tone-rgb), 0.35);
    opacity: 0;
    transition: opacity 0.15s ease;
}

.lux-onb-task:hover {
    background: rgba(var(--onb-tone-rgb), 0.04);
}

.lux-onb-task:hover::before {
    opacity: 1;
}

.lux-onb-task.is-completed {
    opacity: 0.78;
}

.lux-onb-task.is-completed .lux-onb-task__title {
    text-decoration: line-through;
    text-decoration-color: rgba(100, 116, 139, 0.45);
}

.lux-onb-task.is-completed .lux-onb-task__state {
    color: #16a34a;
}

.lux-onb-task.is-blocked .lux-onb-task__state,
.lux-onb-task.is-overdue .lux-onb-task__state {
    color: #dc2626;
}

.lux-onb-task__index {
    display: inline-grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 8px;
    background: rgba(var(--onb-tone-rgb), 0.1);
    font-size: 0.65rem;
    font-weight: 900;
    color: var(--onb-tone);
}

.lux-onb-task__state {
    font-size: 1rem;
    color: #94a3b8;
}

.lux-onb-task__body {
    min-width: 0;
}

.lux-onb-task__title {
    display: block;
    font-size: 0.84rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-onb-task__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.35rem;
}

.lux-onb-task__owner-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.15rem 0.45rem 0.15rem 0.2rem;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.95);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
    font-size: 0.68rem;
    font-weight: 700;
    color: #475569;
}

.lux-onb-task__owner-avatar {
    display: inline-grid;
    place-items: center;
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--onb-tone), rgba(var(--onb-tone-rgb), 0.6));
    color: #fff;
    font-size: 0.55rem;
    font-weight: 900;
}

.lux-onb-task__due-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    background: rgba(14, 165, 233, 0.1);
    font-size: 0.68rem;
    font-weight: 700;
    color: #0369a1;
}

.lux-onb-task__due-chip.is-overdue {
    background: rgba(239, 68, 68, 0.1);
    color: #b91c1c;
}

.lux-onb-task__optional-chip {
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.14);
    font-size: 0.65rem;
    font-weight: 800;
    color: #64748b;
}

.lux-onb-task__chevron {
    color: #cbd5e1;
    font-size: 0.9rem;
    transition: transform 0.15s ease, color 0.15s ease;
}

.lux-onb-task:hover .lux-onb-task__chevron {
    color: var(--onb-tone);
    transform: translateX(2px);
}

.lux-onb-checklist__tasks {
    list-style: none;
    margin: 0;
    padding: 0.35rem 0.5rem 0.55rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.lux-onb-checklist__tasks li + li {
    border-top: 1px solid rgba(241, 245, 249, 0.98);
}

/* Drawer */
@keyframes lux-onb-drawer-backdrop-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes lux-onb-drawer-slide-in {
    from {
        opacity: 0;
        transform: translateX(28px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes lux-onb-drawer-backdrop-out {
    from { opacity: 1; }
    to { opacity: 0; }
}

@keyframes lux-onb-drawer-slide-out {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(28px);
    }
}

.lux-onb-drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(8, 12, 28, 0.52);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: var(--lux-z-overlay);
    display: flex;
    justify-content: flex-end;
    overflow: hidden;
    animation: lux-onb-drawer-backdrop-in 0.22s ease;
}

.lux-onb-drawer-backdrop.is-closing {
    animation: lux-onb-drawer-backdrop-out 0.28s ease forwards;
}

.lux-onb-drawer {
    --onb-drawer-accent: var(--lux-primary, #5b5ff4);
    --onb-drawer-accent-rgb: var(--lux-primary-rgb, 91, 95, 244);
    position: relative;
    width: min(460px, 100%);
    height: 100%;
    max-height: 100vh;
    max-height: 100dvh;
    min-height: 0;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--onb-drawer-accent-rgb), 0.08), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(248, 250, 252, 0.98) 100%);
    box-shadow:
        -1px 0 0 rgba(255, 255, 255, 0.8) inset,
        -20px 0 60px rgba(15, 23, 42, 0.18);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: lux-onb-drawer-slide-in 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.lux-onb-drawer.is-closing {
    animation: lux-onb-drawer-slide-out 0.28s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.lux-onb-drawer--primary { --onb-drawer-accent: var(--lux-primary, #5b5ff4); --onb-drawer-accent-rgb: var(--lux-primary-rgb, 91, 95, 244); }
.lux-onb-drawer--success { --onb-drawer-accent: #16a34a; --onb-drawer-accent-rgb: 22, 163, 74; }
.lux-onb-drawer--warning { --onb-drawer-accent: #d97706; --onb-drawer-accent-rgb: 217, 119, 6; }
.lux-onb-drawer--danger { --onb-drawer-accent: #dc2626; --onb-drawer-accent-rgb: 220, 38, 38; }
.lux-onb-drawer--neutral,
.lux-onb-drawer--muted { --onb-drawer-accent: #64748b; --onb-drawer-accent-rgb: 100, 116, 139; }

.lux-onb-drawer.is-overdue {
    --onb-drawer-accent: #dc2626;
    --onb-drawer-accent-rgb: 220, 38, 38;
}

.lux-onb-drawer__accent {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--onb-drawer-accent), rgba(var(--onb-drawer-accent-rgb), 0.35));
    box-shadow: 0 0 18px rgba(var(--onb-drawer-accent-rgb), 0.35);
}

.lux-onb-drawer__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    flex-shrink: 0;
    padding: 1.15rem 1.2rem 1rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--onb-drawer-accent-rgb), 0.14), transparent 55%),
        linear-gradient(135deg, rgba(var(--onb-drawer-accent-rgb), 0.05), rgba(255, 255, 255, 0.98));
}

.lux-onb-drawer__head-main {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.lux-onb-drawer__category-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 16px;
    flex-shrink: 0;
    color: #fff;
    font-size: 1rem;
    background: linear-gradient(135deg, var(--onb-drawer-accent), rgba(var(--onb-drawer-accent-rgb), 0.65));
    box-shadow: 0 10px 22px rgba(var(--onb-drawer-accent-rgb), 0.28);
}

.lux-onb-drawer__head-copy {
    min-width: 0;
}

.lux-onb-drawer__eyebrow {
    display: block;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--onb-drawer-accent);
}

.lux-onb-drawer__head h2 {
    margin: 0.3rem 0 0;
    font-size: 1.12rem;
    font-weight: 900;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.lux-onb-drawer__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.55rem;
}

.lux-onb-drawer__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.lux-onb-drawer__pill--required {
    background: rgba(var(--onb-drawer-accent-rgb), 0.12);
    color: var(--onb-drawer-accent);
}

.lux-onb-drawer__pill--optional {
    background: rgba(148, 163, 184, 0.16);
    color: #64748b;
}

.lux-onb-drawer__pill--overdue {
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
}

.lux-onb-drawer__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border: none;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
    color: #64748b;
    cursor: pointer;
    transition: background 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
    flex-shrink: 0;
}

.lux-onb-drawer__close:hover {
    color: var(--onb-drawer-accent);
    background: rgba(var(--onb-drawer-accent-rgb), 0.08);
    box-shadow: inset 0 0 0 1px rgba(var(--onb-drawer-accent-rgb), 0.22);
}

.lux-onb-drawer__body {
    padding: 1rem 1.2rem 1.15rem;
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.lux-onb-drawer__body::-webkit-scrollbar {
    width: 6px;
}

.lux-onb-drawer__body::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.45);
}

.lux-onb-drawer__banner {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
    padding: 0.8rem 0.85rem;
    border-radius: 16px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--onb-drawer-accent-rgb), 0.1), transparent 55%),
        rgba(248, 250, 252, 0.95);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
}

.lux-onb-drawer__banner.is-alert {
    background:
        radial-gradient(circle at 0% 0%, rgba(239, 68, 68, 0.1), transparent 55%),
        rgba(254, 242, 242, 0.95);
    box-shadow: inset 0 0 0 1px rgba(254, 202, 202, 0.85);
}

.lux-onb-drawer__banner.is-success {
    background:
        radial-gradient(circle at 0% 0%, rgba(34, 197, 94, 0.1), transparent 55%),
        rgba(240, 253, 244, 0.95);
    box-shadow: inset 0 0 0 1px rgba(187, 247, 208, 0.85);
}

.lux-onb-drawer__banner-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 12px;
    flex-shrink: 0;
    color: var(--onb-drawer-accent);
    background: rgba(var(--onb-drawer-accent-rgb), 0.12);
    font-size: 0.95rem;
}

.lux-onb-drawer__banner.is-alert .lux-onb-drawer__banner-icon {
    color: #dc2626;
    background: rgba(239, 68, 68, 0.12);
}

.lux-onb-drawer__banner.is-success .lux-onb-drawer__banner-icon {
    color: #16a34a;
    background: rgba(34, 197, 94, 0.12);
}

.lux-onb-drawer__banner strong {
    display: block;
    font-size: 0.82rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-onb-drawer__banner p {
    margin: 0.2rem 0 0;
    font-size: 0.74rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
}

.lux-onb-drawer__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-onb-drawer__fact {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.75rem 0.7rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow:
        0 8px 20px rgba(15, 23, 42, 0.04),
        inset 0 0 0 1px rgba(226, 232, 240, 0.9);
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-onb-drawer__fact:hover {
    transform: translateY(-1px);
    box-shadow:
        0 12px 26px rgba(var(--onb-drawer-accent-rgb), 0.08),
        inset 0 0 0 1px rgba(var(--onb-drawer-accent-rgb), 0.14);
}

.lux-onb-drawer__fact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 11px;
    flex-shrink: 0;
    color: var(--onb-drawer-accent);
    background: rgba(var(--onb-drawer-accent-rgb), 0.1);
    font-size: 0.82rem;
}

.lux-onb-drawer__fact-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.lux-onb-drawer__fact-value {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.2rem;
    font-size: 0.82rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-onb-drawer__fact-value.is-alert {
    color: #b91c1c;
}

.lux-onb-drawer__owner-avatar {
    display: inline-grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--onb-drawer-accent), rgba(var(--onb-drawer-accent-rgb), 0.6));
    color: #fff;
    font-size: 0.58rem;
    font-weight: 900;
    flex-shrink: 0;
}

.lux-onb-drawer__notes-card {
    margin-top: 0.85rem;
    padding: 0.85rem 0.9rem;
    border-radius: 16px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--onb-drawer-accent-rgb), 0.08), transparent 50%),
        rgba(248, 250, 252, 0.95);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
}

.lux-onb-drawer__notes-card header {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--onb-drawer-accent);
}

.lux-onb-drawer__notes-card p {
    margin: 0.45rem 0 0;
    font-size: 0.8rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.55;
}

.lux-onb-drawer__hint {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin-top: 0.85rem;
    padding: 0.8rem 0.85rem;
    border-radius: 14px;
    background: rgba(var(--onb-drawer-accent-rgb), 0.05);
    box-shadow: inset 0 0 0 1px rgba(var(--onb-drawer-accent-rgb), 0.1);
}

.lux-onb-drawer__hint i {
    color: var(--onb-drawer-accent);
    font-size: 0.95rem;
    margin-top: 0.1rem;
    flex-shrink: 0;
}

.lux-onb-drawer__hint p {
    margin: 0;
    font-size: 0.74rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.5;
}

.lux-onb-drawer__foot {
    flex-shrink: 0;
    padding: 0.95rem 1.2rem 1.1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.6), rgba(248, 250, 252, 0.98));
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.04);
}

.lux-onb-drawer__foot-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.lux-onb-drawer__foot-hint {
    margin: 0.55rem 0 0;
    font-size: 0.68rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.4;
}

.lux-onb-drawer__case {
    padding: 0.85rem 1.2rem 0.75rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
    background:
        radial-gradient(circle at 0% 100%, rgba(var(--onb-drawer-accent-rgb), 0.08), transparent 50%),
        rgba(248, 250, 252, 0.65);
}

.lux-onb-drawer__case-main {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.lux-onb-drawer__case-avatar {
    display: inline-grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--onb-drawer-accent), rgba(var(--onb-drawer-accent-rgb), 0.6));
    color: #fff;
    font-size: 0.78rem;
    font-weight: 900;
    flex-shrink: 0;
}

.lux-onb-drawer__case-eyebrow {
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-onb-drawer__case-name {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.9rem;
    font-weight: 900;
    color: #0f172a;
}

.lux-onb-drawer__case-role {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
}

.lux-onb-drawer__case-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.85rem;
    margin-top: 0.55rem;
    font-size: 0.7rem;
    font-weight: 700;
    color: #64748b;
}

.lux-onb-drawer__case-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-onb-drawer__task-id {
    display: block;
    margin-top: 0.45rem;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #94a3b8;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.lux-onb-drawer__pill--due-soon {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.lux-onb-drawer__section {
    margin-top: 0.85rem;
}

.lux-onb-drawer__section-head {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.45rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--onb-drawer-accent);
}

.lux-onb-drawer__description {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.55;
}

.lux-onb-drawer__fact-sub {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.68rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-onb-drawer__steps {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    counter-reset: onb-step;
}

.lux-onb-drawer__steps li {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
    font-size: 0.76rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.4;
}

.lux-onb-drawer__steps li::before {
    counter-increment: onb-step;
    content: counter(onb-step);
    display: inline-grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 8px;
    flex-shrink: 0;
    background: rgba(var(--onb-drawer-accent-rgb), 0.12);
    color: var(--onb-drawer-accent);
    font-size: 0.65rem;
    font-weight: 900;
}

.lux-onb-drawer__deps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-onb-drawer__dep {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
}

.lux-onb-drawer__dep > i {
    font-size: 0.95rem;
    flex-shrink: 0;
}

.lux-onb-drawer__dep.is-satisfied > i {
    color: #16a34a;
}

.lux-onb-drawer__dep.is-pending > i {
    color: #94a3b8;
}

.lux-onb-drawer__dep strong {
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-onb-drawer__dep span span {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.68rem;
    font-weight: 600;
    color: #64748b;
}

.lux-onb-drawer__attachments {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-onb-drawer__attachments li {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.9);
}

.lux-onb-drawer__file-icon {
    display: inline-grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 10px;
    background: rgba(var(--onb-drawer-accent-rgb), 0.1);
    color: var(--onb-drawer-accent);
    font-size: 0.82rem;
}

.lux-onb-drawer__file-main strong {
    display: block;
    font-size: 0.76rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-onb-drawer__file-main span {
    display: block;
    margin-top: 0.06rem;
    font-size: 0.66rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-onb-drawer__file-action {
    border: none;
    border-radius: 999px;
    padding: 0.2rem 0.55rem;
    background: rgba(var(--onb-drawer-accent-rgb), 0.1);
    color: var(--onb-drawer-accent);
    font-size: 0.65rem;
    font-weight: 800;
    cursor: not-allowed;
    opacity: 0.75;
}

.lux-onb-drawer__timeline {
    list-style: none;
    margin: 0;
    padding: 0 0 0 0.35rem;
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
}

.lux-onb-drawer__timeline::before {
    content: "";
    position: absolute;
    left: 0.5rem;
    top: 0.35rem;
    bottom: 0.35rem;
    width: 2px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(var(--onb-drawer-accent-rgb), 0.35), rgba(226, 232, 240, 0.9));
}

.lux-onb-drawer__timeline li {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.45rem 0 0.45rem 0.15rem;
    position: relative;
}

.lux-onb-drawer__timeline-dot {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 50%;
    margin-top: 0.2rem;
    flex-shrink: 0;
    background: var(--onb-drawer-accent);
    box-shadow: 0 0 0 3px rgba(var(--onb-drawer-accent-rgb), 0.18);
    z-index: 1;
}

.lux-onb-drawer__timeline strong {
    display: block;
    font-size: 0.76rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-onb-drawer__timeline span {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.68rem;
    font-weight: 600;
    color: #64748b;
}

/* Lifecycle insights charts */
.lux-onb-insights {
    margin-bottom: 0.75rem;
}

.lux-onb-insights__grid {
    margin-bottom: 0.55rem;
}

.lux-onb-insights__bars {
    margin-top: 0.15rem;
}

.lux-onb-insights__highlights {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
}

.lux-onb-insights__highlight {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.7rem 0.75rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
    border: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-onb-insights__highlight-icon {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 12px;
    flex-shrink: 0;
    font-size: 0.9rem;
}

.lux-onb-insights__highlight.is-primary .lux-onb-insights__highlight-icon {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-onb-insights__highlight.is-green .lux-onb-insights__highlight-icon {
    color: #15803d;
    background: rgba(34, 197, 94, 0.14);
}

.lux-onb-insights__highlight.is-violet .lux-onb-insights__highlight-icon {
    color: #6d28d9;
    background: rgba(124, 58, 237, 0.12);
}

.lux-onb-insights__highlight.is-rose .lux-onb-insights__highlight-icon {
    color: #b91c1c;
    background: rgba(239, 68, 68, 0.12);
}

.lux-onb-insights__highlight.is-neutral .lux-onb-insights__highlight-icon {
    color: #64748b;
    background: rgba(148, 163, 184, 0.14);
}

.lux-onb-insights__highlight-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-onb-insights__highlight strong {
    display: block;
    margin-top: 0.12rem;
    font-size: 1.05rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.1;
}

.lux-onb-insights__highlight small {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.68rem;
    font-weight: 600;
    color: #64748b;
}

.lux-onb-back-nav.pd-back-nav {
    margin: 0.65rem 0 0.5rem;
}

.lux-onb-queue-panel .lux-hrms-dash__panel-body {
    padding-top: 0.15rem;
}

@keyframes lux-onb-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

@media (max-width: 991px) {
    .lux-onb-insight-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-onb-toolbar {
        align-items: stretch;
    }

    .lux-onb-toolbar__grid {
        width: 100%;
    }

    .lux-onb-toolbar__dept-col {
        width: 100%;
    }

    .lux-onb-toolbar__count {
        width: 100%;
        justify-content: center;
    }

    .lux-onb-checklist-hero {
        flex-direction: column;
    }

    .lux-onb-checklist-hero__stats {
        width: 100%;
        justify-content: flex-start;
    }

    .lux-onb-insights__highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-onb-hero__detail-main {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* F05 — Attendance regularization & intelligence (luxury) */

/* Shared surface — policy + intelligence panels */
.lux-att-policy,
.lux-att-intel {
    position: relative;
    margin: 0 0.75rem 0.85rem;
    padding: 0.95rem 1rem 1.05rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    border-radius: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05),
        0 12px 32px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.lux-att-policy__glow,
.lux-att-intel__glow {
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--lux-primary, #5b5ff4),
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25)
    );
    pointer-events: none;
}

.lux-att-policy__hero,
.lux-att-intel__hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-att-policy__title,
.lux-att-intel__title {
    margin: 0.15rem 0 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-att-policy__subtitle,
.lux-att-intel__subtitle {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
    max-width: 36rem;
}

.lux-att-policy__hero-badge,
.lux-att-intel__source {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.lux-att-policy__hero-badge {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-policy__hero-badge i {
    font-size: 0.75rem;
}

.lux-att-intel__source.is-api {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.lux-att-intel__source.is-client {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}

.lux-att-policy__metrics,
.lux-att-intel__metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.85rem;
}

.lux-att-policy__metric,
.lux-att-intel__metric {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.65rem 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-att-policy__metric > i,
.lux-att-intel__metric-icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.875rem;
    flex-shrink: 0;
}

.lux-att-policy__metric span,
.lux-att-intel__metric span {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-att-policy__metric strong,
.lux-att-intel__metric strong {
    display: block;
    margin-top: 0.12rem;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-att-intel__metric.is-warning .lux-att-intel__metric-icon,
.lux-att-intel__metric.is-warning strong { color: #b45309; }
.lux-att-intel__metric.is-warning .lux-att-intel__metric-icon { background: rgba(245, 158, 11, 0.14); }

.lux-att-intel__metric.is-pending .lux-att-intel__metric-icon,
.lux-att-intel__metric.is-pending strong { color: #7c3aed; }
.lux-att-intel__metric.is-pending .lux-att-intel__metric-icon { background: rgba(124, 58, 237, 0.12); }

.lux-att-intel__metric.is-info .lux-att-intel__metric-icon,
.lux-att-intel__metric.is-info strong { color: var(--lux-primary-dark, #3730a3); }

.lux-att-intel__metric.is-success .lux-att-intel__metric-icon,
.lux-att-intel__metric.is-success strong { color: #059669; }
.lux-att-intel__metric.is-success .lux-att-intel__metric-icon { background: rgba(16, 185, 129, 0.12); }

.lux-att-policy__section-head h4,
.lux-att-intel__chart-head h4 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-att-policy__section-head p,
.lux-att-intel__chart-head span {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-att-intel__chart-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.lux-att-policy__types {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 0.55rem;
    margin: 0.65rem 0 0;
    padding: 0;
    list-style: none;
}

.lux-att-policy__type-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0.65rem 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-att-policy__type-card.is-blocked {
    opacity: 0.62;
    background: rgba(248, 250, 252, 0.9);
}

.lux-att-policy__type-card.is-evidence {
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08),
        0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-att-policy__type-icon {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 12px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-policy__type-copy strong {
    display: block;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-att-policy__type-copy span {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-att-policy__type-tags {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
}

.lux-att-policy__tag {
    display: inline-flex;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.lux-att-policy__tag.is-allowed { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-att-policy__tag.is-evidence { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: var(--lux-primary-dark, #3730a3); }
.lux-att-policy__tag.is-blocked { background: rgba(239, 68, 68, 0.12); color: #b91c1c; }

.lux-att-intel__chart {
    margin-top: 0.25rem;
    padding: 0.75rem;
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.85);
    border: 0px solid rgba(226, 232, 240, 0.95);
}

.lux-att-intel__chart-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-att-intel__chart-row {
    display: grid;
    grid-template-columns: 2.5rem 1fr 2.5rem;
    gap: 0.55rem;
    align-items: center;
    margin-bottom: 0.4rem;
}

.lux-att-intel__chart-label,
.lux-att-intel__chart-value {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #64748b;
}

.lux-att-intel__chart-value {
    text-align: right;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-intel__bar-track {
    height: 0.5rem;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.95);
    overflow: hidden;
}

.lux-att-intel__bar-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    transition: width 0.35s ease;
}

.lux-att-intel__bar-fill.is-strong {
    background: linear-gradient(90deg, #10b981, #059669);
}

.lux-att-intel__bar-fill.is-weak {
    background: linear-gradient(90deg, #f59e0b, #d97706);
}

.lux-att-intel__ai {
    margin-top: 0.85rem;
    padding: 0.85rem;
    border-radius: 14px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 55%),
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.lux-att-intel__ai-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
}

.lux-att-intel__ai-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-intel__ai-head h4 {
    margin: 0.15rem 0 0;
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-att-intel__ai-badge {
    flex-shrink: 0;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #475569;
}

.lux-att-intel__ai-summary {
    margin: 0 0 0.35rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #334155;
}

.lux-att-intel__ai-rec {
    margin: 0 0 0.55rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.45;
}

.lux-att-intel__ai-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-att-intel__ai-confidence.is-high { color: #047857; }
.lux-att-intel__ai-confidence.is-medium { color: #b45309; }

.lux-att-intel__ai-disclaimer {
    margin: 0.55rem 0 0;
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.4;
}

.lux-att-policy.is-loading,
.lux-att-intel.is-loading {
    min-height: 12rem;
}

.lux-att-policy__skeleton,
.lux-att-intel__skeleton {
    height: 100%;
    min-height: 10rem;
    border-radius: 14px;
    background: linear-gradient(90deg, rgba(226, 232, 240, 0.45), rgba(248, 250, 252, 0.95), rgba(226, 232, 240, 0.45));
    background-size: 200% 100%;
    animation: lux-att-f05-shimmer 1.4s ease-in-out infinite;
}

@keyframes lux-att-f05-shimmer {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

/* Regularization drawer */
.lux-att-reg__backdrop {
    position: fixed;
    inset: 0;
    z-index: 1200;
    border: none;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(3px);
    cursor: pointer;
}

.lux-att-reg__drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1201;
    width: min(28rem, 100vw);
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    display: flex;
    flex-direction: column;
    border-left: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 45%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
    box-shadow: -20px 0 60px rgba(15, 23, 42, 0.16);
    overflow: hidden;
}

.lux-att-reg__glow {
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2));
    pointer-events: none;
}

.lux-att-reg__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.95rem 1rem 0.85rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
    background: rgba(248, 250, 252, 0.95);
}

.lux-att-reg__eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-att-reg__head h2 {
    margin: 0.12rem 0 0;
    font-size: 1.125rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-att-reg__head p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-att-reg__status-pill {
    display: inline-flex;
    padding: 0.08rem 0.4rem;
    border-radius: 999px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.lux-att-reg__close {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.95);
    color: #64748b;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-att-reg__close:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-reg__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 0.85rem 1rem 1.1rem;
}

.lux-att-reg__intro {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin-bottom: 0.85rem;
    padding: 0.65rem 0.75rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    border-radius: 14px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
    font-size: 0.6875rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.45;
}

.lux-att-reg__intro i {
    margin-top: 0.1rem;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-reg__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-att-reg__field {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin: 0;
}

.lux-att-reg__field.is-wide {
    grid-column: 1 / -1;
}

.lux-att-reg__field > span {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-att-reg__field.is-highlight > span {
    color: #475569;
}

.lux-att-reg__input,
.lux-att-reg__textarea {
    width: 100%;
    min-height: 2.2rem;
    padding: 0.35rem 0.55rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.98);
    font-size: 0.875rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-att-reg__textarea {
    min-height: 4.5rem;
    resize: vertical;
    font-weight: 600;
}

.lux-att-reg__field.is-highlight .lux-att-reg__input,
.lux-att-reg__field.is-highlight .lux-att-reg__textarea {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), rgba(255, 255, 255, 0.98));
}

.lux-att-reg__input:focus,
.lux-att-reg__textarea:focus {
    outline: none;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-att-reg__policy-card {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin-top: 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.95);
    border: 0px solid rgba(226, 232, 240, 0.95);
}

.lux-att-reg__policy-card i {
    margin-top: 0.1rem;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-att-reg__policy-card strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-att-reg__policy-card p {
    margin: 0.15rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.4;
}

.lux-att-reg__error {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    margin: 0.75rem 0 0;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: rgba(254, 242, 242, 0.95);
    border: 0px solid rgba(239, 68, 68, 0.2);
    font-size: 0.75rem;
    font-weight: 700;
    color: #b91c1c;
}

.lux-att-reg__foot {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    margin-top: 0.95rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-att-reg__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    min-height: 2rem;
    padding: 0 0.85rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    cursor: pointer;
}

.lux-att-reg__btn.is-primary {
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.lux-att-reg__btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Pending queue + lock banner — compact luxury inbox */
.lux-att-reg-pending {
    position: relative;
    margin: var(--lux-page-block-gap-y, 0.65rem) var(--lux-page-gutter-x, 0.75rem);
    padding: 0.7rem 0.85rem 0.8rem;
    border-radius: 14px;
    border: 1px solid rgba(245, 158, 11, 0.26);
    background:
        radial-gradient(circle at 0% 0%, rgba(251, 191, 36, 0.12), transparent 46%),
        linear-gradient(180deg, rgba(255, 251, 235, 0.97), rgba(255, 255, 255, 0.94));
    box-shadow: 0 8px 22px rgba(245, 158, 11, 0.09);
    overflow: visible;
}

.lux-att-reg-pending__glow {
    position: absolute;
    inset: 0 0 auto 0;
    height: 2px;
    background: linear-gradient(90deg, #f59e0b, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4), transparent);
    pointer-events: none;
}

.lux-att-reg-pending--collapsed {
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.lux-att-reg-pending__collapsed-bar {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.65rem 0.8rem;
    border-radius: 12px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.99), rgba(254, 243, 199, 0.75));
    box-shadow: 0 6px 18px rgba(245, 158, 11, 0.1);
    cursor: pointer;
    text-align: left;
}

.lux-att-reg-pending__collapsed-bar:hover {
    box-shadow: 0 8px 22px rgba(245, 158, 11, 0.14);
}

.lux-att-reg-pending__collapsed-icon {
    display: inline-grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 9px;
    background: rgba(245, 158, 11, 0.16);
    color: #d97706;
    flex-shrink: 0;
    font-size: 0.85rem;
}

.lux-att-reg-pending__collapsed-copy {
    display: grid;
    gap: 0.1rem;
    flex: 1;
    min-width: 0;
}

.lux-att-reg-pending__collapsed-copy strong {
    color: #78350f;
    font-size: 0.78rem;
    font-weight: 800;
}

.lux-att-reg-pending__collapsed-copy em {
    font-style: normal;
    font-size: 0.68rem;
    color: #92400e;
}

.lux-att-reg-pending__collapsed-expand {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.68rem;
    font-weight: 700;
    color: #b45309;
    flex-shrink: 0;
}

.lux-att-reg-pending__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(253, 230, 138, 0.85);
}

.lux-att-reg-pending__eyebrow {
    display: block;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #b45309;
    margin-bottom: 0.1rem;
}

.lux-att-reg-pending__head h3 {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #78350f;
}

.lux-att-reg-pending__head p {
    margin: 0.12rem 0 0;
    font-size: 0.7rem;
    font-weight: 600;
    color: #92400e;
}

.lux-att-reg-pending__head-actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.lux-att-reg-pending__count {
    display: inline-grid;
    place-items: center;
    min-width: 1.55rem;
    height: 1.55rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.18);
    color: #b45309;
    font-size: 0.7rem;
    font-weight: 800;
}

.lux-att-reg-pending__toggle {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    color: #b45309;
    cursor: pointer;
    padding: 0.35rem 0.2rem;
}

.lux-att-reg-pending__toggle:hover {
    opacity: 0.82;
}

.lux-att-reg-pending__list {
    display: grid;
    gap: 0.45rem;
}

.lux-att-reg-pending__group {
    display: grid;
    gap: 0.4rem;
    padding: 0.35rem;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(253, 230, 138, 0.55);
}

.lux-att-reg-pending__group.is-collapsed {
    gap: 0;
}

.lux-att-reg-pending__employee {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    margin: 0;
    padding: 0.3rem 0.35rem;
    border: 0;
    border-radius: 9px;
    background: transparent;
    cursor: pointer;
    text-align: left;
    transition: background 0.12s ease;
}

.lux-att-reg-pending__employee:hover {
    background: rgba(251, 191, 36, 0.1);
}

.lux-att-reg-pending__employee-avatar {
    display: inline-grid;
    place-items: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(245, 158, 11, 0.2), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1));
    color: #92400e;
    font-size: 0.7rem;
    font-weight: 800;
    flex-shrink: 0;
}

.lux-att-reg-pending__employee-copy {
    display: grid;
    gap: 0.05rem;
    min-width: 0;
    flex: 1;
}

.lux-att-reg-pending__employee-copy strong {
    font-size: 0.78rem;
    font-weight: 800;
    color: #78350f;
    line-height: 1.2;
}

.lux-att-reg-pending__employee-copy em {
    font-style: normal;
    font-size: 0.64rem;
    font-weight: 600;
    color: #b45309;
    line-height: 1.25;
}

.lux-att-reg-pending__employee-count {
    display: inline-grid;
    place-items: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
    font-size: 0.64rem;
    font-weight: 800;
    flex-shrink: 0;
}

.lux-att-reg-pending__employee-chevron {
    color: #b45309;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.lux-att-reg-pending__card {
    padding: 0.55rem 0.6rem;
    border: 1px solid rgba(253, 230, 138, 0.9);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 12px rgba(120, 53, 15, 0.04);
}

.lux-att-reg-pending__card.is-locked {
    border-color: rgba(245, 158, 11, 0.45);
    background: rgba(255, 251, 235, 0.98);
}

.lux-att-reg-pending__card.has-conflict:not(.is-locked) {
    border-color: rgba(239, 68, 68, 0.28);
}

.lux-att-reg-pending__card-main {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}

.lux-att-reg-pending__type-icon {
    display: inline-grid;
    place-items: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 8px;
    background: rgba(245, 158, 11, 0.12);
    color: #d97706;
    font-size: 0.8rem;
    flex-shrink: 0;
}

.lux-att-reg-pending__card-copy {
    flex: 1;
    min-width: 0;
}

.lux-att-reg-pending__card-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.45rem;
    margin-bottom: 0.2rem;
}

.lux-att-reg-pending__card-title-row strong {
    font-size: 0.78rem;
    font-weight: 800;
    color: #78350f;
}

.lux-att-reg-pending__flags {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.lux-att-reg-pending__flag {
    display: inline-flex;
    align-items: center;
    gap: 0.18rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.lux-att-reg-pending__flag.is-lock {
    background: rgba(245, 158, 11, 0.15);
    color: #b45309;
}

.lux-att-reg-pending__flag.is-conflict {
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
}

.lux-att-reg-pending__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.22rem;
    font-size: 0.68rem;
    font-weight: 700;
    color: #64748b;
}

.lux-att-reg-pending__meta i {
    font-size: 0.68rem;
    color: #d97706;
}

.lux-att-reg-pending__meta-sep {
    color: #cbd5e1;
    margin: 0 0.05rem;
}

.lux-att-reg-pending__reason {
    margin: 0.28rem 0 0;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.35;
    color: #475569;
}

.lux-att-reg-pending__card .lux-att-approval-comment {
    margin-top: 0.1rem;
}

.lux-att-reg-pending__card .lux-att-approval-comment span {
    font-size: 0.64rem;
}

.lux-att-reg-pending__card .lux-att-approval-comment__input {
    min-height: 2.4rem;
    padding: 0.4rem 0.5rem;
    font-size: 0.72rem;
}

.lux-att-reg-pending__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.45rem;
}

.lux-att-reg-pending__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.75rem;
    padding: 0.28rem 0.7rem;
    border: 0;
    border-radius: 8px;
    font-size: 0.7rem;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.12s ease, opacity 0.12s ease;
}

.lux-att-reg-pending__btn.is-primary {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.22);
}

.lux-att-reg-pending__btn.is-danger {
    background: rgba(254, 242, 242, 0.98);
    color: #b91c1c;
    box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.22);
}

.lux-att-reg-pending__btn:hover:not(:disabled) {
    transform: translateY(-1px);
}

.lux-att-reg-pending__btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
}

@media (max-width: 640px) {
    .lux-att-reg-pending__head {
        flex-direction: column;
    }

    .lux-att-reg-pending__actions {
        flex-direction: column;
    }

    .lux-att-reg-pending__btn {
        width: 100%;
    }
}

.lux-att-lock-banner {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0 0.75rem 0.75rem;
    padding: 0.7rem 0.9rem;
    border-radius: 14px;
    background: rgba(245, 158, 11, 0.1);
    border: 0px solid rgba(245, 158, 11, 0.28);
    color: #92400e;
    font-size: 0.75rem;
    font-weight: 700;
    box-shadow: 0 6px 18px rgba(245, 158, 11, 0.08);
}

.lux-att-lock-banner i {
    font-size: 0.875rem;
}

/* View tabs + regularize CTA */
.lux-att-view-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0 0.75rem 0.75rem;
    padding: 0.35rem;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.95);
    border: 0px solid rgba(226, 232, 240, 0.95);
    width: fit-content;
    max-width: calc(100% - 1.5rem);
}

.lux-att-view-tabs__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 0px solid transparent;
    background: transparent;
    border-radius: 999px;
    padding: 0.45rem 0.9rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.lux-att-view-tabs__btn i {
    font-size: 0.75rem;
}

.lux-att-view-tabs__btn.is-active {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-att-you__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.55rem;
    margin-left: auto;
}

.lux-att-you__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
    margin-top: 0.15rem;
}

.lux-att-you__apply-leave,
.lux-att-you__regularize {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin-top: 0;
    min-height: 2rem;
    padding: 0 0.85rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-att-you__apply-leave {
    border: 1px solid rgba(220, 38, 38, 0.35);
    background: rgba(254, 226, 226, 0.85);
    color: #b91c1c;
}

.lux-att-you__apply-leave:hover {
    transform: translateY(-1px);
    background: rgba(254, 202, 202, 0.95);
    color: #991b1b;
}

.lux-att-you__regularize {
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-att-you__regularize:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.34);
}

.lux-att-you__apply-leave i,
.lux-att-you__regularize i {
    font-size: 0.75rem;
}

@media (max-width: 768px) {
    .lux-att-policy__metrics,
    .lux-att-intel__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-att-reg__grid {
        grid-template-columns: 1fr;
    }

    .lux-att-policy__types {
        grid-template-columns: 1fr;
    }

    .lux-att-view-tabs {
        width: auto;
        max-width: none;
    }
}

/* F06 — Timesheet intelligence (luxury) */
.lux-ts-view-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: var(--lux-page-block-gap-y) 0;
    padding: 0.35rem;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.95);
    width: fit-content;
    max-width: 100%;
    border: 0px solid rgba(226, 232, 240, 0.95);
}

.lux-ts-view-tabs__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 0;
    background: transparent;
    border-radius: 999px;
    padding: 0.45rem 0.9rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #64748b;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.lux-ts-view-tabs__btn i {
    font-size: 0.75rem;
}

.lux-ts-view-tabs__btn.is-active {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-ts-intel {
    position: relative;
    margin: var(--lux-page-block-gap-y) 0;
    padding: 0.95rem 1rem 1.05rem;
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    border-radius: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05),
        0 12px 32px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.lux-ts-intel__glow {
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25));
    pointer-events: none;
}

.lux-ts-intel__hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-ts-intel__hero-aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.45rem;
    flex-shrink: 0;
}

.lux-ts-intel__title {
    margin: 0.15rem 0 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-ts-intel__subtitle {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
    max-width: 36rem;
}

.lux-ts-intel__hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-intel__hero-badge i {
    font-size: 0.75rem;
}

.lux-ts-intel__source {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.lux-ts-intel__source.is-api { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-ts-intel__source.is-client { background: rgba(245, 158, 11, 0.12); color: #b45309; }

.lux-ts-intel__highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.85rem;
}

.lux-ts-intel__highlight {
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-ts-intel__highlight span {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-ts-intel__highlight strong {
    display: block;
    margin-top: 0.12rem;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-intel__highlight strong.is-status {
    font-size: 0.8125rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-intel__metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.85rem;
}

.lux-ts-intel__metric {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.65rem 0.75rem;
    border: 0px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-ts-intel__metric-icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.875rem;
    flex-shrink: 0;
}

.lux-ts-intel__metric span {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-ts-intel__metric strong {
    display: block;
    margin-top: 0.12rem;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.lux-ts-intel__metric.is-warning .lux-ts-intel__metric-icon,
.lux-ts-intel__metric.is-warning strong { color: #b45309; }
.lux-ts-intel__metric.is-warning .lux-ts-intel__metric-icon { background: rgba(245, 158, 11, 0.14); }
.lux-ts-intel__metric.is-success .lux-ts-intel__metric-icon,
.lux-ts-intel__metric.is-success strong { color: #059669; }
.lux-ts-intel__metric.is-success .lux-ts-intel__metric-icon { background: rgba(16, 185, 129, 0.12); }
.lux-ts-intel__metric.is-pending .lux-ts-intel__metric-icon,
.lux-ts-intel__metric.is-pending strong { color: #7c3aed; }
.lux-ts-intel__metric.is-pending .lux-ts-intel__metric-icon { background: rgba(124, 58, 237, 0.12); }
.lux-ts-intel__metric.is-info .lux-ts-intel__metric-icon,
.lux-ts-intel__metric.is-info strong { color: var(--lux-primary-dark, #3730a3); }
.lux-ts-intel__metric.is-danger .lux-ts-intel__metric-icon,
.lux-ts-intel__metric.is-danger strong { color: #be123c; }
.lux-ts-intel__metric.is-danger .lux-ts-intel__metric-icon { background: rgba(225, 29, 72, 0.12); }

.lux-ts-intel__card-glow {
    position: absolute;
    inset: 0 0 auto 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35), transparent);
    pointer-events: none;
}

.lux-ts-intel__section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
}

.lux-ts-intel__section-head h4,
.lux-ts-intel__section-head h5 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-intel__section-head p {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.4;
}

.lux-ts-intel__compliance,
.lux-ts-intel__billability,
.lux-ts-intel__agent {
    position: relative;
    margin-top: 0.75rem;
    padding: 0.85rem;
    border-radius: 14px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 50%),
        rgba(255, 255, 255, 0.88);
    border: 0px solid rgba(226, 232, 240, 0.95);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 6px 18px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.lux-ts-intel__insights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.lux-ts-intel__insights .lux-ts-intel__billability,
.lux-ts-intel__insights .lux-ts-intel__agent {
    margin-top: 0;
}

.lux-ts-intel__empty {
    margin: 0.55rem 0 0;
    padding: 0.85rem;
    border-radius: 12px;
    background: rgba(16, 185, 129, 0.06);
    font-size: 0.75rem;
    font-weight: 700;
    color: #047857;
    text-align: center;
}

.lux-ts-intel__compliance-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 0.55rem;
    margin: 0.65rem 0 0;
    padding: 0;
    list-style: none;
}

.lux-ts-intel__compliance-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 0.75rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
}

.lux-ts-intel__compliance-card.is-warning { background: rgba(255, 251, 235, 0.95); }
.lux-ts-intel__compliance-card.is-pending { background: rgba(245, 243, 255, 0.95); }

.lux-ts-intel__compliance-icon {
    display: grid;
    place-items: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
    font-size: 0.9rem;
}

.lux-ts-intel__compliance-card.is-warning .lux-ts-intel__compliance-icon {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.lux-ts-intel__compliance-card.is-pending .lux-ts-intel__compliance-icon {
    background: rgba(124, 58, 237, 0.12);
    color: #7c3aed;
}

.lux-ts-intel__compliance-copy strong {
    display: block;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-intel__compliance-copy span {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-ts-intel__compliance-tags {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
}

.lux-ts-intel__tag {
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-ts-intel__tag.is-warning { background: rgba(245, 158, 11, 0.16); color: #b45309; }
.lux-ts-intel__tag.is-pending { background: rgba(124, 58, 237, 0.14); color: #6d28d9; }

.lux-ts-intel__compliance-tags em {
    font-style: normal;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-ts-intel__ring {
    --lux-active-pct: 0%;
    position: relative;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 999px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    background:
        conic-gradient(
            #059669 0 var(--lux-active-pct),
            #e2e8f0 var(--lux-active-pct) 100%
        );
}

.lux-ts-intel__ring::before {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: inherit;
    background: #fff;
}

.lux-ts-intel__ring span {
    position: relative;
    z-index: 1;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #047857;
}

.lux-ts-intel__billability-chart,
.lux-ts-intel__daily-chart ul,
.lux-ts-intel__agent-log {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-ts-intel__billability-chart li,
.lux-ts-intel__daily-chart li {
    display: grid;
    grid-template-columns: 5.5rem 1fr 2.75rem;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.45rem;
}

.lux-ts-intel__chart-block,
.lux-ts-intel__daily-chart {
    margin-top: 0.75rem;
    padding-top: 0.65rem;
    border-top: 1px solid rgba(226, 232, 240, 0.85);
}

.lux-ts-intel__chart-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
}

.lux-ts-intel__chart-head h5 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-intel__chart-head span {
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-ts-intel__chart-label,
.lux-ts-intel__chart-value {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-ts-intel__chart-value {
    text-align: right;
    color: #0f172a;
}

.lux-ts-intel__bar-track {
    height: 0.5rem;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.95);
    overflow: hidden;
}

.lux-ts-intel__bar-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    transition: width 0.35s ease;
}

.lux-ts-intel__bar-fill.is-leakage { background: linear-gradient(90deg, #f59e0b, #d97706); }
.lux-ts-intel__bar-fill.is-leave { background: linear-gradient(90deg, #a78bfa, #7c3aed); }
.lux-ts-intel__bar-fill.is-strong { background: linear-gradient(90deg, #10b981, #059669); }
.lux-ts-intel__bar-fill.is-weak { background: linear-gradient(90deg, #f59e0b, #d97706); }

.lux-ts-intel__billability-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin: 0.55rem 0;
}

.lux-ts-intel__billability-metric {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
}

.lux-ts-intel__billability-metric > i {
    display: grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 9px;
    font-size: 0.8rem;
    flex-shrink: 0;
}

.lux-ts-intel__billability-metric.is-billable > i {
    background: rgba(16, 185, 129, 0.12);
    color: #059669;
}

.lux-ts-intel__billability-metric.is-leakage > i {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.lux-ts-intel__billability-metric span {
    display: block;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-ts-intel__billability-metric strong {
    display: block;
    margin-top: 0.1rem;
    font-size: 1.05rem;
    font-weight: 800;
}

.lux-ts-intel__billability-metric.is-billable strong { color: #059669; }
.lux-ts-intel__billability-metric.is-leakage strong { color: #b45309; }

.lux-ts-intel__agent {
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 55%),
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.lux-ts-intel__agent-head {
    display: flex;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
}

.lux-ts-intel__agent-head h4 {
    margin: 0.15rem 0 0;
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-intel__agent-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-intel__agent-badge,
.lux-ts-intel__rec-badge {
    flex-shrink: 0;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #475569;
}

.lux-ts-intel__agent-context {
    margin: 0 0 0.35rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #334155;
}

.lux-ts-intel__agent-summary {
    margin: 0 0 0.55rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.45;
}

.lux-ts-intel__agent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.lux-ts-intel__agent-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2rem;
    padding: 0 0.85rem;
    border: 0;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.lux-ts-intel__agent-btn:active {
    transform: translateY(1px);
}

.lux-ts-intel__agent-btn.is-accept {
    background: linear-gradient(135deg, #10b981, #059669);
    color: #fff;
    box-shadow: 0 6px 14px rgba(5, 150, 105, 0.28);
}

.lux-ts-intel__agent-btn.is-reject {
    background: rgba(254, 242, 242, 0.95);
    color: #b91c1c;
    box-shadow: inset 0 0 0 1px rgba(225, 29, 72, 0.12);
}

.lux-ts-intel__agent-btn.is-defer {
    background: rgba(248, 250, 252, 0.95);
    color: #475569;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.25);
}

.lux-ts-intel__agent-log {
    margin: 0.65rem 0 0;
}

.lux-ts-intel__agent-log-item {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.45rem 0.55rem;
    margin-bottom: 0.35rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.72);
    font-size: 0.6875rem;
}

.lux-ts-intel__agent-log-item strong {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-ts-intel__agent-log-item.is-accept strong { color: #047857; }
.lux-ts-intel__agent-log-item.is-reject strong { color: #be123c; }
.lux-ts-intel__agent-log-item.is-defer strong { color: #475569; }

.lux-ts-intel__rec {
    position: relative;
    margin: 0 0.75rem 0.65rem;
    padding: 0.85rem 0.95rem;
    border-radius: 16px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 55%),
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
    border: 0px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.65),
        0 8px 22px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.lux-ts-intel__rec-glow {
    position: absolute;
    inset: 0 0 auto 0;
    height: 2px;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), transparent);
    pointer-events: none;
}

.lux-ts-intel__rec.is-compact {
    margin-left: 0;
    margin-right: 0;
}

.lux-ts-intel__rec-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
}

.lux-ts-intel__rec-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ts-intel__rec-title {
    margin: 0.15rem 0 0;
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-intel__rec-summary {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #334155;
}

.lux-ts-intel__rec-action {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #475569;
    line-height: 1.45;
}

.lux-ts-intel__rec-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    margin-top: 0.55rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
}

.lux-ts-intel__rec-confidence.is-high { color: #047857; }
.lux-ts-intel__rec-confidence.is-medium { color: #b45309; }

.lux-ts-intel__rec-disclaimer {
    font-size: 0.625rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-ts-intel.is-loading {
    min-height: 12rem;
}

.lux-ts-intel.is-loading .lux-ts-intel__skeleton,
.lux-ts-intel__rec.is-loading .lux-ts-intel__rec-skeleton {
    min-height: 10rem;
    border-radius: 14px;
    background: linear-gradient(90deg, rgba(226, 232, 240, 0.45), rgba(248, 250, 252, 0.95), rgba(226, 232, 240, 0.45));
    background-size: 200% 100%;
    animation: lux-att-f05-shimmer 1.4s ease-in-out infinite;
}

@media (max-width: 992px) {
    .lux-ts-intel__insights {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .lux-ts-view-tabs {
        width: auto;
        max-width: none;
    }

    .lux-ts-intel__hero {
        flex-direction: column;
    }

    .lux-ts-intel__hero-aside {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
    }

    .lux-ts-intel__highlights,
    .lux-ts-intel__metrics,
    .lux-ts-intel__billability-metrics {
        grid-template-columns: 1fr;
    }
}

/* ── F07 Universal approval inbox ───────────────────────────────────────── */

.lux-appr-page {
    --appr-accent: var(--lux-primary, #5b5ff4);
}

.lux-appr-page > .lux-module-hero {
    margin-bottom: 0;
}

.lux-appr-hero {
    position: relative;
}

.lux-appr-hero__source {
    align-self: flex-start;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.35);
}

.lux-data-source-dot {
    display: inline-block;
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 999px;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.85);
}

.lux-data-source-dot.is-live {
    background: #22c55e;
    box-shadow:
        0 0 0 3px rgba(255, 255, 255, 0.9),
        0 0 0 5px rgba(34, 197, 94, 0.22);
}

.lux-data-source-dot.is-demo {
    background: #f59e0b;
    box-shadow:
        0 0 0 3px rgba(255, 255, 255, 0.9),
        0 0 0 5px rgba(245, 158, 11, 0.18);
}

.lux-header__live-dot {
    align-self: center;
    margin-right: 0.15rem;
}

.lux-appr-kpi-strip {
    margin: 0.65rem var(--lux-page-gutter-x, 1rem) 0.5rem;
    gap: 0.65rem;
}

.lux-appr-kpi-strip .lux-appr-kpi.is-amber { --kpi-accent: #d97706; }
.lux-appr-kpi-strip .lux-appr-kpi.is-rose { --kpi-accent: #e11d48; }
.lux-appr-kpi-strip .lux-appr-kpi.is-violet { --kpi-accent: #7c3aed; }

.lux-appr-kpi.is-interactive {
    cursor: pointer;
    text-align: left;
    font: inherit;
    width: 100%;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.lux-appr-kpi.is-interactive:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.lux-appr-kpi.is-interactive:focus-visible {
    outline: 2px solid var(--appr-accent, #5b5ff4);
    outline-offset: 2px;
}

.lux-appr-kpi.is-active {
    box-shadow:
        inset 0 0 0 2px rgba(15, 23, 42, 0.14),
        0 10px 24px rgba(15, 23, 42, 0.1);
}

.lux-appr-kpi.is-rose.is-active {
    box-shadow:
        inset 0 0 0 2px rgba(225, 29, 72, 0.4),
        0 10px 24px rgba(225, 29, 72, 0.16);
}

.lux-appr-kpi.is-amber.is-active {
    box-shadow:
        inset 0 0 0 2px rgba(217, 119, 6, 0.4),
        0 10px 24px rgba(217, 119, 6, 0.16);
}

.lux-appr-panel .lux-hrms-dash__panel-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Flush register-style toolbar under hero */
.lux-appr-toolbar--flush,
.lux-appr-page > .lux-appr-toolbar {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.75rem;
    margin: 0;
    padding: 0.55rem var(--lux-page-gutter-x, 1rem);
    border-radius: 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.lux-appr-toolbar__search {
    position: relative;
    flex: 1 1 14rem;
    min-width: 11rem;
    max-width: 22rem;
}

.lux-appr-toolbar__search .fe {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.lux-appr-toolbar__search-input {
    width: 100%;
    padding: 0.45rem 0.75rem 0.45rem 2.1rem;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.95);
    font-size: 0.8125rem;
}

.lux-appr-toolbar__count {
    font-size: 0.75rem;
    color: #64748b;
    white-space: nowrap;
}

.lux-appr-toolbar__count strong {
    color: #0f172a;
    font-size: 0.875rem;
    margin-right: 0.2rem;
}

.lux-appr-toolbar__status {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
}

.lux-appr-toolbar__select-wrap {
    display: inline-flex;
    margin: 0;
}

.lux-appr-toolbar__select {
    appearance: none;
    -webkit-appearance: none;
    min-width: 8.5rem;
    max-width: 12rem;
    padding: 0.4rem 1.75rem 0.4rem 0.65rem;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.95)
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")
        no-repeat right 0.55rem center / 0.7rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
}

.lux-appr-toolbar__select:focus {
    outline: none;
    border-color: rgba(91, 95, 244, 0.45);
    box-shadow: 0 0 0 3px rgba(91, 95, 244, 0.12);
}

.lux-appr-toolbar__clear {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.65rem;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(248, 250, 252, 0.9);
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
}

.lux-appr-toolbar__clear:hover {
    color: #0f172a;
    border-color: rgba(100, 116, 139, 0.4);
}

.lux-appr-list-section {
    margin-top: 0.35rem;
}

.lux-appr-list-section .lux-workspace-saved-view-bar {
    margin: 0;
    padding: 0.65rem var(--lux-list-pad-x, 1rem) 0.35rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    background: rgba(248, 250, 252, 0.55);
}

.lux-appr-list-section .lux-appr-register-wrap {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    max-width: 100%;
    min-width: 0;
}

.lux-appr-list-section .lux-appr-empty,
.lux-appr-list-section .lux-appr-register__skeleton {
    margin: 0.75rem var(--lux-list-pad-x, 1rem) 1rem;
}

.lux-appr-register-wrap {
    overflow-x: hidden;
    max-width: 100%;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(255, 255, 255, 0.62);
}

.lux-appr-register {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 0.8125rem;
}

.lux-appr-register__col--request { width: 38%; }
.lux-appr-register__col--domain { width: 14%; }
.lux-appr-register__col--priority { width: 14%; }
.lux-appr-register__col--due { width: 18%; }
.lux-appr-register__col--status { width: 16%; }

.lux-appr-register thead th,
.lux-appr-register tbody td {
    overflow: hidden;
}

.lux-appr-register thead th {
    padding: 0.5rem 0.65rem;
    text-align: left;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(248, 250, 252, 0.85);
    white-space: nowrap;
}

.lux-appr-register tbody td {
    padding: 0.55rem 0.65rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    vertical-align: middle;
}

.lux-appr-register__row td > * {
    vertical-align: middle;
}

.lux-appr-register__priority-cell {
    display: flex;
    align-items: center;
    min-height: 2.35rem;
    min-width: 0;
    flex-wrap: wrap;
    gap: 0.2rem;
}

.lux-appr-register__due-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.2rem;
    min-height: 2.35rem;
    min-width: 0;
}

.lux-appr-register__row {
    cursor: pointer;
    transition: background 0.12s ease;
}

.lux-appr-register__row.is-high {
    background: linear-gradient(90deg, rgba(254, 226, 226, 0.4), transparent 55%);
}

.lux-appr-register__row.is-high > td:first-child {
    position: relative;
}

.lux-appr-register__row.is-high > td:first-child::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #e11d48;
    pointer-events: none;
}

/* Payroll-critical timesheet & attendance — luxury urgent treatment */
.lux-appr-register__row.is-attention > td:first-child {
    position: relative;
}

.lux-appr-register__row.is-attention > td:first-child::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    pointer-events: none;
    z-index: 1;
}

.lux-appr-register__row.is-attention-urgent > td:first-child::before {
    width: 5px;
}

.lux-appr-register__row.is-attention-critical > td:first-child::before {
    width: 6px;
}

.lux-appr-register__row.is-attention-elevated > td:first-child::before {
    background: #d97706;
}

.lux-appr-register__row.is-domain-timesheet.is-attention-elevated > td:first-child::before {
    background: #ea580c;
}

.lux-appr-register__row.is-domain-attendance.is-attention-elevated > td:first-child::before,
.lux-appr-register__row.is-domain-attendance_regularization.is-attention-elevated > td:first-child::before {
    background: #059669;
}

.lux-appr-register__row.is-attention-urgent > td:first-child::before {
    background: #d97706;
}

.lux-appr-register__row.is-domain-timesheet.is-attention-urgent > td:first-child::before {
    background: #ea580c;
}

.lux-appr-register__row.is-domain-attendance.is-attention-urgent > td:first-child::before,
.lux-appr-register__row.is-domain-attendance_regularization.is-attention-urgent > td:first-child::before {
    background: #059669;
}

.lux-appr-register__row.is-attention-critical > td:first-child::before {
    background: #dc2626;
}

.lux-appr-register__row.is-domain-timesheet.is-attention-critical > td:first-child::before {
    background: #c2410c;
}

.lux-appr-register__row.is-domain-attendance.is-attention-critical > td:first-child::before,
.lux-appr-register__row.is-domain-attendance_regularization.is-attention-critical > td:first-child::before {
    background: #047857;
}

.lux-appr-register__row.is-attention-elevated {
    background: linear-gradient(105deg, rgba(255, 251, 235, 0.92) 0%, rgba(255, 255, 255, 0.35) 62%);
}

.lux-appr-register__row.is-domain-timesheet.is-attention-elevated {
    background: linear-gradient(105deg, rgba(255, 247, 237, 0.95) 0%, rgba(255, 255, 255, 0.35) 62%);
}

.lux-appr-register__row.is-domain-attendance.is-attention-elevated,
.lux-appr-register__row.is-domain-attendance_regularization.is-attention-elevated {
    background: linear-gradient(105deg, rgba(236, 253, 245, 0.95) 0%, rgba(255, 255, 255, 0.35) 62%);
}

.lux-appr-register__row.is-attention-urgent {
    background: linear-gradient(105deg, rgba(254, 243, 199, 0.95) 0%, rgba(255, 255, 255, 0.28) 58%);
}

.lux-appr-register__row.is-domain-timesheet.is-attention-urgent {
    background: linear-gradient(105deg, rgba(255, 237, 213, 0.98) 0%, rgba(255, 255, 255, 0.25) 58%);
}

.lux-appr-register__row.is-domain-attendance.is-attention-urgent,
.lux-appr-register__row.is-domain-attendance_regularization.is-attention-urgent {
    background: linear-gradient(105deg, rgba(209, 250, 229, 0.98) 0%, rgba(255, 255, 255, 0.25) 58%);
}

.lux-appr-register__row.is-attention-critical {
    background: linear-gradient(105deg, rgba(254, 226, 226, 0.98) 0%, rgba(255, 251, 235, 0.55) 45%, rgba(255, 255, 255, 0.2) 70%);
    animation: lux-appr-attention-pulse 2.8s ease-in-out infinite;
}

.lux-appr-register__row.is-domain-timesheet.is-attention-critical {
    background: linear-gradient(105deg, rgba(254, 215, 170, 0.98) 0%, rgba(254, 226, 226, 0.72) 42%, rgba(255, 255, 255, 0.18) 72%);
}

.lux-appr-register__row.is-domain-attendance.is-attention-critical,
.lux-appr-register__row.is-domain-attendance_regularization.is-attention-critical {
    background: linear-gradient(105deg, rgba(167, 243, 208, 0.98) 0%, rgba(254, 226, 226, 0.68) 42%, rgba(255, 255, 255, 0.18) 72%);
}

@keyframes lux-appr-attention-pulse {
    0%, 100% { filter: brightness(1); }
    50% { filter: brightness(1.03); }
}

.lux-appr-register__row.is-attention:hover {
    filter: brightness(1.03);
}

.lux-appr-register__row:hover:not(.is-attention) {
    background: rgba(241, 245, 249, 0.95);
}

.lux-appr-register__row.is-attention:focus-visible {
    outline: 2px solid #d97706;
    outline-offset: -2px;
}

.lux-appr-register__row.is-attention-critical:focus-visible {
    outline-color: #dc2626;
}

.lux-appr-attention-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.22rem 0.62rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
    border: 1px solid transparent;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.lux-appr-attention-badge i {
    font-size: 0.75rem;
}

.lux-appr-attention-badge.is-elevated {
    color: #92400e;
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(254, 243, 199, 0.88));
    border-color: rgba(217, 119, 6, 0.28);
}

.lux-appr-attention-badge.is-urgent {
    color: #9a3412;
    background: linear-gradient(135deg, rgba(255, 237, 213, 0.98), rgba(254, 215, 170, 0.92));
    border-color: rgba(234, 88, 12, 0.35);
    box-shadow: 0 0 0 1px rgba(234, 88, 12, 0.08), 0 4px 14px rgba(234, 88, 12, 0.12);
}

.lux-appr-attention-badge.is-critical {
    color: #991b1b;
    background: linear-gradient(135deg, rgba(254, 226, 226, 0.98), rgba(254, 202, 202, 0.92));
    border-color: rgba(220, 38, 38, 0.38);
    box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.1), 0 6px 18px rgba(220, 38, 38, 0.16);
    animation: lux-appr-badge-glow 2.4s ease-in-out infinite;
}

.lux-appr-attention-badge.is-compact {
    align-self: flex-start;
    margin-top: 0;
    font-size: 0.625rem;
    padding: 0.16rem 0.48rem;
    max-width: 100%;
}

.lux-appr-register__priority-cell .lux-appr-attention-badge.is-compact {
    display: inline-flex;
    max-width: 100%;
}

.lux-appr-register__priority-cell .lux-appr-attention-badge.is-compact span {
    overflow: hidden;
    text-overflow: ellipsis;
}

@keyframes lux-appr-badge-glow {
    0%, 100% { box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.1), 0 6px 18px rgba(220, 38, 38, 0.14); }
    50% { box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.22), 0 8px 22px rgba(220, 38, 38, 0.22); }
}

.lux-appr-register__domain-icon {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 252, 0.85));
    border: 1px solid rgba(148, 163, 184, 0.22);
}

.lux-appr-register__domain-icon i {
    color: var(--appr-accent, #5b5ff4);
    font-size: 0.9rem;
}

.lux-appr-register__row.is-domain-timesheet.is-attention .lux-appr-register__domain-icon {
    background: linear-gradient(145deg, #fff7ed, #ffedd5);
    border-color: rgba(234, 88, 12, 0.28);
}

.lux-appr-register__row.is-domain-timesheet.is-attention .lux-appr-register__domain-icon i {
    color: #c2410c;
}

.lux-appr-register__row.is-domain-attendance.is-attention .lux-appr-register__domain-icon,
.lux-appr-register__row.is-domain-attendance_regularization.is-attention .lux-appr-register__domain-icon {
    background: linear-gradient(145deg, #ecfdf5, #d1fae5);
    border-color: rgba(5, 150, 105, 0.28);
}

.lux-appr-register__row.is-domain-attendance.is-attention .lux-appr-register__domain-icon i,
.lux-appr-register__row.is-domain-attendance_regularization.is-attention .lux-appr-register__domain-icon i {
    color: #047857;
}

.lux-appr-register__review-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #9a3412;
    background: linear-gradient(135deg, #fff7ed, #ffedd5);
    border: 1px solid rgba(234, 88, 12, 0.32);
    box-shadow: 0 4px 14px rgba(234, 88, 12, 0.12);
    white-space: nowrap;
}

.lux-appr-register__review-cta--icon {
    width: 1.85rem;
    height: 1.85rem;
    padding: 0;
    border-radius: 10px;
}

.lux-appr-register__row.is-domain-attendance .lux-appr-register__review-cta,
.lux-appr-register__row.is-domain-attendance_regularization .lux-appr-register__review-cta {
    color: #065f46;
    background: linear-gradient(135deg, #ecfdf5, #d1fae5);
    border-color: rgba(5, 150, 105, 0.32);
    box-shadow: 0 4px 14px rgba(5, 150, 105, 0.12);
}

.lux-appr-register__row.is-attention-critical .lux-appr-register__review-cta {
    color: #991b1b;
    background: linear-gradient(135deg, #fef2f2, #fecaca);
    border-color: rgba(220, 38, 38, 0.35);
    box-shadow: 0 6px 18px rgba(220, 38, 38, 0.16);
}

.lux-appr-register__review-cta i {
    font-size: 0.75rem;
}

.lux-appr-register__row:focus-visible {
    outline: 2px solid var(--appr-accent, #5b5ff4);
    outline-offset: -2px;
}

.lux-appr-register__request {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    width: 100%;
}

.lux-appr-register__avatar {
    width: 2rem;
    height: 2rem;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.625rem;
    font-weight: 800;
    color: #fff;
    background: var(--appr-accent, #5b5ff4);
    flex-shrink: 0;
}

.lux-appr-register__avatar.is-mint { background: #059669; }
.lux-appr-register__avatar.is-primary { background: var(--lux-primary, #5b5ff4); }
.lux-appr-register__avatar.is-amber { background: #d97706; }
.lux-appr-register__avatar.is-violet { background: #7c3aed; }
.lux-appr-register__avatar.is-sky { background: #0284c7; }
.lux-appr-register__avatar.is-slate { background: #64748b; }

.lux-appr-register__request-copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.lux-appr-register__request-copy strong {
    color: #0f172a;
    font-size: 0.875rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.lux-appr-register__request-copy span,
.lux-appr-register__request-copy .lux-appr-register__subject {
    color: #64748b;
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.lux-appr-register__requester-meta {
    font-style: normal;
    font-size: 0.68rem;
    font-weight: 700;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.lux-appr-register__delegate {
    margin-top: 0.2rem;
}

.lux-appr-drawer__requester-meta {
    display: inline-block;
    margin-left: 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
}

.lux-appr-register__domain {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    max-width: 100%;
    min-height: 2.35rem;
}

.lux-appr-register__domain-copy {
    min-width: 0;
    overflow: hidden;
}

.lux-appr-register__domain-copy strong {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-appr-register__domain-module {
    display: none;
}

.lux-appr-register__domain i,
.lux-appr-register__domain-icon i {
    color: var(--appr-accent, #5b5ff4);
}

.lux-appr-register__due {
    color: #475569;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.lux-appr-register__due-cell .lux-appr-sla-badge {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-appr-register__priority-cell .lux-appr-badge {
    max-width: 100%;
}

.lux-appr-register__open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.85);
    color: #94a3b8;
}

.lux-appr-register__row:hover:not(.is-attention) .lux-appr-register__open {
    color: var(--appr-accent, #5b5ff4);
    border-color: rgba(91, 95, 244, 0.35);
}

.lux-appr-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.lux-appr-badge--warning { color: #b45309; background: rgba(251, 191, 36, 0.18); }
.lux-appr-badge--success { color: #047857; background: rgba(16, 185, 129, 0.16); }
.lux-appr-badge--danger { color: #b91c1c; background: rgba(248, 113, 113, 0.18); }
.lux-appr-badge--slate { color: #475569; background: rgba(148, 163, 184, 0.2); }

.lux-appr-register__skeleton {
    min-height: 14rem;
    border-radius: 14px;
    background: linear-gradient(90deg, rgba(226, 232, 240, 0.45), rgba(248, 250, 252, 0.95), rgba(226, 232, 240, 0.45));
    background-size: 200% 100%;
    animation: lux-att-f05-shimmer 1.4s ease-in-out infinite;
}

.lux-appr-empty {
    margin-top: 0.5rem;
}

.lux-appr-drawer.lux-onb-drawer {
    width: min(32rem, 100%);
    --appr-accent: var(--onb-drawer-accent, var(--lux-primary, #5b5ff4));
}

.lux-appr-drawer--punch {
    --appr-accent: #d97706;
    --onb-drawer-accent: #d97706;
    --onb-drawer-accent-rgb: 217, 119, 6;
}

.lux-appr-drawer__accent {
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, var(--appr-accent), rgba(var(--onb-drawer-accent-rgb, 91, 95, 244), 0.35), transparent);
    pointer-events: none;
    z-index: 2;
}

.lux-appr-drawer__head {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
}

.lux-appr-drawer__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--appr-accent, #94a3b8);
    margin-bottom: 0.25rem;
}

.lux-appr-drawer__body.lux-onb-drawer__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    padding: 0;
    overflow: hidden;
}

.lux-appr-drawer__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 0.9rem 1.1rem 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lux-appr-drawer__banner {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.7rem 0.85rem;
    border-radius: 14px;
    background: rgba(var(--onb-drawer-accent-rgb, 91, 95, 244), 0.08);
    border: 1px solid rgba(var(--onb-drawer-accent-rgb, 91, 95, 244), 0.16);
    font-size: 0.75rem;
    color: #475569;
}

.lux-appr-drawer__banner p {
    margin: 0;
    line-height: 1.45;
}

.lux-appr-drawer__banner--info {
    background: rgba(14, 165, 233, 0.08);
    border-color: rgba(14, 165, 233, 0.2);
}

.lux-appr-drawer__attention-banner {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 0.85rem;
    padding: 1rem 1.05rem;
    border-radius: 14px;
    border: 1px solid transparent;
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(255, 255, 255, 0.88));
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.lux-appr-drawer__attention-banner.is-elevated {
    border-color: rgba(217, 119, 6, 0.22);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(254, 243, 199, 0.72));
}

.lux-appr-drawer__attention-banner.is-urgent {
    border-color: rgba(234, 88, 12, 0.28);
    background: linear-gradient(135deg, rgba(255, 237, 213, 0.98), rgba(254, 215, 170, 0.78));
    box-shadow: 0 12px 32px rgba(234, 88, 12, 0.12);
}

.lux-appr-drawer__attention-banner.is-critical {
    border-color: rgba(220, 38, 38, 0.32);
    background: linear-gradient(135deg, rgba(254, 226, 226, 0.98), rgba(254, 202, 202, 0.78));
    box-shadow: 0 14px 36px rgba(220, 38, 38, 0.14);
    animation: lux-appr-badge-glow 2.6s ease-in-out infinite;
}

.lux-appr-drawer--timesheet.lux-appr-drawer--attention .lux-appr-drawer__attention-banner.is-elevated,
.lux-appr-drawer--timesheet.lux-appr-drawer--attention .lux-appr-drawer__attention-banner.is-urgent {
    border-color: rgba(234, 88, 12, 0.28);
    background: linear-gradient(135deg, rgba(255, 247, 237, 0.98), rgba(255, 237, 213, 0.82));
}

.lux-appr-drawer--attendance.lux-appr-drawer--attention .lux-appr-drawer__attention-banner.is-elevated,
.lux-appr-drawer--attendance.lux-appr-drawer--attention .lux-appr-drawer__attention-banner.is-urgent {
    border-color: rgba(5, 150, 105, 0.28);
    background: linear-gradient(135deg, rgba(236, 253, 245, 0.98), rgba(209, 250, 229, 0.82));
}

.lux-appr-drawer__attention-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #9a3412;
    background: linear-gradient(145deg, #fff7ed, #ffedd5);
    border: 1px solid rgba(234, 88, 12, 0.24);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.lux-appr-drawer__attention-banner.is-critical .lux-appr-drawer__attention-icon {
    color: #991b1b;
    background: linear-gradient(145deg, #fef2f2, #fecaca);
    border-color: rgba(220, 38, 38, 0.28);
}

.lux-appr-drawer--attendance .lux-appr-drawer__attention-icon {
    color: #065f46;
    background: linear-gradient(145deg, #ecfdf5, #d1fae5);
    border-color: rgba(5, 150, 105, 0.24);
}

.lux-appr-drawer__attention-copy {
    flex: 1;
    min-width: 0;
}

.lux-appr-drawer__attention-copy strong {
    display: block;
    font-size: 0.875rem;
    color: #0f172a;
    margin-bottom: 0.2rem;
}

.lux-appr-drawer__attention-copy p {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #475569;
}

.lux-appr-drawer__attention-banner .lux-appr-attention-badge {
    align-self: center;
    flex-shrink: 0;
}

.lux-appr-drawer--attention-critical .lux-appr-drawer__accent {
    height: 4px;
    background: linear-gradient(90deg, #dc2626, #ea580c, rgba(234, 88, 12, 0.35), transparent);
}

.lux-appr-drawer--attention-urgent .lux-appr-drawer__accent {
    height: 4px;
    background: linear-gradient(90deg, #d97706, #f59e0b, rgba(245, 158, 11, 0.35), transparent);
}

.lux-appr-drawer__btn--urgent {
    min-width: 8.5rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    box-shadow: 0 8px 22px rgba(16, 185, 129, 0.28);
}

.lux-appr-drawer--attention-critical .lux-appr-drawer__btn--urgent {
    box-shadow: 0 10px 26px rgba(16, 185, 129, 0.34);
    animation: lux-appr-badge-glow 2.8s ease-in-out infinite;
}

.lux-appr-punch {
    padding: 0.85rem 0.95rem;
    border-radius: 16px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    background:
        radial-gradient(circle at 0% 0%, rgba(251, 191, 36, 0.16), transparent 48%),
        linear-gradient(180deg, rgba(255, 251, 235, 0.98), rgba(255, 255, 255, 0.96));
    box-shadow: 0 10px 24px rgba(245, 158, 11, 0.1);
}

.lux-appr-punch__hero {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
}

.lux-appr-punch__icon {
    display: inline-grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 12px;
    background: rgba(245, 158, 11, 0.16);
    color: #d97706;
    flex-shrink: 0;
    font-size: 1rem;
}

.lux-appr-punch__hero strong {
    display: block;
    font-size: 0.95rem;
    font-weight: 800;
    color: #78350f;
    line-height: 1.25;
}

.lux-appr-punch__hero span {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.75rem;
    font-weight: 650;
    color: #92400e;
}

.lux-appr-punch__flags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.65rem;
}

.lux-appr-punch__flag {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.lux-appr-punch__flag.is-lock {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
}

.lux-appr-punch__flag.is-conflict {
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
}

.lux-appr-punch__reason {
    margin: 0.65rem 0 0;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(253, 230, 138, 0.9);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.45;
    color: #475569;
}

.lux-appr-drawer__card {
    position: relative;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--onb-drawer-accent-rgb, 91, 95, 244), 0.05), transparent 48%),
        rgba(255, 255, 255, 0.92);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
    overflow: visible;
}

.lux-appr-drawer__card-head {
    padding: 0.8rem 0.95rem 0.4rem;
}

.lux-appr-drawer__card-head h3 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-appr-drawer__card-head p {
    margin: 0.2rem 0 0;
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.4;
}

.lux-appr-ts-preview {
    margin-top: 0.15rem;
}

.lux-appr-ts-preview__skeleton {
    margin: 0 0.95rem 0.95rem;
    height: 7rem;
    border-radius: 12px;
    background: linear-gradient(90deg, rgba(148, 163, 184, 0.12), rgba(148, 163, 184, 0.22), rgba(148, 163, 184, 0.12));
}

.lux-appr-ts-preview__days {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(5.5rem, 1fr));
    gap: 0.45rem;
    padding: 0 0.95rem 0.85rem;
}

.lux-appr-ts-preview__day {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
    padding: 0.45rem 0.55rem;
    border-radius: 10px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    background: rgba(255, 251, 235, 0.72);
}

.lux-appr-ts-preview__day.is-empty {
    opacity: 0.72;
    border-color: rgba(148, 163, 184, 0.24);
    background: rgba(248, 250, 252, 0.9);
}

.lux-appr-ts-preview__day-label {
    font-size: 0.68rem;
    font-weight: 800;
    color: #92400e;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.lux-appr-ts-preview__day-hours {
    font-size: 0.92rem;
    color: #0f172a;
}

.lux-appr-ts-preview__day em {
    font-size: 0.64rem;
    font-style: normal;
    color: #64748b;
}

.lux-appr-ts-preview__entries-wrap {
    padding: 0 0.95rem 0.95rem;
    overflow-x: auto;
}

.lux-appr-ts-preview__entries {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.72rem;
}

.lux-appr-ts-preview__entries th,
.lux-appr-ts-preview__entries td {
    padding: 0.42rem 0.45rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    text-align: left;
    vertical-align: top;
}

.lux-appr-ts-preview__entries th {
    font-size: 0.64rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #64748b;
    white-space: nowrap;
}

.lux-appr-ts-preview__entries td strong {
    display: block;
    color: #0f172a;
    font-size: 0.74rem;
}

.lux-appr-ts-preview__entries td em,
.lux-appr-ts-preview__entries td span {
    display: block;
    margin-top: 0.08rem;
    color: #64748b;
    font-style: normal;
    font-size: 0.66rem;
}

.lux-appr-ts-preview__entries td.has-hours {
    color: #92400e;
    font-weight: 700;
}

.lux-appr-ts-preview__entries td.is-empty {
    color: #94a3b8;
}

.lux-appr-ts-preview__entries td.is-total,
.lux-appr-ts-preview__entries th[scope="row"] {
    font-weight: 800;
    color: #0f172a;
}

.lux-appr-ts-preview__empty {
    margin: 0 0.95rem 0.95rem;
    font-size: 0.72rem;
    color: #64748b;
}

.lux-appr-drawer__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem 0.85rem;
    margin: 0;
    padding: 0.35rem 0.95rem 0.95rem;
}

.lux-appr-drawer__meta > div.is-wide {
    grid-column: 1 / -1;
}

.lux-appr-drawer__meta dt {
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
    margin-bottom: 0.15rem;
}

.lux-appr-drawer__meta dd {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 650;
    color: #0f172a;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.lux-appr-drawer__source {
    text-transform: capitalize;
}

.lux-appr-drawer__textarea-wrap {
    padding: 0 0.95rem 0.95rem;
}

.lux-appr-drawer__textarea {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.98);
    font-size: 0.8125rem;
    line-height: 1.45;
    resize: vertical;
    min-height: 4.5rem;
    box-sizing: border-box;
}

.lux-appr-drawer__textarea:focus {
    outline: none;
    border-color: rgba(var(--onb-drawer-accent-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 0 0 3px rgba(var(--onb-drawer-accent-rgb, 91, 95, 244), 0.12);
}

.lux-appr-drawer__error {
    margin: 0;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: rgba(254, 226, 226, 0.7);
    color: #b91c1c;
    font-size: 0.75rem;
    font-weight: 700;
}

.lux-appr-drawer__foot {
    position: relative;
    z-index: 2;
    flex-shrink: 0;
}

.lux-appr-drawer__foot-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.lux-appr-drawer__link {
    margin-right: auto;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--appr-accent, #5b5ff4);
    text-decoration: none;
}

.lux-appr-drawer__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.15rem;
    padding: 0.45rem 0.9rem;
    border-radius: 11px;
    font-size: 0.8125rem;
    font-weight: 800;
    border: 1px solid transparent;
    cursor: pointer;
}

.lux-appr-drawer__btn--ghost {
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(148, 163, 184, 0.35);
    color: #475569;
}

.lux-appr-drawer__btn--primary {
    background: linear-gradient(135deg, var(--appr-accent, #5b5ff4), rgba(var(--onb-drawer-accent-rgb, 91, 95, 244), 0.85));
    color: #fff;
    box-shadow: 0 8px 18px rgba(var(--onb-drawer-accent-rgb, 91, 95, 244), 0.22);
}

.lux-appr-drawer__btn--success {
    background: linear-gradient(135deg, #16a34a, #15803d);
    color: #fff;
    box-shadow: 0 8px 18px rgba(22, 163, 74, 0.28);
}

.lux-appr-drawer__btn--danger {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: #fff;
    box-shadow: 0 8px 18px rgba(220, 38, 38, 0.22);
}

.lux-appr-drawer__btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

@media (max-width: 768px) {
    .lux-appr-toolbar--flush,
    .lux-appr-page > .lux-appr-toolbar {
        padding-top: 0.45rem;
        padding-bottom: 0.45rem;
    }

    .lux-appr-toolbar__search {
        flex: 1 1 100%;
        max-width: none;
    }

    .lux-appr-toolbar__select {
        min-width: 0;
        flex: 1 1 8rem;
    }

    .lux-appr-drawer__meta {
        grid-template-columns: 1fr;
    }

    .lux-appr-drawer__foot-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-appr-drawer__link {
        margin-right: 0;
    }

    .lux-appr-drawer__btn {
        width: 100%;
    }
}

.lux-appr-drawer__sla-label {
    font-weight: 800;
}

.lux-appr-drawer__sla-label.is-danger { color: #be123c; }
.lux-appr-drawer__sla-label.is-warning { color: #b45309; }
.lux-appr-drawer__sla-label.is-success { color: #15803d; }

/* F07-T6 — Approval analytics + view chrome */
.lux-appr-page .lux-module-hero__nav .lux-appr-view-tabs.lux-admin-hub-tabs {
    gap: 0.25rem;
}

.lux-appr-page .lux-segment-nav__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    line-height: 1;
    color: #92400e;
    background: rgba(251, 191, 36, 0.28);
    border: 1px solid rgba(245, 158, 11, 0.35);
}

.lux-appr-page .lux-admin-hub-tabs__tab.is-active .lux-segment-nav__badge {
    color: #78350f;
    background: rgba(255, 255, 255, 0.75);
    border-color: rgba(180, 83, 9, 0.25);
}

.lux-appr-toolbar__chip-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.1rem;
    margin-left: 0.3rem;
    padding: 0.05rem 0.3rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    color: #64748b;
    background: rgba(148, 163, 184, 0.18);
}

.lux-hrms-dash__filter-chip.is-active .lux-appr-toolbar__chip-count {
    color: #0f172a;
    background: rgba(255, 255, 255, 0.7);
}

.lux-appr-page > .lux-appr-sla-banner {
    margin-left: var(--lux-page-gutter-x, 1rem);
    margin-right: var(--lux-page-gutter-x, 1rem);
}

.lux-appr-sla-banner__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    flex-shrink: 0;
}

.lux-appr-sla-banner__cta {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    border: 0;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 750;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 6px 14px rgba(217, 119, 6, 0.22);
}

.lux-appr-sla-banner__cta.is-active {
    background: linear-gradient(135deg, #64748b, #475569);
    box-shadow: 0 6px 14px rgba(71, 85, 105, 0.2);
}

.lux-appr-sla-banner__cta:hover {
    filter: brightness(1.04);
}

.lux-appr-analytics-section {
    margin-top: 0.65rem;
}

.lux-appr-analytics-section .lux-appr-analytics {
    margin: 0;
    padding: 0.85rem var(--lux-list-pad-x, 1rem) 1rem;
}

.lux-appr-analytics-section .lux-appr-kpi-strip {
    margin-left: 0;
    margin-right: 0;
}

.lux-appr-analytics {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-bottom: 0.85rem;
}

.lux-appr-analytics__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 0.85rem;
}

.lux-appr-analytics__panel .lux-hrms-dash__panel-body {
    padding-top: 0.35rem;
}

.lux-appr-analytics__bar-row {
    margin-bottom: 0.65rem;
}

.lux-appr-analytics__bar-label {
    display: flex;
    justify-content: space-between;
    font-size: 0.78rem;
    color: #475569;
    margin-bottom: 0.25rem;
}

.lux-appr-analytics__bar-track {
    height: 8px;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.9);
    overflow: hidden;
}

.lux-appr-analytics__bar-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #6366f1;
}

.lux-appr-analytics__bar-fill.is-mint { background: #10b981; }
.lux-appr-analytics__bar-fill.is-primary { background: #6366f1; }
.lux-appr-analytics__bar-fill.is-amber { background: #f59e0b; }

.lux-appr-analytics__signals {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.lux-appr-analytics__signal {
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.85);
}

.lux-appr-analytics__signal span {
    display: block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.lux-appr-analytics__signal strong {
    display: block;
    margin-top: 0.15rem;
    font-size: 1rem;
    color: #0f172a;
}

.lux-appr-analytics__signal em {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.72rem;
    color: #94a3b8;
    font-style: normal;
}

.lux-appr-analytics__empty {
    margin: 0;
    font-size: 0.82rem;
    color: #64748b;
}

/* F07-T3 — Approval policy admin (luxury) */
.lux-appr-policy-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-appr-policy-hero {
  align-items: center;
  flex-wrap: wrap;
}

.lux-admin-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.55rem;
  flex-shrink: 0;
}

.lux-admin-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-admin-kpi-strip .lux-admin-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-admin-kpi-strip .lux-admin-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-admin-kpi-strip .lux-admin-kpi.is-violet { border-color: rgba(124, 58, 237, 0.2); }
.lux-admin-kpi-strip .lux-admin-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }

.lux-admin-kpi__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
}

.lux-admin-kpi__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background: rgba(15, 23, 42, 0.06);
  color: #64748b;
}

.lux-admin-kpi__icon.is-green { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-admin-kpi__icon.is-amber { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-admin-kpi__icon.is-violet { background: rgba(124, 58, 237, 0.12); color: #6d28d9; }
.lux-admin-kpi__icon.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: var(--lux-primary-dark, #3730a3); }

.lux-admin-panel-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--lux-primary-dark, #3730a3);
  text-decoration: none;
}

.lux-admin-panel-link:hover {
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
  text-decoration: none;
  color: var(--lux-primary-dark, #3730a3);
}

.lux-appr-policy-insights {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}

.lux-appr-policy-insight__copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-appr-policy-insight__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-appr-policy-insight__copy small {
  font-size: 0.75rem;
  color: #64748b;
}

.lux-appr-policy-quick-nav {
  margin-bottom: 0.85rem;
}

.lux-appr-policy-quick-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 6.5rem;
  text-decoration: none;
  color: inherit;
}

.lux-appr-policy-quick-card__desc {
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.4;
  color: #64748b;
}

.lux-appr-policy-panel {
  min-width: 0;
}

.lux-appr-policy-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0 0.95rem 0.75rem;
  border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-appr-policy-panel__toolbar .lux-appr-toolbar__row {
  width: 100%;
}

.lux-appr-policy-panel__filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.lux-appr-policy-register-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-appr-policy-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-appr-policy-register thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
  white-space: nowrap;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(248, 250, 252, 0.92);
  position: sticky;
  top: 0;
  z-index: 1;
}

.lux-appr-policy-register tbody td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  vertical-align: middle;
}

.lux-appr-policy-register__row.is-draft,
.lux-appr-policy-register__row.is-attention {
  background: linear-gradient(90deg, rgba(254, 243, 199, 0.42), transparent 58%);
}

.lux-appr-policy-register__row:hover {
  background: rgba(248, 250, 252, 0.95);
}

.lux-appr-policy-register__primary {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.lux-appr-policy-register__avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  color: #fff;
  background: var(--lux-primary, #5b5ff4);
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.lux-appr-policy-register__avatar.is-mint { background: linear-gradient(135deg, #10b981, #047857); }
.lux-appr-policy-register__avatar.is-primary { background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3)); }
.lux-appr-policy-register__avatar.is-amber { background: linear-gradient(135deg, #f59e0b, #d97706); }
.lux-appr-policy-register__avatar.is-violet { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.lux-appr-policy-register__avatar.is-blue,
.lux-appr-policy-register__avatar.is-sky { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.lux-appr-policy-register__avatar.is-slate { background: linear-gradient(135deg, #94a3b8, #64748b); }

.lux-appr-policy-register__primary-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-appr-policy-register__primary-title {
  color: #0f172a;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.25;
}

.lux-appr-policy-register__primary-meta {
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.35;
}

.lux-appr-policy-register__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.35rem 0.6rem;
  border-radius: 12px;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
  font-size: 0.75rem;
  font-weight: 700;
  color: #334155;
}

.lux-appr-policy-register__chip span {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
}

.lux-appr-policy-register__chip em {
  font-style: normal;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #94a3b8;
}

.lux-appr-policy-register__chip.is-mint { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-appr-policy-register__chip.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1); color: var(--lux-primary-dark, #3730a3); }
.lux-appr-policy-register__chip.is-amber { background: rgba(245, 158, 11, 0.15); color: #b45309; }
.lux-appr-policy-register__chip.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-appr-policy-register__chip.is-sky { background: rgba(56, 189, 248, 0.15); color: #0369a1; }
.lux-appr-policy-register__chip.is-slate { background: rgba(100, 116, 139, 0.1); color: #475569; }

.lux-appr-policy-register__sla {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.05);
  font-size: 0.75rem;
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
}

.lux-appr-policy-register__chain {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem;
}

.lux-appr-policy-register__chain-step {
  display: inline-flex;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--lux-primary-dark, #3730a3);
  white-space: nowrap;
}

.lux-appr-policy-register__chain-sep {
  color: #94a3b8;
  font-size: 0.75rem;
  font-weight: 700;
}

@media (max-width: 992px) {
  .lux-admin-hero__actions {
    width: 100%;
    align-items: stretch;
  }

  .lux-admin-hero__buttons {
    justify-content: flex-start;
  }

  .lux-appr-policy-panel__filters {
    grid-template-columns: 1fr;
  }
}

/* F20-T2 — Admin audit search/export (luxury) */
.lux-audit-admin-page {
    padding-bottom: var(--lux-page-block-bottom);
}

.lux-audit-admin-hero {
    align-items: center;
    flex-wrap: wrap;
}

.lux-audit-admin__error {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
}

.lux-audit-admin-page .lux-admin-kpi-strip .lux-admin-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-audit-admin-page .lux-admin-kpi-strip .lux-admin-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-audit-admin-page .lux-admin-kpi-strip .lux-admin-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }
.lux-audit-admin-page .lux-admin-kpi-strip .lux-admin-kpi.is-slate { border-color: rgba(100, 116, 139, 0.2); }

.lux-audit-admin-insights {
    display: grid;
    gap: 0.45rem;
    margin-bottom: 0.85rem;
}

.lux-audit-admin-insight__copy {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.lux-audit-admin-insight__copy strong {
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-audit-admin-insight__copy small {
    font-size: 0.75rem;
    color: #64748b;
}

.lux-audit-admin-quick-nav {
    margin-bottom: 0.85rem;
}

.lux-audit-admin-quick-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-height: 6.5rem;
    text-decoration: none;
    color: inherit;
}

.lux-audit-admin-quick-card__desc {
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.4;
    color: #64748b;
}

.lux-audit-admin-panel {
    min-width: 0;
}

.lux-audit-admin-panel__toolbar {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 0 0.95rem 0.9rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.75), transparent);
}

.lux-audit-admin-toolbar__primary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.lux-audit-admin-toolbar__search {
    flex: 1 1 18rem;
    min-width: 14rem;
}

.lux-audit-admin-toolbar__view {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.05);
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.lux-audit-admin-toolbar__view-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.1rem;
    padding: 0.35rem 0.85rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 800;
    cursor: pointer;
}

.lux-audit-admin-toolbar__view-btn.is-active {
    background: #fff;
    color: #3730a3;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.lux-audit-admin-toolbar__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: end;
}

@media (max-width: 860px) {
    .lux-audit-admin-toolbar__controls {
        grid-template-columns: 1fr;
    }
}

.lux-audit-admin-toolbar__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
    margin: 0;
}

.lux-audit-admin-toolbar__field-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-audit-admin-toolbar__select {
    width: 100%;
    min-height: 2.55rem;
    padding: 0.55rem 2.2rem 0.55rem 0.85rem;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background:
        linear-gradient(180deg, #fff, #f8fafc);
    color: #0f172a;
    font-size: 0.875rem;
    font-weight: 700;
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #64748b 50%),
        linear-gradient(135deg, #64748b 50%, transparent 50%),
        linear-gradient(180deg, #fff, #f8fafc);
    background-position:
        calc(100% - 1.1rem) 1.15rem,
        calc(100% - 0.75rem) 1.15rem,
        0 0;
    background-size: 6px 6px, 6px 6px, 100% 100%;
    background-repeat: no-repeat;
    cursor: pointer;
}

.lux-audit-admin-toolbar__select:focus {
    outline: none;
    border-color: rgba(91, 95, 244, 0.45);
    box-shadow: 0 0 0 3px rgba(91, 95, 244, 0.12);
}

.lux-audit-admin-toolbar__quick {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.75rem;
}

.lux-audit-admin-toolbar__quick-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-audit-admin-toolbar__active {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.75rem;
    padding: 0.65rem 0.8rem;
    border-radius: 12px;
    border: 1px solid rgba(91, 95, 244, 0.14);
    background: rgba(91, 95, 244, 0.05);
}

.lux-audit-admin-toolbar__active-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6366f1;
}

.lux-audit-admin-toolbar__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    flex: 1 1 auto;
}

.lux-audit-admin-toolbar__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 18rem;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    border: 1px solid rgba(91, 95, 244, 0.22);
    background: #fff;
    color: #3730a3;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-audit-admin-toolbar__clear {
    margin-left: auto;
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 800;
    cursor: pointer;
    text-decoration: underline;
}

.lux-audit-admin-toolbar__clear:hover {
    color: #0f172a;
}

.lux-audit-admin-panel__filter-scroll {
    flex-wrap: wrap;
}

.lux-audit-admin-panel__export-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-left: auto;
    padding: 0.45rem 0.75rem;
    border-radius: 10px;
    border: 1px solid rgba(99, 102, 241, 0.25);
    background: rgba(99, 102, 241, 0.08);
    color: #4338ca;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    flex-shrink: 0;
}

.lux-audit-admin-panel__export-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-audit-admin-register-wrap {
    overflow-x: auto;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-audit-admin-register {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
}

.lux-audit-admin-register thead th {
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
    white-space: nowrap;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(248, 250, 252, 0.92);
    position: sticky;
    top: 0;
    z-index: 1;
}

.lux-audit-admin-register tbody td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    vertical-align: middle;
}

.lux-audit-admin-register__row.is-delegate {
    background: linear-gradient(90deg, rgba(237, 233, 254, 0.45), transparent 58%);
}

.lux-audit-admin-register__row.is-approval {
    background: linear-gradient(90deg, rgba(209, 250, 229, 0.35), transparent 58%);
}

.lux-audit-admin-register__primary {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-width: 0;
}

.lux-audit-admin-register__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    flex-shrink: 0;
    background: rgba(148, 163, 184, 0.12);
    color: #64748b;
}

.lux-audit-admin-register__icon.is-success,
.lux-audit-admin-register__icon.is-primary { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-audit-admin-register__icon.is-danger { background: rgba(239, 68, 68, 0.1); color: #b91c1c; }
.lux-audit-admin-register__icon.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-audit-admin-register__icon.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-audit-admin-register__icon.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }

.lux-audit-admin-register__primary-copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.lux-audit-admin-register__primary-title {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
}

.lux-audit-admin-register__primary-meta {
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

.lux-audit-admin-register__actor {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    white-space: nowrap;
}

.lux-audit-admin-register__actor-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 999px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: #4338ca;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.03em;
}

.lux-audit-admin-register__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    background: rgba(148, 163, 184, 0.12);
    color: #475569;
    white-space: nowrap;
}

.lux-audit-admin-register__chip.is-indigo { background: rgba(99, 102, 241, 0.1); color: #4338ca; }
.lux-audit-admin-register__chip.is-violet { background: rgba(139, 92, 246, 0.1); color: #6d28d9; }
.lux-audit-admin-register__chip.is-sky { background: rgba(14, 165, 233, 0.1); color: #0369a1; }
.lux-audit-admin-register__chip.is-teal { background: rgba(20, 184, 166, 0.1); color: #0f766e; }
.lux-audit-admin-register__chip.is-amber { background: rgba(245, 158, 11, 0.1); color: #b45309; }
.lux-audit-admin-register__chip.is-rose { background: rgba(244, 63, 94, 0.1); color: #be123c; }
.lux-audit-admin-register__chip.is-green { background: rgba(5, 150, 105, 0.1); color: #047857; }

.lux-audit-admin-register__date {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}

@media (max-width: 992px) {
    .lux-audit-admin-panel__toolbar .lux-appr-toolbar__row {
        flex-wrap: wrap;
    }

    .lux-audit-admin-panel__export-btn {
        margin-left: 0;
        width: 100%;
        justify-content: center;
    }
}

/* F21 — My work queue (luxury) */
.lux-my-work-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-my-work-hero {
  align-items: center;
  flex-wrap: wrap;
}

.lux-my-work-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.55rem;
  flex-shrink: 0;
}

.lux-my-work-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-my-work-kpi-strip .lux-my-work-kpi.is-green,
.lux-my-work-kpi-strip .lux-my-work-kpi.is-mint { border-color: rgba(5, 150, 105, 0.2); }
.lux-my-work-kpi-strip .lux-my-work-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-my-work-kpi-strip .lux-my-work-kpi.is-rose { border-color: rgba(219, 39, 119, 0.18); }
.lux-my-work-kpi-strip .lux-my-work-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }
.lux-my-work-kpi-strip .lux-my-work-kpi.is-slate { border-color: rgba(100, 116, 139, 0.2); }

.lux-my-work-kpi__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
}

.lux-my-work-kpi__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background: rgba(15, 23, 42, 0.06);
  color: #64748b;
}

.lux-my-work-kpi__icon.is-amber { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-my-work-kpi__icon.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-my-work-kpi__icon.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: var(--lux-primary-dark, #3730a3); }
.lux-my-work-kpi__icon.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-my-work-action:disabled,
.lux-my-work-action.lux-onb-action:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

.lux-my-work-insights {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}

.lux-my-work-insight {
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-my-work-insight:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
  text-decoration: none;
  color: inherit;
}

.lux-my-work-insight__copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-my-work-insight__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-my-work-insight__copy small {
  font-size: 0.75rem;
  color: #64748b;
}

.lux-my-work-insight__chevron {
  margin-left: auto;
  color: #94a3b8;
  font-size: 0.875rem;
}

.lux-my-work-quick-nav {
  margin-bottom: 0.85rem;
}

.lux-my-work-quick-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 6.5rem;
}

.lux-my-work-quick-card__desc {
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.4;
  color: #64748b;
}

.lux-my-work-panel {
  min-width: 0;
}

.lux-my-work-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0 0.95rem 0.75rem;
  border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-my-work-panel__toolbar .lux-appr-toolbar__row {
  width: 100%;
}

.lux-my-work-panel__filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.lux-my-work-register-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-my-work-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-my-work-register thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
  white-space: nowrap;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(248, 250, 252, 0.92);
  position: sticky;
  top: 0;
  z-index: 1;
}

.lux-my-work-register tbody td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  vertical-align: middle;
}

.lux-my-work-register__row.is-high,
.lux-my-work-register__row.is-attention {
  background: linear-gradient(90deg, rgba(254, 226, 226, 0.4), transparent 58%);
}

.lux-my-work-register__row:hover {
  background: rgba(248, 250, 252, 0.95);
}

.lux-my-work-register__primary {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}

a.lux-my-work-register__primary:hover .lux-my-work-register__primary-title {
  color: var(--lux-primary-dark, #3730a3);
}

.lux-my-work-register__avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  color: #fff;
  background: var(--lux-primary, #5b5ff4);
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.lux-my-work-register__avatar.is-mint { background: linear-gradient(135deg, #10b981, #047857); }
.lux-my-work-register__avatar.is-primary { background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3)); }
.lux-my-work-register__avatar.is-amber { background: linear-gradient(135deg, #f59e0b, #d97706); }
.lux-my-work-register__avatar.is-violet { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.lux-my-work-register__avatar.is-blue { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.lux-my-work-register__avatar.is-green { background: linear-gradient(135deg, #10b981, #047857); }
.lux-my-work-register__avatar.is-slate { background: linear-gradient(135deg, #94a3b8, #64748b); }

.lux-my-work-register__primary-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-my-work-register__primary-title {
  color: #0f172a;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.25;
}

.lux-my-work-register__primary-meta {
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.35;
}

.lux-my-work-register__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #334155;
  white-space: nowrap;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-my-work-register__chip.is-mint { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-my-work-register__chip.is-amber { background: rgba(245, 158, 11, 0.15); color: #b45309; }
.lux-my-work-register__chip.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-my-work-register__chip.is-blue { background: rgba(56, 189, 248, 0.15); color: #0369a1; }
.lux-my-work-register__chip.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-my-work-register__chip.is-slate { background: rgba(100, 116, 139, 0.1); color: #475569; }

.lux-my-work-register__due {
  color: #475569;
  font-weight: 600;
  white-space: nowrap;
}

.lux-my-work-register__due.is-soon {
  color: #be123c;
  font-weight: 800;
}

.lux-my-work-register__open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.32);
  background: rgba(255, 255, 255, 0.92);
  color: #64748b;
  text-decoration: none;
  transition: color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.lux-my-work-register__open:hover {
  color: var(--lux-primary-dark, #3730a3);
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
  transform: translateX(1px);
  text-decoration: none;
}

.lux-my-work-register__open.is-disabled {
  opacity: 0.25;
  pointer-events: none;
}

@media (max-width: 992px) {
  .lux-my-work-hero__actions {
    width: 100%;
    align-items: stretch;
  }

  .lux-my-work-hero__buttons {
    justify-content: flex-start;
  }

  .lux-my-work-panel__filters {
    grid-template-columns: 1fr;
  }
}

/* F21-T4 — Notifications center (luxury) */
.lux-notifications-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-notifications-hero {
  align-items: center;
  flex-wrap: wrap;
}

.lux-notifications__error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}

.lux-notifications-kpi-strip .lux-my-work-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-notifications-kpi-strip .lux-my-work-kpi.is-rose { border-color: rgba(219, 39, 119, 0.18); }
.lux-notifications-kpi-strip .lux-my-work-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }

.lux-notifications-insights {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}

.lux-notifications-insight {
  text-decoration: none;
  color: inherit;
}

.lux-notifications-insight__copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-notifications-insight__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-notifications-insight__copy small {
  font-size: 0.75rem;
  color: #64748b;
}

.lux-notifications-insight__chevron {
  margin-left: auto;
  color: #94a3b8;
  font-size: 0.875rem;
}

.lux-notifications-quick-nav {
  margin-bottom: 0.85rem;
}

.lux-notifications-quick-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 6.5rem;
  text-decoration: none;
  color: inherit;
}

.lux-notifications-quick-card__desc {
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.4;
  color: #64748b;
}

.lux-notifications-panel {
  min-width: 0;
}

.lux-notifications-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0 0.95rem 0.75rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.lux-notifications-panel__filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.lux-notifications-register-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-notifications-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-notifications-register thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
  white-space: nowrap;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(248, 250, 252, 0.92);
  position: sticky;
  top: 0;
  z-index: 1;
}

.lux-notifications-register tbody td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  vertical-align: middle;
}

.lux-notifications-register__row.is-unread {
  background: linear-gradient(90deg, rgba(224, 231, 255, 0.38), transparent 58%);
}

.lux-notifications-register__row.is-urgent {
  background: linear-gradient(90deg, rgba(254, 226, 226, 0.45), transparent 58%);
}

.lux-notifications-register__row:hover {
  background: rgba(248, 250, 252, 0.95);
}

.lux-notifications-register__primary {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.lux-notifications-register__avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  color: #fff;
  background: var(--lux-primary, #5b5ff4);
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.lux-notifications-register__avatar.is-mint { background: linear-gradient(135deg, #10b981, #047857); }
.lux-notifications-register__avatar.is-primary { background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3)); }
.lux-notifications-register__avatar.is-amber { background: linear-gradient(135deg, #f59e0b, #d97706); }
.lux-notifications-register__avatar.is-violet { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.lux-notifications-register__avatar.is-blue { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.lux-notifications-register__avatar.is-green { background: linear-gradient(135deg, #10b981, #047857); }
.lux-notifications-register__avatar.is-rose { background: linear-gradient(135deg, #f43f5e, #be123c); }
.lux-notifications-register__avatar.is-slate { background: linear-gradient(135deg, #94a3b8, #64748b); }

.lux-notifications-register__primary-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-notifications-register__primary-title {
  color: #0f172a;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.25;
}

.lux-notifications-register__primary-meta {
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.35;
}

.lux-notifications-register__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.55rem;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 700;
  background: rgba(15, 23, 42, 0.05);
  color: #334155;
  white-space: nowrap;
}

.lux-notifications-register__chip.is-mint { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-notifications-register__chip.is-amber { background: rgba(245, 158, 11, 0.15); color: #b45309; }
.lux-notifications-register__chip.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-notifications-register__chip.is-blue { background: rgba(56, 189, 248, 0.15); color: #0369a1; }
.lux-notifications-register__chip.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-notifications-register__chip.is-slate { background: rgba(100, 116, 139, 0.1); color: #475569; }

.lux-notifications-register__channel,
.lux-notifications-register__when {
  font-size: 0.75rem;
  font-weight: 700;
  color: #334155;
  white-space: nowrap;
}

.lux-notifications-register__status-col {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.lux-notifications-register__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  justify-content: flex-end;
}

.lux-notifications-register__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.35rem 0.6rem;
  border-radius: 10px;
  border: 1px solid transparent;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

.lux-notifications-register__btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.lux-notifications-register__btn.is-ghost {
  background: rgba(255, 255, 255, 0.92);
  color: #475569;
  border-color: rgba(148, 163, 184, 0.35);
}

.lux-notifications-register__open {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  color: #64748b;
  background: rgba(15, 23, 42, 0.04);
  text-decoration: none;
}

.lux-notifications-register__open:hover {
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
  color: var(--lux-primary-dark, #3730a3);
}

@media (max-width: 992px) {
  .lux-notifications-panel__filters {
    grid-template-columns: 1fr;
  }
}

/* F07-T5/T7 — SLA badges, banner, AI summary */
.lux-appr-sla-badge {
    display: inline-flex;
    margin-top: 0.2rem;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
}

.lux-appr-sla-badge.is-danger { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-appr-sla-badge.is-warning { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-appr-sla-badge.is-success { background: rgba(34, 197, 94, 0.12); color: #15803d; }

.lux-appr-sla-banner {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
    padding: 0.7rem 0.85rem;
    border-radius: 14px;
    border: 1px solid rgba(245, 158, 11, 0.25);
    background: rgba(255, 251, 235, 0.9);
    color: #92400e;
}

.lux-appr-sla-banner__copy {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    flex: 1;
}

.lux-appr-sla-banner__copy strong {
    font-size: 0.84rem;
    color: #78350f;
}

.lux-appr-sla-banner__copy span {
    font-size: 0.75rem;
}

.lux-appr-sla-banner__link {
    font-size: 0.78rem;
    font-weight: 700;
    color: #4338ca;
    text-decoration: none;
    white-space: nowrap;
}

.lux-appr-sla-banner__link:hover {
    text-decoration: underline;
}

@media (max-width: 640px) {
    .lux-appr-sla-banner {
        flex-wrap: wrap;
    }

    .lux-appr-sla-banner__actions {
        width: 100%;
        justify-content: flex-start;
        padding-left: 1.75rem;
    }
}

.lux-appr-drawer__sla-label {
    font-size: 0.82rem;
    font-weight: 700;
}

.lux-appr-drawer__sla-label.is-danger { color: #be123c; }
.lux-appr-drawer__sla-label.is-warning { color: #b45309; }
.lux-appr-drawer__sla-label.is-success { color: #15803d; }

.lux-appr-ai-summary__text,
.lux-appr-ai-summary__rec {
    margin: 0 0 0.55rem;
    font-size: 0.82rem;
    color: #475569;
}

.lux-appr-ai-summary__rec {
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    border: 1px solid rgba(226, 232, 240, 0.95);
    color: #0f172a;
}

.lux-appr-ai-summary__meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}

.lux-appr-ai-summary__confidence {
    font-size: 0.72rem;
    font-weight: 700;
    color: #4338ca;
}

.lux-appr-ai-summary__badge {
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    background: rgba(148, 163, 184, 0.18);
    color: #475569;
}

.lux-appr-ai-summary__disclaimer {
    margin: 0;
    font-size: 0.72rem;
    color: #94a3b8;
}

.lux-appr-ai-summary__action {
    margin: 0 0 0.55rem;
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    background: rgba(99, 102, 241, 0.08);
    border: 1px solid rgba(99, 102, 241, 0.16);
    font-size: 0.78rem;
    font-weight: 700;
    color: #312e81;
}

.lux-appr-ai-summary__checklist,
.lux-appr-ai-summary__evidence {
    margin: 0 0 0.55rem;
    padding-left: 1rem;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-appr-ai-summary__checklist li,
.lux-appr-ai-summary__evidence li {
    margin-bottom: 0.35rem;
}

.lux-appr-ai-summary__checklist strong {
    display: block;
    color: #0f172a;
    font-size: 0.78rem;
}

.lux-appr-ai-summary__checklist small {
    display: block;
    line-height: 1.45;
}

/* ── Leave management luxury v2 ─────────────────────────────────────────── */

.lux-leave-page {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Match employees / attendance: full-bleed PageInnerHeader, gutters on content only */
.lux-leave-page {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
}

.lux-leave-page > *:not(.lux-page-header):not(.lux-module-hero):not(.lux-appconfig-hero) {
    margin-left: var(--lux-page-gutter-x);
    margin-right: var(--lux-page-gutter-x);
    margin-bottom: var(--lux-page-block-gap-y);
}

.lux-admin-page {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
}

.lux-admin-page:not(:has(> .lux-register-page__body)) > *:not(.lux-page-header):not(.lux-admin-lux__ambient):not([class*="__ambient"]) {
    margin-left: var(--lux-page-gutter-x);
    margin-right: var(--lux-page-gutter-x);
    margin-bottom: var(--lux-page-block-gap-y);
}

.lux-leave-hero {
    --leave-accent: #d97706;
}

.lux-leave-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1rem;
    border-radius: 12px;
    border: none;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(217, 119, 6, 0.28);
    cursor: pointer;
}

.lux-leave-hero__cta:hover {
    filter: brightness(1.04);
}

.lux-leave-hero__cta.is-disabled,
.lux-leave-hero__cta:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    box-shadow: none;
    filter: none;
}

.lux-leave-hero__cta.is-disabled:hover,
.lux-leave-hero__cta:disabled:hover {
    filter: none;
}

.lux-leave-kpi-strip .lux-leave-kpi.is-amber { --kpi-accent: #d97706; }
.lux-leave-kpi-strip .lux-leave-kpi.is-green { --kpi-accent: #059669; }
.lux-leave-kpi-strip .lux-leave-kpi.is-violet { --kpi-accent: #7c3aed; }

.lux-leave-employee-filter {
    position: relative;
}

.lux-leave-employee-filter__trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.75rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.9);
    font-size: 0.8125rem;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
}

.lux-leave-employee-filter__trigger.is-open,
.lux-leave-employee-filter__trigger:hover {
    border-color: rgba(217, 119, 6, 0.4);
    color: #b45309;
}

.lux-leave-employee-filter__panel {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0;
    z-index: 40;
    width: min(18rem, 88vw);
    padding: 0.65rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
}

.lux-leave-employee-filter__search {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.65rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.25);
    margin-bottom: 0.5rem;
}

.lux-leave-employee-filter__search input {
    border: 0;
    width: 100%;
    font-size: 0.8125rem;
    background: transparent;
}

.lux-leave-employee-filter__list {
    max-height: 14rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.lux-leave-employee-filter__option {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    padding: 0.55rem 0.65rem;
    border: 0;
    border-radius: 10px;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.lux-leave-employee-filter__option strong {
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-leave-employee-filter__option em {
    font-style: normal;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-leave-employee-filter__option:hover,
.lux-leave-employee-filter__option.is-selected {
    background: rgba(251, 191, 36, 0.12);
}

.lux-leave-employee-filter__empty {
    margin: 0;
    padding: 0.65rem;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-leave-pending {
    border-radius: 18px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    background:
        radial-gradient(circle at 0% 0%, rgba(251, 191, 36, 0.14), transparent 45%),
        linear-gradient(180deg, rgba(255, 251, 235, 0.96), rgba(255, 255, 255, 0.92));
    box-shadow: 0 10px 28px rgba(245, 158, 11, 0.1);
    padding: 1rem 1.1rem;
}

.lux-leave-pending--collapsed {
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
}

.lux-leave-pending__collapsed-bar {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(254, 243, 199, 0.72));
    box-shadow: 0 8px 24px rgba(245, 158, 11, 0.12);
    cursor: pointer;
    text-align: left;
}

.lux-leave-pending__collapsed-icon {
    display: inline-grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    background: rgba(245, 158, 11, 0.16);
    color: #d97706;
}

.lux-leave-pending__collapsed-copy {
    display: grid;
    gap: 0.15rem;
    flex: 1;
}

.lux-leave-pending__collapsed-copy strong {
    color: #78350f;
    font-size: 0.875rem;
}

.lux-leave-pending__collapsed-copy em {
    font-style: normal;
    font-size: 0.75rem;
    color: #92400e;
}

.lux-leave-pending__collapsed-expand {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #b45309;
}

.lux-leave-pending__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.lux-leave-pending__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #b45309;
    margin-bottom: 0.2rem;
}

.lux-leave-pending__head h3 {
    margin: 0;
    font-size: 1rem;
    color: #78350f;
}

.lux-leave-pending__head p {
    margin: 0.25rem 0 0;
    font-size: 0.8125rem;
    color: #92400e;
}

.lux-leave-pending__head-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.lux-leave-pending__count {
    display: inline-grid;
    place-items: center;
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.55rem;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.18);
    color: #b45309;
    font-size: 0.8125rem;
    font-weight: 800;
}

.lux-leave-pending__toggle {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    color: #b45309;
    cursor: pointer;
    padding: 0.35rem 0.2rem;
}

.lux-leave-pending__list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lux-leave-pending__employee {
    margin: 0 0 0.35rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #78350f;
}

.lux-leave-pending__card {
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(255, 255, 255, 0.88);
    padding: 0.85rem;
}

.lux-leave-pending__card-main {
    display: grid;
    gap: 0.2rem;
}

.lux-leave-pending__card-main strong {
    font-size: 0.875rem;
    color: #0f172a;
}

.lux-leave-pending__card-main span,
.lux-leave-pending__card-main em {
    font-size: 0.75rem;
    color: #64748b;
    font-style: normal;
}

.lux-leave-pending__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.65rem;
}

.lux-leave-pending__btn {
    padding: 0.45rem 0.85rem;
    border-radius: 10px;
    font-size: 0.75rem;
    font-weight: 700;
    border: 1px solid transparent;
    cursor: pointer;
}

.lux-leave-pending__btn.is-ghost {
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(148, 163, 184, 0.35);
    color: #475569;
}

.lux-leave-pending__btn.is-primary {
    background: #059669;
    color: #fff;
}

.lux-leave-pending__btn.is-danger {
    background: #dc2626;
    color: #fff;
}

.lux-leave-pending__btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-leave-comment {
    margin-top: 0.65rem;
}

.lux-leave-comment__label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
    margin-bottom: 0.3rem;
}

.lux-leave-comment__input {
    width: 100%;
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    font-size: 0.8125rem;
    resize: vertical;
}

.lux-leave-comment__input.is-error {
    border-color: #f87171;
}

.lux-leave-comment__error {
    margin: 0.35rem 0 0;
    font-size: 0.75rem;
    color: #b91c1c;
}

.lux-leave-balance.lux-hrms-dash__panel,
.lux-leave-panel.lux-hrms-dash__panel {
    overflow: visible;
}

.lux-leave-balance__head {
    align-items: center;
}

.lux-leave-balance__skeleton-grid,
.lux-leave-balance__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 0.85rem;
}

.lux-leave-balance__card {
    position: relative;
    border-radius: 16px;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background:
        radial-gradient(circle at 100% 0%, rgba(251, 191, 36, 0.12), transparent 48%),
        rgba(255, 255, 255, 0.82);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.lux-leave-balance__card--skeleton {
    min-height: 8.5rem;
    background: linear-gradient(90deg, rgba(226, 232, 240, 0.45), rgba(248, 250, 252, 0.95), rgba(226, 232, 240, 0.45));
    background-size: 200% 100%;
    animation: lux-att-f05-shimmer 1.4s ease-in-out infinite;
}

.lux-leave-balance__type-icon {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    background: rgba(251, 191, 36, 0.16);
    color: #d97706;
    margin-bottom: 0.45rem;
}

.lux-leave-balance__type {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-leave-balance__metric {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
    font-size: 1.85rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0.25rem 0;
}

.lux-leave-balance__unit {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.lux-leave-balance__meta,
.lux-leave-balance__policy-hint {
    margin: 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-leave-balance__empty {
    text-align: center;
    padding: 2.5rem 1rem;
    border-radius: 14px;
    border: 1px dashed rgba(148, 163, 184, 0.35);
    background: rgba(248, 250, 252, 0.7);
}

.lux-leave-balance__empty-icon {
    display: inline-grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 12px;
    background: rgba(251, 191, 36, 0.14);
    color: #d97706;
    margin-bottom: 0.65rem;
}

.lux-leave-panel__head {
    border-bottom: none;
    padding-bottom: 0;
}

.lux-leave-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0 1rem 0.85rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.lux-leave-tabs__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.75);
    color: #64748b;
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
}

.lux-leave-tabs__btn.is-active {
    background: #0f172a;
    border-color: #0f172a;
    color: #fff;
}

.lux-leave-register-wrap {
    overflow-x: auto;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(255, 255, 255, 0.62);
}

.lux-leave-register {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
}

.lux-leave-register thead th {
    padding: 0.7rem 1rem;
    text-align: left;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(248, 250, 252, 0.85);
}

.lux-leave-register tbody td {
    padding: 0.8rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    vertical-align: top;
}

.lux-leave-register__row:hover {
    background: rgba(248, 250, 252, 0.9);
}

.lux-leave-register__type {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.lux-leave-register__type em {
    font-style: normal;
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-leave-register__comment {
    margin: 0.25rem 0 0;
    font-size: 0.6875rem;
    color: #64748b;
    max-width: 12rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-leave-register__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-end;
}

.lux-leave-register__action {
    padding: 0.3rem 0.55rem;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.3);
    background: rgba(255, 255, 255, 0.9);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
}

.lux-leave-register__action.is-muted {
    color: #64748b;
}

.lux-leave-register__skeleton {
    min-height: 14rem;
    border-radius: 14px;
    background: linear-gradient(90deg, rgba(226, 232, 240, 0.45), rgba(248, 250, 252, 0.95), rgba(226, 232, 240, 0.45));
    background-size: 200% 100%;
    animation: lux-att-f05-shimmer 1.4s ease-in-out infinite;
}

.lux-leave-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
}

.lux-leave-drawer-backdrop {
    z-index: var(--lux-z-overlay);
}

.lux-leave-drawer {
    width: min(28rem, 100vw);
}

.lux-leave-drawer__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 0.2rem;
}

.lux-leave-drawer__body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0;
}

.lux-leave-drawer__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.lux-leave-drawer__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-leave-drawer__label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
}

.lux-leave-drawer__input,
.lux-leave-drawer__textarea {
    width: 100%;
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    font-size: 0.8125rem;
    background: rgba(255, 255, 255, 0.95);
}

.lux-leave-drawer__textarea {
    resize: vertical;
    min-height: 4.5rem;
}

.lux-leave-drawer__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.lux-leave-drawer__half-row {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-leave-drawer__check {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.8125rem;
    color: #475569;
}

.lux-leave-drawer__computed {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: rgba(251, 191, 36, 0.1);
    border: 1px solid rgba(251, 191, 36, 0.22);
    font-size: 0.8125rem;
    color: #78350f;
}

.lux-leave-drawer__computed strong {
    margin-left: auto;
    font-size: 1rem;
}

.lux-leave-drawer__computed em {
    font-style: normal;
    font-size: 0.6875rem;
    color: #92400e;
}

.lux-leave-drawer__btn {
    padding: 0.5rem 0.9rem;
    border-radius: 10px;
    font-size: 0.8125rem;
    font-weight: 700;
    border: 1px solid transparent;
    cursor: pointer;
}

.lux-leave-drawer__btn.is-ghost {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(148, 163, 184, 0.35);
    color: #475569;
}

.lux-leave-drawer__btn.is-primary {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
}

.lux-leave-drawer__btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-leave-empty {
    margin-top: 0.5rem;
}

@media (max-width: 768px) {
    .lux-leave-drawer__grid {
        grid-template-columns: 1fr;
    }

    .lux-leave-tabs {
        padding-inline: 0.75rem;
    }

    .lux-leave-calendar__heatmap {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}

/* ── Leave sub-panels luxury v3 ─────────────────────────────────────────── */

.lux-leave-subpanel {
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background:
        radial-gradient(circle at 0% 0%, rgba(251, 191, 36, 0.08), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.92));
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
    padding: 1rem 1.1rem 1.15rem;
}

.lux-leave-subpanel__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
    flex-wrap: wrap;
}

.lux-leave-subpanel__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #b45309;
    margin-bottom: 0.2rem;
}

.lux-leave-subpanel__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-leave-subpanel__sub {
    margin: 0.25rem 0 0;
    font-size: 0.8125rem;
    color: #64748b;
}

.lux-leave-hero__cta.is-secondary {
    background: rgba(255, 255, 255, 0.92);
    color: #b45309;
    border: 1px solid rgba(217, 119, 6, 0.35);
    box-shadow: none;
}

.lux-leave-calendar__nav {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.lux-leave-calendar__nav-btn,
.lux-leave-calendar__today-btn {
    display: inline-grid;
    place-items: center;
    min-height: 2rem;
    padding: 0 0.65rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
}

.lux-leave-calendar__nav-btn {
    width: 2rem;
    padding: 0;
}

.lux-leave-calendar__month {
    min-width: 9rem;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-leave-calendar__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 0.85rem;
}

.lux-leave-calendar__stat {
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.2);
}

.lux-leave-calendar__stat span {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
}

.lux-leave-calendar__stat strong {
    font-size: 1.25rem;
    color: #0f172a;
}

.lux-leave-calendar__heatmap-wrap {
    margin-bottom: 0.85rem;
}

.lux-leave-calendar__heatmap-label {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
    margin-bottom: 0.45rem;
}

.lux-leave-calendar__heatmap {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.35rem;
}

.lux-leave-calendar__heatmap--skeleton {
    min-height: 4.5rem;
    border-radius: 12px;
    background: linear-gradient(90deg, rgba(226, 232, 240, 0.45), rgba(248, 250, 252, 0.95), rgba(226, 232, 240, 0.45));
    background-size: 200% 100%;
    animation: lux-att-f05-shimmer 1.4s ease-in-out infinite;
}

.lux-leave-calendar__day {
    position: relative;
    min-height: 2.4rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(255, 255, 255, 0.75);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.1rem;
}

.lux-leave-calendar__day.is-weekend {
    opacity: 0.72;
}

.lux-leave-calendar__day.is-today {
    border-color: rgba(217, 119, 6, 0.45);
    box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.25);
}

.lux-leave-calendar__day.is-low {
    background: rgba(254, 243, 199, 0.65);
}

.lux-leave-calendar__day.is-medium {
    background: rgba(251, 191, 36, 0.35);
}

.lux-leave-calendar__day.is-high {
    background: rgba(245, 158, 11, 0.45);
}

.lux-leave-calendar__day-num {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
}

.lux-leave-calendar__day-count {
    font-size: 0.625rem;
    font-weight: 800;
    color: #92400e;
}

.lux-leave-calendar__legend {
    display: flex;
    gap: 0.65rem;
    margin-top: 0.45rem;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-leave-calendar__legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.lux-leave-calendar__legend span::before {
    content: "";
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 3px;
}

.lux-leave-calendar__legend .is-low::before { background: rgba(254, 243, 199, 0.95); border: 1px solid #fcd34d; }
.lux-leave-calendar__legend .is-medium::before { background: rgba(251, 191, 36, 0.55); }
.lux-leave-calendar__legend .is-high::before { background: rgba(245, 158, 11, 0.65); }

.lux-leave-calendar__employee {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.lux-leave-calendar__avatar {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 8px;
    display: inline-grid;
    place-items: center;
    font-size: 0.625rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, #f59e0b, #d97706);
}

.lux-leave-calc__totals {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 0.85rem;
}

.lux-leave-calc__total {
    padding: 0.75rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(148, 163, 184, 0.2);
}

.lux-leave-calc__total span {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
}

.lux-leave-calc__total strong {
    font-size: 1.35rem;
    color: #0f172a;
}

.lux-leave-calc__total.is-balance strong {
    color: #047857;
}

.lux-leave-calc__balance-val {
    color: #047857;
}

.lux-leave-coverage.is-loading,
.lux-leave-analytics.is-loading,
.lux-leave-payroll.is-loading {
    min-height: 8rem;
    border-radius: 14px;
    background: linear-gradient(90deg, rgba(226, 232, 240, 0.45), rgba(248, 250, 252, 0.95), rgba(226, 232, 240, 0.45));
    background-size: 200% 100%;
    animation: lux-att-f05-shimmer 1.4s ease-in-out infinite;
}

.lux-leave-coverage__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1.1rem;
    margin-bottom: 0.7rem;
}

.lux-leave-coverage__intro {
    min-width: min(100%, 16rem);
    flex: 1 1 14rem;
}

.lux-leave-coverage__summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.lux-leave-coverage__stat {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 4.75rem;
    padding: 0.4rem 0.6rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(248, 250, 252, 0.95);
}

.lux-leave-coverage__stat span {
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-leave-coverage__stat strong {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
}

.lux-leave-coverage__stat.is-expected {
    border-color: rgba(251, 146, 60, 0.35);
    background: rgba(255, 237, 213, 0.92);
}

.lux-leave-coverage__stat.is-actual {
    border-color: rgba(5, 150, 105, 0.25);
    background: rgba(236, 253, 245, 0.92);
}

.lux-leave-coverage__stat.is-gap.is-behind {
    border-color: rgba(225, 29, 72, 0.25);
    background: rgba(255, 241, 242, 0.95);
}

.lux-leave-coverage__stat.is-gap.is-ahead {
    border-color: rgba(5, 150, 105, 0.25);
    background: rgba(236, 253, 245, 0.92);
}

.lux-leave-coverage__toggle {
    display: inline-flex;
    margin: 0 0 0.7rem;
    padding: 0.15rem;
    border-radius: 999px;
    background: rgba(241, 245, 249, 0.95);
    border: 1px solid rgba(148, 163, 184, 0.22);
}

.lux-leave-coverage__toggle-btn {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0.28rem 0.75rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    line-height: 1.2;
}

.lux-leave-coverage__toggle-btn.is-active {
    background: #fff;
    color: #0f172a;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.lux-leave-coverage__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(3.6rem, 1fr));
    gap: 0.4rem;
}

.lux-leave-coverage__cell {
    border-radius: 10px;
    padding: 0.45rem 0.3rem;
    text-align: center;
    border: 1px solid rgba(148, 163, 184, 0.16);
    background: rgba(255, 255, 255, 0.85);
}

.lux-leave-coverage__cell.is-expected {
    background: rgba(255, 237, 213, 0.95);
    border-color: rgba(251, 146, 60, 0.35);
}
.lux-leave-coverage__cell.is-expected .lux-leave-coverage__pct {
    color: #c2410c;
}
.lux-leave-coverage__cell.is-good {
    background: rgba(209, 250, 229, 0.75);
    border-color: rgba(16, 185, 129, 0.35);
}
.lux-leave-coverage__cell.is-good .lux-leave-coverage__pct {
    color: #047857;
}
.lux-leave-coverage__cell.is-bad {
    background: rgba(254, 226, 226, 0.85);
    border-color: rgba(244, 63, 94, 0.35);
}
.lux-leave-coverage__cell.is-bad .lux-leave-coverage__pct {
    color: #be123c;
}
.lux-leave-coverage__cell.is-low { background: rgba(209, 250, 229, 0.65); }
.lux-leave-coverage__cell.is-medium { background: rgba(254, 243, 199, 0.75); }
.lux-leave-coverage__cell.is-high { background: rgba(254, 226, 226, 0.8); }
.lux-leave-coverage__cell.is-pending,
.lux-leave-coverage__cell.is-empty {
    background: rgba(248, 250, 252, 0.9);
    color: #94a3b8;
}

.lux-leave-coverage__day {
    display: block;
    font-size: 0.625rem;
    font-weight: 700;
    color: #64748b;
}

.lux-leave-coverage__pct {
    display: block;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.lux-leave-coverage__cell em {
    display: block;
    font-style: normal;
    font-size: 0.5625rem;
    color: #94a3b8;
}

.lux-leave-analytics__strip {
    margin-bottom: 0.85rem;
}

.lux-leave-analytics__kpi.is-primary { --kpi-accent: var(--lux-primary, #5b5ff4); }
.lux-leave-analytics__kpi.is-amber { --kpi-accent: #d97706; }
.lux-leave-analytics__kpi.is-violet { --kpi-accent: #7c3aed; }
.lux-leave-analytics__kpi.is-rose { --kpi-accent: #e11d48; }
.lux-leave-analytics__kpi.is-slate { --kpi-accent: #64748b; }

.lux-leave-analytics__sla {
    margin: 0 0 0.85rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: rgba(248, 250, 252, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.2);
    font-size: 0.8125rem;
    color: #475569;
}

.lux-leave-analytics__chart h4 {
    margin: 0 0 0.55rem;
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-leave-analytics__chart ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-leave-analytics__chart li {
    display: grid;
    grid-template-columns: 2.5rem 1fr auto;
    gap: 0.55rem;
    align-items: center;
}

.lux-leave-analytics__bar-track {
    height: 0.45rem;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.9);
    overflow: hidden;
}

.lux-leave-analytics__bar-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #f59e0b, #d97706);
}

.lux-leave-payroll__totals {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
}

.lux-leave-payroll__totals span {
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(148, 163, 184, 0.25);
    color: #475569;
}

.lux-leave-payroll__totals .is-lwp {
    color: #b91c1c;
    border-color: rgba(248, 113, 113, 0.35);
    background: rgba(254, 226, 226, 0.45);
}

.lux-leave-payroll__pill {
    display: inline-flex;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
}

.lux-leave-payroll__pill.is-paid {
    background: rgba(209, 250, 229, 0.65);
    color: #047857;
}

.lux-leave-payroll__pill.is-lwp {
    background: rgba(254, 226, 226, 0.65);
    color: #b91c1c;
}

.lux-leave-sync {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.lux-leave-sync__source,
.lux-leave-sync__promo {
    display: inline-flex;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
}

.lux-leave-sync__source.is-native { background: rgba(224, 231, 255, 0.8); color: #3730a3; }
.lux-leave-sync__source.is-synced { background: rgba(224, 231, 255, 0.8); color: #3730a3; }
.lux-leave-sync__source.is-hr { background: rgba(241, 245, 249, 0.95); color: #475569; }

.lux-leave-sync__promo.is-success { background: rgba(209, 250, 229, 0.75); color: #047857; }
.lux-leave-sync__promo.is-failed { background: rgba(254, 226, 226, 0.75); color: #b91c1c; }
.lux-leave-sync__promo.is-pending { background: rgba(254, 243, 199, 0.85); color: #92400e; }

.lux-leave-sync__retry {
    padding: 0.2rem 0.5rem;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.95);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
}

.lux-leave-overlap {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    background: rgba(254, 226, 226, 0.55);
    border: 1px solid rgba(248, 113, 113, 0.35);
    color: #991b1b;
}

.lux-leave-overlap__icon {
    color: #dc2626;
}

.lux-leave-overlap__body p {
    margin: 0.2rem 0 0;
    font-size: 0.8125rem;
}

.lux-leave-overlap__linked {
    font-size: 0.75rem;
    opacity: 0.9;
}

.lux-leave-overlap__dismiss {
    margin-left: auto;
    border: 0;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 700;
    color: #b91c1c;
    cursor: pointer;
}

.lux-leave-ledger {
    padding: 0 1.25rem 1.25rem;
    overflow-y: auto;
}

.lux-leave-ledger__toolbar {
    margin-bottom: 0.75rem;
}

.lux-leave-ledger__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.lux-leave-ledger__item {
    padding: 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(255, 255, 255, 0.8);
}

.lux-leave-ledger__item-head {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
}

.lux-leave-ledger__amount.is-credit { color: #047857; font-weight: 800; }
.lux-leave-ledger__amount.is-debit { color: #b91c1c; font-weight: 800; }

.lux-leave-ledger__meta {
    margin: 0.25rem 0 0;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-leave-impact__drawer {
    width: min(32rem, 100vw);
}

.lux-leave-impact__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 1rem 1.25rem 1.25rem;
}

.lux-leave-impact__list {
    margin: 0;
    padding-left: 1rem;
    font-size: 0.8125rem;
    color: #475569;
}

.lux-leave-audit--rich {
    padding: 0 1rem 1rem;
    overflow-y: auto;
}

@media (max-width: 768px) {
    .lux-leave-calendar__summary,
    .lux-leave-calc__totals {
        grid-template-columns: 1fr;
    }

    .lux-leave-subpanel__head {
        flex-direction: column;
    }
}

.lux-leave-subpanel + .lux-leave-subpanel {
    margin-top: 0.85rem;
}

.lux-leave-impact__hint {
    margin: 0 0 0.85rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: rgba(254, 243, 199, 0.45);
    border: 1px solid rgba(251, 191, 36, 0.35);
    font-size: 0.8125rem;
    color: #92400e;
}

.lux-profile-leave-card__loading {
    margin: 0;
    font-size: 0.8125rem;
    color: #94a3b8;
}

/* ── Leave policy page luxury ───────────────────────────────────────────── */

.lux-leave-policy-page .lux-hrms-dash__hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.lux-leave-policy__section {
    margin-bottom: 0;
}

.lux-leave-policy__desc {
    display: block;
    max-width: 28rem;
    font-size: 0.8125rem;
    color: #64748b;
}

.lux-leave-policy__error {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.85rem;
    border-radius: 12px;
    background: rgba(254, 226, 226, 0.55);
    border: 1px solid rgba(248, 113, 113, 0.35);
    color: #991b1b;
    font-size: 0.8125rem;
}

.lux-leave-policy__error span {
    flex: 1;
}

.lux-leave-policy__error button {
    border: 0;
    background: transparent;
    color: #b91c1c;
    cursor: pointer;
    padding: 0.15rem;
}

.lux-leave-policy__drawer {
    width: min(36rem, 100vw);
}

.lux-leave-policy__json {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.75rem;
    line-height: 1.45;
}

.lux-leave-policy__json-hint {
    margin: -0.35rem 0 0.75rem;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-leave-policy__json-hint code {
    font-size: 0.6875rem;
    padding: 0.1rem 0.35rem;
    border-radius: 6px;
    background: rgba(241, 245, 249, 0.95);
    color: #475569;
}

/* ── Employee leave config luxury ───────────────────────────────────────── */

.lux-leave-config-page .lux-hrms-dash__hero-actions a.lux-leave-hero__cta {
    text-decoration: none;
}

.lux-leave-config__banner {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.85rem;
    border-radius: 12px;
    font-size: 0.8125rem;
    margin-bottom: 0.15rem;
}

.lux-leave-config__banner span {
    flex: 1;
}

.lux-leave-config__banner button {
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 0.15rem;
}

.lux-leave-config__banner.is-success {
    background: rgba(209, 250, 229, 0.65);
    border: 1px solid rgba(52, 211, 153, 0.35);
    color: #047857;
}

.lux-leave-config__banner.is-success button {
    color: #059669;
}

.lux-leave-config__banner.is-error {
    background: rgba(254, 226, 226, 0.55);
    border: 1px solid rgba(248, 113, 113, 0.35);
    color: #991b1b;
}

.lux-leave-config__banner.is-error button {
    color: #b91c1c;
}

.lux-leave-config__banner.is-warning {
    background: rgba(254, 243, 199, 0.7);
    border: 1px solid rgba(251, 191, 36, 0.45);
    color: #92400e;
}

.lux-leave-config__banner.is-warning a {
    color: #b45309;
    font-weight: 700;
}

.lux-leave-page > .lux-leave-config__banner {
    margin: var(--lux-page-block-gap-y) var(--lux-page-gutter-x);
}

.lux-leave-config__balances {
    margin-bottom: 0;
}

.lux-leave-config__form {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.lux-leave-config__form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 0.85rem;
}

.lux-leave-config__form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-wrap: wrap;
    padding-top: 0.25rem;
}

@media (max-width: 768px) {
    .lux-leave-config__form-grid {
        grid-template-columns: 1fr;
    }
}

/* ── Delegation admin (F07-T4) — luxury ───────────────────────────────────── */

.lux-delegation-admin-page {
    padding-bottom: var(--lux-page-block-bottom);
}

.lux-delegation-admin__hero {
    --leave-accent: #6366f1;
    align-items: center;
    flex-wrap: wrap;
}

.lux-delegation-admin__error {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
}

.lux-delegation-admin-page .lux-admin-kpi-strip .lux-admin-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-delegation-admin-page .lux-admin-kpi-strip .lux-admin-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-delegation-admin-page .lux-admin-kpi-strip .lux-admin-kpi.is-violet { border-color: rgba(139, 92, 246, 0.2); }
.lux-delegation-admin-page .lux-admin-kpi-strip .lux-admin-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }

.lux-delegation-insights {
    display: grid;
    gap: 0.45rem;
    margin-bottom: 0.85rem;
}

.lux-delegation-insight {
    text-decoration: none;
    color: inherit;
}

.lux-delegation-insight__copy {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.lux-delegation-insight__copy strong {
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-delegation-insight__copy small {
    font-size: 0.75rem;
    color: #64748b;
}

.lux-delegation-insight__chevron {
    margin-left: auto;
    color: #94a3b8;
    font-size: 0.875rem;
}

.lux-delegation-quick-nav {
    margin-bottom: 0.85rem;
}

.lux-delegation-quick-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-height: 6.5rem;
    text-decoration: none;
    color: inherit;
}

.lux-delegation-quick-card__desc {
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.4;
    color: #64748b;
}

.lux-delegation-panel {
    min-width: 0;
}

.lux-delegation-panel--accent {
    border-color: rgba(99, 102, 241, 0.22);
    background:
        radial-gradient(circle at 0% 0%, rgba(99, 102, 241, 0.08), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.92));
}

.lux-delegation-panel__tabs-head {
    padding-top: 0;
    border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.lux-delegation-tab.is-active {
    color: #4338ca;
}

.lux-delegation-admin__tab-count {
    display: inline-grid;
    place-items: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.35rem;
    margin-left: 0.35rem;
    border-radius: 999px;
    background: rgba(99, 102, 241, 0.15);
    color: #4338ca;
    font-size: 0.6875rem;
    font-weight: 800;
}

.lux-delegation-admin__acting-sub {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    color: #64748b;
    line-height: 1.45;
}

.lux-delegation-admin__manage-wrap .lux-approval-delegation {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
}

.lux-delegation-admin__manage-wrap .lux-approval-delegation__eyebrow,
.lux-delegation-admin__manage-wrap .lux-approval-delegation__title,
.lux-delegation-admin__manage-wrap .lux-approval-delegation__subtitle {
    display: none;
}

.lux-delegation-admin__manage-wrap .lux-approval-delegation__head {
    margin-bottom: 0.65rem;
    padding-bottom: 0;
    border-bottom: none;
}

.lux-delegation-admin__manage-wrap .lux-approval-delegation__btn--primary {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.85rem;
    border-radius: 12px;
    border: none;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    cursor: pointer;
}

.lux-delegation-admin__manage-wrap .lux-approval-delegation__card {
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 252, 0.9));
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-delegation-register-wrap {
    overflow-x: auto;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-delegation-register {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
}

.lux-delegation-register thead th {
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
    white-space: nowrap;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(248, 250, 252, 0.92);
    position: sticky;
    top: 0;
    z-index: 1;
}

.lux-delegation-register tbody td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    vertical-align: middle;
}

.lux-delegation-register__row.is-attention {
    background: linear-gradient(90deg, rgba(224, 231, 255, 0.45), transparent 58%);
}

.lux-delegation-register__row:hover {
    background: rgba(248, 250, 252, 0.95);
}

.lux-delegation-register__primary {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.lux-delegation-register__avatar {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    color: #fff;
    background: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.lux-delegation-register__avatar.is-violet {
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
}

.lux-delegation-register__primary-copy {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.lux-delegation-register__primary-title {
    color: #0f172a;
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.25;
}

.lux-delegation-register__primary-meta {
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 600;
}

.lux-delegation-register__date {
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
    white-space: nowrap;
}

.lux-delegation-register__open {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    color: #64748b;
    background: rgba(15, 23, 42, 0.04);
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}

.lux-delegation-register__open:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-delegation-admin__scopes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.lux-delegation-admin__scope {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    background: rgba(241, 245, 249, 0.95);
    color: #475569;
}

.lux-delegation-admin__scope.is-leave {
    background: rgba(254, 243, 199, 0.75);
    color: #92400e;
}

.lux-delegation-admin__scope.is-timesheet {
    background: rgba(224, 231, 255, 0.85);
    color: #3730a3;
}

.lux-delegation-admin__scope.is-attendance {
    background: rgba(209, 250, 229, 0.75);
    color: #047857;
}

.lux-delegation-calendar__legend {
    display: flex;
    gap: 0.85rem;
    margin-bottom: 0.65rem;
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-delegation-calendar__legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.lux-delegation-calendar__legend span::before {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 3px;
}

.lux-delegation-calendar__legend .is-outgoing::before {
    background: rgba(99, 102, 241, 0.55);
}

.lux-delegation-calendar__legend .is-incoming::before {
    background: rgba(16, 185, 129, 0.55);
}

.lux-delegation-calendar__nav {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.lux-delegation-calendar__nav-btn,
.lux-delegation-calendar__today-btn {
    display: inline-grid;
    place-items: center;
    min-height: 2rem;
    padding: 0 0.65rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
}

.lux-delegation-calendar__nav-btn {
    width: 2rem;
    padding: 0;
}

.lux-delegation-calendar__month {
    min-width: 9rem;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 700;
    color: #0f172a;
}

.lux-delegation-calendar__heatmap-wrap {
    margin-bottom: 0.35rem;
}

.lux-delegation-calendar__heatmap-label {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
    margin-bottom: 0.45rem;
}

.lux-delegation-calendar__heatmap {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.35rem;
}

.lux-delegation-calendar__skeleton {
    min-height: 4.5rem;
    border-radius: 12px;
    background: linear-gradient(90deg, rgba(226, 232, 240, 0.45), rgba(248, 250, 252, 0.95), rgba(226, 232, 240, 0.45));
    background-size: 200% 100%;
    animation: lux-att-f05-shimmer 1.4s ease-in-out infinite;
}

.lux-delegation-calendar__day {
    position: relative;
    min-height: 2.4rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(255, 255, 255, 0.75);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.1rem;
}

.lux-delegation-calendar__day.is-weekend {
    opacity: 0.72;
}

.lux-delegation-calendar__day.is-today {
    border-color: rgba(99, 102, 241, 0.45);
    box-shadow: inset 0 0 0 1px rgba(99, 102, 241, 0.25);
}

.lux-delegation-calendar__day.is-low {
    background: rgba(224, 231, 255, 0.65);
}

.lux-delegation-calendar__day.is-medium {
    background: rgba(129, 140, 248, 0.35);
}

.lux-delegation-calendar__day.is-high {
    background: rgba(99, 102, 241, 0.45);
}

.lux-delegation-calendar__day-num {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
}

.lux-delegation-calendar__day-count {
    font-size: 0.625rem;
    font-weight: 800;
    color: #4338ca;
}

.lux-delegation-calendar__density-legend {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.55rem;
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-delegation-calendar__density-legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.lux-delegation-calendar__density-legend span::before {
    content: "";
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 4px;
}

.lux-delegation-calendar__density-legend .is-low::before {
    background: rgba(224, 231, 255, 0.85);
}

.lux-delegation-calendar__density-legend .is-medium::before {
    background: rgba(129, 140, 248, 0.45);
}

.lux-delegation-calendar__density-legend .is-high::before {
    background: rgba(99, 102, 241, 0.55);
}

@media (max-width: 992px) {
    .lux-delegation-calendar__heatmap {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}

/* ── Access requests admin (F12-T3) — luxury ─────────────────────────────── */

.lux-access-request-page {
    padding-bottom: var(--lux-page-block-bottom);
}

.lux-access-request-hero {
    align-items: center;
    flex-wrap: wrap;
}

.lux-access-request__error {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
}

.lux-access-request__success {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.85rem;
    padding: 0.7rem 0.85rem;
    border-radius: 14px;
    border: 1px solid rgba(16, 185, 129, 0.22);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(236, 253, 245, 0.86));
    color: #047857;
    font-size: 0.8125rem;
    font-weight: 800;
}

.lux-access-request-drawer-backdrop {
    z-index: var(--lux-z-overlay, 10040);
}

.lux-onb-drawer.lux-access-request-drawer {
    width: min(34rem, 100%);
    max-width: min(34rem, 96vw);
}

.lux-access-request-drawer .lux-onb-drawer__category-icon.is-violet {
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
}
.lux-access-request-drawer .lux-onb-drawer__category-icon.is-sky {
    background: linear-gradient(135deg, #38bdf8, #0284c7);
}
.lux-access-request-drawer .lux-onb-drawer__category-icon.is-amber {
    background: linear-gradient(135deg, #f59e0b, #d97706);
}
.lux-access-request-drawer .lux-onb-drawer__category-icon.is-primary {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
}
.lux-access-request-drawer .lux-onb-drawer__category-icon.is-green {
    background: linear-gradient(135deg, #10b981, #047857);
}
.lux-access-request-drawer .lux-onb-drawer__category-icon.is-slate {
    background: linear-gradient(135deg, #94a3b8, #475569);
}

.lux-access-request-drawer .lux-gov-drawer__subtitle {
    margin: 0.35rem 0 0;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.45;
    color: #64748b;
}

.lux-access-request-drawer__body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0 !important;
}

.lux-access-request-drawer__scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 1rem 1.2rem 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
}

.lux-access-request-drawer__banner {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 0.95rem;
    border-radius: 16px;
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 55%),
        rgba(248, 250, 252, 0.95);
}

.lux-access-request-drawer__banner > i {
    margin-top: 0.1rem;
    color: var(--lux-primary, #5b5ff4);
    font-size: 1rem;
    flex-shrink: 0;
}

.lux-access-request-drawer__banner strong {
    display: block;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-access-request-drawer__banner p {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.45;
    color: #64748b;
}

.lux-access-request-drawer__alert {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.75rem 0.85rem;
    border-radius: 14px;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.4;
}

.lux-access-request-drawer__alert.is-danger {
    border: 1px solid rgba(239, 68, 68, 0.22);
    background: rgba(254, 242, 242, 0.95);
    color: #b91c1c;
}

.lux-access-request-drawer__section {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.lux-access-request-drawer__section-head h3 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.lux-access-request-drawer__section-head p {
    margin: 0.2rem 0 0;
    font-size: 0.72rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-access-request-drawer__type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-access-request-drawer__type-card {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    width: 100%;
    text-align: left;
    padding: 0.75rem 0.8rem;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(255, 255, 255, 0.92);
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

.lux-access-request-drawer__type-card:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

.lux-access-request-drawer__type-card.is-selected {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), transparent 55%),
        rgba(255, 255, 255, 0.98);
    box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-access-request-drawer__type-card:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.lux-access-request-drawer__type-icon {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
    background: linear-gradient(135deg, #94a3b8, #64748b);
}

.lux-access-request-drawer__type-card.is-violet .lux-access-request-drawer__type-icon {
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
}
.lux-access-request-drawer__type-card.is-sky .lux-access-request-drawer__type-icon {
    background: linear-gradient(135deg, #38bdf8, #0284c7);
}
.lux-access-request-drawer__type-card.is-amber .lux-access-request-drawer__type-icon {
    background: linear-gradient(135deg, #f59e0b, #d97706);
}
.lux-access-request-drawer__type-card.is-primary .lux-access-request-drawer__type-icon {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
}
.lux-access-request-drawer__type-card.is-green .lux-access-request-drawer__type-icon {
    background: linear-gradient(135deg, #10b981, #047857);
}
.lux-access-request-drawer__type-card.is-slate .lux-access-request-drawer__type-icon {
    background: linear-gradient(135deg, #94a3b8, #475569);
}

.lux-access-request-drawer__type-copy {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.lux-access-request-drawer__type-copy strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-access-request-drawer__type-copy small {
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.35;
    color: #64748b;
}

.lux-access-request-drawer__priority-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-access-request-drawer__priority-chip {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    padding: 0.7rem 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(255, 255, 255, 0.92);
    cursor: pointer;
    text-align: left;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.lux-access-request-drawer__priority-chip strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-access-request-drawer__priority-chip span {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-access-request-drawer__priority-chip.is-selected {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    box-shadow: inset 0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-access-request-drawer__priority-chip.is-high.is-selected {
    border-color: rgba(239, 68, 68, 0.35);
    background: rgba(254, 226, 226, 0.55);
    box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.08);
}

.lux-access-request-drawer__priority-chip:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.lux-access-request-drawer__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.lux-access-request-drawer__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.lux-access-request-drawer__field--wide {
    grid-column: 1 / -1;
}

.lux-access-request-drawer__label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-access-request-drawer__label i {
    font-size: 0.8rem;
    color: var(--lux-primary, #5b5ff4);
}

.lux-access-request-drawer__input,
.lux-access-request-drawer__textarea {
    width: 100%;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    color: #0f172a;
    font-size: 0.8125rem;
    font-weight: 700;
    padding: 0.72rem 0.85rem;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.lux-access-request-drawer__textarea {
    resize: vertical;
    min-height: 6.5rem;
    line-height: 1.45;
}

.lux-access-request-drawer__input:focus,
.lux-access-request-drawer__textarea:focus {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.42);
    box-shadow: 0 0 0 4px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    background: #fff;
}

.lux-access-request-drawer__input:disabled,
.lux-access-request-drawer__textarea:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.lux-access-request-drawer__hint {
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.35;
    color: #94a3b8;
}

.lux-access-request-drawer__foot .lux-onb-drawer__foot-actions {
    justify-content: flex-end;
}

.lux-access-request-drawer__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.4rem;
    padding: 0.55rem 0.95rem;
    border-radius: 12px;
    border: 1px solid transparent;
    font-size: 0.8125rem;
    font-weight: 800;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.lux-access-request-drawer__btn.is-ghost {
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    border-color: rgba(148, 163, 184, 0.35);
}

.lux-access-request-drawer__btn.is-ghost:hover:not(:disabled) {
    background: rgba(248, 250, 252, 0.98);
    border-color: rgba(148, 163, 184, 0.5);
}

.lux-access-request-drawer__btn.is-primary {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-access-request-drawer__btn.is-primary:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.34);
}

.lux-access-request-drawer__btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
}

@media (max-width: 720px) {
    .lux-access-request-drawer__type-grid,
    .lux-access-request-drawer__priority-row,
    .lux-access-request-drawer__grid {
        grid-template-columns: 1fr;
    }
}

.lux-access-request-page .lux-admin-kpi-strip .lux-admin-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-access-request-page .lux-admin-kpi-strip .lux-admin-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-access-request-page .lux-admin-kpi-strip .lux-admin-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }
.lux-access-request-page .lux-admin-kpi-strip .lux-admin-kpi.is-slate { border-color: rgba(100, 116, 139, 0.2); }

.lux-access-request-insights {
    display: grid;
    gap: 0.45rem;
    margin-bottom: 0.85rem;
}

.lux-access-request-insight__copy {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.lux-access-request-insight__copy strong {
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-access-request-insight__copy small {
    font-size: 0.75rem;
    color: #64748b;
}

.lux-access-request-quick-nav {
    margin-bottom: 0.85rem;
}

.lux-access-request-quick-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-height: 6.5rem;
    text-decoration: none;
    color: inherit;
}

.lux-access-request-quick-card__desc {
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.4;
    color: #64748b;
}

.lux-access-request-panel {
    min-width: 0;
}

.lux-access-request-panel--compact {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background:
      radial-gradient(100% 70% at 0% 0%, rgba(99, 102, 241, 0.08), transparent 48%),
      linear-gradient(165deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.95));
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.95) inset,
      0 14px 32px rgba(15, 23, 42, 0.05);
}

.lux-access-request-panel--compact .lux-hrms-dash__panel-head,
.lux-access-request-panel--compact .lux-admin-panel-head {
    padding: 0.65rem 0.95rem 0.45rem;
    margin: 0;
    gap: 0.45rem;
}

.lux-access-request-panel--compact .lux-hrms-dash__panel-title,
.lux-access-request-panel--compact .lux-admin-panel-head__title,
.lux-access-request-panel--compact h3 {
    font-size: 1rem;
    margin: 0;
}

.lux-access-request-panel--compact .lux-hrms-dash__panel-sub,
.lux-access-request-panel--compact .lux-hrms-dash__panel-subtitle,
.lux-access-request-panel--compact .lux-admin-panel-head__subtitle {
    margin: 0.15rem 0 0;
    font-size: 0.7rem;
    line-height: 1.3;
}

.lux-access-request-panel__toolbar {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0 0.95rem 0.75rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.lux-access-request-panel--compact .lux-access-request-panel__toolbar {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.75rem;
    padding: 0.45rem 0.95rem 0.55rem;
    background: rgba(255, 255, 255, 0.45);
}

.lux-access-request-panel--compact .lux-appr-toolbar__row {
    flex: 1 1 14rem;
    gap: 0.45rem;
    min-width: 0;
}

.lux-access-request-panel--compact .lux-appr-toolbar__search-input {
    height: 2.1rem;
    border-radius: 11px;
    font-size: 0.75rem;
}

.lux-access-request-panel--compact .lux-appr-toolbar__group {
    gap: 0.35rem;
}

.lux-access-request-panel--compact .lux-hrms-dash__filter-chip {
    padding: 0.22rem 0.55rem;
    font-size: 0.68rem;
}

.lux-access-request-panel--compact .lux-access-request-register thead th {
    padding: 0.5rem 0.75rem;
}

.lux-access-request-panel--compact .lux-access-request-register tbody td {
    padding: 0.55rem 0.75rem;
}

.lux-access-request-register-wrap {
    overflow-x: auto;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-access-request-register {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
}

.lux-access-request-register thead th {
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
    white-space: nowrap;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(248, 250, 252, 0.92);
    position: sticky;
    top: 0;
    z-index: 1;
}

.lux-access-request-register tbody td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    vertical-align: middle;
}

.lux-access-request-register__row.is-attention {
    background: linear-gradient(90deg, rgba(254, 243, 199, 0.42), transparent 58%);
}

.lux-access-request-register__row.is-urgent {
    background: linear-gradient(90deg, rgba(254, 226, 226, 0.5), transparent 58%);
}

.lux-access-request-register__row:hover {
    background: rgba(248, 250, 252, 0.95);
}

.lux-access-request-register__primary {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.lux-access-request-register__avatar {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    color: #fff;
    background: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.lux-access-request-register__avatar.is-violet { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.lux-access-request-register__avatar.is-amber { background: linear-gradient(135deg, #f59e0b, #d97706); }
.lux-access-request-register__avatar.is-sky { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.lux-access-request-register__avatar.is-primary { background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3)); }
.lux-access-request-register__avatar.is-green { background: linear-gradient(135deg, #10b981, #047857); }
.lux-access-request-register__avatar.is-slate { background: linear-gradient(135deg, #94a3b8, #64748b); }

.lux-access-request-register__primary-copy {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.lux-access-request-register__primary-title {
    color: #0f172a;
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.25;
}

.lux-access-request-register__primary-meta {
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.35;
}

.lux-access-request-register__requester {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #334155;
    white-space: nowrap;
}

.lux-access-request-register__requester-avatar {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 8px;
    display: inline-grid;
    place-items: center;
    font-size: 0.6875rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, #64748b, #475569);
}

.lux-access-request-register__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.55rem;
    border-radius: 10px;
    font-size: 0.75rem;
    font-weight: 700;
    background: rgba(15, 23, 42, 0.05);
    color: #334155;
    white-space: nowrap;
}

.lux-access-request-register__chip.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-access-request-register__chip.is-amber { background: rgba(245, 158, 11, 0.15); color: #b45309; }
.lux-access-request-register__chip.is-sky { background: rgba(56, 189, 248, 0.15); color: #0369a1; }
.lux-access-request-register__chip.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1); color: var(--lux-primary-dark, #3730a3); }

.lux-access-request-register__date {
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
    white-space: nowrap;
}

.lux-access-request-register__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    justify-content: flex-end;
}

.lux-access-request-register__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.6rem;
    border-radius: 10px;
    border: 1px solid transparent;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.lux-access-request-register__btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.lux-access-request-register__btn.is-primary {
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    color: #fff;
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}

.lux-access-request-register__btn.is-ghost {
    background: rgba(255, 255, 255, 0.92);
    color: #475569;
    border-color: rgba(148, 163, 184, 0.35);
}

.lux-doc-badge.is-primary {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

/* F11 / F12 — Document vault & asset register */
.lux-doc-page,
.lux-asset-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-doc-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.lux-doc-kpi-strip .lux-doc-kpi.is-green { --kpi-accent: #059669; }
.lux-doc-kpi-strip .lux-doc-kpi.is-amber { --kpi-accent: #d97706; }
.lux-doc-kpi-strip .lux-doc-kpi.is-rose { --kpi-accent: #e11d48; }

.lux-asset-kpi-strip .lux-asset-kpi.is-green { --kpi-accent: #059669; }
.lux-asset-kpi-strip .lux-asset-kpi.is-amber { --kpi-accent: #d97706; }

.lux-doc-register-wrap {
  overflow-x: auto;
}

.lux-doc-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.lux-doc-register th,
.lux-doc-register td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  vertical-align: top;
}

.lux-doc-register th {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(15, 23, 42, 0.55);
}

.lux-doc-register__meta {
  display: block;
  font-size: 0.75rem;
  color: rgba(15, 23, 42, 0.55);
  margin-top: 0.15rem;
}

.lux-doc-register__link {
  display: inline-block;
  font-size: 0.75rem;
  margin-top: 0.15rem;
}

.lux-doc-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(15, 23, 42, 0.06);
  color: rgba(15, 23, 42, 0.75);
}

.lux-doc-badge.is-success { background: rgba(16, 185, 129, 0.15); color: #047857; }
.lux-doc-badge.is-warning { background: rgba(245, 158, 11, 0.15); color: #b45309; }
.lux-doc-badge.is-danger { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-doc-badge.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-doc-drawer-backdrop,
.lux-asset-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--lux-z-overlay);
  background: rgba(15, 23, 42, 0.35);
  display: flex;
  justify-content: flex-end;
}

.lux-doc-drawer,
.lux-asset-drawer {
  width: min(420px, 100%);
  height: 100%;
  max-height: 100vh;
  max-height: 100dvh;
  min-height: 0;
  background: #fff;
  box-shadow: -8px 0 32px rgba(15, 23, 42, 0.12);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.lux-doc-drawer__head,
.lux-asset-drawer__head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.lux-doc-drawer__eyebrow,
.lux-asset-drawer__eyebrow {
  display: block;
  font-size: 0.75rem;
  color: rgba(15, 23, 42, 0.55);
  margin-bottom: 0.25rem;
}

.lux-doc-drawer__body,
.lux-asset-drawer__body {
  padding: 1.25rem 1.5rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  flex: 1 1 auto;
  min-height: 0;
}

.lux-doc-drawer__field,
.lux-asset-drawer__field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 1rem;
}

.lux-doc-drawer__field input,
.lux-doc-drawer__field select,
.lux-asset-drawer__field input {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.5rem;
  padding: 0.5rem 0.75rem;
}

.lux-doc-drawer__foot,
.lux-asset-drawer__foot {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-top: 1rem;
}

.lux-doc-drawer__close,
.lux-asset-drawer__close {
  border: none;
  background: transparent;
  font-size: 1.25rem;
  line-height: 1;
}

.lux-doc-compliance__title,
.lux-asset-analytics__title {
  font-size: 1rem;
  margin: 1rem 0 0.75rem;
}

.lux-doc-compliance__bars,
.lux-asset-analytics__bars {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.75rem;
}

.lux-doc-compliance__bar-track,
.lux-asset-analytics__bar-track {
  height: 0.5rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.08);
  overflow: hidden;
  display: flex;
}

.lux-doc-compliance__bar-track .is-verified { background: #10b981; }
.lux-doc-compliance__bar-track .is-pending { background: #f59e0b; }
.lux-asset-analytics__bar-track span { background: #6366f1; height: 100%; }

.lux-doc-compliance__bar-label,
.lux-asset-analytics__bar-label {
  display: flex;
  justify-content: space-between;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

.lux-doc-compliance__bar-meta,
.lux-asset-analytics__bar-meta {
  font-size: 0.75rem;
  color: rgba(15, 23, 42, 0.55);
}

.lux-asset-blockers__intro {
  margin-bottom: 1rem;
  font-size: 0.875rem;
  color: rgba(15, 23, 42, 0.65);
}

.lux-asset-blockers__flag {
  font-size: 0.75rem;
  font-weight: 600;
  color: #be123c;
}

.lux-employee-360__embed-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.lux-employee-360__embed-link {
  font-size: 0.8125rem;
  font-weight: 600;
}

/* F08 — Payroll management */
.lux-payroll-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-payroll-hero {
  align-items: center;
  flex-wrap: wrap;
}

.lux-payroll-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.55rem;
  flex-shrink: 0;
}

.lux-payroll-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-payroll-hero__status {
  margin-top: 0.45rem;
}

.lux-payroll-kpi-strip .lux-payroll-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-payroll-kpi-strip .lux-payroll-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-payroll-kpi-strip .lux-payroll-kpi.is-rose { border-color: rgba(219, 39, 119, 0.18); }
.lux-payroll-kpi-strip .lux-payroll-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }
.lux-payroll-kpi-strip .lux-payroll-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-payroll-kpi-strip .lux-payroll-kpi.is-violet { border-color: rgba(124, 58, 237, 0.2); }

.lux-payroll-kpi__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
}

.lux-payroll-kpi__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background: rgba(15, 23, 42, 0.06);
  color: #64748b;
}

.lux-payroll-kpi__icon.is-green { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-payroll-kpi__icon.is-amber { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-payroll-kpi__icon.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-payroll-kpi__icon.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: var(--lux-primary-dark, #3730a3); }
.lux-payroll-kpi__icon.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-payroll-kpi__icon.is-violet { background: rgba(124, 58, 237, 0.12); color: #6d28d9; }

.lux-payroll-insights {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}

.lux-payroll-insight {
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-payroll-insight:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
  text-decoration: none;
  color: inherit;
}

.lux-payroll-insight__copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-payroll-insight__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-payroll-insight__copy small {
  font-size: 0.75rem;
  color: #64748b;
}

.lux-payroll-insight__chevron {
  margin-left: auto;
  color: #94a3b8;
  font-size: 0.875rem;
}

.lux-payroll-quick-nav {
  margin-bottom: 0.85rem;
}

.lux-payroll-quick-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 6.5rem;
}

.lux-payroll-quick-card__desc {
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.4;
  color: #64748b;
}

.lux-payroll-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 0.85rem;
}

.lux-payroll-panel {
  min-width: 0;
}

.lux-payroll-panel--accent {
  background:
    radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.08), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-payroll-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0 0.95rem 0.75rem;
  border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-payroll-panel__toolbar .lux-appr-toolbar__row {
  width: 100%;
}

.lux-payroll-panel__toolbar .lux-appr-toolbar__group {
  width: 100%;
}

.lux-payroll-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.lux-payroll-summary-card {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.95rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.lux-payroll-summary-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.lux-payroll-summary-card__code {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-payroll-summary-card__title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-payroll-summary-card__meta {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
}

.lux-payroll-summary-card__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0.25rem 0 0;
}

.lux-payroll-summary-card__stats div {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

.lux-payroll-summary-card__stats dt {
  margin: 0;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-payroll-summary-card__stats dd {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-payroll-summary-card__foot {
  margin-top: auto;
  padding-top: 0.45rem;
  border-top: 1px solid rgba(241, 245, 249, 0.98);
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
}

/* Payroll luxury actions */
.lux-payroll-action.lux-onb-action--success,
.lux-onb-action--success {
  background: linear-gradient(135deg, #059669, #047857);
  color: #fff;
  box-shadow: 0 6px 16px rgba(5, 150, 105, 0.28);
}

.lux-payroll-action.lux-onb-action--success:hover,
.lux-onb-action--success:hover {
  color: #fff;
  transform: translateY(-1px);
}

.lux-payroll-action:disabled,
.lux-onb-action:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.lux-payroll-panel-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border: none;
  border-radius: 999px;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--lux-primary-dark, #3730a3);
  text-decoration: none;
  cursor: pointer;
}

.lux-payroll-panel-link:hover {
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
  color: var(--lux-primary-dark, #3730a3);
  text-decoration: none;
}

.lux-payroll-drawer__foot {
  display: flex;
  justify-content: flex-end;
  gap: 0.55rem;
}

.lux-payroll-panel__tabs-head {
  align-items: center;
  padding-bottom: 0.45rem;
}

.lux-payroll-tab.is-active {
  box-shadow: inset 0 -2px 0 var(--lux-primary, #5b5ff4);
}

.lux-payroll-register-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-payroll-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-payroll-register thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
  white-space: nowrap;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(248, 250, 252, 0.92);
  position: sticky;
  top: 0;
  z-index: 1;
}

.lux-payroll-register tbody td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  vertical-align: middle;
  text-align: left;
}

.lux-payroll-register__row.is-attention {
  background: linear-gradient(90deg, rgba(254, 243, 199, 0.45), transparent 62%);
}

.lux-payroll-register__row:hover {
  background: rgba(248, 250, 252, 0.95);
}

.lux-payroll-register__primary {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}

a.lux-payroll-register__primary:hover .lux-payroll-register__primary-title {
  color: var(--lux-primary-dark, #3730a3);
}

.lux-payroll-register__avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 800;
  color: #fff;
  background: var(--lux-primary, #5b5ff4);
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.lux-payroll-register__avatar.is-green { background: linear-gradient(135deg, #10b981, #047857); }
.lux-payroll-register__avatar.is-primary { background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3)); }
.lux-payroll-register__avatar.is-amber { background: linear-gradient(135deg, #f59e0b, #d97706); }
.lux-payroll-register__avatar.is-violet { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.lux-payroll-register__avatar.is-blue { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.lux-payroll-register__avatar.is-slate { background: linear-gradient(135deg, #94a3b8, #64748b); }

.lux-payroll-register__primary-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-payroll-register__primary-title {
  color: #0f172a;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.25;
}

.lux-payroll-register__primary-meta {
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.35;
}

.lux-payroll-register__inline-link {
  display: inline-block;
  margin-top: 0.1rem;
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--lux-primary-dark, #3730a3);
  text-decoration: none;
}

.lux-payroll-register__inline-link:hover {
  text-decoration: underline;
}

.lux-payroll-register__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
  font-size: 0.75rem;
  font-weight: 700;
  color: #334155;
  white-space: nowrap;
}

.lux-payroll-register__chip.is-slate {
  background: rgba(100, 116, 139, 0.1);
  color: #475569;
}

.lux-payroll-register__date {
  color: #475569;
  font-weight: 600;
  white-space: nowrap;
}

.lux-payroll-register__date.is-emphasis {
  color: #0f172a;
  font-weight: 800;
}

.lux-payroll-register__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  padding: 0.15rem 0.45rem;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.05);
  font-size: 0.8125rem;
  font-weight: 800;
  color: #0f172a;
  font-variant-numeric: tabular-nums;
}

.lux-payroll-register__exception {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 800;
}

.lux-payroll-register__exception.is-clear {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}

.lux-payroll-register__exception.is-warning {
  background: rgba(245, 158, 11, 0.15);
  color: #b45309;
}

.lux-payroll-register__open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.32);
  background: rgba(255, 255, 255, 0.92);
  color: #64748b;
  text-decoration: none;
  transition: color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.lux-payroll-register__open:hover {
  color: var(--lux-primary-dark, #3730a3);
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
  transform: translateX(1px);
  text-decoration: none;
}

.lux-payroll-register__open.is-disabled {
  opacity: 0.25;
  pointer-events: none;
}

.lux-payroll-register__issue-code {
  display: block;
  font-size: 0.8125rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-payroll-register__money {
  display: inline-block;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: 0.8125rem;
  color: #0f172a;
  white-space: nowrap;
}

.lux-payroll-register__money.is-muted {
  color: #64748b;
  font-weight: 700;
}

.lux-payroll-code {
  display: inline-block;
  padding: 0.1rem 0.4rem;
  border-radius: 6px;
  background: rgba(15, 23, 42, 0.05);
  font-size: 0.75rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.lux-payroll-readiness-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 800;
}

.lux-payroll-readiness-pill.is-low { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-payroll-readiness-pill.is-mid { background: rgba(245, 158, 11, 0.15); color: #b45309; }
.lux-payroll-readiness-pill.is-high { background: rgba(16, 185, 129, 0.15); color: #047857; }
.lux-payroll-readiness-pill.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-payroll-readiness__bars,
.lux-payroll-readiness__row {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lux-payroll-readiness__bars {
  display: grid;
  gap: 0.85rem;
}

.lux-payroll-readiness__row {
  padding: 0.65rem 0.75rem;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.9);
  border: 1px solid rgba(226, 232, 240, 0.8);
}

.lux-payroll-readiness__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.45rem;
}

.lux-payroll-readiness__label-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.lux-payroll-readiness__link {
  font-size: 0.8125rem;
  font-weight: 800;
  color: #0f172a;
  text-decoration: none;
}

.lux-payroll-readiness__link:hover {
  color: var(--lux-primary-dark, #3730a3);
}

.lux-payroll-readiness__track {
  height: 0.55rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

.lux-payroll-readiness__track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  transition: width 0.35s ease;
}

.lux-payroll-readiness__track .is-low { background: linear-gradient(90deg, #fb7185, #f43f5e); }
.lux-payroll-readiness__track .is-mid { background: linear-gradient(90deg, #fbbf24, #f59e0b); }
.lux-payroll-readiness__track .is-high { background: linear-gradient(90deg, #34d399, #10b981); }

.lux-payroll-readiness__meta,
.lux-payroll-readiness__empty {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
}

.lux-payroll-exception-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.55rem;
}

.lux-payroll-exception-card {
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.9);
}

.lux-payroll-exception-card.is-blocker {
  border-color: rgba(244, 63, 94, 0.25);
  background: rgba(255, 241, 242, 0.7);
}

.lux-payroll-exception-card.is-warning {
  border-color: rgba(245, 158, 11, 0.25);
  background: rgba(255, 251, 235, 0.75);
}

.lux-payroll-exception-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.lux-payroll-exception-card__code {
  font-size: 0.6875rem;
  font-weight: 700;
  color: #94a3b8;
}

.lux-payroll-exception-card__message {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.45;
  color: #0f172a;
}

.lux-payroll-exception-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.45rem;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-payroll-lifecycle {
  margin-bottom: 0.85rem;
  padding: 0.75rem 1rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.lux-payroll-lifecycle__steps {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0;
  list-style: none;
  padding: 0;
  margin: 0;
}

.lux-payroll-lifecycle__step {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
  padding-right: 1.25rem;
}

.lux-payroll-lifecycle__step:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0.35rem;
  top: 50%;
  width: 0.65rem;
  height: 1px;
  background: #cbd5e1;
}

.lux-payroll-lifecycle__marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  background: rgba(148, 163, 184, 0.18);
  color: #64748b;
  flex-shrink: 0;
}

.lux-payroll-lifecycle__step.is-complete .lux-payroll-lifecycle__marker {
  background: rgba(16, 185, 129, 0.15);
  color: #047857;
}

.lux-payroll-lifecycle__step.is-current .lux-payroll-lifecycle__marker {
  background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
  color: #fff;
  box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-payroll-lifecycle__label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #64748b;
  white-space: nowrap;
}

.lux-payroll-lifecycle__step.is-current .lux-payroll-lifecycle__label {
  color: #0f172a;
}

.lux-payroll-run-detail__meta-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  margin-bottom: 0.85rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #64748b;
}

.lux-payroll-run-detail__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 0.85rem;
  align-items: start;
}

.lux-payroll-run-detail__main .lux-hrms-dash__panel-head {
  align-items: center;
}

.lux-payroll-run-detail__aside {
  position: sticky;
  top: 1rem;
}

.lux-payroll-cost-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 0.65rem;
}

.lux-payroll-cost-card {
  padding: 0.85rem 0.95rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(248, 250, 252, 0.9);
}

.lux-payroll-cost-card__title {
  margin: 0 0 0.55rem;
  font-size: 0.875rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-payroll-cost-card__stats {
  display: grid;
  gap: 0.35rem;
  margin: 0;
}

.lux-payroll-cost-card__stats div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
}

.lux-payroll-cost-card__stats dt {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #94a3b8;
}

.lux-payroll-cost-card__stats dd {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 800;
  color: #0f172a;
  font-variant-numeric: tabular-nums;
}

.lux-payroll-ai-panel {
  background:
    radial-gradient(circle at 0% 0%, rgba(99, 102, 241, 0.1), transparent 55%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
  border: 1px solid rgba(99, 102, 241, 0.18);
  border-radius: 14px;
  padding: 0.95rem 1rem;
}

.lux-payroll-ai-panel__headline {
  margin: 0 0 0.85rem;
  font-size: 0.9375rem;
  font-weight: 800;
  line-height: 1.45;
  color: #0f172a;
}

.lux-payroll-ai-panel__section {
  margin-bottom: 0.85rem;
}

.lux-payroll-ai-panel__section-title {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0 0 0.45rem;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-payroll-ai-panel__list {
  padding-left: 1.1rem;
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.5;
  color: #334155;
}

.lux-payroll-ai-panel__foot {
  padding-top: 0.65rem;
  border-top: 1px solid rgba(99, 102, 241, 0.12);
}

.lux-payroll-ai-panel__eyebrow {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 0.2rem;
}

.lux-payroll-ai-panel__note {
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
  margin: 0;
}

.lux-payroll-ai-panel__summary {
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: #475569;
}

.lux-payroll-ai-panel__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 0.75rem;
}

.lux-payroll-ai-panel__confidence {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(99, 102, 241, 0.12);
  color: #4338ca;
  font-size: 0.6875rem;
  font-weight: 800;
}

.lux-payroll-ai-panel__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: #64748b;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.lux-payroll-ai-panel__action {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.18);
  color: #065f46;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.45;
}

.lux-payroll-ai-panel__list--rich li {
  display: grid;
  gap: 0.15rem;
}

.lux-payroll-ai-panel__list--rich li strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-payroll-ai-panel__list--rich li small {
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.45;
}

.lux-payroll-ai-panel__chip {
  display: inline-flex;
  width: fit-content;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.16);
  color: #475569;
  font-size: 0.6875rem;
  font-weight: 700;
}

.lux-payroll-ai-panel__evidence {
  margin: 0;
  padding-left: 1rem;
  color: #64748b;
  font-size: 0.75rem;
  line-height: 1.5;
}

.lux-payroll-ai-panel--loading {
  opacity: 0.85;
}

@media (max-width: 1200px) {
  .lux-hrms-dash__kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 992px) {
  .lux-payroll-dashboard__grid,
  .lux-payroll-run-detail__grid {
    grid-template-columns: 1fr;
  }

  .lux-payroll-run-detail__aside {
    position: static;
  }

  .lux-payroll-hero__actions {
    width: 100%;
    align-items: stretch;
  }

  .lux-payroll-hero__buttons {
    justify-content: flex-start;
  }

  .lux-payroll-summary-card__stats {
    grid-template-columns: 1fr;
  }
}

/* F09 — Paychecks / payslip (luxury) */
.lux-paycheck-page,
.lux-my-paychecks-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-paycheck-hero {
  align-items: center;
  flex-wrap: wrap;
}

.lux-paycheck__error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}

.lux-paycheck-kpi-strip .lux-payroll-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-paycheck-kpi-strip .lux-payroll-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-paycheck-kpi-strip .lux-my-work-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }

.lux-paycheck-insights {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}

.lux-paycheck-insight {
  text-decoration: none;
  color: inherit;
}

.lux-paycheck-insight__copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-paycheck-insight__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-paycheck-insight__copy small {
  font-size: 0.75rem;
  color: #64748b;
}

.lux-paycheck-insight__chevron {
  margin-left: auto;
  color: #94a3b8;
}

.lux-paycheck-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0 0.95rem 0.75rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.lux-paycheck-register-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-paycheck-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-paycheck-register thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
  white-space: nowrap;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(248, 250, 252, 0.92);
  position: sticky;
  top: 0;
  z-index: 1;
}

.lux-paycheck-register tbody td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  vertical-align: middle;
}

.lux-paycheck-register__row.is-attention {
  background: linear-gradient(90deg, rgba(254, 243, 199, 0.42), transparent 58%);
}

.lux-paycheck-register__row:hover {
  background: rgba(248, 250, 252, 0.95);
}

.lux-paycheck-register__primary {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}

.lux-paycheck-register__avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  font-size: 0.8125rem;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
  flex-shrink: 0;
}

.lux-paycheck-register__avatar.is-green {
  background: linear-gradient(135deg, #10b981, #047857);
}

.lux-paycheck-register__primary-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-paycheck-register__primary-title {
  color: #0f172a;
  font-size: 0.875rem;
  font-weight: 800;
}

.lux-paycheck-register__primary-meta {
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 600;
}

.lux-paycheck-register__period,
.lux-paycheck-register__date {
  font-size: 0.75rem;
  font-weight: 700;
  color: #334155;
  white-space: nowrap;
}

.lux-paycheck-register__net {
  font-variant-numeric: tabular-nums;
  color: #0f172a;
}

.lux-paycheck-register__actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  justify-content: flex-end;
}

.lux-paycheck-register__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.35rem 0.6rem;
  border-radius: 10px;
  border: 1px solid transparent;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
}

.lux-paycheck-register__btn.is-primary {
  background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
  color: #fff;
}

.lux-paycheck-register__btn.is-ghost {
  background: rgba(255, 255, 255, 0.92);
  color: #475569;
  border-color: rgba(148, 163, 184, 0.35);
}

.lux-paycheck-register__open {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  color: #64748b;
  background: rgba(15, 23, 42, 0.04);
  text-decoration: none;
}

.lux-paycheck-register__actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
}

.lux-paycheck-register__download {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 10px;
  color: #047857;
  background: rgba(16, 185, 129, 0.12);
  cursor: pointer;
}

.lux-paycheck-register__download:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.lux-payslip-detail__summary {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-bottom: 1rem;
}

.lux-payslip-detail__amounts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

.lux-payslip-detail__amount-card {
  padding: 0.85rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.92);
}

.lux-payslip-detail__amount-card span {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #94a3b8;
  margin-bottom: 0.25rem;
}

.lux-payslip-detail__amount-card strong {
  font-size: 1.125rem;
  color: #0f172a;
  font-variant-numeric: tabular-nums;
}

.lux-payslip-detail__amount-card.is-net {
  border-color: rgba(16, 185, 129, 0.25);
  background: rgba(209, 250, 229, 0.35);
}

.lux-payslip-detail__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
}

.lux-payslip-detail__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
}

.lux-payslip-detail__ytd {
  margin-bottom: 1rem;
}

.lux-payslip-detail__ytd-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

.lux-payslip-detail__ytd-card {
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(148, 163, 184, 0.18);
}

.lux-payslip-detail__ytd-card span {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #94a3b8;
  text-transform: uppercase;
}

.lux-payslip-detail__ytd-card strong {
  font-size: 0.9375rem;
  color: #0f172a;
  font-variant-numeric: tabular-nums;
}

.lux-payslip-detail__lines {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.lux-payslip-detail__lines-panel {
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.92);
  padding: 0.85rem 1rem;
}

.lux-payslip-detail__lines-title {
  margin: 0 0 0.65rem;
  font-size: 0.875rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-payslip-detail__lines-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-payslip-detail__lines-table td {
  padding: 0.45rem 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.lux-payslip-detail__lines-table td:last-child {
  text-align: right;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.lux-payslip-detail__lines-table td.is-empty {
  color: #94a3b8;
  font-weight: 600;
}

@media (max-width: 992px) {
  .lux-payslip-detail__amounts,
  .lux-payslip-detail__ytd-grid,
  .lux-payslip-detail__lines {
    grid-template-columns: 1fr;
  }
}

/* F25 — Org chart + org structure admin */
.lux-org-chart-page,
.lux-org-structure-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-org-chart-hero,
.lux-org-structure-hero {
  align-items: center;
  flex-wrap: wrap;
}

.lux-org-chart-hero__actions,
.lux-org-chart-hero__buttons {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.55rem;
}

.lux-org-chart-hero__buttons {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.lux-org-chart__error,
.lux-org-structure__error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}

.lux-org-chart-kpi-strip .lux-org-chart-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }
.lux-org-chart-kpi-strip .lux-org-chart-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-org-chart-kpi-strip .lux-org-chart-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-org-chart-kpi-strip .lux-org-chart-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }

.lux-org-chart-kpi__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
}

.lux-org-chart-kpi__icon {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 8px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.12);
  color: #64748b;
  font-size: 0.75rem;
}

.lux-org-chart-insights,
.lux-org-structure-insights {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}

.lux-org-chart-insight__copy,
.lux-org-structure-insight__copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-org-chart-insight__copy strong,
.lux-org-structure-insight__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-org-chart-insight__copy small,
.lux-org-structure-insight__copy small {
  font-size: 0.75rem;
  color: #64748b;
}

.lux-org-chart-quick-nav,
.lux-org-structure-quick-nav {
  margin-bottom: 0.85rem;
}

.lux-org-chart-quick-card,
.lux-org-structure-quick-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 6.5rem;
  text-decoration: none;
  color: inherit;
}

.lux-org-chart-quick-card__desc,
.lux-org-structure-quick-card__desc {
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.4;
  color: #64748b;
}

.lux-org-chart-panel__toolbar,
.lux-org-structure-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0 0.95rem 0.75rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.lux-org-chart__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.8fr);
  gap: 1rem;
  align-items: start;
}

.lux-org-chart__canvas {
  overflow-x: auto;
  padding: 0.5rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
}

.lux-org-chart__tree,
.lux-org-chart__children {
  list-style: none;
  margin: 0;
  padding: 0;
}

.lux-org-chart__tree {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.lux-org-chart__children {
  margin-top: 0.65rem;
  margin-left: 1.25rem;
  padding-left: 1rem;
  border-left: 2px solid rgba(148, 163, 184, 0.28);
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.lux-org-chart__node {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  width: 100%;
  text-align: left;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.92);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-org-chart__node:hover,
.lux-org-chart__node.is-selected {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.lux-org-chart__node-avatar {
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
  color: #4338ca;
  font-size: 0.68rem;
  font-weight: 800;
  flex-shrink: 0;
}

.lux-org-chart__node-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-org-chart__node-copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-org-chart__node-copy small {
  font-size: 0.75rem;
  color: #475569;
  font-weight: 600;
}

.lux-org-chart__node-meta {
  font-size: 0.68rem;
  color: #94a3b8;
  font-weight: 700;
}

.lux-org-chart__detail {
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.94);
  padding: 1rem;
  position: sticky;
  top: 1rem;
}

.lux-org-chart__detail-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.lux-org-chart__detail-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
  color: #4338ca;
  font-size: 0.75rem;
  font-weight: 800;
}

.lux-org-chart__detail-head h3 {
  margin: 0;
  font-size: 0.95rem;
  color: #0f172a;
}

.lux-org-chart__detail-head p {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-org-chart__detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin: 0 0 0.85rem;
}

.lux-org-chart__detail-grid dt {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-org-chart__detail-grid dd {
  margin: 0.12rem 0 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-org-chart__detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.lux-org-chart__detail-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.42rem 0.7rem;
  border-radius: 10px;
  border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
  color: #4338ca;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.lux-org-chart__detail-link.is-ghost {
  background: transparent;
  border-color: rgba(148, 163, 184, 0.35);
  color: #475569;
}

.lux-org-structure-panel__body {
  padding-top: 0;
}

.lux-org-structure-panel__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(240px, 0.7fr);
  gap: 1rem;
  align-items: start;
}

.lux-org-unit-register-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
}

.lux-org-unit-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-org-unit-register thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
  white-space: nowrap;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(248, 250, 252, 0.92);
}

.lux-org-unit-register tbody td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  vertical-align: middle;
}

.lux-org-unit-register__row {
  cursor: pointer;
}

.lux-org-unit-register__row.is-selected {
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
}

.lux-org-unit-register__row.is-attention {
  background: linear-gradient(90deg, rgba(254, 243, 199, 0.42), transparent 58%);
}

.lux-org-unit-register__primary {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
}

.lux-org-unit-register__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.12);
  color: #64748b;
}

.lux-org-unit-register__icon.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: #4338ca; }
.lux-org-unit-register__icon.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-org-unit-register__icon.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-org-unit-register__icon.is-green { background: rgba(5, 150, 105, 0.12); color: #047857; }

.lux-org-unit-register__primary-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}

.lux-org-unit-register__meta {
  font-size: 0.72rem;
  color: #64748b;
  font-weight: 600;
}

.lux-org-unit-register__chip {
  display: inline-flex;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  background: rgba(148, 163, 184, 0.12);
  color: #475569;
}

.lux-org-unit-register__chip.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1); color: #4338ca; }
.lux-org-unit-register__chip.is-violet { background: rgba(139, 92, 246, 0.1); color: #6d28d9; }
.lux-org-unit-register__chip.is-blue { background: rgba(37, 99, 235, 0.1); color: #1d4ed8; }
.lux-org-unit-register__chip.is-green { background: rgba(5, 150, 105, 0.1); color: #047857; }

.lux-org-unit-register__vacant {
  color: #b45309;
  font-weight: 700;
}

.lux-org-structure-detail {
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.94);
  padding: 1rem;
  position: sticky;
  top: 1rem;
}

.lux-org-structure-detail__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.85rem;
}

.lux-org-structure-detail__head h3 {
  margin: 0;
  font-size: 0.95rem;
  color: #0f172a;
}

.lux-org-structure-detail__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin: 0;
}

.lux-org-structure-detail__grid dt {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-org-structure-detail__grid dd {
  margin: 0.12rem 0 0;
  font-size: 0.78rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-org-structure-detail__reassign {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.lux-org-structure-detail__hint {
  margin: 0;
  font-size: 0.72rem;
  color: #64748b;
  line-height: 1.4;
}

.lux-org-structure-detail__error {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: #b91c1c;
}

.lux-org-structure-detail__success {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: #047857;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.22);
  border-radius: 8px;
  padding: 0.45rem 0.6rem;
}

.lux-org-structure-page .lux-admin-kpi-strip .lux-admin-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }
.lux-org-structure-page .lux-admin-kpi-strip .lux-admin-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-org-structure-page .lux-admin-kpi-strip .lux-admin-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-org-structure-page .lux-admin-kpi-strip .lux-admin-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-org-structure-page .lux-admin-kpi-strip .lux-admin-kpi.is-slate { border-color: rgba(100, 116, 139, 0.2); }

@media (max-width: 992px) {
  .lux-org-chart__layout,
  .lux-org-structure-panel__grid {
    grid-template-columns: 1fr;
  }

  .lux-org-chart__detail,
  .lux-org-structure-detail {
    position: static;
  }
}

/* F25-T3–T6 — Policy hub versioning, campaigns, analytics, AI */
.lux-policy-hub-page .lux-doc-kpi.is-blue { --kpi-accent: #2563eb; }

.lux-policy-hub-insights {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}

.lux-policy-hub-insight__copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-policy-hub__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
}

/* People module pages — appconfig-style hero + luxury actions */
.lux-people-page .lux-module-hero.lux-appconfig-hero {
  margin-bottom: 0.55rem;
}

.lux-people-page .lux-hrms-dash__kpi-strip {
  margin-top: 0;
}

.lux-people-segment.lux-gov-segment,
.lux-people-segment.lux-admin-hub-tabs {
  flex-wrap: wrap;
}

.lux-people-action.lux-onb-action {
  min-height: var(--lux-action-min-height);
}

.lux-people-row-action {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.24rem 0.62rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--lux-primary-dark, #3730a3);
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.lux-people-row-action:hover {
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.42);
  color: var(--lux-primary, #5b5ff4);
  text-decoration: none;
}

.lux-people-row-action.is-secondary {
  border-color: rgba(148, 163, 184, 0.35);
  background: rgba(248, 250, 252, 0.95);
  color: #475569;
}

.lux-people-row-action.is-secondary:hover {
  border-color: rgba(100, 116, 139, 0.45);
  background: #fff;
  color: #334155;
}

.lux-people-row-action:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.lux-people-row-action i {
  font-size: 0.75rem;
  opacity: 0.9;
}

/* Account create panel — override legacy narrow sidebar */
.right_sidebar.lux-create-panel--accounts.create_accounts_right_sidebar {
  width: min(var(--lux-drawer-width-sm), 94vw) !important;
  right: calc(-1 * min(var(--lux-drawer-width-sm), 94vw) - 20px) !important;
}

.right_sidebar.lux-create-panel--accounts.create_accounts_right_sidebar.open {
  right: 0 !important;
}

.lux-create-panel--accounts .lux-create-panel__header {
  background:
    linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12) 0%, rgba(14, 165, 233, 0.06) 48%, transparent 100%),
    #fff;
}

.lux-create-panel--accounts .lux-create-panel__type-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.62rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.32);
  background: rgba(255, 255, 255, 0.92);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #475569;
}

.lux-create-panel--accounts .lux-create-panel__type-badge.is-account,
.lux-create-panel--accounts .lux-create-panel__type-badge.is-accounts {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.32);
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
  color: var(--lux-primary-dark, #3730a3);
}

.lux-create-panel--accounts .lux-create-panel__type-badge.is-team {
  border-color: rgba(139, 92, 246, 0.32);
  background: rgba(139, 92, 246, 0.1);
  color: #6d28d9;
}

.lux-create-panel--accounts .lux-create-panel__type-badge.is-client {
  border-color: rgba(14, 165, 233, 0.32);
  background: rgba(14, 165, 233, 0.1);
  color: #0369a1;
}

.lux-create-panel--accounts .lux-create-panel__workspace--accounts {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.lux-create-panel--accounts .lux-create-panel__workspace--accounts .lux-create-panel__scroll {
  flex: 1;
  overflow: auto;
  padding: var(--lux-drawer-body-pad-y) var(--lux-drawer-pad-x) 1rem;
}

.lux-create-panel--accounts .lux-create-section {
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.lux-policy-detail-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-policy-detail__meta-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-bottom: 0.85rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #64748b;
}

.lux-policy-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr);
  gap: 1rem;
  align-items: start;
}

.lux-policy-detail__versions {
  display: grid;
  gap: 0.65rem;
}

.lux-policy-detail__version {
  padding: 0.85rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.9);
}

.lux-policy-detail__version.is-current {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
}

.lux-policy-detail__version header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.lux-policy-detail__version ul {
  margin: 0.45rem 0 0;
  padding-left: 1.1rem;
  font-size: 0.75rem;
  color: #475569;
}

.lux-policy-detail__version footer {
  display: flex;
  gap: 0.75rem;
  margin-top: 0.5rem;
  font-size: 0.6875rem;
  color: #94a3b8;
}

.lux-policy-detail__publish textarea {
  margin: 0.5rem 0;
  font-size: 0.8125rem;
}

.lux-policy-detail__publish-hint {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-policy-analytics {
  margin-bottom: 0.85rem;
}

.lux-policy-analytics__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.lux-policy-analytics__chart {
  padding: 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(248, 250, 252, 0.88);
}

.lux-policy-analytics__chart-head h4 {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-policy-analytics__chart-head span {
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-policy-analytics__chart-list {
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
}

.lux-policy-analytics__chart-row {
  display: grid;
  grid-template-columns: 4.5rem 1fr 3.5rem;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 0.4rem;
}

.lux-policy-analytics__chart-label,
.lux-policy-analytics__chart-value {
  font-size: 0.6875rem;
  font-weight: 700;
  color: #64748b;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lux-policy-analytics__chart-value {
  text-align: right;
  color: var(--lux-primary-dark, #3730a3);
}

.lux-policy-analytics__bar-track {
  height: 0.5rem;
  border-radius: 999px;
  background: rgba(226, 232, 240, 0.95);
  overflow: hidden;
}

.lux-policy-analytics__bar-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
}

.lux-policy-analytics__bar-fill.is-green {
  background: linear-gradient(90deg, #10b981, #047857);
}

.lux-policy-analytics__bar-fill.is-amber {
  background: linear-gradient(90deg, #f59e0b, #d97706);
}

.lux-policy-analytics__empty {
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
  color: #94a3b8;
}

.lux-policy-ai {
  padding: 0.95rem;
  border-radius: 14px;
  border: 1px solid rgba(124, 58, 237, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 243, 255, 0.9));
  margin-bottom: 0.85rem;
}

.lux-policy-ai__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.lux-policy-ai__head h3 {
  margin: 0;
  font-size: 0.875rem;
}

.lux-policy-ai__head p {
  margin: 0.2rem 0 0;
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-policy-ai__badge {
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  background: rgba(124, 58, 237, 0.12);
  color: #6d28d9;
}

.lux-policy-ai__summary,
.lux-policy-ai__impact {
  font-size: 0.8125rem;
  color: #334155;
  margin: 0 0 0.5rem;
}

.lux-policy-ai__changes {
  margin: 0 0 0.5rem;
  padding: 0;
  list-style: none;
}

.lux-policy-ai__changes li {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  font-size: 0.75rem;
  color: #475569;
  margin-bottom: 0.25rem;
}

.lux-policy-ai__meta {
  font-size: 0.6875rem;
  font-weight: 700;
  color: #7c3aed;
  margin-bottom: 0.5rem;
}

.lux-policy-ai__faq h4 {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
}

.lux-policy-ai__faq-item {
  margin-bottom: 0.45rem;
}

.lux-policy-ai__faq-item dt {
  font-size: 0.75rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-policy-ai__faq-item dd {
  margin: 0.12rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-policy-ai__disclaimer {
  margin: 0.5rem 0 0;
  font-size: 0.6875rem;
  color: #94a3b8;
}

@media (max-width: 992px) {
  .lux-policy-detail__layout,
  .lux-policy-analytics__grid {
    grid-template-columns: 1fr;
  }
}

/* F20-T3 — RBAC / role permission administration */
.lux-rbac-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-rbac-hero {
  position: relative;
  overflow: hidden;
  align-items: center;
  flex-wrap: wrap;
  border-color: rgba(139, 92, 246, 0.14);
  background:
    radial-gradient(circle at 8% 12%, rgba(139, 92, 246, 0.16), transparent 42%),
    radial-gradient(circle at 92% 88%, rgba(37, 99, 235, 0.12), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-rbac-hero__glow {
  position: absolute;
  top: -3rem;
  right: -2rem;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.18), transparent 68%);
  pointer-events: none;
}

.lux-rbac-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.65rem;
}

.lux-rbac-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
}

.lux-rbac-hero__badge.is-violet {
  color: #6d28d9;
  background: rgba(139, 92, 246, 0.1);
  border-color: rgba(139, 92, 246, 0.18);
}

.lux-rbac-hero__badge.is-blue {
  color: #1d4ed8;
  background: rgba(37, 99, 235, 0.1);
  border-color: rgba(37, 99, 235, 0.16);
}

.lux-rbac-page .lux-rbac-kpi-strip .lux-admin-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2); }
.lux-rbac-page .lux-rbac-kpi-strip .lux-admin-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-rbac-page .lux-rbac-kpi-strip .lux-admin-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-rbac-page .lux-rbac-kpi-strip .lux-admin-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }

.lux-rbac__error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}

.lux-rbac-insights-panel {
  margin-bottom: 0.85rem;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 55%),
    radial-gradient(90% 70% at 100% 0%, rgba(16, 185, 129, 0.06), transparent 50%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

.lux-rbac-insights-panel.is-loading .lux-rbac-insights-panel__skeleton {
  height: 4.5rem;
  margin: 0.85rem 1rem;
  border-radius: 14px;
  background: linear-gradient(90deg, #f1f5f9 0%, #e2e8f0 50%, #f1f5f9 100%);
  background-size: 200% 100%;
  animation: lux-rbac-insights-shimmer 1.2s ease-in-out infinite;
}

@keyframes lux-rbac-insights-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

.lux-rbac-insights-panel__header-bar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.9rem 1rem 0.75rem;
}

.lux-rbac-insights-panel__header-main {
  min-width: 0;
  flex: 1;
}

.lux-rbac-insights-panel__eyebrow {
  margin-bottom: 0.35rem;
}

.lux-rbac-insights-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

.lux-rbac-insights-panel__title--compact {
  font-size: 0.95rem;
  font-weight: 650;
}

.lux-rbac-insights-panel__context {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.4;
}

.lux-rbac-insights-panel.is-collapsed .lux-rbac-insights-panel__context {
  display: none;
}

.lux-rbac-insights-panel__toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(255, 255, 255, 0.88);
  color: #334155;
  border-radius: 999px;
  padding: 0.4rem 0.75rem;
  font-size: 0.72rem;
  font-weight: 650;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.lux-rbac-insights-panel__toggle:hover {
  background: #fff;
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
  color: var(--lux-primary-dark, #3730a3);
}

.lux-rbac-insights-panel__collapsed-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0 1rem 0.85rem;
}

.lux-rbac-insights-panel__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.82);
  font-size: 0.68rem;
  font-weight: 650;
  color: #475569;
}

.lux-rbac-insights-panel__pill i {
  font-size: 0.72rem;
}

.lux-rbac-insights-panel__pill.is-coverage {
  border-color: rgba(16, 185, 129, 0.25);
  color: #047857;
  background: rgba(236, 253, 245, 0.85);
}

.lux-rbac-insights-panel__pill.is-attention {
  border-color: rgba(245, 158, 11, 0.3);
  color: #b45309;
  background: rgba(255, 251, 235, 0.9);
}

.lux-rbac-insights-panel__pill.is-ok {
  border-color: rgba(16, 185, 129, 0.28);
  color: #047857;
  background: rgba(236, 253, 245, 0.9);
}

.lux-rbac-insights-panel__body {
  padding: 0 1rem 1rem;
}

.lux-rbac-insights-panel.is-collapsed .lux-rbac-insights-panel__body {
  display: none;
}

.lux-rbac-insights-panel .lux-rbac-insights {
  margin-bottom: 0.75rem;
}

.lux-rbac-insights-panel .lux-rbac-snapshot {
  margin-bottom: 0;
}

.lux-rbac-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.lux-rbac-insights--rich {
  grid-template-columns: repeat(auto-fit, minmax(15.5rem, 1fr));
}

.lux-rbac-insight-card {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.85rem 0.95rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-rbac-insight-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.lux-rbac-insight-card.is-amber { border-color: rgba(245, 158, 11, 0.22); background: linear-gradient(180deg, rgba(255, 251, 235, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-rbac-insight-card.is-rose { border-color: rgba(244, 63, 94, 0.2); background: linear-gradient(180deg, rgba(255, 241, 242, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-rbac-insight-card.is-green { border-color: rgba(16, 185, 129, 0.2); background: linear-gradient(180deg, rgba(236, 253, 245, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-rbac-insight-card.is-blue { border-color: rgba(37, 99, 235, 0.18); background: linear-gradient(180deg, rgba(239, 246, 255, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-rbac-insight-card.is-slate { border-color: rgba(100, 116, 139, 0.18); }

.lux-rbac-insight-card__icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-rbac-insight-card.is-amber .lux-rbac-insight-card__icon { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-rbac-insight-card.is-rose .lux-rbac-insight-card__icon { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-rbac-insight-card.is-green .lux-rbac-insight-card__icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-rbac-insight-card.is-blue .lux-rbac-insight-card__icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }

.lux-rbac-insight-card__copy {
  min-width: 0;
  flex: 1;
}

.lux-rbac-insight-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.2rem;
}

.lux-rbac-insight-card__eyebrow {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-rbac-insight-card__stat {
  font-size: 0.78rem;
  font-weight: 750;
  color: #0f172a;
  font-variant-numeric: tabular-nums;
}

.lux-rbac-insight-card__copy strong {
  display: block;
  font-size: 0.8125rem;
  color: #0f172a;
  line-height: 1.3;
}

.lux-rbac-insight-card__copy p {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.4;
}

.lux-rbac-insight-card__hint {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 600;
  color: #475569;
  line-height: 1.35;
}

.lux-rbac-snapshot {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.lux-rbac-snapshot__card {
  padding: 0.9rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  min-width: 0;
}

.lux-rbac-snapshot__card.is-skeleton {
  min-height: 12rem;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.9), rgba(248, 250, 252, 0.7), rgba(241, 245, 249, 0.9));
  background-size: 200% 100%;
  animation: lux-rbac-shimmer 1.4s ease infinite;
}

@keyframes lux-rbac-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

.lux-rbac-snapshot__card--posture {
  background:
    radial-gradient(circle at 100% 0%, rgba(139, 92, 246, 0.1), transparent 48%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
}

.lux-rbac-snapshot__head {
  margin-bottom: 0.75rem;
}

.lux-rbac-snapshot__eyebrow {
  display: block;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-rbac-snapshot__head h3 {
  margin: 0.15rem 0 0;
  font-size: 0.9375rem;
  color: #0f172a;
}

.lux-rbac-snapshot__meta {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.6875rem;
  color: #64748b;
  font-weight: 600;
}

.lux-rbac-snapshot__ring-wrap {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.lux-rbac-snapshot__ring {
  --rbac-coverage: 0%;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, #fff 58%, transparent 59%),
    conic-gradient(var(--lux-primary, #5b5ff4) var(--rbac-coverage), rgba(148, 163, 184, 0.18) 0);
  flex-shrink: 0;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.12);
}

.lux-rbac-snapshot__ring-value {
  font-size: 0.8125rem;
  font-weight: 900;
  color: #0f172a;
}

.lux-rbac-snapshot__stats {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
  flex: 1;
}

.lux-rbac-snapshot__stats li {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
}

.lux-rbac-snapshot__stats strong {
  font-size: 0.9375rem;
  color: #0f172a;
  line-height: 1.1;
}

.lux-rbac-snapshot__stats span {
  font-size: 0.6875rem;
  color: #94a3b8;
  font-weight: 700;
}

.lux-rbac-snapshot__focus {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0.75rem 0 0;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(148, 163, 184, 0.14);
  font-size: 0.75rem;
  color: #64748b;
}

.lux-rbac-snapshot__focus strong {
  color: #0f172a;
}

.lux-rbac-snapshot__meters {
  margin-top: 0.75rem;
}

.lux-rbac-snapshot__meter {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.2rem 0.5rem;
  align-items: center;
}

.lux-rbac-snapshot__meter > span {
  font-size: 0.68rem;
  font-weight: 650;
  color: #64748b;
}

.lux-rbac-snapshot__meter > strong {
  font-size: 0.72rem;
  color: #0f172a;
  font-variant-numeric: tabular-nums;
}

.lux-rbac-snapshot__meter-track {
  grid-column: 1 / -1;
  height: 0.4rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  overflow: hidden;
}

.lux-rbac-snapshot__meter-track > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #34d399);
}

.lux-rbac-snapshot__bars {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.lux-rbac-snapshot__bar-label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.28rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #334155;
}

.lux-rbac-snapshot__bar-label em {
  margin-left: auto;
  font-style: normal;
  font-size: 0.6875rem;
  color: #94a3b8;
  font-weight: 800;
}

.lux-rbac-snapshot__bar-icon {
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 8px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  font-size: 0.7rem;
}

.lux-rbac-snapshot__bar-icon.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: var(--lux-primary-dark, #3730a3); }
.lux-rbac-snapshot__bar-icon.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-rbac-snapshot__bar-icon.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-rbac-snapshot__bar-icon.is-mint { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-rbac-snapshot__bar-icon.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-rbac-snapshot__bar-icon.is-indigo { background: rgba(79, 70, 229, 0.12); color: #4338ca; }
.lux-rbac-snapshot__bar-icon.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-rbac-snapshot__bar-icon.is-slate { background: rgba(100, 116, 139, 0.14); color: #475569; }

.lux-rbac-snapshot__bar-track {
  height: 0.38rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.16);
  overflow: hidden;
}

.lux-rbac-snapshot__bar-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #38bdf8);
}

.lux-rbac-snapshot__bar-fill.is-violet { background: linear-gradient(90deg, #8b5cf6, #6d28d9); }
.lux-rbac-snapshot__bar-fill.is-blue { background: linear-gradient(90deg, #38bdf8, #0284c7); }
.lux-rbac-snapshot__bar-fill.is-mint,
.lux-rbac-snapshot__bar-fill.is-green { background: linear-gradient(90deg, #34d399, #059669); }
.lux-rbac-snapshot__bar-fill.is-amber { background: linear-gradient(90deg, #fbbf24, #d97706); }
.lux-rbac-snapshot__bar-fill.is-indigo { background: linear-gradient(90deg, #818cf8, #4f46e5); }
.lux-rbac-snapshot__bar-fill.is-primary { background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3)); }

.lux-rbac-quick-nav {
  margin-bottom: 0.85rem;
}

.lux-rbac-quick-nav__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
}

.lux-rbac-quick-nav__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-rbac-quick-card {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.8rem 0.9rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-rbac-quick-card:hover {
  transform: translateY(-1px);
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
  text-decoration: none;
  color: inherit;
}

.lux-rbac-quick-card__icon {
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
}

.lux-rbac-quick-card.is-violet .lux-rbac-quick-card__icon { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.lux-rbac-quick-card.is-blue .lux-rbac-quick-card__icon { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.lux-rbac-quick-card.is-green .lux-rbac-quick-card__icon { background: linear-gradient(135deg, #34d399, #059669); }
.lux-rbac-quick-card.is-primary .lux-rbac-quick-card__icon { background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3)); }

.lux-rbac-quick-card__copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.lux-rbac-quick-card__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-rbac-quick-card__copy small {
  font-size: 0.6875rem;
  color: #64748b;
  font-weight: 600;
  line-height: 1.35;
}

.lux-rbac-quick-card__chevron {
  margin-left: auto;
  color: #94a3b8;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.lux-rbac-panel {
  min-width: 0;
}

.lux-rbac-panel__selected {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.1);
  border: 1px solid rgba(148, 163, 184, 0.16);
  flex-shrink: 0;
}

.lux-rbac-panel__selected span {
  display: flex;
  flex-direction: column;
  gap: 0.02rem;
}

.lux-rbac-panel__selected strong {
  font-size: 0.75rem;
  color: #0f172a;
}

.lux-rbac-panel__selected em {
  font-style: normal;
  font-size: 0.625rem;
  color: #64748b;
  font-weight: 700;
}

.lux-rbac-panel__selected.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08); border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16); color: var(--lux-primary-dark, #3730a3); }
.lux-rbac-panel__selected.is-violet { background: rgba(139, 92, 246, 0.08); border-color: rgba(139, 92, 246, 0.16); color: #6d28d9; }
.lux-rbac-panel__selected.is-blue { background: rgba(37, 99, 235, 0.08); border-color: rgba(37, 99, 235, 0.16); color: #1d4ed8; }
.lux-rbac-panel__selected.is-mint { background: rgba(16, 185, 129, 0.08); border-color: rgba(16, 185, 129, 0.16); color: #047857; }
.lux-rbac-panel__selected.is-amber { background: rgba(245, 158, 11, 0.1); border-color: rgba(245, 158, 11, 0.18); color: #b45309; }

.lux-rbac-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0 0.95rem 0.75rem;
  border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-rbac-panel__toolbar .lux-appr-toolbar__row {
  width: 100%;
}

.lux-rbac-panel__filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.lux-rbac-panel__body {
  padding: 0.85rem 0.95rem 1rem;
}

.lux-rbac-panel__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, 0.95fr);
  gap: 1rem;
  align-items: start;
}

.lux-rbac-panel__register {
  min-width: 0;
}

.lux-rbac-register-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-rbac-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-rbac-register thead th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
  white-space: nowrap;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(248, 250, 252, 0.92);
  position: sticky;
  top: 0;
  z-index: 1;
}

.lux-rbac-register tbody td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  vertical-align: middle;
}

.lux-rbac-register__row {
  cursor: pointer;
  transition: background 0.15s ease;
}

.lux-rbac-register__row:hover {
  background: rgba(248, 250, 252, 0.95);
}

.lux-rbac-register__row.is-selected {
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
  box-shadow: inset 3px 0 0 var(--lux-primary, #5b5ff4);
}

.lux-rbac-register__row.is-attention {
  background: linear-gradient(90deg, rgba(254, 243, 199, 0.42), transparent 58%);
}

.lux-rbac-register__primary {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.lux-rbac-register__avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  color: #fff;
  background: var(--lux-primary, #5b5ff4);
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.lux-rbac-register__avatar.is-primary { background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3)); }
.lux-rbac-register__avatar.is-violet { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.lux-rbac-register__avatar.is-blue { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.lux-rbac-register__avatar.is-mint { background: linear-gradient(135deg, #10b981, #047857); }
.lux-rbac-register__avatar.is-amber { background: linear-gradient(135deg, #f59e0b, #d97706); }
.lux-rbac-register__avatar.is-slate { background: linear-gradient(135deg, #94a3b8, #64748b); }

.lux-rbac-register__primary-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-rbac-register__primary-title {
  color: #0f172a;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.25;
}

.lux-rbac-register__primary-meta {
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.35;
}

.lux-rbac-register__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.14);
  font-size: 0.6875rem;
  font-weight: 800;
  white-space: nowrap;
}

.lux-rbac-register__chip.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: var(--lux-primary-dark, #3730a3); }
.lux-rbac-register__chip.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-rbac-register__chip.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-rbac-register__chip.is-mint { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-rbac-register__chip.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }

.lux-rbac-register__users {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  min-width: 3.5rem;
}

.lux-rbac-register__users strong {
  font-size: 0.875rem;
  color: #0f172a;
}

.lux-rbac-register__users em {
  font-style: normal;
  font-size: 0.6875rem;
  color: #94a3b8;
  font-weight: 700;
}

.lux-rbac-register__coverage {
  min-width: 7.5rem;
}

.lux-rbac-register__coverage-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.45rem;
  margin-bottom: 0.28rem;
}

.lux-rbac-register__coverage-top strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-rbac-register__coverage-top span {
  font-size: 0.6875rem;
  color: #94a3b8;
  font-weight: 700;
  white-space: nowrap;
}

.lux-rbac-register__coverage-bar {
  height: 0.35rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  overflow: hidden;
}

.lux-rbac-register__coverage-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #38bdf8);
}

.lux-rbac-register__date {
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 600;
  white-space: nowrap;
}

.lux-rbac-detail {
  position: sticky;
  top: 1rem;
  max-height: calc(100vh - 7rem);
  overflow: auto;
  padding: 1rem;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}

.lux-rbac-detail--empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 18rem;
  color: #64748b;
  gap: 0.35rem;
}

.lux-rbac-detail__empty-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 14px;
  display: inline-grid;
  place-items: center;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
  color: var(--lux-primary-dark, #3730a3);
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
}

.lux-rbac-detail--empty strong {
  color: #0f172a;
  font-size: 0.9375rem;
}

.lux-rbac-detail--empty p {
  margin: 0;
  max-width: 16rem;
  font-size: 0.8125rem;
  line-height: 1.45;
}

.lux-rbac-detail__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.lux-rbac-detail__identity {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.lux-rbac-detail__avatar {
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.1);
}

.lux-rbac-detail__avatar.is-primary { background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3)); }
.lux-rbac-detail__avatar.is-violet { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.lux-rbac-detail__avatar.is-blue { background: linear-gradient(135deg, #38bdf8, #0284c7); }
.lux-rbac-detail__avatar.is-mint { background: linear-gradient(135deg, #10b981, #047857); }
.lux-rbac-detail__avatar.is-amber { background: linear-gradient(135deg, #f59e0b, #d97706); }

.lux-rbac-detail__identity-copy {
  min-width: 0;
}

.lux-rbac-detail__title-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.lux-rbac-detail__title-row h3 {
  margin: 0;
  font-size: 1rem;
  color: #0f172a;
}

.lux-rbac-detail__identity-copy > p {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 600;
}

.lux-rbac-detail__desc {
  margin-top: 0.35rem !important;
  line-height: 1.4;
}

.lux-rbac-detail__status-btn {
  flex-shrink: 0;
}

.lux-rbac-detail__summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 0.8fr);
  gap: 0.65rem;
  align-items: center;
  margin-bottom: 0.85rem;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.92);
  border: 1px solid rgba(148, 163, 184, 0.16);
}

.lux-rbac-detail__summary-stat {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
}

.lux-rbac-detail__summary-label {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-rbac-detail__summary-stat strong {
  font-size: 1.05rem;
  color: #0f172a;
  line-height: 1.1;
}

.lux-rbac-detail__summary-stat small {
  font-size: 0.6875rem;
  color: #64748b;
  font-weight: 600;
}

.lux-rbac-detail__summary-bar {
  height: 0.45rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  overflow: hidden;
}

.lux-rbac-detail__summary-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #22c55e);
}

.lux-rbac-detail__matrix-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}

.lux-rbac-detail__matrix-head h4 {
  margin: 0;
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-rbac-detail__matrix-head span {
  font-size: 0.6875rem;
  color: #94a3b8;
  font-weight: 700;
}

.lux-rbac-detail__matrix {
  display: grid;
  gap: 0.65rem;
}

.lux-rbac-detail__matrix--dense {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-rbac-matrix-card {
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.9);
  overflow: hidden;
}

.lux-rbac-matrix-card__head {
  padding: 0.7rem 0.8rem 0.55rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  background: rgba(248, 250, 252, 0.72);
}

.lux-rbac-matrix-card__title {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.45rem;
}

.lux-rbac-matrix-card__icon {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 9px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-rbac-matrix-card.is-violet .lux-rbac-matrix-card__icon { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-rbac-matrix-card.is-blue .lux-rbac-matrix-card__icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-rbac-matrix-card.is-green .lux-rbac-matrix-card__icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-rbac-matrix-card.is-indigo .lux-rbac-matrix-card__icon { background: rgba(79, 70, 229, 0.12); color: #4338ca; }
.lux-rbac-matrix-card.is-amber .lux-rbac-matrix-card__icon { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-rbac-matrix-card.is-slate .lux-rbac-matrix-card__icon { background: rgba(100, 116, 139, 0.14); color: #475569; }

.lux-rbac-matrix-card__title strong {
  display: block;
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-rbac-matrix-card__title span {
  display: block;
  font-size: 0.6875rem;
  color: #94a3b8;
  font-weight: 700;
}

.lux-rbac-matrix-card__coverage {
  height: 0.3rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.16);
  overflow: hidden;
}

.lux-rbac-matrix-card__coverage span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #38bdf8);
}

.lux-rbac-matrix-card__flags {
  margin: 0;
  padding: 0.35rem 0;
  list-style: none;
}

.lux-rbac-matrix-card__flag {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 0.8rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.1);
  transition: background 0.15s ease;
}

.lux-rbac-matrix-card__flag:last-child {
  border-bottom: 0;
}

.lux-rbac-matrix-card__flag:hover {
  background: rgba(248, 250, 252, 0.9);
}

.lux-rbac-matrix-card__flag.is-enabled {
  background: linear-gradient(90deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), transparent 72%);
}

.lux-rbac-matrix-card__flag-copy {
  min-width: 0;
}

.lux-rbac-matrix-card__flag-copy strong {
  display: block;
  font-size: 0.75rem;
  color: #0f172a;
  font-weight: 700;
}

.lux-rbac-matrix-card__flag-copy span {
  display: block;
  font-size: 0.625rem;
  color: #94a3b8;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.lux-rbac-matrix-card__switch {
  flex-shrink: 0;
}

.lux-rbac-matrix-card__switch .custom-switch-input:checked ~ .custom-switch-indicator {
  background: var(--lux-primary, #5b5ff4);
}

@media (max-width: 1200px) {
  .lux-rbac-snapshot {
    grid-template-columns: 1fr 1fr;
  }

  .lux-rbac-snapshot__card--posture {
    grid-column: 1 / -1;
  }

  .lux-rbac-quick-nav__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lux-rbac-insights {
    grid-template-columns: 1fr;
  }

  .lux-rbac-insights-panel__header-bar {
    flex-wrap: wrap;
  }

  .lux-rbac-panel__grid {
    grid-template-columns: 1fr;
  }

  .lux-rbac-detail {
    position: static;
    max-height: none;
  }
}

@media (max-width: 992px) {
  .lux-rbac-panel__filters {
    grid-template-columns: 1fr;
  }

  .lux-rbac-detail__summary {
    grid-template-columns: 1fr;
  }

  .lux-rbac-detail__summary-bar {
    order: 3;
  }

  .lux-rbac-detail__matrix--dense {
    grid-template-columns: 1fr;
  }

  .lux-rbac-snapshot {
    grid-template-columns: 1fr;
  }

  .lux-rbac-quick-nav__grid {
    grid-template-columns: 1fr;
  }

  .lux-rbac-panel__selected {
    display: none;
  }
}

/* F21-T2/T5 — Workspace home dashboard */
.lux-workspace-home-page {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-workspace-home-hero {
  align-items: center;
  flex-wrap: wrap;
}

.lux-workspace-home-hero .lux-hrms-dash__hero-main {
  min-width: 0;
}

.lux-workspace-home-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.55rem;
  flex-shrink: 0;
}

.lux-workspace-home-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-workspace-home__error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.lux-workspace-home-kpi-strip .lux-workspace-home-kpi.is-green,
.lux-workspace-home-kpi-strip .lux-workspace-home-kpi.is-mint { border-color: rgba(5, 150, 105, 0.2); }
.lux-workspace-home-kpi-strip .lux-workspace-home-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-workspace-home-kpi-strip .lux-workspace-home-kpi.is-rose { border-color: rgba(219, 39, 119, 0.18); }
.lux-workspace-home-kpi-strip .lux-workspace-home-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }
.lux-workspace-home-kpi-strip .lux-workspace-home-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-workspace-home-kpi-strip .lux-workspace-home-kpi.is-violet { border-color: rgba(124, 58, 237, 0.2); }
.lux-workspace-home-kpi-strip .lux-workspace-home-kpi.is-slate { border-color: rgba(100, 116, 139, 0.2); }

.lux-workspace-home-kpi__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.35rem;
}

.lux-workspace-home-kpi__icon {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 0.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
}

.lux-workspace-home-kpi__icon.is-green,
.lux-workspace-home-kpi__icon.is-mint { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-workspace-home-kpi__icon.is-amber { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-workspace-home-kpi__icon.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-workspace-home-kpi__icon.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: var(--lux-primary-dark, #3730a3); }
.lux-workspace-home-kpi__icon.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-workspace-home-kpi__icon.is-violet { background: rgba(124, 58, 237, 0.12); color: #6d28d9; }
.lux-workspace-home-kpi__icon.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-workspace-home-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 0.15rem;
}

.lux-workspace-home-insight {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.8rem 0.9rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

a.lux-workspace-home-insight:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
  text-decoration: none;
  color: inherit;
}

.lux-workspace-home-insight.is-amber { border-color: rgba(245, 158, 11, 0.22); background: linear-gradient(180deg, rgba(255, 251, 235, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-workspace-home-insight.is-rose { border-color: rgba(244, 63, 94, 0.2); background: linear-gradient(180deg, rgba(255, 241, 242, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-workspace-home-insight.is-green { border-color: rgba(16, 185, 129, 0.2); background: linear-gradient(180deg, rgba(236, 253, 245, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-workspace-home-insight.is-blue { border-color: rgba(37, 99, 235, 0.18); background: linear-gradient(180deg, rgba(239, 246, 255, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-workspace-home-insight.is-violet { border-color: rgba(139, 92, 246, 0.18); background: linear-gradient(180deg, rgba(245, 243, 255, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-workspace-home-insight.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); background: linear-gradient(180deg, rgba(238, 242, 255, 0.92), rgba(255, 255, 255, 0.94)); }

.lux-workspace-home-insight__icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-workspace-home-insight.is-amber .lux-workspace-home-insight__icon { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-workspace-home-insight.is-rose .lux-workspace-home-insight__icon { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-workspace-home-insight.is-green .lux-workspace-home-insight__icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-workspace-home-insight.is-blue .lux-workspace-home-insight__icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-workspace-home-insight.is-violet .lux-workspace-home-insight__icon { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-workspace-home-insight.is-primary .lux-workspace-home-insight__icon { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: rgb(var(--lux-primary-rgb, 91, 95, 244)); }

.lux-workspace-home-insight__copy {
  min-width: 0;
  flex: 1;
}

.lux-workspace-home-insight__copy strong {
  display: block;
  font-size: 0.8125rem;
  color: #0f172a;
  line-height: 1.3;
}

.lux-workspace-home-insight__copy p {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.4;
}

.lux-workspace-home-insight__chevron {
  margin-left: auto;
  color: #94a3b8;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.lux-workspace-home-panel {
  min-width: 0;
}

.lux-workspace-home-panel--briefing {
  border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
  background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03), rgba(255, 255, 255, 0.02));
}

.lux-workspace-home-panel--attention {
  border: 1px solid rgba(245, 158, 11, 0.16);
  background: linear-gradient(180deg, rgba(255, 251, 235, 0.35), rgba(255, 255, 255, 0.02));
}

.lux-workspace-home-panel--approvals {
  border: 1px solid rgba(37, 99, 235, 0.14);
}

.lux-workspace-home-panel--widgets {
  border: 1px solid rgba(124, 58, 237, 0.14);
}

.lux-workspace-attention__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-workspace-attention__card {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.8rem 0.9rem;
  border-radius: 0.9rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.88);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-workspace-attention__card:hover {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
  text-decoration: none;
  color: inherit;
}

.lux-workspace-attention__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
}

.lux-workspace-attention__card.is-rose .lux-workspace-attention__icon { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-workspace-attention__card.is-amber .lux-workspace-attention__icon { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-workspace-attention__card.is-blue .lux-workspace-attention__icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-workspace-attention__card.is-green .lux-workspace-attention__icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-workspace-attention__card.is-primary .lux-workspace-attention__icon { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: var(--lux-primary-dark, #3730a3); }
.lux-workspace-attention__card.is-violet .lux-workspace-attention__icon { background: rgba(124, 58, 237, 0.12); color: #6d28d9; }

.lux-workspace-attention__copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
  flex: 1;
}

.lux-workspace-attention__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
  line-height: 1.3;
}

.lux-workspace-attention__copy small {
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-workspace-attention__chevron {
  color: #94a3b8;
  flex-shrink: 0;
}

.lux-workspace-widgets__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-workspace-widgets__card {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.85rem 0.9rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(241, 245, 249, 0.98);
  background: rgba(248, 250, 252, 0.72);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

a.lux-workspace-widgets__card:hover {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
  text-decoration: none;
  color: inherit;
}

.lux-workspace-widgets__icon {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
  color: var(--lux-primary-dark, #3730a3);
}

.lux-workspace-widgets__icon.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-workspace-widgets__icon.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-workspace-widgets__icon.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-workspace-widgets__icon.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-workspace-widgets__icon.is-violet { background: rgba(124, 58, 237, 0.12); color: #6d28d9; }
.lux-workspace-widgets__icon.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-workspace-widgets__copy {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
  flex: 1;
}

.lux-workspace-widgets__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-workspace-widgets__copy small {
  font-size: 0.6875rem;
  color: #64748b;
  line-height: 1.35;
}

.lux-workspace-widgets__value {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 0.2rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  font-style: normal;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
  color: var(--lux-primary-dark, #3730a3);
}

.lux-workspace-widgets__value.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-workspace-widgets__value.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-workspace-widgets__value.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-workspace-widgets__value.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-workspace-widgets__chevron {
  color: #94a3b8;
  flex-shrink: 0;
  margin-top: 0.15rem;
}

.lux-workspace-home-quick-nav {
  margin-top: 0.15rem;
}

.lux-workspace-home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 0.85rem;
  align-items: start;
}

.lux-workspace-home-approvals__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}

.lux-workspace-home-approvals__link {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 0.65rem;
  padding: 0.72rem 0.8rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(241, 245, 249, 0.98);
  background: rgba(248, 250, 252, 0.72);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}

.lux-workspace-home-approvals__link:hover {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
  transform: translateY(-1px);
  text-decoration: none;
  color: inherit;
}

.lux-workspace-home-approvals__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  background: rgba(15, 23, 42, 0.06);
  color: #475569;
}

.lux-workspace-home-approvals__icon.is-mint { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-workspace-home-approvals__icon.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: var(--lux-primary-dark, #3730a3); }
.lux-workspace-home-approvals__icon.is-amber { background: rgba(217, 119, 6, 0.12); color: #b45309; }

.lux-workspace-home-approvals__copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.lux-workspace-home-approvals__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-workspace-home-approvals__copy small {
  font-size: 0.75rem;
  color: #64748b;
}

.lux-workspace-home-approvals__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.2rem;
}

.lux-workspace-home-approvals__domain {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-workspace-home-approvals__chevron {
  color: #94a3b8;
  font-size: 0.875rem;
}

@media (max-width: 992px) {
  .lux-workspace-home-grid {
    grid-template-columns: 1fr;
  }

  .lux-workspace-home-insights {
    grid-template-columns: 1fr;
  }

  .lux-workspace-attention__grid,
  .lux-workspace-widgets__grid {
    grid-template-columns: 1fr;
  }

  .lux-workspace-home-approvals__link {
    grid-template-columns: auto 1fr auto;
  }

  .lux-workspace-home-approvals__chevron {
    display: none;
  }

  .lux-workspace-home-hero .lux-hrms-dash__hero-main {
    width: 100%;
  }

  .lux-workspace-home-hero__actions {
    width: 100%;
    align-items: flex-start;
  }

  .lux-workspace-home-hero__buttons {
    justify-content: flex-start;
  }
}

/* F21-T6 — Workspace favorites + saved views */
.lux-workspace-home-personalization {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.lux-workspace-favorites__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-workspace-favorites__card {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(241, 245, 249, 0.98);
  background: rgba(248, 250, 252, 0.72);
}

.lux-workspace-favorites__link {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}

.lux-workspace-favorites__link:hover {
  text-decoration: none;
  color: inherit;
}

.lux-workspace-favorites__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  background: rgba(15, 23, 42, 0.06);
  color: #475569;
}

.lux-workspace-favorites__copy {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  min-width: 0;
}

.lux-workspace-favorites__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-workspace-favorites__copy small {
  font-size: 0.6875rem;
  color: #94a3b8;
}

.lux-workspace-favorites__star {
  border: none;
  background: transparent;
  color: #cbd5e1;
  padding: 0.25rem;
  cursor: pointer;
}

.lux-workspace-favorites__star.is-active {
  color: #f59e0b;
}

.lux-workspace-favorites__catalog {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-workspace-favorites__catalog-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  color: #475569;
  cursor: pointer;
}

.lux-workspace-favorites__catalog-item.is-active {
  border-color: rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.08);
  color: #b45309;
}

.lux-workspace-saved-views__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}

.lux-workspace-saved-views__item {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.35rem;
}

.lux-workspace-saved-views__link {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.55rem;
  padding: 0.72rem 0.8rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(241, 245, 249, 0.98);
  background: rgba(248, 250, 252, 0.72);
  text-decoration: none;
  color: inherit;
}

.lux-workspace-saved-views__link:hover {
  text-decoration: none;
  color: inherit;
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.lux-workspace-saved-views__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  background: rgba(15, 23, 42, 0.06);
}

.lux-workspace-saved-views__copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.lux-workspace-saved-views__copy strong {
  font-size: 0.8125rem;
}

.lux-workspace-saved-views__copy small {
  font-size: 0.75rem;
  color: #64748b;
}

.lux-workspace-saved-views__delete {
  border: none;
  background: transparent;
  color: #94a3b8;
  padding: 0.35rem;
  cursor: pointer;
}

.lux-workspace-saved-view-bar {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(241, 245, 249, 0.98);
}

.lux-workspace-saved-view-bar__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.lux-workspace-saved-view-bar__label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-workspace-saved-view-bar__form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.lux-workspace-saved-view-bar__error {
  width: 100%;
  margin: 0;
  font-size: 0.75rem;
  color: #be123c;
}

.lux-workspace-saved-view-bar__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.lux-workspace-saved-view-bar__chip-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
}

.lux-workspace-saved-view-bar__chip-delete {
  border: none;
  background: transparent;
  color: #94a3b8;
  padding: 0.15rem;
  cursor: pointer;
}

@media (max-width: 992px) {
  .lux-workspace-home-personalization,
  .lux-workspace-favorites__grid {
    grid-template-columns: 1fr;
  }
}

/* F21-T7 — Workspace daily AI briefing */
.lux-workspace-briefing {
  margin-bottom: 0.85rem;
}

.lux-workspace-briefing__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.lux-workspace-briefing__badge {
  display: inline-flex;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
  color: var(--lux-primary-dark, #3730a3);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.lux-workspace-briefing__time {
  font-size: 0.75rem;
  color: #94a3b8;
  font-weight: 600;
}

.lux-workspace-briefing__headline-wrap {
  margin-bottom: 0.65rem;
}

.lux-workspace-briefing__headline {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-workspace-briefing__confidence {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-workspace-briefing__focus {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.75rem;
}

.lux-workspace-briefing__focus-chip {
  display: inline-flex;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(248, 250, 252, 0.9);
  font-size: 0.6875rem;
  font-weight: 700;
  color: #475569;
}

.lux-workspace-briefing__priorities {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}

.lux-workspace-briefing__priority {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.55rem;
  align-items: stretch;
}

.lux-workspace-briefing__rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: #475569;
  font-size: 0.75rem;
  font-weight: 800;
}

.lux-workspace-briefing__priority-link {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.65rem;
  padding: 0.72rem 0.8rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(241, 245, 249, 0.98);
  background: rgba(248, 250, 252, 0.72);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, transform 0.15s ease;
}

.lux-workspace-briefing__priority-link:hover {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
  transform: translateY(-1px);
  text-decoration: none;
  color: inherit;
}

.lux-workspace-briefing__priority-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  background: rgba(15, 23, 42, 0.06);
}

.lux-workspace-briefing__priority-link.is-rose .lux-workspace-briefing__priority-icon { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-workspace-briefing__priority-link.is-mint .lux-workspace-briefing__priority-icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-workspace-briefing__priority-link.is-amber .lux-workspace-briefing__priority-icon { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-workspace-briefing__priority-link.is-green .lux-workspace-briefing__priority-icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-workspace-briefing__priority-link.is-blue .lux-workspace-briefing__priority-icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }

.lux-workspace-briefing__priority-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-workspace-briefing__priority-copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-workspace-briefing__priority-copy small {
  font-size: 0.75rem;
  color: #64748b;
}

.lux-workspace-briefing__priority-copy em {
  font-size: 0.6875rem;
  font-style: normal;
  color: #94a3b8;
  font-weight: 600;
}

.lux-workspace-briefing__chevron {
  color: #94a3b8;
}

.lux-workspace-briefing__disclaimer {
  margin: 0.75rem 0 0;
  font-size: 0.6875rem;
  color: #94a3b8;
  line-height: 1.45;
}

.lux-workspace-briefing__skeleton-line {
  height: 0.85rem;
  border-radius: 0.45rem;
  background: linear-gradient(90deg, rgba(226,232,240,0.5), rgba(241,245,249,0.9), rgba(226,232,240,0.5));
  margin-bottom: 0.45rem;
}

.lux-workspace-briefing__skeleton-line.is-short {
  width: 55%;
}

.lux-workspace-briefing__skeleton-cards {
  height: 5.5rem;
  border-radius: 0.85rem;
  background: linear-gradient(90deg, rgba(226,232,240,0.5), rgba(241,245,249,0.9), rgba(226,232,240,0.5));
}

/* F21-T8 — Workspace responsive polish */
@media (max-width: 1200px) {
  .lux-workspace-home-hero .lux-hrms-dash__hero-main,
  .lux-my-work-hero .lux-hrms-dash__hero-main,
  .lux-notifications-page .lux-hrms-dash__hero-main,
  .lux-appr-hero .lux-hrms-dash__hero-main {
    min-width: 0;
  }
}

@media (max-width: 992px) {
  .lux-workspace-home-hero,
  .lux-my-work-hero,
  .lux-appr-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .lux-my-work-hero__actions,
  .lux-workspace-home-hero__actions {
    width: 100%;
    align-items: flex-start;
  }

  .lux-my-work-panel__filters,
  .lux-notifications-panel__filters {
    grid-template-columns: 1fr;
  }

  .lux-workspace-briefing__priority-link {
    grid-template-columns: auto 1fr;
  }

  .lux-workspace-briefing__chevron {
    display: none;
  }

  .lux-appr-toolbar__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .lux-hrms-dash__kpi-strip,
  .lux-workspace-home-kpi-strip,
  .lux-my-work-kpi-strip,
  .lux-notifications-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lux-workspace-saved-view-bar__form {
    flex-direction: column;
    align-items: stretch;
  }

  .lux-workspace-saved-view-bar__form .lux-appr-toolbar__search-input {
    width: 100%;
  }
}

/* F20-T4 — Feature flag administration */
.lux-fflag-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-fflag-page .lux-module-hero {
  border-color: rgba(139, 92, 246, 0.16);
  background:
    radial-gradient(circle at 6% 18%, rgba(139, 92, 246, 0.16), transparent 42%),
    radial-gradient(circle at 94% 82%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(245, 243, 255, 0.55));
}

.lux-fflag-page .lux-admin-kpi-strip .lux-admin-kpi.is-primary {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}
.lux-fflag-page .lux-admin-kpi-strip .lux-admin-kpi.is-blue {
  border-color: rgba(37, 99, 235, 0.2);
}
.lux-fflag-page .lux-admin-kpi-strip .lux-admin-kpi.is-green {
  border-color: rgba(5, 150, 105, 0.2);
}
.lux-fflag-page .lux-admin-kpi-strip .lux-admin-kpi.is-amber {
  border-color: rgba(217, 119, 6, 0.2);
}

.lux-fflag__error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}

.lux-fflag-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.lux-fflag-insight-card {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.8rem 0.9rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.lux-fflag-insight-card.is-amber {
  border-color: rgba(245, 158, 11, 0.22);
  background: linear-gradient(180deg, rgba(255, 251, 235, 0.92), rgba(255, 255, 255, 0.94));
}
.lux-fflag-insight-card.is-rose {
  border-color: rgba(244, 63, 94, 0.2);
  background: linear-gradient(180deg, rgba(255, 241, 242, 0.92), rgba(255, 255, 255, 0.94));
}
.lux-fflag-insight-card.is-green {
  border-color: rgba(16, 185, 129, 0.2);
  background: linear-gradient(180deg, rgba(236, 253, 245, 0.92), rgba(255, 255, 255, 0.94));
}
.lux-fflag-insight-card.is-blue {
  border-color: rgba(37, 99, 235, 0.18);
  background: linear-gradient(180deg, rgba(239, 246, 255, 0.92), rgba(255, 255, 255, 0.94));
}
.lux-fflag-insight-card.is-violet {
  border-color: rgba(139, 92, 246, 0.18);
  background: linear-gradient(180deg, rgba(245, 243, 255, 0.92), rgba(255, 255, 255, 0.94));
}

.lux-fflag-insight-card__icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-fflag-insight-card.is-amber .lux-fflag-insight-card__icon {
  background: rgba(245, 158, 11, 0.14);
  color: #b45309;
}
.lux-fflag-insight-card.is-rose .lux-fflag-insight-card__icon {
  background: rgba(244, 63, 94, 0.12);
  color: #be123c;
}
.lux-fflag-insight-card.is-green .lux-fflag-insight-card__icon {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}
.lux-fflag-insight-card.is-blue .lux-fflag-insight-card__icon {
  background: rgba(37, 99, 235, 0.12);
  color: #1d4ed8;
}
.lux-fflag-insight-card.is-violet .lux-fflag-insight-card__icon {
  background: rgba(139, 92, 246, 0.12);
  color: #6d28d9;
}

.lux-fflag-insight-card__copy strong {
  display: block;
  font-size: 0.8125rem;
  color: #0f172a;
  line-height: 1.3;
}

.lux-fflag-insight-card__copy p {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.4;
}

.lux-fflag-quick-nav {
  margin-bottom: 0.85rem;
}

.lux-fflag-analytics {
  margin-bottom: 0.85rem;
}

.lux-fflag-analytics__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.lux-fflag-panel {
  overflow: hidden;
}

.lux-fflag-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  padding: 0 0.95rem 0.85rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
  background:
    linear-gradient(180deg, rgba(245, 243, 255, 0.45), rgba(255, 255, 255, 0));
}

.lux-fflag-panel__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.1rem;
}

.lux-fflag-panel__body {
  padding: 0.85rem 0.95rem 1rem;
}

.lux-fflag-panel__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.85fr);
  gap: 1rem;
  align-items: start;
}

.lux-fflag-register-wrap {
  overflow-x: auto;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.03),
    0 12px 28px rgba(15, 23, 42, 0.05);
}

.lux-fflag-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-fflag-register th,
.lux-fflag-register td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  vertical-align: middle;
}

.lux-fflag-register th {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94a3b8;
  background: rgba(248, 250, 252, 0.85);
}

.lux-fflag-register__row {
  cursor: pointer;
  transition: background 0.15s ease;
}

.lux-fflag-register__row:hover {
  background: rgba(139, 92, 246, 0.04);
}

.lux-fflag-register__row.is-selected {
  background:
    linear-gradient(90deg, rgba(139, 92, 246, 0.1), rgba(139, 92, 246, 0.03) 70%);
  box-shadow: inset 3px 0 0 #7c3aed;
}

.lux-fflag-register__row.is-attention {
  background: linear-gradient(90deg, rgba(254, 226, 226, 0.4), transparent 58%);
}

.lux-fflag-register__row.is-selected.is-attention {
  background:
    linear-gradient(90deg, rgba(254, 226, 226, 0.35), rgba(139, 92, 246, 0.06) 55%);
}

.lux-fflag-register__primary {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
}

.lux-fflag-register__avatar {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  background: linear-gradient(145deg, rgba(148, 163, 184, 0.18), rgba(148, 163, 184, 0.08));
  color: #475569;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.lux-fflag-register__avatar.is-violet {
  background: linear-gradient(145deg, rgba(167, 139, 250, 0.28), rgba(139, 92, 246, 0.12));
  color: #6d28d9;
}
.lux-fflag-register__avatar.is-blue {
  background: linear-gradient(145deg, rgba(96, 165, 250, 0.28), rgba(37, 99, 235, 0.12));
  color: #1d4ed8;
}
.lux-fflag-register__avatar.is-green {
  background: linear-gradient(145deg, rgba(52, 211, 153, 0.28), rgba(16, 185, 129, 0.12));
  color: #047857;
}
.lux-fflag-register__avatar.is-indigo {
  background: linear-gradient(145deg, rgba(129, 140, 248, 0.28), rgba(79, 70, 229, 0.12));
  color: #4338ca;
}
.lux-fflag-register__avatar.is-amber {
  background: linear-gradient(145deg, rgba(251, 191, 36, 0.28), rgba(245, 158, 11, 0.12));
  color: #b45309;
}

.lux-fflag-register__primary-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-fflag-register__primary-title {
  display: block;
  color: #0f172a;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.3;
}

.lux-fflag-register__primary-meta,
.lux-fflag-register__meta {
  display: block;
  font-size: 0.6875rem;
  color: #64748b;
  line-height: 1.35;
}

.lux-fflag-register__chip {
  display: inline-flex;
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  background: rgba(139, 92, 246, 0.1);
  color: #6d28d9;
  font-size: 0.6875rem;
  font-weight: 700;
}

.lux-fflag-register__adoption-cell {
  display: grid;
  gap: 0.28rem;
  min-width: 4.5rem;
}

.lux-fflag-register__adoption-bar {
  height: 0.35rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  overflow: hidden;
}

.lux-fflag-register__adoption-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #94a3b8, #64748b);
}

.lux-fflag-register__adoption-fill.is-on {
  background: linear-gradient(90deg, #34d399, #059669);
}

.lux-fflag-register__adoption-fill.is-off {
  background: linear-gradient(90deg, #cbd5e1, #94a3b8);
}

.lux-fflag-register__adoption {
  font-size: 0.6875rem;
  font-weight: 800;
  color: #334155;
}

.lux-fflag-register__risk {
  display: inline-flex;
  padding: 0.16rem 0.45rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: capitalize;
}

.lux-fflag-register__risk.is-low {
  color: #047857;
  background: rgba(16, 185, 129, 0.12);
}
.lux-fflag-register__risk.is-medium {
  color: #b45309;
  background: rgba(245, 158, 11, 0.14);
}
.lux-fflag-register__risk.is-high {
  color: #b91c1c;
  background: rgba(254, 226, 226, 0.7);
}

.lux-fflag-register__date {
  font-size: 0.75rem;
  color: #64748b;
  white-space: nowrap;
}

.lux-fflag-detail {
  position: sticky;
  top: 1rem;
  padding: 1.05rem;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background:
    radial-gradient(circle at 100% 0%, rgba(139, 92, 246, 0.08), transparent 42%),
    linear-gradient(165deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.03),
    0 16px 36px rgba(15, 23, 42, 0.06);
}

.lux-fflag-detail--empty {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 0.35rem;
  padding: 2rem 1.25rem;
  color: #64748b;
}

.lux-fflag-detail__empty-icon {
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 0.35rem;
  border-radius: 16px;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(145deg, rgba(167, 139, 250, 0.22), rgba(139, 92, 246, 0.1));
  color: #6d28d9;
  font-size: 1.15rem;
}

.lux-fflag-detail--empty strong {
  color: #0f172a;
  font-size: 0.9rem;
}

.lux-fflag-detail--empty p {
  margin: 0;
  max-width: 16rem;
  font-size: 0.75rem;
  line-height: 1.45;
}

.lux-fflag-detail__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.lux-fflag-detail__identity {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  min-width: 0;
}

.lux-fflag-detail__avatar {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 13px;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  background: linear-gradient(145deg, rgba(148, 163, 184, 0.18), rgba(148, 163, 184, 0.08));
  color: #475569;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.lux-fflag-detail__avatar.is-violet {
  background: linear-gradient(145deg, rgba(167, 139, 250, 0.3), rgba(139, 92, 246, 0.12));
  color: #6d28d9;
}
.lux-fflag-detail__avatar.is-blue {
  background: linear-gradient(145deg, rgba(96, 165, 250, 0.3), rgba(37, 99, 235, 0.12));
  color: #1d4ed8;
}
.lux-fflag-detail__avatar.is-green {
  background: linear-gradient(145deg, rgba(52, 211, 153, 0.3), rgba(16, 185, 129, 0.12));
  color: #047857;
}
.lux-fflag-detail__avatar.is-indigo {
  background: linear-gradient(145deg, rgba(129, 140, 248, 0.3), rgba(79, 70, 229, 0.12));
  color: #4338ca;
}
.lux-fflag-detail__avatar.is-amber {
  background: linear-gradient(145deg, rgba(251, 191, 36, 0.3), rgba(245, 158, 11, 0.12));
  color: #b45309;
}

.lux-fflag-detail__head h3 {
  margin: 0;
  font-size: 0.95rem;
  color: #0f172a;
  line-height: 1.25;
}

.lux-fflag-detail__head p {
  margin: 0.25rem 0 0;
  font-size: 0.72rem;
  color: #64748b;
  line-height: 1.35;
}

.lux-fflag-detail__risk-pill {
  display: inline-flex;
  flex-shrink: 0;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.lux-fflag-detail__risk-pill.is-low {
  color: #047857;
  background: rgba(16, 185, 129, 0.12);
}
.lux-fflag-detail__risk-pill.is-medium {
  color: #b45309;
  background: rgba(245, 158, 11, 0.14);
}
.lux-fflag-detail__risk-pill.is-high {
  color: #b91c1c;
  background: rgba(254, 226, 226, 0.7);
}

.lux-fflag-detail__switch {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.85rem;
  cursor: pointer;
}

.lux-fflag-detail__switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.lux-fflag-detail__switch-track {
  width: 2.4rem;
  height: 1.3rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.35);
  position: relative;
  flex-shrink: 0;
  transition: background 0.18s ease;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.08);
}

.lux-fflag-detail__switch-thumb {
  position: absolute;
  top: 0.15rem;
  left: 0.15rem;
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18);
  transition: transform 0.18s ease;
}

.lux-fflag-detail__switch.is-on .lux-fflag-detail__switch-track {
  background: linear-gradient(90deg, #34d399, #059669);
}

.lux-fflag-detail__switch.is-on .lux-fflag-detail__switch-thumb {
  transform: translateX(1.1rem);
}

.lux-fflag-detail__switch.is-saving {
  opacity: 0.65;
  pointer-events: none;
}

.lux-fflag-detail__switch-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #334155;
}

.lux-fflag-detail__copy {
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  color: #475569;
  line-height: 1.5;
}

.lux-fflag-detail__adoption {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.75rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(248, 250, 252, 0.75);
}

.lux-fflag-detail__adoption-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.4rem;
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #94a3b8;
}

.lux-fflag-detail__adoption-head strong {
  font-size: 0.8125rem;
  color: #0f172a;
  text-transform: none;
  letter-spacing: 0;
}

.lux-fflag-detail__adoption-bar {
  height: 0.45rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  overflow: hidden;
}

.lux-fflag-detail__adoption-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #a78bfa, #7c3aed);
}

.lux-fflag-detail__adoption-fill.is-on {
  background: linear-gradient(90deg, #34d399, #059669);
}

.lux-fflag-detail__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  margin: 0 0 0.85rem;
}

.lux-fflag-detail__meta > div {
  padding: 0.55rem 0.6rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(255, 255, 255, 0.72);
}

.lux-fflag-detail__meta dt {
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94a3b8;
}

.lux-fflag-detail__meta dd {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  color: #334155;
  word-break: break-word;
}

.lux-fflag-detail__deps {
  margin: 0 0 0.85rem;
}

.lux-fflag-detail__deps-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.4rem;
}

.lux-fflag-detail__deps-head h4 {
  margin: 0;
  font-size: 0.75rem;
  color: #0f172a;
}

.lux-fflag-detail__deps-head span {
  font-size: 0.6875rem;
  font-weight: 800;
  color: #94a3b8;
}

.lux-fflag-detail__deps ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.35rem;
}

.lux-fflag-detail__deps li {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(255, 255, 255, 0.8);
  font-size: 0.75rem;
  color: #334155;
}

.lux-fflag-detail__deps li i {
  color: #059669;
}

.lux-fflag-detail__deps li.is-missing {
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(255, 251, 235, 0.7);
  color: #b45309;
}

.lux-fflag-detail__deps li.is-missing i {
  color: #d97706;
}

.lux-fflag-detail__actions {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
}

@media (max-width: 1100px) {
  .lux-fflag-analytics__grid,
  .lux-fflag-insights {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 992px) {
  .lux-fflag-panel__grid {
    grid-template-columns: 1fr;
  }

  .lux-fflag-detail {
    position: static;
  }
}

/* F20-T5 — Sensitive field masking policy */
.lux-mask-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-mask-hero {
  border-color: rgba(15, 118, 110, 0.14);
  background:
    radial-gradient(circle at 6% 18%, rgba(20, 184, 166, 0.14), transparent 42%),
    radial-gradient(circle at 94% 82%, rgba(139, 92, 246, 0.1), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-mask-page .lux-mask-kpi-strip .lux-admin-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2); }
.lux-mask-page .lux-mask-kpi-strip .lux-admin-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-mask-page .lux-mask-kpi-strip .lux-admin-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-mask-page .lux-mask-kpi-strip .lux-admin-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }

.lux-mask__error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}

.lux-mask-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.lux-mask-insight-card {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.8rem 0.9rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.lux-mask-insight-card.is-amber { border-color: rgba(245, 158, 11, 0.22); background: linear-gradient(180deg, rgba(255, 251, 235, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-mask-insight-card.is-rose { border-color: rgba(244, 63, 94, 0.2); background: linear-gradient(180deg, rgba(255, 241, 242, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-mask-insight-card.is-green { border-color: rgba(16, 185, 129, 0.2); background: linear-gradient(180deg, rgba(236, 253, 245, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-mask-insight-card.is-blue { border-color: rgba(37, 99, 235, 0.18); background: linear-gradient(180deg, rgba(239, 246, 255, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-mask-insight-card.is-violet { border-color: rgba(139, 92, 246, 0.18); background: linear-gradient(180deg, rgba(245, 243, 255, 0.92), rgba(255, 255, 255, 0.94)); }

.lux-mask-insight-card__icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-mask-insight-card.is-amber .lux-mask-insight-card__icon { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-mask-insight-card.is-rose .lux-mask-insight-card__icon { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-mask-insight-card.is-green .lux-mask-insight-card__icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-mask-insight-card.is-blue .lux-mask-insight-card__icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-mask-insight-card.is-violet .lux-mask-insight-card__icon { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }

.lux-mask-insight-card__copy strong {
  display: block;
  font-size: 0.8125rem;
  color: #0f172a;
  line-height: 1.3;
}

.lux-mask-insight-card__copy p {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.4;
}

.lux-mask-analytics {
  margin-bottom: 0.85rem;
}

.lux-mask-quick-nav {
  margin-bottom: 0.85rem;
}

.lux-mask-quick-nav__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.lux-mask-quick-nav__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-mask-quick-card {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-mask-quick-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
  text-decoration: none;
  color: inherit;
}

.lux-mask-quick-card.is-violet { border-color: rgba(139, 92, 246, 0.18); }
.lux-mask-quick-card.is-blue { border-color: rgba(37, 99, 235, 0.16); }
.lux-mask-quick-card.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }

.lux-mask-quick-card__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-mask-quick-card.is-violet .lux-mask-quick-card__icon { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-mask-quick-card.is-blue .lux-mask-quick-card__icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-mask-quick-card.is-primary .lux-mask-quick-card__icon { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: rgb(var(--lux-primary-rgb, 91, 95, 244)); }

.lux-mask-quick-card__copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.lux-mask-quick-card__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-mask-quick-card__copy small {
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-mask-quick-card__chevron {
  margin-left: auto;
  color: #94a3b8;
  font-size: 0.875rem;
}

.lux-mask-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 0 0.95rem 0.75rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.lux-mask-panel__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.lux-mask-panel__body {
  padding: 0 0.95rem 0.95rem;
}

.lux-mask-panel__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.85fr);
  gap: 1rem;
  align-items: start;
  padding-top: 0.75rem;
}

.lux-mask-register-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
}

.lux-mask-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-mask-register th,
.lux-mask-register td {
  padding: 0.8rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  vertical-align: middle;
}

.lux-mask-register th {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94a3b8;
}

.lux-mask-register__row {
  cursor: pointer;
}

.lux-mask-register__row.is-selected {
  background: rgba(20, 184, 166, 0.06);
}

.lux-mask-register__row.is-attention {
  background: linear-gradient(90deg, rgba(254, 226, 226, 0.35), transparent 58%);
}

.lux-mask-register__primary {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
}

.lux-mask-register__primary-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-mask-register__primary-title {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-mask-register__primary-meta {
  font-size: 0.6875rem;
  color: #64748b;
  line-height: 1.35;
}

.lux-mask-register__avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-mask-register__avatar.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-mask-register__avatar.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-mask-register__avatar.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-mask-register__avatar.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-mask-register__avatar.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-mask-register__avatar.is-indigo { background: rgba(79, 70, 229, 0.12); color: #4338ca; }

.lux-mask-register__chip,
.lux-mask-register__count,
.lux-mask-register__date {
  display: inline-flex;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.14);
  font-size: 0.6875rem;
  font-weight: 700;
}

.lux-mask-register__risk.is-low { color: #047857; }
.lux-mask-register__risk.is-medium { color: #b45309; }
.lux-mask-register__risk.is-high { color: #b91c1c; font-weight: 800; }

.lux-mask-detail {
  position: sticky;
  top: 1rem;
  padding: 0.95rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.94);
}

.lux-mask-detail--empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 16rem;
  color: #64748b;
  font-size: 0.8125rem;
}

.lux-mask-detail__empty-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  background: rgba(20, 184, 166, 0.12);
  color: #0f766e;
  margin-bottom: 0.65rem;
}

.lux-mask-detail__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
}

.lux-mask-detail__identity {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-width: 0;
}

.lux-mask-detail__avatar {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-mask-detail__avatar.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-mask-detail__avatar.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-mask-detail__avatar.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-mask-detail__avatar.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-mask-detail__avatar.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-mask-detail__avatar.is-indigo { background: rgba(79, 70, 229, 0.12); color: #4338ca; }

.lux-mask-detail__head h3 {
  margin: 0;
  font-size: 0.9375rem;
}

.lux-mask-detail__head p {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-mask-detail__risk {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.14);
}

.lux-mask-detail__risk.is-low { color: #047857; background: rgba(16, 185, 129, 0.12); }
.lux-mask-detail__risk.is-medium { color: #b45309; background: rgba(245, 158, 11, 0.12); }
.lux-mask-detail__risk.is-high { color: #b91c1c; background: rgba(254, 226, 226, 0.65); }

.lux-mask-detail__copy {
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  color: #475569;
  line-height: 1.45;
}

.lux-mask-detail__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0 0 0.75rem;
}

.lux-mask-detail__meta dt {
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94a3b8;
}

.lux-mask-detail__meta dd {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
  color: #334155;
}

.lux-mask-detail__matrix-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}

.lux-mask-detail__matrix-head h4 {
  margin: 0;
  font-size: 0.75rem;
}

.lux-mask-detail__matrix-head span {
  font-size: 0.6875rem;
  color: #94a3b8;
  font-weight: 700;
}

.lux-mask-detail__personas {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

.lux-mask-detail__persona {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.55rem 0.6rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(248, 250, 252, 0.7);
}

.lux-mask-detail__persona-copy {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.lux-mask-detail__persona-copy strong {
  display: block;
  font-size: 0.75rem;
  color: #0f172a;
}

.lux-mask-detail__persona-copy em {
  display: block;
  font-size: 0.625rem;
  font-style: normal;
  color: #94a3b8;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.lux-mask-detail__persona-icon {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 9px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-mask-detail__persona-icon.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-mask-detail__persona-icon.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-mask-detail__persona-icon.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-mask-detail__persona-icon.is-indigo { background: rgba(79, 70, 229, 0.12); color: #4338ca; }
.lux-mask-detail__persona-icon.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }

.lux-mask-detail__level-group {
  display: inline-flex;
  gap: 0.25rem;
  flex-shrink: 0;
}

.lux-mask-detail__level-btn {
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.9);
  color: #64748b;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  padding: 0.28rem 0.45rem;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

.lux-mask-detail__level-btn:hover:not(:disabled) {
  border-color: rgba(148, 163, 184, 0.35);
}

.lux-mask-detail__level-btn:disabled {
  opacity: 0.55;
  cursor: wait;
}

.lux-mask-detail__level-btn.is-active.is-visible {
  color: #047857;
  border-color: rgba(16, 185, 129, 0.35);
  background: rgba(16, 185, 129, 0.12);
}

.lux-mask-detail__level-btn.is-active.is-masked {
  color: #b45309;
  border-color: rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.12);
}

.lux-mask-detail__level-btn.is-active.is-hidden {
  color: #b91c1c;
  border-color: rgba(244, 63, 94, 0.35);
  background: rgba(254, 226, 226, 0.55);
}

@media (max-width: 1200px) {
  .lux-mask-insights,
  .lux-mask-quick-nav__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 992px) {
  .lux-mask-panel__grid {
    grid-template-columns: 1fr;
  }

  .lux-mask-detail {
    position: static;
  }

  .lux-mask-insights,
  .lux-mask-quick-nav__grid {
    grid-template-columns: 1fr;
  }

  .lux-mask-detail__persona {
    flex-direction: column;
    align-items: stretch;
  }

  .lux-mask-detail__level-group {
    justify-content: flex-end;
    flex-wrap: wrap;
  }
}

/* F20-T6 — Data retention / legal hold administration */
.lux-retention-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-retention-hero {
  border-color: rgba(217, 119, 6, 0.14);
  background:
    radial-gradient(circle at 8% 14%, rgba(245, 158, 11, 0.14), transparent 42%),
    radial-gradient(circle at 92% 86%, rgba(37, 99, 235, 0.1), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-retention-page .lux-retention-kpi-strip .lux-admin-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2); }
.lux-retention-page .lux-retention-kpi-strip .lux-admin-kpi.is-rose { border-color: rgba(244, 63, 94, 0.2); }
.lux-retention-page .lux-retention-kpi-strip .lux-admin-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-retention-page .lux-retention-kpi-strip .lux-admin-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }

.lux-retention__error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}

.lux-retention-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.lux-retention-insight-card {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.8rem 0.9rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.lux-retention-insight-card.is-amber { border-color: rgba(245, 158, 11, 0.22); background: linear-gradient(180deg, rgba(255, 251, 235, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-retention-insight-card.is-rose { border-color: rgba(244, 63, 94, 0.2); background: linear-gradient(180deg, rgba(255, 241, 242, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-retention-insight-card.is-green { border-color: rgba(16, 185, 129, 0.2); background: linear-gradient(180deg, rgba(236, 253, 245, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-retention-insight-card.is-blue { border-color: rgba(37, 99, 235, 0.18); background: linear-gradient(180deg, rgba(239, 246, 255, 0.92), rgba(255, 255, 255, 0.94)); }

.lux-retention-insight-card__icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-retention-insight-card.is-amber .lux-retention-insight-card__icon { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-retention-insight-card.is-rose .lux-retention-insight-card__icon { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-retention-insight-card.is-green .lux-retention-insight-card__icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-retention-insight-card.is-blue .lux-retention-insight-card__icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }

.lux-retention-insight-card__copy strong {
  display: block;
  font-size: 0.8125rem;
  color: #0f172a;
  line-height: 1.3;
}

.lux-retention-insight-card__copy p {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.4;
}

.lux-retention-analytics {
  margin-bottom: 0.85rem;
}

.lux-retention-analytics__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.lux-retention-quick-nav {
  margin-bottom: 0.85rem;
}

.lux-retention-quick-nav__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.lux-retention-quick-nav__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-retention-quick-card {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-retention-quick-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
  text-decoration: none;
  color: inherit;
}

.lux-retention-quick-card.is-green { border-color: rgba(16, 185, 129, 0.18); }
.lux-retention-quick-card.is-violet { border-color: rgba(139, 92, 246, 0.18); }
.lux-retention-quick-card.is-blue { border-color: rgba(37, 99, 235, 0.16); }

.lux-retention-quick-card__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-retention-quick-card.is-green .lux-retention-quick-card__icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-retention-quick-card.is-violet .lux-retention-quick-card__icon { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-retention-quick-card.is-blue .lux-retention-quick-card__icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }

.lux-retention-quick-card__copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.lux-retention-quick-card__copy strong { font-size: 0.8125rem; color: #0f172a; }
.lux-retention-quick-card__copy small { font-size: 0.6875rem; color: #64748b; }
.lux-retention-quick-card__chevron { margin-left: auto; color: #94a3b8; font-size: 0.875rem; }

.lux-retention-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 0 0.95rem 0.75rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.lux-retention-panel__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.lux-retention-panel__body { padding: 0 0.95rem 0.95rem; }

.lux-retention-panel__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.85fr);
  gap: 1rem;
  align-items: start;
  padding-top: 0.75rem;
}

.lux-retention-register-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
}

.lux-retention-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-retention-register th,
.lux-retention-register td {
  padding: 0.8rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  vertical-align: middle;
}

.lux-retention-register th {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94a3b8;
}

.lux-retention-register__row { cursor: pointer; }
.lux-retention-register__row.is-selected { background: rgba(245, 158, 11, 0.06); }
.lux-retention-register__row.is-attention { background: linear-gradient(90deg, rgba(254, 226, 226, 0.35), transparent 58%); }

.lux-retention-register__primary {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
}

.lux-retention-register__primary-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-retention-register__primary-title { font-size: 0.8125rem; color: #0f172a; }
.lux-retention-register__primary-meta { font-size: 0.6875rem; color: #64748b; line-height: 1.35; }

.lux-retention-register__avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-retention-register__avatar.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-retention-register__avatar.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-retention-register__avatar.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-retention-register__avatar.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-retention-register__avatar.is-indigo { background: rgba(79, 70, 229, 0.12); color: #4338ca; }
.lux-retention-register__avatar.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-retention-register__chip,
.lux-retention-register__period,
.lux-retention-register__count,
.lux-retention-register__date {
  display: inline-flex;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.14);
  font-size: 0.6875rem;
  font-weight: 700;
}

.lux-retention-register__status.is-hold { color: #b91c1c; font-weight: 800; }
.lux-retention-register__status.is-archived { color: #64748b; }

.lux-retention-detail {
  position: sticky;
  top: 1rem;
  padding: 0.95rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.94);
}

.lux-retention-detail--empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 16rem;
  color: #64748b;
  font-size: 0.8125rem;
}

.lux-retention-detail__empty-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
  margin-bottom: 0.65rem;
}

.lux-retention-detail__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
}

.lux-retention-detail__identity {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-width: 0;
}

.lux-retention-detail__avatar {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-retention-detail__avatar.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-retention-detail__avatar.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-retention-detail__avatar.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-retention-detail__avatar.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-retention-detail__avatar.is-indigo { background: rgba(79, 70, 229, 0.12); color: #4338ca; }
.lux-retention-detail__avatar.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-retention-detail__head h3 { margin: 0; font-size: 0.9375rem; }
.lux-retention-detail__head p { margin: 0.2rem 0 0; font-size: 0.75rem; color: #64748b; }

.lux-retention-detail__status {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.14);
}

.lux-retention-detail__status.is-hold { color: #b91c1c; background: rgba(254, 226, 226, 0.65); }
.lux-retention-detail__status.is-archived { color: #64748b; }

.lux-retention-detail__copy {
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  color: #475569;
  line-height: 1.45;
}

.lux-retention-detail__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0 0 0.75rem;
}

.lux-retention-detail__meta dt {
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94a3b8;
}

.lux-retention-detail__meta dd {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
  color: #334155;
}

.lux-retention-detail__section { margin-bottom: 0.75rem; }

.lux-retention-detail__section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
}

.lux-retention-detail__section-head h4 { margin: 0; font-size: 0.75rem; }
.lux-retention-detail__section-head span { font-size: 0.6875rem; color: #94a3b8; font-weight: 700; }

.lux-retention-detail__preset-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.lux-retention-detail__preset-btn {
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.9);
  color: #64748b;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 0.32rem 0.55rem;
  border-radius: 999px;
  cursor: pointer;
}

.lux-retention-detail__preset-btn.is-active {
  color: #b45309;
  border-color: rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.12);
}

.lux-retention-detail__preset-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.lux-retention-detail__toggles {
  display: grid;
  gap: 0.45rem;
}

.lux-retention-detail__toggle {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0;
  padding: 0.55rem 0.6rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(248, 250, 252, 0.7);
  cursor: pointer;
}

.lux-retention-detail__toggle span {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

.lux-retention-detail__toggle strong { font-size: 0.75rem; color: #0f172a; }
.lux-retention-detail__toggle em { font-size: 0.625rem; font-style: normal; color: #94a3b8; }

@media (max-width: 1200px) {
  .lux-retention-insights,
  .lux-retention-quick-nav__grid,
  .lux-retention-analytics__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 992px) {
  .lux-retention-panel__grid,
  .lux-retention-analytics__grid {
    grid-template-columns: 1fr;
  }

  .lux-retention-detail { position: static; }

  .lux-retention-insights,
  .lux-retention-quick-nav__grid {
    grid-template-columns: 1fr;
  }
}

/* ── Shared admin luxury chrome (insights + quick nav + hero) ─────────────── */

.lux-admin-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.lux-admin-insight-card {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.8rem 0.9rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

a.lux-admin-insight-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
  text-decoration: none;
  color: inherit;
}

.lux-admin-insight-card.is-amber { border-color: rgba(245, 158, 11, 0.22); background: linear-gradient(180deg, rgba(255, 251, 235, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-admin-insight-card.is-rose { border-color: rgba(244, 63, 94, 0.2); background: linear-gradient(180deg, rgba(255, 241, 242, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-admin-insight-card.is-green { border-color: rgba(16, 185, 129, 0.2); background: linear-gradient(180deg, rgba(236, 253, 245, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-admin-insight-card.is-blue { border-color: rgba(37, 99, 235, 0.18); background: linear-gradient(180deg, rgba(239, 246, 255, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-admin-insight-card.is-violet { border-color: rgba(139, 92, 246, 0.18); background: linear-gradient(180deg, rgba(245, 243, 255, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-admin-insight-card.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); background: linear-gradient(180deg, rgba(238, 242, 255, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-admin-insight-card.is-indigo { border-color: rgba(79, 70, 229, 0.18); background: linear-gradient(180deg, rgba(238, 242, 255, 0.92), rgba(255, 255, 255, 0.94)); }
.lux-admin-insight-card.is-slate { border-color: rgba(100, 116, 139, 0.18); }

.lux-admin-insight-card__icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-admin-insight-card.is-amber .lux-admin-insight-card__icon { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-admin-insight-card.is-rose .lux-admin-insight-card__icon { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-admin-insight-card.is-green .lux-admin-insight-card__icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-admin-insight-card.is-blue .lux-admin-insight-card__icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-admin-insight-card.is-violet .lux-admin-insight-card__icon { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-admin-insight-card.is-primary .lux-admin-insight-card__icon { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: rgb(var(--lux-primary-rgb, 91, 95, 244)); }
.lux-admin-insight-card.is-indigo .lux-admin-insight-card__icon { background: rgba(79, 70, 229, 0.12); color: #4338ca; }

.lux-admin-insight-card__copy { min-width: 0; flex: 1; }
.lux-admin-insight-card__copy strong { display: block; font-size: 0.8125rem; color: #0f172a; line-height: 1.3; }
.lux-admin-insight-card__copy p { margin: 0.2rem 0 0; font-size: 0.75rem; color: #64748b; line-height: 1.4; }
.lux-admin-insight-card__chevron { color: #94a3b8; font-size: 0.875rem; flex-shrink: 0; align-self: center; }

.lux-admin-quick-nav { margin-bottom: 0.85rem; }

.lux-admin-quick-nav__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.lux-admin-quick-nav__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-admin-quick-card {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9));
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-admin-quick-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
  text-decoration: none;
  color: inherit;
}

.lux-admin-quick-card.is-violet { border-color: rgba(139, 92, 246, 0.18); }
.lux-admin-quick-card.is-blue { border-color: rgba(37, 99, 235, 0.16); }
.lux-admin-quick-card.is-green { border-color: rgba(16, 185, 129, 0.18); }
.lux-admin-quick-card.is-amber { border-color: rgba(245, 158, 11, 0.18); }
.lux-admin-quick-card.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }
.lux-admin-quick-card.is-rose { border-color: rgba(244, 63, 94, 0.16); }

.lux-admin-quick-card__icon {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-admin-quick-card.is-violet .lux-admin-quick-card__icon { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-admin-quick-card.is-blue .lux-admin-quick-card__icon { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-admin-quick-card.is-green .lux-admin-quick-card__icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-admin-quick-card.is-amber .lux-admin-quick-card__icon { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-admin-quick-card.is-primary .lux-admin-quick-card__icon { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: rgb(var(--lux-primary-rgb, 91, 95, 244)); }
.lux-admin-quick-card.is-rose .lux-admin-quick-card__icon { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-admin-quick-card__copy { display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; }
.lux-admin-quick-card__copy strong { font-size: 0.8125rem; color: #0f172a; }
.lux-admin-quick-card__copy small { font-size: 0.6875rem; color: #64748b; }
.lux-admin-quick-card__chevron { margin-left: auto; color: #94a3b8; font-size: 0.875rem; }

.lux-admin-kpi-strip .lux-admin-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-admin-kpi-strip .lux-admin-kpi.is-rose { border-color: rgba(244, 63, 94, 0.2); }
.lux-admin-kpi-strip .lux-admin-kpi.is-slate { border-color: rgba(100, 116, 139, 0.2); }
.lux-admin-kpi-strip .lux-admin-kpi.is-indigo { border-color: rgba(79, 70, 229, 0.2); }
.lux-admin-kpi__icon.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-admin-kpi__icon.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-admin-kpi__icon.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }
.lux-admin-kpi__icon.is-indigo { background: rgba(79, 70, 229, 0.12); color: #4338ca; }

/* Page hero gradients */
.lux-appr-policy-hero {
  border-color: rgba(37, 99, 235, 0.14);
  background:
    radial-gradient(circle at 6% 18%, rgba(37, 99, 235, 0.12), transparent 42%),
    radial-gradient(circle at 94% 82%, rgba(139, 92, 246, 0.1), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-audit-admin-hero {
  border-color: rgba(139, 92, 246, 0.14);
  background:
    radial-gradient(circle at 8% 12%, rgba(139, 92, 246, 0.14), transparent 42%),
    radial-gradient(circle at 92% 88%, rgba(37, 99, 235, 0.1), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-delegation-admin__hero {
  border-color: rgba(99, 102, 241, 0.14);
  background:
    radial-gradient(circle at 10% 20%, rgba(99, 102, 241, 0.14), transparent 42%),
    radial-gradient(circle at 90% 80%, rgba(139, 92, 246, 0.1), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-access-request-hero {
  border-color: rgba(217, 119, 6, 0.14);
  background:
    radial-gradient(circle at 6% 16%, rgba(245, 158, 11, 0.14), transparent 42%),
    radial-gradient(circle at 94% 84%, rgba(37, 99, 235, 0.08), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-org-structure-hero {
  border-color: rgba(37, 99, 235, 0.14);
  background:
    radial-gradient(circle at 8% 14%, rgba(59, 130, 246, 0.12), transparent 42%),
    radial-gradient(circle at 92% 86%, rgba(16, 185, 129, 0.1), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-fflag-hero {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
  background:
    radial-gradient(circle at 6% 18%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), transparent 42%),
    radial-gradient(circle at 94% 82%, rgba(139, 92, 246, 0.1), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-leave-policy-hero,
.lux-leave-config-hero {
  border-color: rgba(217, 119, 6, 0.14);
  background:
    radial-gradient(circle at 8% 16%, rgba(245, 158, 11, 0.14), transparent 42%),
    radial-gradient(circle at 92% 84%, rgba(124, 58, 237, 0.1), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(255, 251, 235, 0.4));
}

.lux-audit-admin-analytics { margin-bottom: 0.85rem; }

.lux-appr-policy__error,
.lux-fflag-page { padding-bottom: var(--lux-page-block-bottom); }

.lux-leave-policy-page .lux-leave-subpanel,
.lux-leave-config-page .lux-leave-subpanel {
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

@media (max-width: 1200px) {
  .lux-admin-insights,
  .lux-admin-quick-nav__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 992px) {
  .lux-admin-insights,
  .lux-admin-quick-nav__grid {
    grid-template-columns: 1fr;
  }
}

/* F20-T7 — Compliance pack export */
.lux-compliance-page { padding-bottom: var(--lux-page-block-bottom); }

.lux-compliance-hero {
  border-color: rgba(79, 70, 229, 0.14);
  background:
    radial-gradient(circle at 6% 18%, rgba(79, 70, 229, 0.14), transparent 42%),
    radial-gradient(circle at 94% 82%, rgba(139, 92, 246, 0.1), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
}

.lux-compliance-page .lux-compliance-kpi-strip .lux-admin-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-compliance-page .lux-compliance-kpi-strip .lux-admin-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2); }
.lux-compliance-page .lux-compliance-kpi-strip .lux-admin-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-compliance-page .lux-compliance-kpi-strip .lux-admin-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }

.lux-compliance__error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}

.lux-compliance-analytics { margin-bottom: 0.85rem; }

.lux-compliance-analytics__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.lux-compliance-panel__toolbar {
  padding: 0 0.95rem 0.75rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.lux-compliance-panel__body { padding: 0 0.95rem 0.95rem; }

.lux-compliance-panel__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.85fr);
  gap: 1rem;
  align-items: start;
  padding-top: 0.75rem;
}

.lux-compliance-register-wrap {
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
}

.lux-compliance-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-compliance-register th,
.lux-compliance-register td {
  padding: 0.8rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  vertical-align: middle;
}

.lux-compliance-register th {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94a3b8;
}

.lux-compliance-register__row { cursor: pointer; }
.lux-compliance-register__row.is-selected { background: rgba(79, 70, 229, 0.06); }
.lux-compliance-register__row.is-attention { background: linear-gradient(90deg, rgba(254, 243, 199, 0.35), transparent 58%); }

.lux-compliance-register__primary {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
}

.lux-compliance-register__primary-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.lux-compliance-register__primary-title { font-size: 0.8125rem; color: #0f172a; }
.lux-compliance-register__primary-meta { font-size: 0.6875rem; color: #64748b; line-height: 1.35; }

.lux-compliance-register__avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-compliance-register__avatar.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-compliance-register__avatar.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-compliance-register__avatar.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-compliance-register__avatar.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-compliance-register__avatar.is-indigo { background: rgba(79, 70, 229, 0.12); color: #4338ca; }
.lux-compliance-register__avatar.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: rgb(var(--lux-primary-rgb, 91, 95, 244)); }

.lux-compliance-register__count,
.lux-compliance-register__checksum {
  display: inline-flex;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.14);
  font-size: 0.6875rem;
  font-weight: 700;
}

.lux-compliance-register__status.is-ready { color: #047857; font-weight: 800; }
.lux-compliance-register__status.is-gap { color: #b45309; font-weight: 800; }

.lux-compliance-detail {
  position: sticky;
  top: 1rem;
  padding: 0.95rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.94);
}

.lux-compliance-detail--empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-height: 16rem;
  color: #64748b;
  font-size: 0.8125rem;
  gap: 0.45rem;
}

.lux-compliance-detail__empty-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  background: rgba(79, 70, 229, 0.12);
  color: #4338ca;
  margin-bottom: 0.35rem;
}

.lux-compliance-detail__export-hint {
  font-size: 0.75rem;
  color: #475569;
  margin: 0.35rem 0;
}

.lux-compliance-detail__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
}

.lux-compliance-detail__identity {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-width: 0;
}

.lux-compliance-detail__avatar {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  flex-shrink: 0;
}

.lux-compliance-detail__avatar.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-compliance-detail__avatar.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-compliance-detail__avatar.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-compliance-detail__avatar.is-amber { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-compliance-detail__avatar.is-indigo { background: rgba(79, 70, 229, 0.12); color: #4338ca; }
.lux-compliance-detail__avatar.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: rgb(var(--lux-primary-rgb, 91, 95, 244)); }

.lux-compliance-detail__head h3 { margin: 0; font-size: 0.9375rem; }
.lux-compliance-detail__head p { margin: 0.2rem 0 0; font-size: 0.75rem; color: #64748b; }

.lux-compliance-detail__status {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.14);
}

.lux-compliance-detail__status.is-ready { color: #047857; background: rgba(16, 185, 129, 0.12); }
.lux-compliance-detail__status.is-gap { color: #b45309; background: rgba(245, 158, 11, 0.12); }

.lux-compliance-detail__copy {
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  color: #475569;
  line-height: 1.45;
}

.lux-compliance-detail__preview h4 {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
}

.lux-compliance-detail__preview pre {
  margin: 0 0 0.75rem;
  padding: 0.65rem;
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.04);
  font-size: 0.625rem;
  max-height: 10rem;
  overflow: auto;
}

.lux-compliance-detail__actions {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
}

@media (max-width: 992px) {
  .lux-compliance-panel__grid,
  .lux-compliance-analytics__grid {
    grid-template-columns: 1fr;
  }

  .lux-compliance-detail { position: static; }
}

/* F20-T8 — Admin insights dashboard */
.lux-admin-insights-page { padding-bottom: var(--lux-page-block-bottom); }

.lux-admin-insights-hero {
  background: linear-gradient(135deg, rgba(79, 70, 229, 0.08) 0%, rgba(37, 99, 235, 0.06) 48%, rgba(16, 185, 129, 0.04) 100%);
  border-color: rgba(79, 70, 229, 0.12);
}

.lux-admin-insights-page .lux-admin-insights-kpi-strip .lux-admin-kpi.is-violet { border-color: rgba(139, 92, 246, 0.2); }
.lux-admin-insights-page .lux-admin-insights-kpi-strip .lux-admin-kpi.is-rose { border-color: rgba(244, 63, 94, 0.2); }
.lux-admin-insights-page .lux-admin-insights-kpi-strip .lux-admin-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-admin-insights-page .lux-admin-insights-kpi-strip .lux-admin-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }

.lux-admin-insights__error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.lux-admin-insights-analytics { margin-bottom: 0.85rem; }

.lux-admin-insights-analytics__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  padding: 0 0.95rem 0.95rem;
}

@media (max-width: 991px) {
  .lux-admin-insights-analytics__grid {
    grid-template-columns: 1fr;
  }
}

/* ========== F13 Skills matrix — resource proficiency register ========== */
/* F13 — Resource planning & skills matrix */
.lux-skills-page {
  --lux-skills-accent: #6366f1;
  position: relative;
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-skills-lux__ambient {
  position: absolute;
  inset: 0 0 auto 0;
  height: 22rem;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.lux-skills-lux__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
}

.lux-skills-lux__orb--a {
  width: 18rem;
  height: 18rem;
  top: -6rem;
  right: -4rem;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.22), transparent 68%);
}

.lux-skills-lux__orb--b {
  width: 14rem;
  height: 14rem;
  top: 2rem;
  left: -3rem;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.16), transparent 70%);
}

.lux-skills-page > .lux-module-hero,
.lux-skills-page > .lux-skills-page__body {
  position: relative;
  z-index: 1;
}

.lux-skills-page__body {
  display: grid;
  gap: 1rem;
}

.lux-skills-hero.lux-module-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 0.35rem;
}

.lux-skills-hero.lux-module-hero::after {
  content: "";
  position: absolute;
  width: 16rem;
  height: 16rem;
  right: -3rem;
  top: -5rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(167, 139, 250, 0.28), transparent 68%);
  pointer-events: none;
}

.lux-skills-hero .lux-module-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-skills-kpi-strip {
  margin-top: 0.25rem;
}

.lux-skills-insights {
  margin-bottom: 0;
}

.lux-resources-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.55rem;
  flex-shrink: 0;
}

.lux-resources-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-resources-kpi-strip .lux-resources-kpi.is-green { border-color: rgba(5, 150, 105, 0.2); }
.lux-resources-kpi-strip .lux-resources-kpi.is-amber { border-color: rgba(217, 119, 6, 0.2); }
.lux-resources-kpi-strip .lux-resources-kpi.is-rose { border-color: rgba(219, 39, 119, 0.18); }
.lux-resources-kpi-strip .lux-resources-kpi.is-primary { border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18); }
.lux-resources-kpi-strip .lux-resources-kpi.is-violet { border-color: rgba(124, 58, 237, 0.2); }
.lux-resources-kpi-strip .lux-resources-kpi.is-slate { border-color: rgba(100, 116, 139, 0.2); }

.lux-resources-kpi__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.35rem;
}

.lux-resources-kpi__icon {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 0.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
}

.lux-resources-kpi__icon.is-green { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-resources-kpi__icon.is-amber { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-resources-kpi__icon.is-rose { background: rgba(219, 39, 119, 0.12); color: #be185d; }
.lux-resources-kpi__icon.is-violet { background: rgba(124, 58, 237, 0.12); color: #6d28d9; }
.lux-resources-kpi__icon.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12); color: var(--lux-primary-dark, #3730a3); }
.lux-resources-kpi__icon.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-skills-analytics-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 1rem;
  margin-bottom: 0;
}

.lux-skills-panel {
  min-width: 0;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.lux-skills-panel--accent {
  border-color: rgba(99, 102, 241, 0.22);
  background:
    linear-gradient(165deg, rgba(99, 102, 241, 0.08), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
}

.lux-skills-panel--mix {
  border-color: rgba(56, 189, 248, 0.22);
  background:
    linear-gradient(165deg, rgba(56, 189, 248, 0.07), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
}

.lux-skills-panel--register {
  margin-top: 0;
  border-color: rgba(139, 92, 246, 0.2);
  background:
    linear-gradient(165deg, rgba(139, 92, 246, 0.07), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
}

.lux-skills-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0.15rem 0.95rem 0.9rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.75), transparent);
}

.lux-skills-panel__body {
  padding-top: 0.55rem;
}

.lux-skills-panel__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem 0.85rem;
  margin: 0 0 0.85rem;
  padding: 0.55rem 0.7rem;
  border-radius: 12px;
  border: 1px solid rgba(99, 102, 241, 0.14);
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.07), rgba(255, 255, 255, 0.9));
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-skills-panel__summary strong {
  font-weight: 800;
  color: #312e81;
}

.lux-skills-category-list,
.lux-skills-distribution {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.lux-skills-category-row,
.lux-skills-distribution__row {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.8rem 0.85rem;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.03);
}

.lux-skills-category-row__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: center;
}

.lux-skills-category-row__icon,
.lux-skills-distribution__dot {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.85rem;
  flex-shrink: 0;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.12);
}

.lux-skills-category-row__icon.is-violet,
.lux-skills-distribution__dot.is-violet,
.lux-skills-category-row__fill.is-violet,
.lux-skills-distribution__fill.is-violet { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }

.lux-skills-category-row__icon.is-primary,
.lux-skills-distribution__dot.is-primary,
.lux-skills-category-row__fill.is-primary,
.lux-skills-distribution__fill.is-primary { background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3)); }

.lux-skills-category-row__icon.is-sky,
.lux-skills-distribution__dot.is-sky,
.lux-skills-category-row__fill.is-sky,
.lux-skills-distribution__fill.is-sky { background: linear-gradient(135deg, #38bdf8, #0284c7); }

.lux-skills-category-row__icon.is-amber,
.lux-skills-distribution__dot.is-amber,
.lux-skills-category-row__fill.is-amber,
.lux-skills-distribution__fill.is-amber { background: linear-gradient(135deg, #f59e0b, #d97706); }

.lux-skills-category-row__icon.is-green,
.lux-skills-distribution__dot.is-green,
.lux-skills-category-row__fill.is-green,
.lux-skills-distribution__fill.is-green { background: linear-gradient(135deg, #10b981, #047857); }

.lux-skills-category-row__icon.is-slate,
.lux-skills-distribution__dot.is-slate,
.lux-skills-category-row__fill.is-slate,
.lux-skills-distribution__fill.is-slate { background: linear-gradient(135deg, #94a3b8, #64748b); }

.lux-skills-category-row__copy,
.lux-skills-distribution__copy {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  min-width: 0;
}

.lux-skills-category-row__copy strong,
.lux-skills-distribution__copy strong {
  font-size: 0.8125rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-skills-category-row__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.lux-skills-category-row__stats em {
  font-style: normal;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.12);
  color: #475569;
}

.lux-skills-distribution__copy span {
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-skills-category-row__pct,
.lux-skills-distribution__count {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.05rem;
  line-height: 1.15;
}

.lux-skills-category-row__pct strong,
.lux-skills-distribution__count strong {
  font-size: 0.9375rem;
  font-weight: 900;
  color: #0f172a;
}

.lux-skills-category-row__pct small,
.lux-skills-distribution__count small {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-skills-category-row__bar,
.lux-skills-distribution__bar {
  height: 0.5rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.16);
  overflow: hidden;
}

.lux-skills-category-row__fill,
.lux-skills-distribution__fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25) inset;
}

.lux-skills-category-row__active-hint {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #4338ca;
}

button.lux-skills-category-row {
  width: 100%;
  text-align: left;
  appearance: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease, background 0.15s ease;
}

button.lux-skills-category-row:hover {
  border-color: rgba(99, 102, 241, 0.32);
  box-shadow: 0 10px 22px rgba(99, 102, 241, 0.12);
  transform: translateY(-1px);
}

button.lux-skills-category-row.is-active {
  border-color: rgba(99, 102, 241, 0.42);
  background: linear-gradient(145deg, rgba(99, 102, 241, 0.12), rgba(255, 255, 255, 0.97));
  box-shadow: 0 12px 26px rgba(99, 102, 241, 0.14);
}

.lux-skills-distribution__row {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr) auto;
  align-items: center;
  gap: 0.75rem;
}

.lux-skills-distribution__label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.lux-skills-distribution__dot {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 999px;
  box-shadow: none;
}

@media (max-width: 720px) {
  .lux-skills-distribution__row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .lux-skills-distribution__bar {
    grid-column: 1 / -1;
    order: 3;
  }
}

.lux-skills-register-wrap {
  overflow: auto;
  border-radius: 0 0 1rem 1rem;
}

.lux-skills-register {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.lux-skills-register thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 0.85rem 1rem;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
  background: rgba(248, 250, 252, 0.96);
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.lux-skills-register tbody td {
  padding: 0.95rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.lux-skills-register__row.is-attention {
  background: rgba(245, 158, 11, 0.05);
}

.lux-skills-register__row.is-certified {
  box-shadow: inset 3px 0 0 rgba(16, 185, 129, 0.65);
}

.lux-skills-register__row:hover {
  background: rgba(99, 102, 241, 0.04);
}

.lux-skills-register__person,
.lux-skills-register__skill {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.lux-skills-register__avatar,
.lux-skills-register__skill-icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 700;
}

.lux-skills-register__avatar {
  background: linear-gradient(135deg, #6366f1, #4338ca);
  color: #fff;
}

.lux-skills-register__skill-icon.is-violet { background: rgba(139, 92, 246, 0.14); color: #6d28d9; }
.lux-skills-register__skill-icon.is-primary { background: rgba(91, 95, 244, 0.12); color: var(--lux-primary-dark, #3730a3); }
.lux-skills-register__skill-icon.is-sky { background: rgba(56, 189, 248, 0.14); color: #0369a1; }
.lux-skills-register__skill-icon.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-skills-register__skill-icon.is-slate { background: rgba(148, 163, 184, 0.18); color: #475569; }

.lux-skills-register__person-copy,
.lux-skills-register__skill-copy {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.lux-skills-register__meta,
.lux-skills-register__link,
.lux-skills-register__date,
.lux-skills-register__metric,
.lux-skills-register__muted {
  font-size: 0.6875rem;
}

.lux-skills-register__meta,
.lux-skills-register__muted {
  color: #64748b;
}

.lux-skills-register__link {
  color: var(--lux-primary, #5b5ff4);
  font-weight: 600;
  text-decoration: none;
}

.lux-skills-register__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
}

.lux-skills-register__chip.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-skills-register__chip.is-primary { background: rgba(91, 95, 244, 0.1); color: var(--lux-primary-dark, #3730a3); }
.lux-skills-register__chip.is-sky { background: rgba(56, 189, 248, 0.14); color: #0369a1; }
.lux-skills-register__chip.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-skills-register__chip.is-slate { background: rgba(148, 163, 184, 0.16); color: #475569; }

.lux-skills-proficiency {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 8rem;
}

.lux-skills-proficiency__bar {
  height: 0.4rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  overflow: hidden;
}

.lux-skills-proficiency__bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.lux-skills-proficiency__bar.is-green span { background: linear-gradient(90deg, #10b981, #059669); }
.lux-skills-proficiency__bar.is-blue span { background: linear-gradient(90deg, #38bdf8, #0284c7); }
.lux-skills-proficiency__bar.is-amber span { background: linear-gradient(90deg, #fbbf24, #d97706); }
.lux-skills-proficiency__bar.is-slate span { background: linear-gradient(90deg, #94a3b8, #64748b); }

@media (max-width: 991px) {
  .lux-skills-analytics-grid {
    grid-template-columns: 1fr;
  }

  .lux-skills-hero .lux-hrms-dash__hero-main {
    width: 100%;
  }

  .lux-resources-hero__actions {
    width: 100%;
    align-items: flex-start;
  }

  .lux-resources-hero__buttons {
    justify-content: flex-start;
  }

  .lux-resources-section-head {
    padding: 0.9rem 0.9rem 0.75rem;
  }

  .lux-resources-section-head__actions {
    width: 100%;
    justify-content: flex-start;
  }
}


/* F13 Resource analytics — luxury console */
.lux-resource-analytics-page {
  position: relative;
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-resource-analytics-lux__ambient {
  position: absolute;
  inset: 0 0 auto 0;
  height: 22rem;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.lux-resource-analytics-lux__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
}

.lux-resource-analytics-lux__orb--a {
  width: 18rem;
  height: 18rem;
  top: -6rem;
  right: -3rem;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.2), transparent 68%);
}

.lux-resource-analytics-lux__orb--b {
  width: 14rem;
  height: 14rem;
  top: 2rem;
  left: -3rem;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.14), transparent 70%);
}

.lux-resource-analytics-page > .lux-module-hero,
.lux-resource-analytics-page > .lux-resource-analytics-page__body {
  position: relative;
  z-index: 1;
}

.lux-resource-analytics-page__body {
  display: grid;
  gap: 1rem;
}

.lux-resource-analytics-hero.lux-module-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 0.35rem;
}

.lux-resource-analytics-hero.lux-module-hero::after {
  content: "";
  position: absolute;
  width: 16rem;
  height: 16rem;
  right: -3rem;
  top: -5rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(129, 140, 248, 0.28), transparent 68%);
  pointer-events: none;
}

.lux-resource-analytics-hero .lux-module-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-resource-analytics-panel {
  border: 1px solid rgba(148, 163, 184, 0.18);
  background:
    linear-gradient(165deg, rgba(99, 102, 241, 0.06), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.lux-resource-analytics-panel--heatmap {
  background:
    linear-gradient(165deg, rgba(56, 189, 248, 0.07), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
}

/* F13-T4 — Staffing request workflow */
.lux-staffing-page {
  position: relative;
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-staffing-lux__ambient {
  position: absolute;
  inset: 0 0 auto 0;
  height: 22rem;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.lux-staffing-lux__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
}

.lux-staffing-lux__orb--a {
  width: 18rem;
  height: 18rem;
  top: -6rem;
  right: -3rem;
  background: radial-gradient(circle, rgba(245, 158, 11, 0.22), transparent 68%);
}

.lux-staffing-lux__orb--b {
  width: 14rem;
  height: 14rem;
  top: 2rem;
  left: -3rem;
  background: radial-gradient(circle, rgba(244, 63, 94, 0.12), transparent 70%);
}

.lux-staffing-page > .lux-module-hero,
.lux-staffing-page > .lux-staffing-page__body {
  position: relative;
  z-index: 1;
}

.lux-staffing-page__body {
  display: grid;
  gap: 1rem;
}

.lux-staffing-hero.lux-module-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 0.35rem;
}

.lux-staffing-hero.lux-module-hero::after {
  content: "";
  position: absolute;
  width: 16rem;
  height: 16rem;
  right: -3rem;
  top: -5rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(251, 191, 36, 0.28), transparent 68%);
  pointer-events: none;
}

.lux-staffing-hero .lux-module-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-staffing-panel {
  border: 1px solid rgba(148, 163, 184, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.lux-staffing-panel--ai {
  border-color: rgba(245, 158, 11, 0.22);
  background:
    linear-gradient(165deg, rgba(245, 158, 11, 0.07), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
}

.lux-staffing-panel--register {
  margin-top: 0;
  border-color: rgba(244, 63, 94, 0.14);
  background:
    linear-gradient(165deg, rgba(244, 63, 94, 0.04), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
}

.lux-staffing-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0.15rem 0.95rem 0.9rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.75), transparent);
}

.lux-staffing-register-wrap {
  overflow: auto;
  border-radius: 0 0 1rem 1rem;
}

.lux-staffing-register {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.lux-staffing-register thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 0.85rem 1rem;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
  background: rgba(248, 250, 252, 0.96);
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.lux-staffing-register tbody td {
  padding: 0.9rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.lux-staffing-register__row.is-urgent {
  background: rgba(244, 63, 94, 0.04);
}

.lux-staffing-register__row.is-open {
  box-shadow: inset 3px 0 0 rgba(245, 158, 11, 0.55);
}

.lux-staffing-register__row:hover {
  background: rgba(37, 99, 235, 0.03);
}

.lux-staffing-register__title {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  border: none;
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
  color: inherit;
}

.lux-staffing-register__title strong {
  color: var(--lux-primary-dark, #3730a3);
  font-size: 0.8125rem;
}

.lux-staffing-register__meta,
.lux-staffing-register__date,
.lux-staffing-register__requester {
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-staffing-register__project {
  font-size: 0.75rem;
  font-weight: 600;
  color: #0f172a;
}

.lux-staffing-register__count {
  display: inline-flex;
  min-width: 1.5rem;
  justify-content: center;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
  color: var(--lux-primary-dark, #3730a3);
  font-size: 0.6875rem;
  font-weight: 800;
}

.lux-staffing-register__chip {
  display: inline-flex;
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
}

.lux-staffing-register__chip.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-staffing-register__chip.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1); color: var(--lux-primary-dark, #3730a3); }
.lux-staffing-register__chip.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

/* F13-T4 — Staffing request luxury drawer */
.lux-staffing-drawer__backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--lux-z-overlay);
  border: none;
  background: rgba(15, 23, 42, 0.42);
  backdrop-filter: blur(4px);
  cursor: pointer;
}

.lux-staffing-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: var(--lux-z-overlay-panel);
  width: min(32rem, 100vw);
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 100% 0%, rgba(37, 99, 235, 0.12), transparent 42%),
    radial-gradient(circle at 0% 100%, rgba(99, 102, 241, 0.08), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
  box-shadow: -24px 0 64px rgba(15, 23, 42, 0.18);
  overflow: hidden;
}

.lux-staffing-drawer.is-amber { --staffing-accent: #d97706; }
.lux-staffing-drawer.is-blue { --staffing-accent: #2563eb; }
.lux-staffing-drawer.is-green { --staffing-accent: #059669; }
.lux-staffing-drawer.is-rose { --staffing-accent: #e11d48; }

.lux-staffing-drawer__glow {
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--staffing-accent, var(--lux-primary, #5b5ff4)), rgba(99, 102, 241, 0.15));
  pointer-events: none;
}

.lux-staffing-drawer__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.1rem 0.9rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(248, 250, 252, 0.92);
}

.lux-staffing-drawer__head-main {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.lux-staffing-drawer__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.85rem;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.14), rgba(99, 102, 241, 0.18));
  color: var(--lux-primary-dark, #3730a3);
  font-size: 1rem;
}

.lux-staffing-drawer__head-copy {
  min-width: 0;
}

.lux-staffing-drawer__eyebrow {
  display: block;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-staffing-drawer__head h2 {
  margin: 0.15rem 0 0;
  font-size: 1.2rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.2;
}

.lux-staffing-drawer__head p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
}

.lux-staffing-drawer__status-pill {
  display: inline-flex;
  padding: 0.12rem 0.5rem;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.lux-staffing-drawer__status-pill.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-staffing-drawer__status-pill.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-staffing-drawer__status-pill.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-staffing-drawer__status-pill.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-staffing-drawer__close {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: none;
  border-radius: 0.65rem;
  background: rgba(148, 163, 184, 0.12);
  color: #475569;
  cursor: pointer;
}

.lux-staffing-drawer__close:hover {
  background: rgba(148, 163, 184, 0.2);
}

.lux-staffing-drawer__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 0.9rem 1.1rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.lux-staffing-drawer__intro {
  display: flex;
  gap: 0.65rem;
  padding: 0.8rem 0.9rem;
  border-radius: 0.9rem;
  border: 1px solid rgba(37, 99, 235, 0.14);
  background: linear-gradient(135deg, rgba(239, 246, 255, 0.92), rgba(255, 255, 255, 0.96));
}

.lux-staffing-drawer__intro i {
  color: #2563eb;
  font-size: 1rem;
  margin-top: 0.1rem;
}

.lux-staffing-drawer__intro p {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #475569;
}

.lux-staffing-drawer__preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-staffing-drawer__preview-stat {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.65rem 0.75rem;
  border-radius: 0.8rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.88);
}

.lux-staffing-drawer__preview-stat.is-wide {
  grid-column: 1 / -1;
}

.lux-staffing-drawer__preview-stat span {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-staffing-drawer__preview-stat strong {
  font-size: 0.875rem;
  color: #0f172a;
}

.lux-staffing-drawer__preview-stat strong.is-rose { color: #be123c; }
.lux-staffing-drawer__preview-stat strong.is-primary { color: var(--lux-primary-dark, #3730a3); }
.lux-staffing-drawer__preview-stat strong.is-slate { color: #475569; }

.lux-staffing-drawer__section {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.lux-staffing-drawer__section-label {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-staffing-drawer__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-staffing-drawer__field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.lux-staffing-drawer__field.is-wide {
  grid-column: 1 / -1;
}

.lux-staffing-drawer__field > span {
  font-size: 0.6875rem;
  font-weight: 700;
  color: #475569;
}

.lux-staffing-drawer__input,
.lux-staffing-drawer__textarea {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 0.7rem;
  padding: 0.6rem 0.75rem;
  font-size: 0.8125rem;
  background: #fff;
  color: #0f172a;
}

.lux-staffing-drawer__textarea {
  resize: vertical;
  min-height: 4.5rem;
}

.lux-staffing-drawer__field.is-highlight .lux-staffing-drawer__input,
.lux-staffing-drawer__field.is-highlight .lux-staffing-drawer__textarea {
  border-color: rgba(37, 99, 235, 0.22);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-staffing-drawer__input:focus,
.lux-staffing-drawer__textarea:focus {
  outline: none;
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
  box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-staffing-drawer__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.lux-staffing-drawer__chip {
  border: 1px solid rgba(226, 232, 240, 0.98);
  border-radius: 999px;
  padding: 0.3rem 0.65rem;
  background: rgba(248, 250, 252, 0.9);
  font-size: 0.6875rem;
  font-weight: 700;
  color: #475569;
  cursor: pointer;
}

.lux-staffing-drawer__chip.is-active {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
  color: var(--lux-primary-dark, #3730a3);
}

.lux-staffing-drawer__stepper {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.35rem 0.5rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  background: #fff;
}

.lux-staffing-drawer__stepper strong {
  min-width: 1.5rem;
  text-align: center;
  font-size: 0.9375rem;
  color: #0f172a;
}

.lux-staffing-drawer__stepper-btn {
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 0.55rem;
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
  cursor: pointer;
}

.lux-staffing-drawer__stepper-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.lux-staffing-drawer__priority-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

.lux-staffing-drawer__priority-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  padding: 0.6rem 0.65rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(226, 232, 240, 0.98);
  background: rgba(255, 255, 255, 0.9);
  text-align: left;
  cursor: pointer;
}

.lux-staffing-drawer__priority-card i {
  font-size: 0.875rem;
}

.lux-staffing-drawer__priority-card strong {
  font-size: 0.75rem;
  color: #0f172a;
}

.lux-staffing-drawer__priority-card small {
  font-size: 0.625rem;
  color: #94a3b8;
  line-height: 1.3;
}

.lux-staffing-drawer__priority-card.is-rose i { color: #e11d48; }
.lux-staffing-drawer__priority-card.is-primary i { color: var(--lux-primary-dark, #3730a3); }
.lux-staffing-drawer__priority-card.is-slate i { color: #64748b; }

.lux-staffing-drawer__priority-card.is-active {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.lux-staffing-drawer__priority-card.is-active.is-rose {
  border-color: rgba(244, 63, 94, 0.28);
  background: rgba(255, 241, 242, 0.7);
}

.lux-staffing-drawer__tip-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.75rem 0.85rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(124, 58, 237, 0.16);
  background: linear-gradient(135deg, rgba(245, 243, 255, 0.85), rgba(255, 255, 255, 0.95));
}

.lux-staffing-drawer__tip-card i {
  color: #6d28d9;
  font-size: 1rem;
}

.lux-staffing-drawer__tip-card strong {
  display: block;
  font-size: 0.75rem;
  color: #0f172a;
}

.lux-staffing-drawer__tip-card p {
  margin: 0.15rem 0 0;
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-staffing-drawer__tip-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #6d28d9;
  text-decoration: none;
  white-space: nowrap;
}

.lux-staffing-drawer__workflow {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.lux-staffing-drawer__steps {
  display: flex;
  gap: 0.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.lux-staffing-drawer__step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  padding: 0.45rem 0.25rem;
  border-radius: 0.65rem;
  background: rgba(248, 250, 252, 0.9);
  border: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-staffing-drawer__step.is-active {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-staffing-drawer__step.is-complete {
  border-color: rgba(16, 185, 129, 0.22);
  background: rgba(236, 253, 245, 0.8);
}

.lux-staffing-drawer__step.is-rejected {
  border-color: rgba(244, 63, 94, 0.22);
  background: rgba(255, 241, 242, 0.8);
}

.lux-staffing-drawer__step-marker {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  font-size: 0.625rem;
  font-weight: 800;
  background: rgba(148, 163, 184, 0.18);
  color: #475569;
}

.lux-staffing-drawer__step.is-active .lux-staffing-drawer__step-marker,
.lux-staffing-drawer__step.is-complete .lux-staffing-drawer__step-marker {
  background: var(--lux-primary, #5b5ff4);
  color: #fff;
}

.lux-staffing-drawer__step.is-complete .lux-staffing-drawer__step-marker {
  background: #059669;
}

.lux-staffing-drawer__step-label {
  font-size: 0.625rem;
  font-weight: 700;
  color: #64748b;
  text-align: center;
}

.lux-staffing-drawer__workflow-note {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.6875rem;
  color: #be123c;
}

.lux-staffing-drawer__workflow-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.lux-staffing-drawer__error {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0.55rem 0.65rem;
  border-radius: 0.65rem;
  background: rgba(244, 63, 94, 0.08);
  color: #be123c;
  font-size: 0.75rem;
}

.lux-staffing-drawer__foot {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding-top: 0.35rem;
  margin-top: auto;
  border-top: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-staffing-drawer__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.125rem;
  padding: 0 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(255, 255, 255, 0.95);
  font-size: 0.75rem;
  font-weight: 800;
  color: #475569;
  cursor: pointer;
}

.lux-staffing-drawer__btn.is-primary {
  border-color: transparent;
  background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
  color: #fff;
  box-shadow: 0 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-staffing-drawer__btn.is-success {
  border-color: rgba(16, 185, 129, 0.22);
  background: rgba(236, 253, 245, 0.95);
  color: #047857;
}

.lux-staffing-drawer__btn.is-danger {
  border-color: rgba(244, 63, 94, 0.22);
  background: rgba(255, 241, 242, 0.95);
  color: #be123c;
}

.lux-staffing-drawer__btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

@media (max-width: 640px) {
  .lux-staffing-drawer__grid,
  .lux-staffing-drawer__priority-grid,
  .lux-staffing-drawer__preview {
    grid-template-columns: 1fr;
  }

  .lux-staffing-drawer__tip-card {
    grid-template-columns: auto 1fr;
  }

  .lux-staffing-drawer__tip-link {
    grid-column: 1 / -1;
  }
}

@media (max-width: 991px) {
  .lux-staffing-register-wrap {
    overflow-x: auto;
  }
}

/* F13-T5 — Bench & roll-off page */
.lux-bench-page {
  --bench-accent: var(--lux-primary, #5b5ff4);
  position: relative;
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-bench-lux__ambient {
  position: absolute;
  inset: 0 0 auto 0;
  height: 22rem;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.lux-bench-lux__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
}

.lux-bench-lux__orb--a {
  width: 18rem;
  height: 18rem;
  top: -6rem;
  right: -3rem;
  background: radial-gradient(circle, rgba(20, 184, 166, 0.22), transparent 68%);
}

.lux-bench-lux__orb--b {
  width: 14rem;
  height: 14rem;
  top: 2rem;
  left: -3rem;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.14), transparent 70%);
}

.lux-bench-page > .lux-module-hero,
.lux-bench-page > .lux-bench-page__body {
  position: relative;
  z-index: 1;
}

.lux-bench-page__body {
  display: grid;
  gap: 1rem;
}

.lux-bench-hero.lux-module-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 0.35rem;
}

.lux-bench-hero.lux-module-hero::after {
  content: "";
  position: absolute;
  width: 16rem;
  height: 16rem;
  right: -3rem;
  top: -5rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(45, 212, 191, 0.28), transparent 68%);
  pointer-events: none;
}

.lux-bench-hero .lux-module-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-bench-panel {
  border: 1px solid rgba(148, 163, 184, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.lux-bench-panel--register,
.lux-bench-panel--timeline {
  margin-top: 0;
}

.lux-bench-panel--timeline {
  border-color: rgba(20, 184, 166, 0.22);
  background:
    linear-gradient(165deg, rgba(20, 184, 166, 0.07), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
}

.lux-bench-panel--register {
  border-color: rgba(56, 189, 248, 0.18);
  background:
    linear-gradient(165deg, rgba(56, 189, 248, 0.06), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
}

.lux-bench-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0.15rem 1rem 0.9rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.75), transparent);
}

.lux-bench-timeline {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: 0.65rem;
  padding: 0.85rem 1rem 1rem;
}

.lux-bench-timeline__item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.85rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.95));
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-bench-timeline__item:hover {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  transform: translateY(-1px);
}

.lux-bench-timeline__avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  font-size: 0.7rem;
  font-weight: 700;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
  color: var(--lux-primary-dark, #3730a3);
}

.lux-bench-timeline__copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.lux-bench-timeline__copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-bench-timeline__copy span {
  font-size: 0.6875rem;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lux-bench-timeline__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.2rem;
}

.lux-bench-timeline__chip {
  font-size: 0.625rem;
  font-weight: 600;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
}

.lux-bench-timeline__chip.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-bench-timeline__chip.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1); color: var(--lux-primary-dark, #3730a3); }
.lux-bench-timeline__chip.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }

.lux-bench-timeline__meta time {
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-bench-register-wrap {
  overflow-x: auto;
}

.lux-bench-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-bench-register thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 0.65rem 0.75rem;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
  background: rgba(248, 250, 252, 0.98);
  border-bottom: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-bench-register tbody td {
  padding: 0.75rem;
  border-bottom: 1px solid rgba(241, 245, 249, 0.95);
  vertical-align: middle;
}

.lux-bench-register__row.is-soon {
  background: rgba(245, 158, 11, 0.04);
}

.lux-bench-register__row.is-long {
  background: rgba(244, 63, 94, 0.03);
}

.lux-bench-register__row:hover {
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.03);
}

.lux-bench-register__person {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  border: none;
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
}

.lux-bench-register__avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 0.6875rem;
  font-weight: 700;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(99, 102, 241, 0.16));
  color: var(--lux-primary-dark, #3730a3);
}

.lux-bench-register__person-copy strong {
  display: block;
  color: #0f172a;
}

.lux-bench-register__meta,
.lux-bench-register__date,
.lux-bench-register__skills {
  display: block;
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-bench-register__project {
  font-weight: 500;
  color: #334155;
}

.lux-bench-register__avail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
}

.lux-bench-register__avail.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1); color: var(--lux-primary-dark, #3730a3); }
.lux-bench-register__avail.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-bench-register__avail.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-bench-register__avail.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }

.lux-bench-register__days.is-alert {
  color: #be123c;
  font-weight: 700;
}

/* F13-T5 — Bench luxury drawer */
.lux-bench-drawer__backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--lux-z-overlay);
  border: none;
  background: rgba(15, 23, 42, 0.42);
  backdrop-filter: blur(4px);
  cursor: pointer;
}

.lux-bench-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: var(--lux-z-overlay-panel);
  width: min(32rem, 100vw);
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0%, rgba(37, 99, 235, 0.12), transparent 42%),
    radial-gradient(circle at 0% 100%, rgba(99, 102, 241, 0.08), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
  box-shadow: -24px 0 64px rgba(15, 23, 42, 0.18);
  overflow: hidden;
}

.lux-bench-drawer.is-amber { --bench-accent: #d97706; }
.lux-bench-drawer.is-blue,
.lux-bench-drawer.is-primary { --bench-accent: #2563eb; }
.lux-bench-drawer.is-green { --bench-accent: #059669; }
.lux-bench-drawer.is-sky { --bench-accent: #0284c7; }

.lux-bench-drawer__glow {
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--bench-accent, var(--lux-primary, #5b5ff4)), rgba(99, 102, 241, 0.15));
  pointer-events: none;
}

.lux-bench-drawer__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.1rem 0.9rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(248, 250, 252, 0.92);
}

.lux-bench-drawer__head-main {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.lux-bench-drawer__avatar {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.14), rgba(99, 102, 241, 0.18));
  color: var(--lux-primary-dark, #3730a3);
}

.lux-bench-drawer__eyebrow {
  display: block;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-bench-drawer__head-copy h2 {
  margin: 0.15rem 0 0;
  font-size: 1.125rem;
  color: #0f172a;
}

.lux-bench-drawer__subtitle {
  margin: 0.15rem 0 0.35rem;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-bench-drawer__status-pill {
  display: inline-flex;
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
}

.lux-bench-drawer__status-pill.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1); color: var(--lux-primary-dark, #3730a3); }
.lux-bench-drawer__status-pill.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-bench-drawer__status-pill.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-bench-drawer__status-pill.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }

.lux-bench-drawer__close {
  width: 2rem;
  height: 2rem;
  border: none;
  border-radius: 0.65rem;
  background: rgba(255, 255, 255, 0.9);
  color: #64748b;
  cursor: pointer;
}

.lux-bench-drawer__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 0.85rem 1.1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.lux-bench-drawer__alert {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 0.75rem;
  border-radius: 0.75rem;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.25);
  color: #92400e;
  font-size: 0.75rem;
}

.lux-bench-drawer__preview {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.55rem;
}

.lux-bench-drawer__preview-stat {
  padding: 0.65rem 0.75rem;
  border-radius: 0.75rem;
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-bench-drawer__preview-stat.is-wide {
  grid-column: 1 / -1;
}

.lux-bench-drawer__preview-stat span {
  display: block;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-bench-drawer__preview-stat strong {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.9375rem;
  color: #0f172a;
}

.lux-bench-drawer__section-label {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-bench-drawer__status-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.45rem;
}

.lux-bench-drawer__status-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.95);
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-bench-drawer__status-card.is-active {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
  box-shadow: 0 0 0 3px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-bench-drawer__status-card i {
  color: var(--bench-accent, var(--lux-primary, #5b5ff4));
}

.lux-bench-drawer__status-card strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-bench-drawer__status-card span {
  font-size: 0.6875rem;
  color: #64748b;
  line-height: 1.35;
}

.lux-bench-drawer__stepper-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.65rem;
  border-radius: 0.75rem;
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-bench-drawer__stepper-btn {
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.65rem;
  background: #fff;
  color: #334155;
  cursor: pointer;
}

.lux-bench-drawer__stepper-value {
  text-align: center;
  min-width: 5rem;
}

.lux-bench-drawer__stepper-value strong {
  display: block;
  font-size: 1.25rem;
  color: #0f172a;
}

.lux-bench-drawer__stepper-value span {
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-bench-drawer__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.55rem;
}

.lux-bench-drawer__field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.lux-bench-drawer__field.is-wide {
  grid-column: 1 / -1;
}

.lux-bench-drawer__field span {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #475569;
}

.lux-bench-drawer__input,
.lux-bench-drawer__textarea {
  width: 100%;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(203, 213, 225, 0.95);
  border-radius: 0.65rem;
  background: #fff;
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-bench-drawer__input.is-readonly {
  background: rgba(248, 250, 252, 0.95);
  color: #64748b;
}

.lux-bench-drawer__tip {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.75rem;
  border-radius: 0.85rem;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.06), rgba(99, 102, 241, 0.08));
  border: 1px solid rgba(99, 102, 241, 0.15);
}

.lux-bench-drawer__tip-copy strong {
  display: block;
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-bench-drawer__tip-copy p {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-bench-drawer__tip-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.lux-bench-drawer__tip-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--lux-primary-dark, #3730a3);
  text-decoration: none;
}

.lux-bench-drawer__error {
  margin: 0;
  font-size: 0.75rem;
  color: #be123c;
}

.lux-bench-drawer__foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
  padding-top: 0.35rem;
  margin-top: auto;
  border-top: 1px solid rgba(226, 232, 240, 0.85);
}

@media (max-width: 640px) {
  .lux-bench-drawer__grid,
  .lux-bench-drawer__status-grid,
  .lux-bench-drawer__preview {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  .lux-bench-register-wrap {
    overflow-x: auto;
  }
}

/* F13-T6 — Capacity simulation / what-if */
.lux-simulation-page {
  position: relative;
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-simulation-lux__ambient {
  position: absolute;
  inset: 0 0 auto 0;
  height: 22rem;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.lux-simulation-lux__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
}

.lux-simulation-lux__orb--a {
  width: 18rem;
  height: 18rem;
  top: -6rem;
  right: -3rem;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.22), transparent 68%);
}

.lux-simulation-lux__orb--b {
  width: 14rem;
  height: 14rem;
  top: 2rem;
  left: -3rem;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.14), transparent 70%);
}

.lux-simulation-page > .lux-module-hero,
.lux-simulation-page > .lux-simulation-page__body {
  position: relative;
  z-index: 1;
}

.lux-simulation-page__body {
  display: grid;
  gap: 1rem;
}

.lux-simulation-hero.lux-module-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 0.35rem;
}

.lux-simulation-hero.lux-module-hero::after {
  content: "";
  position: absolute;
  width: 16rem;
  height: 16rem;
  right: -3rem;
  top: -5rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(125, 211, 252, 0.3), transparent 68%);
  pointer-events: none;
}

.lux-simulation-hero .lux-module-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-simulation-panel-wrap,
.lux-simulation-results-wrap {
  border: 1px solid rgba(148, 163, 184, 0.18);
  background:
    linear-gradient(165deg, rgba(56, 189, 248, 0.06), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.lux-simulation-results-wrap {
  background:
    linear-gradient(165deg, rgba(99, 102, 241, 0.06), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
}


.lux-simulation-hero {
  margin-bottom: 0.35rem;
}

.lux-simulation-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 1rem;
  margin-top: 1rem;
}

.lux-simulation-panel-wrap,
.lux-simulation-results-wrap {
  min-height: 28rem;
}

.lux-simulation-panel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0.85rem 1rem 1rem;
}

.lux-simulation-panel__section-label {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-simulation-panel__template-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: 0.55rem;
}

.lux-simulation-panel__template-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  padding: 0.75rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.85rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.95));
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-simulation-panel__template-card:hover {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  transform: translateY(-1px);
}

.lux-simulation-panel__template-card strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-simulation-panel__template-card span {
  font-size: 0.6875rem;
  color: #64748b;
  line-height: 1.4;
}

.lux-simulation-panel__add {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 0.75rem;
  border-radius: 0.85rem;
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-simulation-panel__mode-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.lux-simulation-panel__mode-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.65rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 999px;
  background: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  color: #475569;
  cursor: pointer;
}

.lux-simulation-panel__mode-tab.is-active {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
  color: var(--lux-primary-dark, #3730a3);
}

.lux-simulation-panel__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.55rem;
}

.lux-simulation-panel__field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.lux-simulation-panel__field.is-wide {
  grid-column: 1 / -1;
}

.lux-simulation-panel__field span {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #475569;
}

.lux-simulation-panel__select,
.lux-simulation-panel__input {
  width: 100%;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(203, 213, 225, 0.95);
  border-radius: 0.65rem;
  background: #fff;
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-simulation-panel__presets {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.lux-simulation-panel__preset {
  padding: 0.35rem 0.65rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 999px;
  background: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  color: #475569;
  cursor: pointer;
}

.lux-simulation-panel__preset.is-active {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4);
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
  color: var(--lux-primary-dark, #3730a3);
}

.lux-simulation-panel__queue-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.lux-simulation-panel__scenario-name {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--lux-primary-dark, #3730a3);
}

.lux-simulation-adjustments {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.lux-simulation-adjustments__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  padding: 1.25rem;
  text-align: center;
  color: #64748b;
  font-size: 0.8125rem;
}

.lux-simulation-adjustments__empty i {
  font-size: 1.25rem;
  color: #94a3b8;
}

.lux-simulation-adjustments__item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.55rem;
  padding: 0.6rem 0.7rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-simulation-adjustments__marker {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  font-size: 0.6875rem;
  font-weight: 700;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
  color: var(--lux-primary-dark, #3730a3);
}

.lux-simulation-adjustments__copy {
  font-size: 0.8125rem;
  color: #334155;
}

.lux-simulation-adjustments__remove {
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 0.5rem;
  background: rgba(248, 250, 252, 0.95);
  color: #64748b;
  cursor: pointer;
}

.lux-simulation-panel__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.45rem;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(226, 232, 240, 0.85);
}

.lux-simulation-results__body {
  padding: 0.85rem 1rem 1rem;
}

.lux-simulation-compare {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  gap: 0.65rem;
}

.lux-simulation-compare__card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.85rem;
  border-radius: 0.85rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.95));
  border: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-simulation-compare__label {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-simulation-compare__values {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.lux-simulation-compare__baseline {
  font-size: 0.8125rem;
  color: #94a3b8;
  text-decoration: line-through;
}

.lux-simulation-compare__arrow {
  font-size: 0.75rem;
  color: #cbd5e1;
}

.lux-simulation-compare__projected {
  font-size: 1.125rem;
  color: #0f172a;
}

.lux-simulation-compare__delta {
  font-size: 0.6875rem;
  font-weight: 600;
}

.lux-simulation-compare__delta.is-positive { color: #b45309; }
.lux-simulation-compare__delta.is-negative { color: #047857; }
.lux-simulation-compare__delta.is-neutral { color: #64748b; }

.lux-simulation-compare__card.is-green { border-left: 3px solid #10b981; }
.lux-simulation-compare__card.is-amber { border-left: 3px solid #f59e0b; }
.lux-simulation-compare__card.is-rose { border-left: 3px solid #f43f5e; }
.lux-simulation-compare__card.is-primary { border-left: 3px solid var(--lux-primary, #5b5ff4); }
.lux-simulation-compare__card.is-sky { border-left: 3px solid #0ea5e9; }

@media (max-width: 991px) {
  .lux-simulation-layout {
    grid-template-columns: 1fr;
  }

  .lux-simulation-panel__grid {
    grid-template-columns: 1fr;
  }
}

/* F13-T7 — Resource analytics / utilization */
.lux-resource-analytics-page {
  --resource-analytics-accent: var(--lux-primary, #5b5ff4);
}

.lux-resource-analytics-hero {
  margin-bottom: 0.35rem;
}

.lux-resource-analytics-panel {
  margin-top: 1rem;
}

.lux-resource-analytics__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: 0.85rem;
  padding: 0.85rem 1rem 1rem;
}

.lux-resource-analytics__grid .lux-policy-analytics__chart {
  height: 100%;
}

.lux-resource-analytics__heatmap-wrap {
  padding: 0.85rem 1rem 1rem;
}

.lux-resource-analytics__heatmap {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.lux-resource-analytics__heatmap-row {
  display: grid;
  grid-template-columns: minmax(9rem, 12rem) 1fr;
  gap: 0.75rem;
  align-items: center;
  padding: 0.65rem 0.75rem;
  border-radius: 0.85rem;
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-resource-analytics__heatmap-person {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.lux-resource-analytics__heatmap-avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 0.6875rem;
  font-weight: 700;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(99, 102, 241, 0.16));
  color: var(--lux-primary-dark, #3730a3);
}

.lux-resource-analytics__heatmap-name {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.lux-resource-analytics__heatmap-name strong {
  font-size: 0.8125rem;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lux-resource-analytics__heatmap-name small {
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-resource-analytics__heatmap-cells {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.lux-resource-analytics__heatmap-cell {
  display: inline-flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 5.5rem;
  padding: 0.45rem 0.55rem;
  border-radius: 0.65rem;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: #fff;
}

.lux-resource-analytics__heatmap-cell.is-green {
  background: rgba(16, 185, 129, 0.08);
  border-color: rgba(16, 185, 129, 0.25);
}

.lux-resource-analytics__heatmap-cell.is-amber {
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.25);
}

.lux-resource-analytics__heatmap-cell.is-rose {
  background: rgba(244, 63, 94, 0.08);
  border-color: rgba(244, 63, 94, 0.25);
}

.lux-resource-analytics__heatmap-cell-pct {
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-resource-analytics__heatmap-cell-project {
  font-size: 0.625rem;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 8rem;
}

.lux-resource-analytics__empty {
  margin: 0;
  padding: 1rem;
  text-align: center;
  color: #64748b;
  font-size: 0.8125rem;
}

@media (max-width: 768px) {
  .lux-resource-analytics__heatmap-row {
    grid-template-columns: 1fr;
  }
}

/* F13-T8 — Staffing AI recommendations */
.lux-staffing-ai {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.85rem;
  border-radius: 0.9rem;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.07), rgba(37, 99, 235, 0.05));
  border: 1px solid rgba(99, 102, 241, 0.18);
}

.lux-staffing-ai__head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.65rem;
  align-items: start;
}

.lux-staffing-ai__icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.75rem;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.18), rgba(37, 99, 235, 0.14));
  color: var(--lux-primary-dark, #3730a3);
}

.lux-staffing-ai__head h3 {
  margin: 0;
  font-size: 0.875rem;
  color: #0f172a;
}

.lux-staffing-ai__head p {
  margin: 0.15rem 0 0;
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-staffing-ai__badge {
  font-size: 0.625rem;
  font-weight: 600;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: #475569;
}

.lux-staffing-ai__headline {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-staffing-ai__summary,
.lux-staffing-ai__rec,
.lux-staffing-ai__action {
  margin: 0;
  font-size: 0.75rem;
  color: #475569;
  line-height: 1.45;
}

.lux-staffing-ai__rec {
  font-weight: 600;
  color: #1e293b;
}

.lux-staffing-ai__action {
  padding: 0.45rem 0.55rem;
  border-radius: 0.65rem;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-staffing-ai__meta {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--lux-primary-dark, #3730a3);
}

.lux-staffing-ai__candidates {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.lux-staffing-ai__candidate {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.55rem;
  align-items: center;
  padding: 0.55rem 0.65rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-staffing-ai__candidate.is-green { border-left: 3px solid #10b981; }
.lux-staffing-ai__candidate.is-primary { border-left: 3px solid var(--lux-primary, #5b5ff4); }
.lux-staffing-ai__candidate.is-amber { border-left: 3px solid #f59e0b; }

.lux-staffing-ai__candidate-avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  font-size: 0.6875rem;
  font-weight: 700;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
  color: var(--lux-primary-dark, #3730a3);
}

.lux-staffing-ai__candidate-copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.lux-staffing-ai__candidate-copy strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-staffing-ai__candidate-copy span,
.lux-staffing-ai__candidate-copy small {
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-staffing-ai__candidate-skills {
  font-size: 0.625rem;
  color: var(--lux-primary-dark, #3730a3);
}

.lux-staffing-ai__candidate-score {
  text-align: right;
}

.lux-staffing-ai__candidate-score strong {
  display: block;
  font-size: 0.9375rem;
  color: #0f172a;
}

.lux-staffing-ai__candidate-score span {
  font-size: 0.625rem;
  color: #64748b;
}

.lux-staffing-ai__evidence {
  margin: 0;
  padding-left: 1rem;
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-staffing-ai__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.lux-staffing-ai__link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--lux-primary-dark, #3730a3);
  text-decoration: none;
}

.lux-staffing-ai__disclaimer {
  margin: 0;
  font-size: 0.625rem;
  color: #94a3b8;
  line-height: 1.4;
}

.lux-staffing-panel--ai {
  margin-top: 0;
}

.lux-staffing-insights,
.lux-bench-insights,
.lux-skills-insights,
.lux-simulation-insights,
.lux-resource-analytics-insights {
  margin-bottom: 0;
}

/* Resources section heads — shared luxury chrome */
.lux-resources-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem 1.1rem;
  flex-wrap: wrap;
  padding: 1rem 1.05rem 0.85rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(248, 250, 252, 0.35));
}

.lux-resources-section-head__main {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  min-width: 0;
  flex: 1 1 16rem;
}

.lux-resources-section-head__icon {
  width: 2.55rem;
  height: 2.55rem;
  border-radius: 0.9rem;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 1rem;
  color: #fff;
  background: linear-gradient(145deg, #8b5cf6, #6d28d9);
  box-shadow:
    0 10px 22px rgba(109, 40, 217, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.2) inset;
}

.lux-resources-section-head.is-violet .lux-resources-section-head__icon {
  background: linear-gradient(145deg, #8b5cf6, #6d28d9);
  box-shadow: 0 10px 22px rgba(109, 40, 217, 0.22), 0 0 0 1px rgba(255, 255, 255, 0.2) inset;
}

.lux-resources-section-head.is-sky .lux-resources-section-head__icon {
  background: linear-gradient(145deg, #38bdf8, #0284c7);
  box-shadow: 0 10px 22px rgba(2, 132, 199, 0.22), 0 0 0 1px rgba(255, 255, 255, 0.2) inset;
}

.lux-resources-section-head.is-teal .lux-resources-section-head__icon {
  background: linear-gradient(145deg, #2dd4bf, #0f766e);
  box-shadow: 0 10px 22px rgba(15, 118, 110, 0.22), 0 0 0 1px rgba(255, 255, 255, 0.2) inset;
}

.lux-resources-section-head.is-amber .lux-resources-section-head__icon {
  background: linear-gradient(145deg, #fbbf24, #d97706);
  box-shadow: 0 10px 22px rgba(217, 119, 6, 0.22), 0 0 0 1px rgba(255, 255, 255, 0.2) inset;
}

.lux-resources-section-head.is-indigo .lux-resources-section-head__icon {
  background: linear-gradient(145deg, #818cf8, #4338ca);
  box-shadow: 0 10px 22px rgba(67, 56, 202, 0.22), 0 0 0 1px rgba(255, 255, 255, 0.2) inset;
}

.lux-resources-section-head.is-green .lux-resources-section-head__icon {
  background: linear-gradient(145deg, #34d399, #047857);
  box-shadow: 0 10px 22px rgba(4, 120, 87, 0.22), 0 0 0 1px rgba(255, 255, 255, 0.2) inset;
}

.lux-resources-section-head__copy {
  min-width: 0;
}

.lux-resources-section-head__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.55rem;
  margin-bottom: 0.28rem;
}

.lux-resources-section-head__eyebrow {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-resources-section-head__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.14rem 0.5rem;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #4338ca;
  background: rgba(99, 102, 241, 0.1);
  border: 1px solid rgba(99, 102, 241, 0.18);
}

.lux-resources-section-head.is-sky .lux-resources-section-head__badge {
  color: #0369a1;
  background: rgba(14, 165, 233, 0.1);
  border-color: rgba(14, 165, 233, 0.2);
}

.lux-resources-section-head.is-teal .lux-resources-section-head__badge {
  color: #0f766e;
  background: rgba(20, 184, 166, 0.1);
  border-color: rgba(20, 184, 166, 0.2);
}

.lux-resources-section-head.is-amber .lux-resources-section-head__badge {
  color: #b45309;
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.22);
}

.lux-resources-section-head.is-indigo .lux-resources-section-head__badge {
  color: #3730a3;
  background: rgba(99, 102, 241, 0.1);
  border-color: rgba(99, 102, 241, 0.2);
}

.lux-resources-section-head__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #0f172a;
  line-height: 1.25;
}

.lux-resources-section-head__sub {
  margin: 0.28rem 0 0;
  max-width: 42rem;
  font-size: 0.78rem;
  line-height: 1.45;
  color: #64748b;
}

.lux-resources-section-head__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  flex-shrink: 0;
}

.lux-staffing-panel--ai .lux-resources-section-head,
.lux-staffing-panel--register .lux-resources-section-head,
.lux-bench-panel--timeline .lux-resources-section-head,
.lux-bench-panel--register .lux-resources-section-head,
.lux-skills-panel .lux-resources-section-head,
.lux-simulation-panel-wrap .lux-resources-section-head,
.lux-simulation-results-wrap .lux-resources-section-head,
.lux-resource-analytics-panel .lux-resources-section-head {
  border-radius: 1rem 1rem 0 0;
}

.lux-staffing-ai-queue {
  padding: 0 0 1rem;
}

.lux-staffing-ai-queue > .lux-resources-section-head {
  margin-bottom: 0.65rem;
  border-radius: 0;
}

.lux-staffing-ai-queue__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0 1rem;
}

.lux-staffing-ai-queue__item {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.85rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.95));
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-staffing-ai-queue__item:hover {
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.lux-staffing-ai-queue__request {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.lux-staffing-ai-queue__request strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-staffing-ai-queue__request span {
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-staffing-ai-queue__priority {
  display: inline-flex;
  width: fit-content;
  font-size: 0.625rem;
  font-weight: 600;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
}

.lux-staffing-ai-queue__priority.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-staffing-ai-queue__priority.is-primary { background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1); color: var(--lux-primary-dark, #3730a3); }

.lux-staffing-ai-queue__match {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.lux-staffing-ai-queue__avatar {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  font-size: 0.625rem;
  font-weight: 700;
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
  color: var(--lux-primary-dark, #3730a3);
}

.lux-staffing-ai-queue__match-copy {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
}

.lux-staffing-ai-queue__match-copy strong {
  font-size: 0.75rem;
  color: #0f172a;
}

.lux-staffing-ai-queue__match-copy small {
  font-size: 0.625rem;
  color: #64748b;
}

.lux-staffing-ai-queue__empty-match {
  font-size: 0.6875rem;
  color: #94a3b8;
}

.lux-staffing-ai-queue__chevron {
  color: #cbd5e1;
}

@media (max-width: 768px) {
  .lux-staffing-ai-queue__item {
    grid-template-columns: 1fr;
  }
}

/* F15 — Project governance (milestones, timeline, risks) */
.lux-gov-lux {
  position: relative;
  padding-bottom: 1rem;
  isolation: isolate;
}

.lux-gov-lux__ambient {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.lux-gov-lux__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.55;
}

.lux-gov-lux__orb--a {
  width: 420px;
  height: 420px;
  top: -120px;
  left: -80px;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.28), transparent 68%);
}

.lux-gov-lux__orb--b {
  width: 360px;
  height: 360px;
  top: 40px;
  right: -60px;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.18), transparent 70%);
}

.lux-gov-lux.is-blue .lux-gov-lux__orb--a { background: radial-gradient(circle, rgba(59, 130, 246, 0.32), transparent 68%); }
.lux-gov-lux.is-indigo .lux-gov-lux__orb--a { background: radial-gradient(circle, rgba(79, 70, 229, 0.3), transparent 68%); }
.lux-gov-lux.is-amber .lux-gov-lux__orb--a { background: radial-gradient(circle, rgba(245, 158, 11, 0.28), transparent 68%); }
.lux-gov-lux.is-rose .lux-gov-lux__orb--a { background: radial-gradient(circle, rgba(244, 63, 94, 0.26), transparent 68%); }
.lux-gov-lux.is-violet .lux-gov-lux__orb--a { background: radial-gradient(circle, rgba(139, 92, 246, 0.3), transparent 68%); }

.lux-gov-lux-hero,
.lux-gov-lux__kpi-strip,
.lux-gov-lux__insights,
.lux-gov-lux__quick-nav,
.lux-gov-lux__content {
  position: relative;
  z-index: 1;
}

.lux-gov-lux-hero {
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.lux-gov-lux-hero__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
}

.lux-gov-lux-hero.is-blue .lux-hrms-dash__hero-title span { color: #1d4ed8; }
.lux-gov-lux-hero.is-indigo .lux-hrms-dash__hero-title span { color: #4338ca; }
.lux-gov-lux-hero.is-amber .lux-hrms-dash__hero-title span { color: #d97706; }
.lux-gov-lux-hero.is-rose .lux-hrms-dash__hero-title span { color: #e11d48; }
.lux-gov-lux-hero.is-violet .lux-hrms-dash__hero-title span { color: #6d28d9; }

/* Project module zone chrome (register pages — compact variant) */
.lux-project-zone {
  display: grid;
  gap: 0.65rem;
}

.lux-project-zone--compact {
  padding: 0.25rem var(--lux-page-gutter-x, 0.75rem) 0;
  gap: 0.35rem;
}

.lux-project-zone__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.lux-project-zone__copy {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.lux-project-zone__title {
  margin: 0;
  font-size: 1.05rem;
}

.lux-project-zone__lede {
  margin: 0;
  max-width: 52rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: #64748b;
  line-height: 1.45;
}

.lux-project-zone__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}

.lux-project-zone__nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2.25rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  color: #334155;
  font-size: 0.74rem;
  font-weight: 700;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.lux-project-zone__nav-link:hover {
  border-color: rgba(99, 102, 241, 0.35);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.lux-project-zone__nav-link.is-active {
  border-color: rgba(99, 102, 241, 0.45);
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.12), rgba(255, 255, 255, 0.95));
  color: #312e81;
  box-shadow: 0 10px 22px rgba(99, 102, 241, 0.1);
}

.lux-project-zone__nav-link i {
  font-size: 0.82rem;
  color: #6366f1;
}

.lux-project-zone__nav-link.is-active i {
  color: #4f46e5;
}

.lux-gov-lux__module-nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-gov-lux__module-link {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.75rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  color: inherit;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.lux-gov-lux__module-link:hover {
  transform: translateY(-1px);
  border-color: rgba(99, 102, 241, 0.28);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.lux-gov-lux__module-link.is-active {
  border-color: rgba(99, 102, 241, 0.45);
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.12), rgba(255, 255, 255, 0.95));
  box-shadow: 0 12px 28px rgba(99, 102, 241, 0.12);
}

.lux-gov-lux__module-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: grid;
  place-content: center;
  font-size: 0.95rem;
  color: #4f46e5;
  background: rgba(99, 102, 241, 0.1);
}

.lux-gov-lux__module-link.is-active .lux-gov-lux__module-icon {
  color: #fff;
  background: linear-gradient(135deg, #6366f1, #4f46e5);
}

.lux-gov-lux__module-copy {
  display: grid;
  gap: 0.05rem;
  min-width: 0;
}

.lux-gov-lux__module-copy strong {
  font-size: 0.8rem;
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lux-gov-lux__module-copy small {
  font-size: 0.65rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* F15 — Rich governance KPI strip */
.lux-gov-kpi-strip,
.lux-gov-lux__kpi-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(158px, 1fr));
  gap: var(--lux-kpi-strip-grid-gap);
  margin: var(--lux-kpi-strip-margin);
}

.lux-gov-kpi {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: var(--lux-kpi-min-height);
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--gov-kpi-accent, #6366f1) 14%, transparent), transparent 56%),
    linear-gradient(165deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.9));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.96) inset,
    0 18px 40px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(10px);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.lux-gov-kpi:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--gov-kpi-accent, #6366f1) 28%, rgba(255, 255, 255, 0.78));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.98) inset,
    0 24px 48px rgba(15, 23, 42, 0.11);
}

.lux-gov-kpi__accent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gov-kpi-accent, #6366f1), color-mix(in srgb, var(--gov-kpi-accent, #6366f1) 35%, transparent));
  z-index: 1;
}

.lux-gov-kpi__glow {
  position: absolute;
  width: 5.5rem;
  height: 5.5rem;
  top: -2.2rem;
  right: -1.6rem;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--gov-kpi-accent, #6366f1) 22%, transparent), transparent 68%);
  pointer-events: none;
  z-index: 0;
}

.lux-gov-kpi__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  height: 100%;
  padding: 0.95rem 1rem 1rem;
}

.lux-gov-kpi__head {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2rem;
}

.lux-gov-kpi__icon {
  flex-shrink: 0;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 12px;
  display: grid;
  place-content: center;
  font-size: 0.95rem;
  color: #fff;
  background: linear-gradient(135deg, var(--gov-kpi-accent, #6366f1), var(--gov-kpi-accent-dark, #4338ca));
  box-shadow: 0 10px 22px color-mix(in srgb, var(--gov-kpi-accent, #6366f1) 34%, transparent);
}

.lux-gov-kpi .lux-hrms-dash__kpi-label {
  flex: 1;
  min-width: 0;
  line-height: 1.25;
}

.lux-gov-kpi .lux-hrms-dash__kpi-value {
  margin-top: 0.15rem;
  font-size: 1.42rem;
  letter-spacing: -0.02em;
}

.lux-gov-kpi .lux-hrms-dash__kpi-hint {
  margin-top: auto;
  padding-top: 0.1rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #94a3b8;
}

.lux-gov-kpi.is-blue { --gov-kpi-accent: #3b82f6; --gov-kpi-accent-dark: #1d4ed8; }
.lux-gov-kpi.is-indigo { --gov-kpi-accent: #6366f1; --gov-kpi-accent-dark: #4338ca; }
.lux-gov-kpi.is-green { --gov-kpi-accent: #10b981; --gov-kpi-accent-dark: #047857; }
.lux-gov-kpi.is-amber { --gov-kpi-accent: #f59e0b; --gov-kpi-accent-dark: #d97706; }
.lux-gov-kpi.is-rose { --gov-kpi-accent: #f43f5e; --gov-kpi-accent-dark: #e11d48; }
.lux-gov-kpi.is-violet { --gov-kpi-accent: #8b5cf6; --gov-kpi-accent-dark: #6d28d9; }
.lux-gov-kpi.is-slate { --gov-kpi-accent: #64748b; --gov-kpi-accent-dark: #475569; }
.lux-gov-kpi.is-primary { --gov-kpi-accent: var(--lux-primary, #5b5ff4); --gov-kpi-accent-dark: var(--lux-primary-dark, #3730a3); }
.lux-gov-kpi.is-teal { --gov-kpi-accent: #14b8a6; --gov-kpi-accent-dark: #0f766e; }

.lux-gov-kpi.is-blue {
  background:
    radial-gradient(circle at 100% 0%, rgba(59, 130, 246, 0.14), transparent 56%),
    linear-gradient(165deg, rgba(239, 246, 255, 0.96), rgba(255, 255, 255, 0.94));
}
.lux-gov-kpi.is-indigo {
  background:
    radial-gradient(circle at 100% 0%, rgba(99, 102, 241, 0.14), transparent 56%),
    linear-gradient(165deg, rgba(238, 242, 255, 0.96), rgba(255, 255, 255, 0.94));
}
.lux-gov-kpi.is-green {
  background:
    radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.14), transparent 56%),
    linear-gradient(165deg, rgba(236, 253, 245, 0.96), rgba(255, 255, 255, 0.94));
}
.lux-gov-kpi.is-amber {
  background:
    radial-gradient(circle at 100% 0%, rgba(245, 158, 11, 0.16), transparent 56%),
    linear-gradient(165deg, rgba(255, 251, 235, 0.96), rgba(255, 255, 255, 0.94));
}
.lux-gov-kpi.is-rose {
  background:
    radial-gradient(circle at 100% 0%, rgba(244, 63, 94, 0.14), transparent 56%),
    linear-gradient(165deg, rgba(255, 241, 242, 0.96), rgba(255, 255, 255, 0.94));
}
.lux-gov-kpi.is-violet {
  background:
    radial-gradient(circle at 100% 0%, rgba(139, 92, 246, 0.14), transparent 56%),
    linear-gradient(165deg, rgba(245, 243, 255, 0.96), rgba(255, 255, 255, 0.94));
}
.lux-gov-kpi.is-slate {
  background:
    radial-gradient(circle at 100% 0%, rgba(100, 116, 139, 0.12), transparent 56%),
    linear-gradient(165deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.94));
}
.lux-gov-kpi.is-primary {
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14), transparent 56%),
    linear-gradient(165deg, rgba(238, 242, 255, 0.96), rgba(255, 255, 255, 0.94));
}

.lux-gov-lux__insights {
  margin: 0.85rem 0 1rem;
}

.lux-gov-lux__quick-nav {
  margin-bottom: 1rem;
}

.lux-gov-lux-panel {
  margin-top: 1rem;
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.92));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 20px 44px rgba(15, 23, 42, 0.07);
  overflow: hidden;
}

.lux-gov-lux-panel.is-gantt::before,
.lux-gov-lux-panel.is-blue::before,
.lux-gov-lux-panel.is-indigo::before,
.lux-gov-lux-panel.is-amber::before,
.lux-gov-lux-panel.is-rose::before,
.lux-gov-lux-panel.is-violet::before,
.lux-gov-lux-panel.is-gates::before {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, #6366f1, #8b5cf6);
}

.lux-gov-lux-panel.is-blue::before { background: linear-gradient(90deg, #3b82f6, #6366f1); }
.lux-gov-lux-panel.is-indigo::before { background: linear-gradient(90deg, #6366f1, #4f46e5); }
.lux-gov-lux-panel.is-amber::before { background: linear-gradient(90deg, #f59e0b, #f97316); }
.lux-gov-lux-panel.is-rose::before { background: linear-gradient(90deg, #f43f5e, #fb7185); }
.lux-gov-lux-panel.is-violet::before { background: linear-gradient(90deg, #8b5cf6, #a78bfa); }
.lux-gov-lux-panel.is-gates::before { background: linear-gradient(90deg, #059669, #10b981); }

.lux-gov-lux-panel__head {
  padding: 1.1rem 1.25rem 0.35rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.lux-gov-lux-panel__title-wrap {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.lux-gov-lux-panel__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 12px;
  display: grid;
  place-content: center;
  font-size: 1rem;
  color: #4f46e5;
  background: rgba(99, 102, 241, 0.1);
  flex-shrink: 0;
}

.lux-gov-lux-panel__body {
  padding: 1rem 1.25rem 1.25rem;
}

.lux-gov-lux-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: 0.75rem 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(248, 250, 252, 0.75);
}

.lux-gov-lux .lux-gov-register-wrap {
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.lux-gov-lux .lux-gov-register thead th {
  padding: 0.9rem 1rem;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #64748b;
  background: rgba(248, 250, 252, 0.98);
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.lux-gov-lux .lux-gov-register tbody td {
  padding: 0.95rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
}

.lux-gov-lux .lux-gov-register__row:hover {
  background: linear-gradient(90deg, rgba(99, 102, 241, 0.04), rgba(255, 255, 255, 0.2));
}

.lux-gov-lux .lux-gov-register__link strong {
  font-size: 0.9rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-gov-lux .lux-gov-filters__chip {
  font-weight: 700;
  transition: all 0.15s ease;
}

.lux-gov-lux .lux-gov-filters__chip.is-active {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.14), rgba(59, 130, 246, 0.08));
  border-color: rgba(79, 70, 229, 0.35);
  color: #4338ca;
  box-shadow: 0 6px 16px rgba(99, 102, 241, 0.1);
}

.lux-gov-lux .lux-delivery-gantt__frame {
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.lux-gov-lux .lux-gov-risk-heatmap,
.lux-gov-lux .lux-gov-issue-aging,
.lux-gov-lux .lux-gov-gate-compliance,
.lux-gov-lux .lux-gov-analytics,
.lux-gov-lux .lux-gov-ai-import {
  border-radius: 14px;
  padding: 0.85rem;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(255, 255, 255, 0.72);
}

.lux-gov-lux .lux-gov-gantt-loading {
  min-height: 280px;
  display: grid;
  place-content: center;
  border-radius: 16px;
  border: 1px dashed rgba(148, 163, 184, 0.28);
  background: rgba(248, 250, 252, 0.8);
}

.lux-gov-lux .lux-admin-insights .lux-admin-insight-card {
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.lux-gov-lux .lux-admin-quick-nav__grid .lux-admin-quick-card {
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.lux-gov-lux .lux-gov-risk-form,
.lux-gov-lux .lux-gov-issue-form,
.lux-gov-lux .lux-gov-gate-form,
.lux-gov-lux .lux-gov-decision-form,
.lux-gov-lux .lux-gov-change-form {
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 252, 0.88));
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.lux-gov-lux .lux-gov-drawer {
  border-radius: 20px 0 0 20px;
  box-shadow: -24px 0 64px rgba(15, 23, 42, 0.18);
}

.lux-onb-drawer.lux-gov-drawer {
  border-radius: 20px 0 0 20px;
  box-shadow: -24px 0 64px rgba(15, 23, 42, 0.18);
  width: min(480px, 100%);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-columns: minmax(0, 1fr);
  height: 100%;
  max-height: 100dvh;
  overflow: hidden;
}

.lux-gov-drawer-backdrop {
  align-items: stretch;
}

.lux-onb-drawer.lux-gov-drawer.lux-gov-drawer--wide {
  width: min(560px, 100vw);
}

.lux-onb-drawer.lux-gov-drawer > .lux-onb-drawer__head {
  grid-row: 1;
}

.lux-onb-drawer.lux-gov-drawer > .lux-onb-drawer__body.lux-gov-drawer__body {
  grid-row: 2;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 1rem 1.15rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.85rem;
}

.lux-onb-drawer.lux-gov-drawer > .lux-onb-drawer__body.lux-gov-drawer__body > * {
  flex: 0 0 auto;
  min-width: 0;
}

.lux-onb-drawer.lux-gov-drawer > .lux-onb-drawer__body.lux-gov-drawer__body::-webkit-scrollbar {
  width: 6px;
}

.lux-onb-drawer.lux-gov-drawer > .lux-onb-drawer__body.lux-gov-drawer__body::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.45);
}

.lux-onb-drawer.lux-gov-drawer > .lux-onb-drawer__foot.lux-gov-drawer__foot {
  grid-row: 3;
  flex-shrink: 0;
}

.lux-gov-drawer__subtitle {
  margin: 0.35rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #64748b;
}

.lux-gov-drawer__badges {
  margin-top: 0.55rem;
}

.lux-gov-drawer__badges > span {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-right: 0.35rem;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-gov-drawer__links {
  display: grid;
  gap: 0.55rem;
}

.lux-gov-drawer__link-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.7rem;
  padding: 0.7rem 0.85rem;
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--onb-drawer-accent-rgb), 0.1), transparent 58%),
    rgba(255, 255, 255, 0.88);
  box-shadow:
    inset 0 0 0 1px rgba(var(--onb-drawer-accent-rgb), 0.14),
    0 8px 20px rgba(15, 23, 42, 0.05);
  transition: transform 0.14s ease, box-shadow 0.14s ease;
}

.lux-gov-drawer__link-card:hover {
  transform: translateY(-1px);
  box-shadow:
    inset 0 0 0 1px rgba(var(--onb-drawer-accent-rgb), 0.24),
    0 12px 28px rgba(15, 23, 42, 0.08);
}

.lux-gov-drawer__link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 12px;
  color: var(--onb-drawer-accent);
  background: rgba(var(--onb-drawer-accent-rgb), 0.12);
  font-size: 0.95rem;
}

.lux-gov-drawer__link-copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.lux-gov-drawer__link-copy strong {
  font-size: 0.8125rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-gov-drawer__link-copy small {
  font-size: 0.6875rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.lux-gov-drawer__link-chevron {
  color: #94a3b8;
  font-size: 0.85rem;
}

.lux-gov-drawer__stat-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-gov-drawer__stat {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.65rem 0.75rem;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.92);
}

.lux-gov-drawer__stat.is-success,
.lux-gov-drawer__stat.is-green {
  background: rgba(240, 253, 244, 0.95);
  box-shadow: inset 0 0 0 1px rgba(187, 247, 208, 0.85);
}

.lux-gov-drawer__stat.is-warning,
.lux-gov-drawer__stat.is-amber {
  background: rgba(255, 251, 235, 0.95);
  box-shadow: inset 0 0 0 1px rgba(251, 191, 36, 0.28);
}

.lux-gov-drawer__stat.is-danger,
.lux-gov-drawer__stat.is-rose {
  background: rgba(254, 242, 242, 0.95);
  box-shadow: inset 0 0 0 1px rgba(254, 202, 202, 0.85);
}

.lux-gov-drawer__stat.is-blue {
  background: rgba(239, 246, 255, 0.95);
  box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.85);
}

.lux-gov-drawer__stat.is-slate {
  background: rgba(248, 250, 252, 0.95);
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
}

.lux-gov-drawer__stat-label {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-gov-drawer__stat-value {
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #0f172a;
  line-height: 1.25;
  word-break: break-word;
}

.lux-gov-drawer__stat-hint {
  font-size: 0.6875rem;
  color: #64748b;
}

.lux-gov-drawer__card {
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--onb-drawer-accent-rgb), 0.07), transparent 55%),
    rgba(255, 255, 255, 0.78);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
  overflow: visible;
  flex-shrink: 0;
}

.lux-gov-drawer__card.is-muted {
  background: rgba(248, 250, 252, 0.92);
}

.lux-gov-drawer__card-head {
  padding: 0.9rem 1rem 0.35rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.65);
}

.lux-gov-drawer__card-head h3 {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-gov-drawer__card-head p {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #64748b;
}

.lux-gov-drawer__card-body {
  padding: 0.85rem 1rem 1rem;
}

.lux-gov-drawer__meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 1rem;
  margin: 0;
}

.lux-gov-drawer__meta-grid dt {
  margin: 0 0 0.15rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-gov-drawer__meta-grid dd {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.4;
  word-break: break-word;
}

.lux-gov-drawer__banner {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.8rem 0.9rem;
  border-radius: 14px;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #475569;
  background: rgba(var(--onb-drawer-accent-rgb), 0.08);
  box-shadow: inset 0 0 0 1px rgba(var(--onb-drawer-accent-rgb), 0.16);
}

.lux-gov-drawer__banner.is-info {
  background: rgba(14, 165, 233, 0.08);
  box-shadow: inset 0 0 0 1px rgba(14, 165, 233, 0.18);
}

.lux-gov-drawer__banner-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 11px;
  flex-shrink: 0;
  color: var(--onb-drawer-accent);
  background: rgba(var(--onb-drawer-accent-rgb), 0.12);
}

.lux-gov-drawer__field {
  display: grid;
  gap: 0.35rem;
  margin-bottom: 0.75rem;
}

.lux-gov-drawer__field:last-child {
  margin-bottom: 0;
}

.lux-gov-drawer__field > span {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94a3b8;
}

.lux-gov-drawer__field select,
.lux-gov-drawer__field input,
.lux-gov-drawer__field textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  padding: 0.55rem 0.7rem;
  font-size: 0.8125rem;
  background: rgba(255, 255, 255, 0.95);
  color: #0f172a;
}

.lux-gov-drawer__progress-panel {
  display: grid;
  gap: 0.85rem;
}

.lux-gov-drawer__progress-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.lux-gov-drawer__progress-value {
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #0f172a;
  line-height: 1;
  white-space: nowrap;
}

.lux-gov-drawer__progress-track {
  position: relative;
  height: 0.55rem;
  border-radius: 999px;
  background: rgba(226, 232, 240, 0.95);
  overflow: hidden;
}

.lux-gov-drawer__progress-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--onb-drawer-accent, #5b5ff4), rgba(var(--onb-drawer-accent-rgb, 91, 95, 244), 0.65));
}

.lux-gov-drawer__progress-range {
  width: 100%;
  margin: 0;
  accent-color: var(--onb-drawer-accent, #5b5ff4);
}

.lux-gov-drawer__field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.lux-gov-drawer__field-grid .lux-gov-drawer__field {
  margin-bottom: 0;
}

@media (max-width: 420px) {
  .lux-gov-drawer__field-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.lux-gov-drawer__error {
  margin: 0;
  padding: 0.65rem 0.75rem;
  border-radius: 12px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #be123c;
  background: rgba(254, 242, 242, 0.95);
  box-shadow: inset 0 0 0 1px rgba(254, 202, 202, 0.85);
}

.lux-gov-drawer__module-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-right: auto;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--onb-drawer-accent);
  text-decoration: none;
}

.lux-gov-drawer__foot-bar,
.lux-onb-drawer.lux-gov-drawer .lux-gov-drawer__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
  width: 100%;
}

.lux-gov-gate-decisions,
.lux-gov-change-decisions,
.lux-gov-drawer__footer-actions,
.lux-onb-drawer.lux-gov-drawer .lux-gov-drawer__foot-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.lux-onb-drawer.lux-gov-drawer .lux-gov-issue-actions__form input {
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  padding: 0.55rem 0.7rem;
  font-size: 0.8125rem;
  background: rgba(255, 255, 255, 0.95);
}

.lux-onb-drawer.lux-gov-drawer .lux-gov-drawer__card .lux-gov-issue-actions {
  margin-top: 0.15rem;
}

.lux-onb-drawer.lux-gov-drawer .lux-gov-drawer__card .lux-gov-issue-actions__item {
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.92);
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.95);
}

.lux-gov-issue-actions__empty {
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  font-size: 0.8125rem;
  color: #94a3b8;
  background: rgba(248, 250, 252, 0.88);
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.92);
  list-style: none;
}

@media (max-width: 520px) {
  .lux-gov-drawer__stat-strip {
    grid-template-columns: 1fr;
  }

  .lux-gov-drawer__meta-grid {
    grid-template-columns: 1fr;
  }
}

.lux-gov-module .lux-gov-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.lux-gov-hero__copy h1 {
  margin-bottom: 0.35rem;
}

.lux-gov-panel {
  margin-top: 1.25rem;
  padding: 1.25rem;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.88));
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.lux-gov-lux .lux-gov-panel {
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.lux-gov-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
  align-items: center;
}

.lux-gov-filters__search {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 240px;
  flex: 1 1 240px;
  padding: 0.55rem 0.85rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: #fff;
}

.lux-gov-filters__search input {
  border: 0;
  width: 100%;
  outline: none;
  background: transparent;
}

.lux-gov-filters__select {
  min-width: 180px;
  padding: 0.55rem 0.75rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: #fff;
}

.lux-gov-filters__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.lux-gov-filters__chip {
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: #fff;
  border-radius: 999px;
  padding: 0.35rem 0.8rem;
  font-size: 0.82rem;
}

.lux-gov-filters__chip.is-active {
  border-color: rgba(37, 99, 235, 0.45);
  background: rgba(37, 99, 235, 0.08);
  color: #1d4ed8;
}

.lux-gov-register-wrap {
  overflow: auto;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.lux-gov-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.lux-gov-register thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  text-align: left;
  padding: 0.75rem 0.9rem;
  background: rgba(248, 250, 252, 0.98);
  border-bottom: 1px solid rgba(148, 163, 184, 0.25);
  white-space: nowrap;
}

.lux-gov-register tbody td {
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  vertical-align: top;
}

.lux-gov-register__row:hover {
  background: rgba(59, 130, 246, 0.04);
}

.lux-gov-register__row.is-critical {
  box-shadow: inset 3px 0 0 rgba(244, 63, 94, 0.75);
}

.lux-gov-register__link {
  display: grid;
  gap: 0.15rem;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 0;
  cursor: pointer;
}

.lux-gov-register__link span {
  color: #64748b;
  font-size: 0.78rem;
}

.lux-gov-register__meta {
  display: block;
  color: #94a3b8;
  font-size: 0.75rem;
}

.lux-gov-register__progress {
  display: grid;
  gap: 0.25rem;
  min-width: 90px;
}

.lux-gov-register__progress-bar {
  display: block;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3b82f6, #6366f1);
}

.lux-gov-register__chip {
  display: inline-flex;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background: rgba(148, 163, 184, 0.15);
}

.lux-gov-register__chip.is-critical {
  background: rgba(244, 63, 94, 0.12);
  color: #be123c;
}

.lux-gov-gantt {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-bottom: 1rem;
}

.lux-gov-gantt__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 0.9rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(255, 255, 255, 0.9);
}

.lux-gov-gantt__bar.is-green { border-color: rgba(5, 150, 105, 0.35); background: rgba(16, 185, 129, 0.08); }
.lux-gov-gantt__bar.is-blue { border-color: rgba(37, 99, 235, 0.35); background: rgba(59, 130, 246, 0.08); }
.lux-gov-gantt__bar.is-amber { border-color: rgba(217, 119, 6, 0.35); background: rgba(245, 158, 11, 0.1); }
.lux-gov-gantt__bar.is-rose { border-color: rgba(244, 63, 94, 0.35); background: rgba(244, 63, 94, 0.08); }

.lux-gov-gantt__bar em {
  font-style: normal;
  color: #64748b;
  font-size: 0.78rem;
}

.lux-gov-gates {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.85rem;
}

.lux-gov-gates__card {
  padding: 1rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(255, 255, 255, 0.92);
}

.lux-gov-gates__stage {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}

.lux-onb-action.is-danger {
  color: #e11d48;
  border-color: rgba(244, 63, 94, 0.35);
}

.lux-gov-panel--gantt {
  overflow: hidden;
}

.lux-gov-gantt-loading {
  min-height: 180px;
  display: grid;
  place-items: center;
}

/* F15-T2 — Interactive delivery Gantt */
.lux-delivery-gantt {
  display: grid;
  gap: 0.65rem;
}

.lux-delivery-gantt--empty {
  padding: 1.25rem;
  border-radius: 12px;
  border: 1px dashed rgba(148, 163, 184, 0.45);
  color: #64748b;
  font-size: 0.9rem;
}

.lux-delivery-gantt__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  font-size: 0.78rem;
  color: #64748b;
}

.lux-delivery-gantt__legend i {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  margin-right: 0.35rem;
}

.lux-delivery-gantt__legend i.is-green { background: #10b981; }
.lux-delivery-gantt__legend i.is-blue { background: #3b82f6; }
.lux-delivery-gantt__legend i.is-amber { background: #f59e0b; }
.lux-delivery-gantt__legend i.is-rose { background: #f43f5e; }

.lux-delivery-gantt__legend-note {
  margin-left: auto;
}

.lux-delivery-gantt__frame {
  display: grid;
  grid-template-columns: auto 1fr;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.92);
}

.lux-delivery-gantt__sidebar-head,
.lux-delivery-gantt__timeline-head {
  display: flex;
  align-items: center;
  min-height: 36px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
  background: rgba(248, 250, 252, 0.98);
}

.lux-delivery-gantt__sidebar-head {
  padding: 0 0.85rem;
  border-right: 1px solid rgba(148, 163, 184, 0.22);
}

.lux-delivery-gantt__timeline-head {
  overflow: hidden;
}

.lux-delivery-gantt__timeline-inner {
  position: relative;
  min-height: 36px;
}

.lux-delivery-gantt__month {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  padding-left: 0.5rem;
  font-size: 0.72rem;
  color: #64748b;
  border-right: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-delivery-gantt__body {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto 1fr;
  max-height: 420px;
}

.lux-delivery-gantt__sidebar {
  border-right: 1px solid rgba(148, 163, 184, 0.22);
  overflow: auto;
}

.lux-delivery-gantt__lane {
  display: grid;
  gap: 0.1rem;
  width: 100%;
  padding: 0.45rem 0.75rem;
  border: 0;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.lux-delivery-gantt__lane strong {
  font-size: 0.82rem;
  color: #0f172a;
}

.lux-delivery-gantt__lane span {
  font-size: 0.72rem;
  color: #94a3b8;
}

.lux-delivery-gantt__lane.is-selected,
.lux-delivery-gantt__lane:hover {
  background: rgba(59, 130, 246, 0.06);
}

.lux-delivery-gantt__lane.is-critical {
  box-shadow: inset 3px 0 0 rgba(244, 63, 94, 0.65);
}

.lux-delivery-gantt__tracks-scroll {
  overflow: auto;
}

.lux-delivery-gantt__tracks {
  position: relative;
  min-height: 100%;
}

.lux-delivery-gantt__today {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: rgba(244, 63, 94, 0.75);
  z-index: 2;
  pointer-events: none;
}

.lux-delivery-gantt__links {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.lux-delivery-gantt__link-path {
  fill: none;
  stroke: rgba(100, 116, 139, 0.55);
  stroke-width: 1.5;
}

.lux-delivery-gantt__track-row {
  position: relative;
  border-bottom: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-delivery-gantt__bar {
  position: absolute;
  top: 10px;
  height: 32px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.95);
  overflow: hidden;
  cursor: grab;
  z-index: 3;
  padding: 0;
}

.lux-delivery-gantt__bar.is-dragging {
  cursor: grabbing;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
  z-index: 4;
}

.lux-delivery-gantt__bar.is-green { border-color: rgba(16, 185, 129, 0.45); background: rgba(16, 185, 129, 0.12); }
.lux-delivery-gantt__bar.is-blue { border-color: rgba(59, 130, 246, 0.45); background: rgba(59, 130, 246, 0.12); }
.lux-delivery-gantt__bar.is-amber { border-color: rgba(245, 158, 11, 0.45); background: rgba(245, 158, 11, 0.14); }
.lux-delivery-gantt__bar.is-rose { border-color: rgba(244, 63, 94, 0.45); background: rgba(244, 63, 94, 0.12); }
.lux-delivery-gantt__bar.is-slate { border-color: rgba(148, 163, 184, 0.45); background: rgba(148, 163, 184, 0.12); }

.lux-delivery-gantt__bar.is-critical {
  outline: 2px solid rgba(244, 63, 94, 0.35);
}

.lux-delivery-gantt__bar-progress {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: rgba(59, 130, 246, 0.22);
  pointer-events: none;
}

.lux-delivery-gantt__bar-label {
  position: relative;
  z-index: 1;
  display: block;
  padding: 0 0.55rem;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 30px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #0f172a;
}

.lux-delivery-gantt__legend-warn {
  color: #e11d48;
  font-weight: 600;
}

.lux-delivery-gantt__link-path.is-critical {
  stroke: rgba(244, 63, 94, 0.85);
  stroke-width: 2.25;
}

.lux-gov-reschedule-warning {
  margin: 0 0 0.75rem;
}

/* F15-T3 — Dependency validation & critical path */
.lux-gov-deps-panel {
  display: grid;
  gap: 1rem;
  margin-bottom: 1rem;
}

.lux-gov-deps-panel__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.lux-gov-deps-panel__summary > div {
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(248, 250, 252, 0.9);
}

.lux-gov-deps-panel__eyebrow {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}

.lux-gov-deps-panel__summary strong {
  display: block;
  font-size: 1.35rem;
  color: #0f172a;
}

.lux-gov-deps-panel__summary strong.is-ok { color: #059669; }
.lux-gov-deps-panel__summary strong.is-warn { color: #d97706; }

.lux-gov-deps-panel__summary span {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.78rem;
  color: #94a3b8;
}

.lux-gov-deps-panel__issues {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.lux-gov-deps-panel__issue {
  padding: 0.7rem 0.85rem;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(255, 255, 255, 0.95);
}

.lux-gov-deps-panel__issue.is-error {
  border-color: rgba(244, 63, 94, 0.35);
  background: rgba(254, 242, 242, 0.75);
}

.lux-gov-deps-panel__issue.is-warning {
  border-color: rgba(245, 158, 11, 0.35);
  background: rgba(255, 251, 235, 0.85);
}

.lux-gov-deps-panel__issue strong {
  display: block;
  font-size: 0.82rem;
  color: #0f172a;
}

.lux-gov-deps-panel__issue span {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.78rem;
  color: #64748b;
}

.lux-gov-deps-panel__form {
  padding: 0.9rem 1rem;
  border-radius: 12px;
  border: 1px dashed rgba(148, 163, 184, 0.4);
  background: rgba(255, 255, 255, 0.85);
}

.lux-gov-deps-panel__form-title {
  margin: 0 0 0.65rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #334155;
}

.lux-gov-deps-panel__fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  align-items: end;
}

.lux-gov-deps-panel__fields label {
  display: grid;
  gap: 0.3rem;
  font-size: 0.72rem;
  color: #64748b;
}

.lux-gov-deps-panel__fields select,
.lux-gov-deps-panel__fields input {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.45);
  border-radius: 8px;
  padding: 0.45rem 0.55rem;
  font-size: 0.82rem;
  background: #fff;
}

.lux-gov-deps-panel__submit {
  border: 0;
  border-radius: 10px;
  padding: 0.55rem 0.85rem;
  background: linear-gradient(135deg, #2563eb, #4f46e5);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}

.lux-gov-deps-panel__submit:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.lux-gov-deps-panel__hint {
  margin: 0.55rem 0 0;
  font-size: 0.78rem;
  color: #64748b;
}

.lux-gov-deps-panel__hint.is-ok { color: #059669; }
.lux-gov-deps-panel__hint.is-error { color: #e11d48; }

.lux-gov-deps-empty {
  padding: 1rem;
  border-radius: 10px;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  color: #64748b;
  font-size: 0.85rem;
}

.lux-gov-deps-issue {
  font-size: 0.76rem;
  color: #64748b;
}

.lux-gov-deps-issue.is-ok { color: #059669; }
.lux-gov-deps-issue.is-warning { color: #d97706; }
.lux-gov-deps-issue.is-error { color: #e11d48; }

/* F15-T4 — Risk register */
.lux-gov-risk-heatmap {
  display: grid;
  gap: 0.35rem;
}

.lux-gov-risk-heatmap--empty {
  padding: 1rem;
  border-radius: 10px;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  color: #64748b;
  font-size: 0.85rem;
}

.lux-gov-risk-heatmap__head,
.lux-gov-risk-heatmap__row {
  display: grid;
  grid-template-columns: minmax(140px, 1.4fr) repeat(4, minmax(52px, 0.7fr)) minmax(64px, 0.5fr);
  gap: 0.35rem;
  align-items: center;
}

.lux-gov-risk-heatmap__head {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
  padding: 0 0.25rem 0.35rem;
}

.lux-gov-risk-heatmap__project {
  font-size: 0.82rem;
  font-weight: 600;
  color: #0f172a;
}

.lux-gov-risk-heatmap__cell {
  display: grid;
  place-items: center;
  min-height: 34px;
  border-radius: 8px;
  background: rgba(241, 245, 249, 0.9);
  color: #94a3b8;
  font-size: 0.78rem;
  font-weight: 600;
}

.lux-gov-risk-heatmap__cell.is-active.is-rose { background: rgba(254, 226, 226, 0.95); color: #be123c; }
.lux-gov-risk-heatmap__cell.is-active.is-amber { background: rgba(254, 243, 199, 0.95); color: #b45309; }
.lux-gov-risk-heatmap__cell.is-active.is-blue { background: rgba(219, 234, 254, 0.95); color: #1d4ed8; }
.lux-gov-risk-heatmap__cell.is-active.is-slate { background: rgba(226, 232, 240, 0.95); color: #475569; }

.lux-gov-risk-heatmap__score {
  font-size: 0.82rem;
  font-weight: 700;
  color: #334155;
  text-align: center;
}

.lux-gov-risk-form {
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  border: 1px dashed rgba(148, 163, 184, 0.4);
  background: rgba(255, 255, 255, 0.88);
}

.lux-gov-risk-form__title {
  margin: 0 0 0.65rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #334155;
}

.lux-gov-risk-form__fields {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.65rem;
  align-items: end;
}

.lux-gov-risk-form__fields label,
.lux-gov-risk-form__wide {
  display: grid;
  gap: 0.3rem;
  font-size: 0.72rem;
  color: #64748b;
}

.lux-gov-risk-form__fields input,
.lux-gov-risk-form__fields select,
.lux-gov-risk-form__wide textarea {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.45);
  border-radius: 8px;
  padding: 0.45rem 0.55rem;
  font-size: 0.82rem;
  background: #fff;
}

.lux-gov-risk-form__submit {
  border: 0;
  border-radius: 10px;
  padding: 0.55rem 0.85rem;
  background: linear-gradient(135deg, #e11d48, #be123c);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}

.lux-gov-risk-form__submit:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.lux-gov-risk-form__wide {
  margin-top: 0.65rem;
}

.lux-gov-risk-form__error {
  margin: 0.55rem 0 0;
  color: #e11d48;
  font-size: 0.78rem;
}

/* F15-T5 — Issue & action tracker */
.lux-gov-issue-aging {
  display: grid;
  gap: 0.75rem;
}

.lux-gov-issue-aging--empty {
  padding: 1rem;
  border-radius: 10px;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  color: #64748b;
  font-size: 0.85rem;
}

.lux-gov-issue-aging__meta strong {
  display: block;
  font-size: 1.2rem;
  color: #0f172a;
}

.lux-gov-issue-aging__meta span {
  font-size: 0.78rem;
  color: #94a3b8;
}

.lux-gov-issue-aging__bars {
  display: grid;
  gap: 0.45rem;
}

.lux-gov-issue-aging__bar-row {
  display: grid;
  grid-template-columns: 72px 1fr 28px;
  gap: 0.5rem;
  align-items: center;
  font-size: 0.78rem;
  color: #64748b;
}

.lux-gov-issue-aging__track {
  height: 10px;
  border-radius: 999px;
  background: rgba(226, 232, 240, 0.95);
  overflow: hidden;
}

.lux-gov-issue-aging__fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3b82f6, #6366f1);
}

.lux-gov-issue-form {
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  border: 1px dashed rgba(148, 163, 184, 0.4);
  background: rgba(255, 255, 255, 0.88);
}

.lux-gov-issue-form__title {
  margin: 0 0 0.65rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #334155;
}

.lux-gov-issue-form__fields {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.65rem;
  align-items: end;
}

.lux-gov-issue-form__fields label,
.lux-gov-issue-form__wide {
  display: grid;
  gap: 0.3rem;
  font-size: 0.72rem;
  color: #64748b;
}

.lux-gov-issue-form__fields input,
.lux-gov-issue-form__fields select,
.lux-gov-issue-form__wide textarea {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.45);
  border-radius: 8px;
  padding: 0.45rem 0.55rem;
  font-size: 0.82rem;
  background: #fff;
}

.lux-gov-issue-form__submit {
  border: 0;
  border-radius: 10px;
  padding: 0.55rem 0.85rem;
  background: linear-gradient(135deg, #2563eb, #4f46e5);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}

.lux-gov-issue-form__wide {
  margin-top: 0.65rem;
}

.lux-gov-issue-form__error {
  margin: 0.55rem 0 0;
  color: #e11d48;
  font-size: 0.78rem;
}

.lux-gov-issue-actions {
  margin: 0 0 0.75rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

.lux-gov-issue-actions__item {
  display: flex;
  justify-content: space-between;
  gap: 0.65rem;
  align-items: center;
  padding: 0.6rem 0.7rem;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(248, 250, 252, 0.9);
}

.lux-gov-issue-actions__item.is-complete {
  opacity: 0.78;
}

.lux-gov-issue-actions__item strong {
  display: block;
  font-size: 0.82rem;
  color: #0f172a;
}

.lux-gov-issue-actions__item span {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.72rem;
  color: #94a3b8;
}

.lux-gov-issue-actions__form {
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.9fr auto;
  gap: 0.45rem;
  align-items: center;
}

.lux-gov-issue-actions__form input {
  border: 1px solid rgba(148, 163, 184, 0.45);
  border-radius: 8px;
  padding: 0.45rem 0.55rem;
  font-size: 0.82rem;
}

.lux-gov-register__chip.is-complete {
  color: #059669;
  border-color: rgba(16, 185, 129, 0.35);
}

/* F15-T6 — Stage gates & approvals */
.lux-gov-panel--gates {
  border-color: rgba(16, 185, 129, 0.22);
}

.lux-gov-gate-compliance {
  display: grid;
  gap: 0.85rem;
}

.lux-gov-gate-compliance--empty {
  padding: 1rem;
  border-radius: 10px;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  color: #64748b;
  font-size: 0.85rem;
}

.lux-gov-gate-compliance__summary strong {
  display: block;
  font-size: 1.35rem;
  color: #059669;
}

.lux-gov-gate-compliance__summary span {
  font-size: 0.78rem;
  color: #94a3b8;
}

.lux-gov-gate-compliance__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.65rem;
}

.lux-gov-gate-compliance__card {
  padding: 0.85rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(255, 255, 255, 0.9);
}

.lux-gov-gate-compliance__card header {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}

.lux-gov-gate-compliance__card h3 {
  margin: 0;
  font-size: 0.88rem;
  color: #0f172a;
}

.lux-gov-gate-compliance__card header span {
  font-size: 0.72rem;
  color: #64748b;
}

.lux-gov-gate-compliance__counts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.lux-gov-gate-compliance__chip {
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  font-size: 0.68rem;
  color: #94a3b8;
}

.lux-gov-gate-compliance__chip.is-active.is-green {
  color: #059669;
  border-color: rgba(16, 185, 129, 0.4);
  background: rgba(16, 185, 129, 0.08);
}

.lux-gov-gate-compliance__chip.is-active.is-amber {
  color: #b45309;
  border-color: rgba(245, 158, 11, 0.4);
  background: rgba(245, 158, 11, 0.1);
}

.lux-gov-gate-compliance__chip.is-active.is-rose {
  color: #be123c;
  border-color: rgba(244, 63, 94, 0.4);
  background: rgba(254, 226, 226, 0.75);
}

.lux-gov-gate-compliance__chip.is-active.is-blue {
  color: #1d4ed8;
  border-color: rgba(59, 130, 246, 0.4);
  background: rgba(219, 234, 254, 0.75);
}

.lux-gov-gate-form {
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  border: 1px dashed rgba(148, 163, 184, 0.4);
  background: rgba(255, 255, 255, 0.88);
}

.lux-gov-gate-form__title {
  margin: 0 0 0.65rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #334155;
}

.lux-gov-gate-form__fields {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.65rem;
  align-items: end;
}

.lux-gov-gate-form__fields label,
.lux-gov-gate-form__wide {
  display: grid;
  gap: 0.3rem;
  font-size: 0.72rem;
  color: #64748b;
}

.lux-gov-gate-form__fields input,
.lux-gov-gate-form__fields select,
.lux-gov-gate-form__wide textarea {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.45);
  border-radius: 8px;
  padding: 0.45rem 0.55rem;
  font-size: 0.82rem;
  background: #fff;
}

.lux-gov-gate-form__submit {
  border: 0;
  border-radius: 10px;
  padding: 0.55rem 0.85rem;
  background: linear-gradient(135deg, #059669, #047857);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}

.lux-gov-gate-form__wide {
  margin-top: 0.65rem;
}

.lux-gov-gate-form__error {
  margin: 0.55rem 0 0;
  color: #e11d48;
  font-size: 0.78rem;
}

.lux-gov-gate-decisions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

@media (max-width: 900px) {
  .lux-delivery-gantt__legend-note {
    margin-left: 0;
    width: 100%;
  }

  .lux-gov-deps-panel__summary,
  .lux-gov-deps-panel__fields,
  .lux-gov-risk-form__fields,
  .lux-gov-risk-heatmap__head,
  .lux-gov-risk-heatmap__row,
  .lux-gov-issue-form__fields,
  .lux-gov-issue-actions__form,
  .lux-gov-issue-aging__bar-row,
  .lux-gov-gate-form__fields {
    grid-template-columns: 1fr;
  }

  .lux-gov-gate-decisions,
  .lux-gov-drawer__footer,
  .lux-gov-change-decisions,
  .lux-gov-analytics__top,
  .lux-gov-analytics__bar-row,
  .lux-gov-decision-form__fields,
  .lux-gov-change-form__fields,
  .lux-gov-ai-import__card,
  .lux-gov-lux__module-nav {
    grid-template-columns: 1fr 1fr;
  }

  .lux-gov-lux-hero__top {
    flex-direction: column;
  }

  .lux-gov-kpi-strip,
  .lux-gov-lux__kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .lux-gov-lux__module-nav {
    grid-template-columns: 1fr;
  }

  .lux-gov-kpi-strip,
  .lux-gov-lux__kpi-strip {
    grid-template-columns: 1fr;
  }
}

/* F15-T7 — Decision / change log */
.lux-gov-decision-form,
.lux-gov-change-form {
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  border: 1px dashed rgba(148, 163, 184, 0.4);
  background: rgba(255, 255, 255, 0.88);
}

.lux-gov-decision-form__title,
.lux-gov-change-form__title {
  margin: 0 0 0.65rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #334155;
}

.lux-gov-decision-form__fields,
.lux-gov-change-form__fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.55rem;
  align-items: end;
}

.lux-gov-decision-form__fields label,
.lux-gov-change-form__fields label,
.lux-gov-decision-form__wide,
.lux-gov-change-form__wide {
  display: grid;
  gap: 0.3rem;
  font-size: 0.72rem;
  color: #64748b;
}

.lux-gov-decision-form__fields input,
.lux-gov-decision-form__fields select,
.lux-gov-change-form__fields input,
.lux-gov-change-form__fields select,
.lux-gov-decision-form__wide textarea,
.lux-gov-change-form__wide textarea {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.45);
  border-radius: 8px;
  padding: 0.45rem 0.55rem;
  font-size: 0.82rem;
  background: #fff;
}

.lux-gov-decision-form__submit,
.lux-gov-change-form__submit {
  border: 0;
  border-radius: 10px;
  padding: 0.55rem 0.85rem;
  background: linear-gradient(135deg, #4f46e5, #4338ca);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}

.lux-gov-decision-form__wide,
.lux-gov-change-form__wide {
  margin-top: 0.65rem;
}

.lux-gov-decision-form__error,
.lux-gov-change-form__error {
  margin: 0.55rem 0 0;
  color: #e11d48;
  font-size: 0.78rem;
}

.lux-gov-change-decisions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

/* F15-T8 — Governance analytics */
.lux-gov-analytics {
  display: grid;
  gap: 1rem;
}

.lux-gov-analytics--empty,
.lux-gov-analytics--loading {
  padding: 1rem;
  border-radius: 10px;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  color: #64748b;
  font-size: 0.85rem;
}

.lux-gov-analytics__top {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.lux-gov-analytics__health {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  border: 4px solid currentColor;
}

.lux-gov-analytics__health strong {
  font-size: 1.35rem;
  line-height: 1;
}

.lux-gov-analytics__health span {
  font-size: 0.65rem;
  opacity: 0.85;
}

.lux-gov-analytics__health.is-green { color: #059669; }
.lux-gov-analytics__health.is-amber { color: #d97706; }
.lux-gov-analytics__health.is-rose { color: #e11d48; }

.lux-gov-analytics__kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.25rem;
}

.lux-gov-analytics__kpis div {
  min-width: 88px;
}

.lux-gov-analytics__kpis strong {
  display: block;
  font-size: 1.1rem;
  color: #0f172a;
}

.lux-gov-analytics__kpis span {
  font-size: 0.72rem;
  color: #94a3b8;
}

.lux-gov-analytics__planned header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.65rem;
}

.lux-gov-analytics__planned h3 {
  margin: 0;
  font-size: 0.9rem;
  color: #334155;
}

.lux-gov-analytics__planned header span {
  font-size: 0.75rem;
  color: #94a3b8;
}

.lux-gov-analytics__bars {
  display: grid;
  gap: 0.5rem;
}

.lux-gov-analytics__bar-row {
  display: grid;
  grid-template-columns: 120px 1fr 40px;
  gap: 0.5rem;
  align-items: center;
  font-size: 0.75rem;
}

.lux-gov-analytics__label {
  color: #475569;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lux-gov-analytics__tracks {
  display: grid;
  gap: 0.2rem;
}

.lux-gov-analytics__track {
  height: 8px;
  border-radius: 999px;
  background: rgba(226, 232, 240, 0.95);
  overflow: hidden;
}

.lux-gov-analytics__fill {
  height: 100%;
  border-radius: inherit;
}

.lux-gov-analytics__fill.is-planned {
  background: linear-gradient(90deg, #94a3b8, #64748b);
}

.lux-gov-analytics__fill.is-actual {
  background: linear-gradient(90deg, #3b82f6, #6366f1);
}

.lux-gov-analytics__variance {
  text-align: right;
  color: #64748b;
}

.lux-gov-analytics__legend {
  display: flex;
  gap: 1rem;
  margin-top: 0.5rem;
  font-size: 0.72rem;
  color: #94a3b8;
}

.lux-gov-analytics__legend i {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 2px;
  margin-right: 0.25rem;
  vertical-align: middle;
}

.lux-gov-analytics__legend i.is-planned { background: #64748b; }
.lux-gov-analytics__legend i.is-actual { background: #6366f1; }

.lux-gov-analytics__hint {
  margin: 0;
  font-size: 0.78rem;
  color: #94a3b8;
}

/* F15-T9 — AI import */
.lux-gov-ai-import {
  margin-bottom: 1rem;
  padding: 1rem;
  border-radius: 12px;
  border: 1px solid rgba(99, 102, 241, 0.25);
  background: linear-gradient(135deg, rgba(238, 242, 255, 0.9), rgba(255, 255, 255, 0.95));
}

.lux-gov-ai-import__head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 0.75rem;
}

.lux-gov-ai-import__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-content: center;
  background: rgba(99, 102, 241, 0.15);
  color: #4f46e5;
}

.lux-gov-ai-import__head h3 {
  margin: 0;
  font-size: 0.95rem;
  color: #312e81;
}

.lux-gov-ai-import__head p {
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  color: #64748b;
}

.lux-gov-ai-import__generate {
  margin-left: auto;
  border: 0;
  border-radius: 10px;
  padding: 0.5rem 0.85rem;
  background: #4f46e5;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
}

.lux-gov-ai-import__list {
  display: grid;
  gap: 0.65rem;
}

.lux-gov-ai-import__card {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
  padding: 0.75rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(148, 163, 184, 0.3);
}

.lux-gov-ai-import__copy strong {
  display: block;
  color: #0f172a;
}

.lux-gov-ai-import__copy span,
.lux-gov-ai-import__copy small,
.lux-gov-ai-import__copy em {
  display: block;
  font-size: 0.75rem;
  color: #64748b;
  font-style: normal;
}

.lux-gov-ai-import__copy em {
  margin-top: 0.25rem;
  color: #94a3b8;
}

.lux-gov-ai-import__actions {
  display: flex;
  gap: 0.45rem;
  align-items: center;
}

.lux-gov-ai-import__btn {
  border: 0;
  border-radius: 8px;
  padding: 0.45rem 0.7rem;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
}

.lux-gov-ai-import__btn.is-approve {
  background: #059669;
  color: #fff;
}

.lux-gov-ai-import__btn.is-reject {
  background: rgba(148, 163, 184, 0.2);
  color: #475569;
}

.lux-gov-ai-import__empty,
.lux-gov-ai-import__error,
.lux-gov-ai-import__message {
  margin: 0;
  font-size: 0.78rem;
}

.lux-gov-ai-import__error { color: #e11d48; }
.lux-gov-ai-import__message { color: #059669; }

/* F16 — Portfolio control tower */
.lux-hrms-dash.lux-portfolio-module.lux-portfolio-lux.pd-page {
  --pd-gap: 14px;
  padding: var(--lux-page-block-gap-y) var(--lux-page-gutter-x, 0.75rem) var(--lux-page-block-bottom, 1.5rem);
  max-width: 100%;
}

.vleft:has(.lux-portfolio-module) #page_top.lux-header-bar .page-header {
  padding-left: var(--lux-page-gutter-x);
  padding-right: var(--lux-page-gutter-x);
}

.lux-portfolio-lux {
  position: relative;
  padding-bottom: 2.5rem;
  isolation: isolate;
}

.lux-portfolio-lux__ambient {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.lux-portfolio-lux__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.55;
}

.lux-portfolio-lux__orb--a {
  width: 420px;
  height: 420px;
  top: -120px;
  left: -80px;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.28), transparent 68%);
}

.lux-portfolio-lux__orb--b {
  width: 360px;
  height: 360px;
  top: 40px;
  right: -60px;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.18), transparent 70%);
}

.lux-portfolio-lux.is-indigo .lux-portfolio-lux__orb--a { background: radial-gradient(circle, rgba(79, 70, 229, 0.3), transparent 68%); }
.lux-portfolio-lux.is-violet .lux-portfolio-lux__orb--a { background: radial-gradient(circle, rgba(139, 92, 246, 0.3), transparent 68%); }

.lux-portfolio-lux-hero,
.lux-portfolio-lux__kpi-strip,
.lux-portfolio-lux__insights,
.lux-portfolio-lux__quick-nav,
.lux-portfolio-lux__content {
  position: relative;
  z-index: 1;
}

.lux-portfolio-lux-hero {
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  margin-bottom: 1rem;
}

.lux-portfolio-lux-hero__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
}

.lux-portfolio-lux-hero.is-indigo .lux-hrms-dash__hero-title span { color: #4338ca; }
.lux-portfolio-lux-hero.is-violet .lux-hrms-dash__hero-title span { color: #6d28d9; }

.lux-portfolio-lux__kpi-strip {
  margin: 1rem 0 1.15rem;
}

.lux-portfolio-lux__insights {
  margin: 0.85rem 0 1rem;
}

.lux-portfolio-lux__quick-nav {
  margin-bottom: 1rem;
}

.lux-portfolio-lux-hero__main {
  flex: 1 1 320px;
  min-width: 0;
}

.lux-portfolio-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.55rem;
  flex: 0 0 auto;
  margin-left: auto;
}

.lux-portfolio-hero__source {
  align-self: flex-end;
}

.lux-portfolio-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-portfolio-lux__content {
  display: grid;
  gap: 1rem;
}

.lux-portfolio-lux__content--executive {
  gap: 1.15rem;
}

.lux-portfolio-lux__duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.lux-portfolio-lux__panel--featured.lux-gov-lux-panel {
  box-shadow:
    0 16px 40px rgba(15, 23, 42, 0.08),
    0 0 0 1px rgba(139, 92, 246, 0.08);
}

.lux-portfolio-lux__panel--duo.lux-gov-lux-panel {
  margin-bottom: 0;
  height: 100%;
}

/* Executive control tower — enriched shell */
.lux-portfolio-lux--executive {
  padding-bottom: 0;
}

.lux-portfolio-lux--executive .lux-portfolio-lux__orb--a {
  width: 280px;
  height: 280px;
  top: -88px;
  right: 4%;
  left: auto;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.38), transparent 68%);
}

.lux-portfolio-lux--executive .lux-portfolio-lux__orb--b {
  width: 220px;
  height: 220px;
  top: 120px;
  left: -48px;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.28), transparent 70%);
}

.lux-portfolio-lux__orb--c {
  width: 200px;
  height: 200px;
  bottom: 12%;
  right: 18%;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.2), transparent 72%);
}

.lux-portfolio-lux--executive .lux-portfolio-lux-hero {
  border: 1px solid rgba(139, 92, 246, 0.14);
  box-shadow:
    0 16px 36px rgba(15, 23, 42, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.lux-portfolio-lux--executive .lux-portfolio-lux__kpi-strip .lux-gov-kpi {
  border-color: rgba(139, 92, 246, 0.12);
}

.lux-portfolio-exec-snapshot {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 18px;
  border: 1px solid rgba(139, 92, 246, 0.18);
  background:
    radial-gradient(circle at 0% 0%, rgba(139, 92, 246, 0.1), transparent 48%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.86));
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.lux-portfolio-exec-snapshot__main {
  flex: 1 1 260px;
  min-width: 0;
}

.lux-portfolio-exec-snapshot__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #7c3aed;
}

.lux-portfolio-exec-snapshot__headline {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-top: 0.45rem;
}

.lux-portfolio-exec-snapshot__health {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
}

.lux-portfolio-exec-snapshot__health.is-green { color: #047857; }
.lux-portfolio-exec-snapshot__health.is-amber { color: #b45309; }
.lux-portfolio-exec-snapshot__health.is-rose { color: #be123c; }
.lux-portfolio-exec-snapshot__health.is-slate { color: #475569; }

.lux-portfolio-exec-snapshot__title {
  display: block;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-portfolio-exec-snapshot__steer {
  display: inline-flex;
  margin-top: 0.25rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.lux-portfolio-exec-snapshot__steer.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-portfolio-exec-snapshot__steer.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-portfolio-exec-snapshot__steer.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-portfolio-exec-snapshot__steer.is-slate { background: rgba(148, 163, 184, 0.16); color: #475569; }

.lux-portfolio-exec-snapshot__chips {
  flex: 1 1 420px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
  gap: 0.55rem;
}

.lux-portfolio-exec-snapshot__chip {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.65rem 0.7rem;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-portfolio-exec-snapshot__chip > i {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 0.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.8rem;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
}

.lux-portfolio-exec-snapshot__chip.is-indigo > i { background: rgba(99, 102, 241, 0.1); color: #4338ca; }
.lux-portfolio-exec-snapshot__chip.is-blue > i { background: rgba(59, 130, 246, 0.12); color: #1d4ed8; }
.lux-portfolio-exec-snapshot__chip.is-rose > i { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-portfolio-exec-snapshot__chip.is-amber > i { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-portfolio-exec-snapshot__chip.is-violet > i { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-portfolio-exec-snapshot__chip.is-slate > i { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-portfolio-exec-snapshot__chip strong {
  display: block;
  font-size: 1rem;
  font-weight: 900;
  color: #0f172a;
  line-height: 1.1;
}

.lux-portfolio-exec-snapshot__chip span {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-portfolio-exec-snapshot--loading .lux-portfolio-exec-snapshot__skeleton {
  display: block;
  width: 100%;
  min-height: 108px;
  border-radius: 18px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.9), rgba(226, 232, 240, 0.6), rgba(241, 245, 249, 0.9));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-portfolio-lux--executive .lux-gov-lux-panel {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

.lux-portfolio-lux--executive .lux-portfolio-hierarchy__program,
.lux-portfolio-lux--executive .lux-portfolio-roadmap__program {
  border-color: rgba(226, 232, 240, 0.9);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.78));
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-portfolio-lux--executive .lux-portfolio-rollups__section {
  padding: 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  background: rgba(255, 255, 255, 0.55);
}

.lux-portfolio-lux--executive .lux-portfolio-analytics__top {
  padding: 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  background: rgba(255, 255, 255, 0.55);
}

.lux-portfolio-lux--executive .lux-portfolio-register-wrap {
  border-color: rgba(226, 232, 240, 0.95);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

@media (max-width: 1024px) {
  .lux-portfolio-lux__duo {
    grid-template-columns: 1fr;
  }

  .lux-portfolio-hero__actions {
    width: 100%;
    margin-left: 0;
    align-items: stretch;
  }

  .lux-portfolio-hero__buttons {
    justify-content: flex-start;
  }
}

.lux-portfolio-register-wrap {
  overflow-x: auto;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(255, 255, 255, 0.88);
}

.lux-portfolio-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.lux-portfolio-register thead th {
  padding: 0.9rem 1rem;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #64748b;
  background: rgba(248, 250, 252, 0.98);
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.lux-portfolio-register tbody td {
  padding: 0.95rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  vertical-align: top;
}

.lux-portfolio-register__row:hover {
  background: linear-gradient(90deg, rgba(99, 102, 241, 0.04), rgba(255, 255, 255, 0.2));
}

.lux-portfolio-register__primary {
  display: grid;
  gap: 0.12rem;
}

.lux-portfolio-register__primary strong {
  font-size: 0.9rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-portfolio-register__primary small,
.lux-portfolio-register__primary span {
  font-size: 0.72rem;
  color: #94a3b8;
}

.lux-portfolio-register__foot {
  margin: 0;
  padding: 0.75rem 1rem;
  font-size: 0.75rem;
  color: #64748b;
  border-top: 1px solid rgba(148, 163, 184, 0.12);
}

.lux-portfolio-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.lux-portfolio-badge.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-portfolio-badge.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-portfolio-badge.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-portfolio-badge.is-blue { background: rgba(59, 130, 246, 0.12); color: #1d4ed8; }
.lux-portfolio-badge.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-portfolio-register__loading,
.lux-portfolio-register__empty {
  min-height: 120px;
  display: grid;
  place-content: center;
  padding: 1rem;
  font-size: 0.8125rem;
  color: #64748b;
}

/* F16-T3–T7 portfolio panels */
.lux-portfolio-hierarchy,
.lux-portfolio-roadmap,
.lux-portfolio-rollups,
.lux-portfolio-briefing,
.lux-portfolio-analytics,
.lux-portfolio-scenario {
  display: grid;
  gap: 1rem;
}

.lux-portfolio-hierarchy__loading,
.lux-portfolio-hierarchy__empty,
.lux-portfolio-roadmap__loading,
.lux-portfolio-roadmap__empty,
.lux-portfolio-rollups__loading,
.lux-portfolio-rollups__empty,
.lux-portfolio-briefing__loading,
.lux-portfolio-briefing__empty,
.lux-portfolio-analytics--loading,
.lux-portfolio-analytics--empty,
.lux-portfolio-scenario__loading {
  min-height: 100px;
  display: grid;
  place-content: center;
  font-size: 0.8125rem;
  color: #64748b;
}

.lux-portfolio-hierarchy__program {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 14px;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.55);
}

.lux-portfolio-hierarchy__program-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.lux-portfolio-hierarchy__program-head strong {
  display: block;
  font-size: 0.9375rem;
}

.lux-portfolio-hierarchy__program-head span {
  font-size: 0.75rem;
  color: #64748b;
}

.lux-portfolio-hierarchy__meta {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.lux-portfolio-hierarchy__health.is-green { color: #047857; }
.lux-portfolio-hierarchy__health.is-amber { color: #b45309; }
.lux-portfolio-hierarchy__health.is-rose { color: #be123c; }
.lux-portfolio-hierarchy__health.is-slate { color: #475569; }

.lux-portfolio-hierarchy__label {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
  margin: 0.75rem 0 0.35rem;
}

.lux-portfolio-hierarchy__initiatives ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lux-portfolio-hierarchy__initiatives li {
  padding: 0.35rem 0.6rem;
  border-radius: 8px;
  background: rgba(99, 102, 241, 0.08);
  font-size: 0.75rem;
}

.lux-portfolio-hierarchy__project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 0.5rem;
}

.lux-portfolio-hierarchy__project {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  font-size: 0.75rem;
}

.lux-portfolio-hierarchy__foot,
.lux-portfolio-rollups__foot {
  font-size: 0.75rem;
  color: #64748b;
}

.lux-portfolio-roadmap__program {
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 14px;
  padding: 1rem;
  overflow-x: auto;
}

.lux-portfolio-roadmap__program header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  font-size: 0.8125rem;
}

.lux-portfolio-roadmap__lanes {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 0.5rem;
}

.lux-portfolio-roadmap__lane {
  border: 1px dashed rgba(148, 163, 184, 0.25);
  border-radius: 10px;
  padding: 0.5rem;
  min-height: 120px;
}

.lux-portfolio-roadmap__phase {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 0.35rem;
}

.lux-portfolio-roadmap__items {
  display: grid;
  gap: 0.35rem;
}

.lux-portfolio-roadmap__item {
  padding: 0.4rem 0.45rem;
  border-radius: 8px;
  font-size: 0.7rem;
  background: rgba(148, 163, 184, 0.08);
}

.lux-portfolio-roadmap__item.is-green { background: rgba(16, 185, 129, 0.12); }
.lux-portfolio-roadmap__item.is-amber { background: rgba(245, 158, 11, 0.14); }
.lux-portfolio-roadmap__item.is-rose { background: rgba(244, 63, 94, 0.12); }
.lux-portfolio-roadmap__item.is-blue { background: rgba(59, 130, 246, 0.12); }

.lux-portfolio-roadmap__item strong,
.lux-portfolio-roadmap__item small {
  display: block;
}

.lux-portfolio-roadmap__item-type {
  font-size: 0.6rem;
  text-transform: uppercase;
  color: #64748b;
}

.lux-portfolio-rollups {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.lux-portfolio-rollups__section {
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 12px;
  padding: 0.85rem;
}

.lux-portfolio-rollups__section header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.65rem;
  font-size: 0.8125rem;
}

.lux-portfolio-rollups__section h3 {
  margin: 0;
  font-size: 0.8125rem;
}

.lux-portfolio-rollups__heatmap {
  display: grid;
  gap: 0.25rem;
  font-size: 0.7rem;
}

.lux-portfolio-rollups__heatmap-head,
.lux-portfolio-rollups__heatmap-row {
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 0.6fr);
  gap: 0.25rem;
  align-items: center;
}

.lux-portfolio-rollups__cell {
  text-align: center;
  padding: 0.2rem;
  border-radius: 6px;
  font-weight: 700;
}

.lux-portfolio-rollups__cell.is-rose { background: rgba(244, 63, 94, 0.18); color: #be123c; }
.lux-portfolio-rollups__cell.is-amber { background: rgba(245, 158, 11, 0.18); color: #b45309; }
.lux-portfolio-rollups__cell.is-blue { background: rgba(59, 130, 246, 0.14); color: #1d4ed8; }
.lux-portfolio-rollups__cell.is-empty { color: #94a3b8; }

.lux-portfolio-rollups__risk-list {
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.35rem;
}

.lux-portfolio-rollups__risk-list li {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 0.35rem;
  align-items: center;
  font-size: 0.75rem;
}

.lux-portfolio-rollups__bar-row {
  display: grid;
  grid-template-columns: 1fr 1.2fr auto;
  gap: 0.5rem;
  align-items: center;
  font-size: 0.75rem;
  margin-bottom: 0.35rem;
}

.lux-portfolio-rollups__track {
  height: 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.2);
  overflow: hidden;
}

.lux-portfolio-rollups__fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #6366f1, #8b5cf6);
}

.lux-portfolio-rollups__finance {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.75rem;
}

.lux-portfolio-rollups__finance th,
.lux-portfolio-rollups__finance td {
  padding: 0.35rem 0.25rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  text-align: left;
}

.lux-portfolio-rollups__finance .is-positive { color: #047857; }
.lux-portfolio-rollups__finance .is-negative { color: #be123c; }

/* F16-T6 — Executive briefing luxury panel */
.lux-portfolio-briefing {
  position: relative;
  display: grid;
  gap: 1.15rem;
  padding: 0.15rem 0 0.25rem;
  isolation: isolate;
}

.lux-portfolio-briefing__ambient {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 14px;
}

.lux-portfolio-briefing__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(52px);
  opacity: 0.42;
}

.lux-portfolio-briefing__orb--a {
  width: 220px;
  height: 220px;
  top: -72px;
  right: -24px;
  background: rgba(139, 92, 246, 0.32);
}

.lux-portfolio-briefing__orb--b {
  width: 180px;
  height: 180px;
  bottom: -48px;
  left: -32px;
  background: rgba(99, 102, 241, 0.22);
}

.lux-portfolio-briefing__hero,
.lux-portfolio-briefing__metrics,
.lux-portfolio-briefing__story,
.lux-portfolio-briefing__actions,
.lux-portfolio-briefing__foot {
  position: relative;
  z-index: 1;
}

.lux-portfolio-briefing__hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem 1.25rem;
  padding: 1rem 1.1rem;
  border-radius: 16px;
  border: 1px solid rgba(139, 92, 246, 0.16);
  background:
    radial-gradient(circle at 0% 0%, rgba(139, 92, 246, 0.1), transparent 52%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.82));
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.lux-portfolio-briefing__health {
  position: relative;
  flex: 0 0 auto;
  width: 108px;
  height: 108px;
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  border: 4px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.lux-portfolio-briefing__health-glow {
  position: absolute;
  inset: -6px;
  border-radius: inherit;
  opacity: 0.45;
  filter: blur(8px);
  z-index: -1;
}

.lux-portfolio-briefing__health.is-green {
  border-color: rgba(16, 185, 129, 0.5);
  color: #047857;
}
.lux-portfolio-briefing__health.is-green .lux-portfolio-briefing__health-glow { background: rgba(16, 185, 129, 0.28); }

.lux-portfolio-briefing__health.is-amber {
  border-color: rgba(245, 158, 11, 0.5);
  color: #b45309;
}
.lux-portfolio-briefing__health.is-amber .lux-portfolio-briefing__health-glow { background: rgba(245, 158, 11, 0.28); }

.lux-portfolio-briefing__health.is-rose {
  border-color: rgba(244, 63, 94, 0.5);
  color: #be123c;
}
.lux-portfolio-briefing__health.is-rose .lux-portfolio-briefing__health-glow { background: rgba(244, 63, 94, 0.26); }

.lux-portfolio-briefing__health strong {
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
}

.lux-portfolio-briefing__health span {
  margin-top: 0.2rem;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-portfolio-briefing__hero-main {
  flex: 1 1 280px;
  min-width: 0;
}

.lux-portfolio-briefing__hero-actions {
  flex: 0 0 auto;
  margin-left: auto;
  align-self: flex-start;
}

.lux-portfolio-briefing__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #7c3aed;
}

.lux-portfolio-briefing__lead {
  margin: 0.45rem 0 0.65rem;
  font-size: 0.9375rem;
  line-height: 1.55;
  font-weight: 600;
  color: #0f172a;
}

.lux-portfolio-briefing__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.lux-portfolio-briefing__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: rgba(139, 92, 246, 0.12);
  color: #6d28d9;
}

.lux-portfolio-briefing__badge.is-muted {
  background: rgba(148, 163, 184, 0.14);
  color: #475569;
}

.lux-portfolio-briefing__label {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-portfolio-briefing__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.65rem;
}

.lux-portfolio-briefing__metric {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-portfolio-briefing__metric-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  font-size: 0.875rem;
}

.lux-portfolio-briefing__metric.is-green .lux-portfolio-briefing__metric-icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-portfolio-briefing__metric.is-amber .lux-portfolio-briefing__metric-icon { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-portfolio-briefing__metric.is-rose .lux-portfolio-briefing__metric-icon { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-portfolio-briefing__metric.is-blue .lux-portfolio-briefing__metric-icon { background: rgba(59, 130, 246, 0.12); color: #1d4ed8; }
.lux-portfolio-briefing__metric.is-violet .lux-portfolio-briefing__metric-icon { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-portfolio-briefing__metric.is-indigo .lux-portfolio-briefing__metric-icon { background: rgba(99, 102, 241, 0.12); color: #4338ca; }

.lux-portfolio-briefing__metric-label {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-portfolio-briefing__metric-copy strong {
  display: block;
  margin-top: 0.15rem;
  font-size: 1.125rem;
  font-weight: 900;
  color: #0f172a;
  line-height: 1.1;
}

.lux-portfolio-briefing__metric-copy small {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.7rem;
  color: #64748b;
  line-height: 1.35;
}

.lux-portfolio-briefing__story-head,
.lux-portfolio-briefing__actions-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  margin-bottom: 0.65rem;
}

.lux-portfolio-briefing__story-count,
.lux-portfolio-briefing__actions-note {
  font-size: 0.7rem;
  color: #94a3b8;
}

.lux-portfolio-briefing__story-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.65rem;
}

.lux-portfolio-briefing__story-card {
  position: relative;
  padding: 0.85rem 0.9rem 0.85rem 2.75rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(248, 250, 252, 0.75));
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-portfolio-briefing__story-index {
  position: absolute;
  top: 0.75rem;
  left: 0.85rem;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: #c4b5fd;
}

.lux-portfolio-briefing__story-card p {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #334155;
}

.lux-portfolio-briefing__action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.65rem;
}

.lux-portfolio-briefing__action {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  text-decoration: none;
  color: inherit;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-portfolio-briefing__action:hover {
  border-color: rgba(99, 102, 241, 0.28);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

.lux-portfolio-briefing__action-icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 0.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
}

.lux-portfolio-briefing__action.is-rose .lux-portfolio-briefing__action-icon { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-portfolio-briefing__action.is-amber .lux-portfolio-briefing__action-icon { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-portfolio-briefing__action.is-blue .lux-portfolio-briefing__action-icon { background: rgba(59, 130, 246, 0.12); color: #1d4ed8; }
.lux-portfolio-briefing__action.is-violet .lux-portfolio-briefing__action-icon { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }

.lux-portfolio-briefing__action-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.lux-portfolio-briefing__action-copy strong {
  display: block;
  font-size: 0.8125rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-portfolio-briefing__action-copy small {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.7rem;
  color: #64748b;
  line-height: 1.35;
}

.lux-portfolio-briefing__action-chevron {
  flex-shrink: 0;
  font-size: 0.875rem;
  color: #94a3b8;
}

.lux-portfolio-briefing__foot {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  padding: 0.65rem 0.75rem;
  border-radius: 12px;
  border: 1px dashed rgba(139, 92, 246, 0.22);
  background: rgba(139, 92, 246, 0.05);
  font-size: 0.7rem;
  line-height: 1.45;
  color: #64748b;
}

.lux-portfolio-briefing__foot i {
  margin-top: 0.1rem;
  color: #7c3aed;
}

.lux-portfolio-briefing__empty {
  display: grid;
  gap: 0.35rem;
  justify-items: center;
  text-align: center;
  padding: 1.5rem 1rem;
  border-radius: 16px;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  background: rgba(248, 250, 252, 0.85);
}

.lux-portfolio-briefing__empty-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(139, 92, 246, 0.12);
  color: #6d28d9;
  font-size: 1.1rem;
}

.lux-portfolio-briefing__empty strong {
  font-size: 0.9375rem;
  color: #0f172a;
}

.lux-portfolio-briefing__empty p {
  margin: 0;
  max-width: 36rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #64748b;
}

.lux-portfolio-briefing__skeleton-block {
  min-height: 120px;
  border-radius: 16px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.9), rgba(226, 232, 240, 0.6), rgba(241, 245, 249, 0.9));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-portfolio-briefing__skeleton-chip {
  min-height: 72px;
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.9), rgba(226, 232, 240, 0.6), rgba(241, 245, 249, 0.9));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-portfolio-briefing__skeleton-line {
  display: block;
  min-height: 14px;
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.9), rgba(226, 232, 240, 0.6), rgba(241, 245, 249, 0.9));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-portfolio-briefing__skeleton-line--short { width: 68%; }

@media (max-width: 720px) {
  .lux-portfolio-briefing__hero-actions {
    width: 100%;
    margin-left: 0;
  }

  .lux-portfolio-briefing__story-grid,
  .lux-portfolio-briefing__action-grid {
    grid-template-columns: 1fr;
  }
}

.lux-portfolio-analytics__top {
  display: flex;
  gap: 1.25rem;
  align-items: center;
}

.lux-portfolio-analytics__health {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  border: 3px solid rgba(148, 163, 184, 0.25);
}

.lux-portfolio-analytics__health.is-green { border-color: rgba(16, 185, 129, 0.45); color: #047857; }
.lux-portfolio-analytics__health.is-amber { border-color: rgba(245, 158, 11, 0.45); color: #b45309; }
.lux-portfolio-analytics__health.is-rose { border-color: rgba(244, 63, 94, 0.45); color: #be123c; }

.lux-portfolio-analytics__health strong {
  font-size: 1.35rem;
  line-height: 1;
}

.lux-portfolio-analytics__health span {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.lux-portfolio-analytics__kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.lux-portfolio-analytics__kpis div {
  min-width: 90px;
}

.lux-portfolio-analytics__kpis strong {
  display: block;
  font-size: 1rem;
}

.lux-portfolio-analytics__kpis span {
  font-size: 0.7rem;
  color: #64748b;
}

.lux-portfolio-analytics__section header h3 {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
}

.lux-portfolio-analytics__bar-row {
  display: grid;
  grid-template-columns: 1.2fr 1.4fr auto;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 0.35rem;
  font-size: 0.75rem;
}

.lux-portfolio-analytics__track {
  height: 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.18);
  overflow: hidden;
}

.lux-portfolio-analytics__fill {
  height: 100%;
  border-radius: inherit;
}

.lux-portfolio-analytics__fill.is-green { background: #10b981; }
.lux-portfolio-analytics__fill.is-amber { background: #f59e0b; }
.lux-portfolio-analytics__fill.is-rose { background: #f43f5e; }

.lux-portfolio-analytics__program-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.5rem;
}

.lux-portfolio-analytics__program {
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  font-size: 0.75rem;
}

/* F16 — Portfolio scenario planning luxury panel */
.lux-portfolio-scenario {
  position: relative;
  display: grid;
  gap: 1.15rem;
  isolation: isolate;
}

.lux-portfolio-scenario__ambient {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 14px;
}

.lux-portfolio-scenario__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(52px);
  opacity: 0.4;
}

.lux-portfolio-scenario__orb--a {
  width: 200px;
  height: 200px;
  top: -64px;
  right: -20px;
  background: rgba(139, 92, 246, 0.3);
}

.lux-portfolio-scenario__orb--b {
  width: 160px;
  height: 160px;
  bottom: -40px;
  left: -24px;
  background: rgba(99, 102, 241, 0.22);
}

.lux-portfolio-scenario__list-wrap,
.lux-portfolio-scenario__comparison,
.lux-portfolio-scenario__comparison-empty,
.lux-portfolio-scenario__form {
  position: relative;
  z-index: 1;
}

.lux-portfolio-scenario__section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  margin-bottom: 0.65rem;
}

.lux-portfolio-scenario__label {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-portfolio-scenario__section-meta {
  font-size: 0.7rem;
  color: #94a3b8;
}

.lux-portfolio-scenario__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 0.65rem;
}

.lux-portfolio-scenario__card {
  position: relative;
  text-align: left;
  padding: 2.35rem 0.85rem 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.78));
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-portfolio-scenario__card:hover {
  border-color: rgba(139, 92, 246, 0.28);
  transform: translateY(-1px);
}

.lux-portfolio-scenario__card.is-active {
  border-color: rgba(139, 92, 246, 0.45);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.lux-portfolio-scenario__card-icon {
  position: absolute;
  top: 0.75rem;
  left: 0.85rem;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(139, 92, 246, 0.12);
  color: #6d28d9;
}

.lux-portfolio-scenario__card strong,
.lux-portfolio-scenario__card small {
  display: block;
}

.lux-portfolio-scenario__card strong {
  font-size: 0.875rem;
  color: #0f172a;
}

.lux-portfolio-scenario__card small {
  margin: 0.2rem 0 0.45rem;
  font-size: 0.72rem;
  color: #64748b;
  line-height: 1.35;
}

.lux-portfolio-scenario__comparison {
  padding: 1rem;
  border-radius: 16px;
  border: 1px solid rgba(139, 92, 246, 0.16);
  background:
    radial-gradient(circle at 0% 0%, rgba(139, 92, 246, 0.08), transparent 48%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.82));
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.lux-portfolio-scenario__comparison-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  margin-bottom: 0.75rem;
}

.lux-portfolio-scenario__comparison-name {
  font-size: 0.8125rem;
  font-weight: 800;
  color: #6d28d9;
}

.lux-portfolio-scenario__comparison-empty {
  display: grid;
  gap: 0.45rem;
  justify-items: center;
  text-align: center;
  padding: 1.25rem;
  border-radius: 14px;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  background: rgba(248, 250, 252, 0.85);
}

.lux-portfolio-scenario__comparison-empty i {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(139, 92, 246, 0.12);
  color: #6d28d9;
}

.lux-portfolio-scenario__delta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 0.65rem;
}

.lux-portfolio-scenario__delta-grid div {
  padding: 0.7rem 0.75rem;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  background: rgba(255, 255, 255, 0.72);
  font-size: 0.75rem;
}

.lux-portfolio-scenario__delta-grid div span {
  display: block;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-portfolio-scenario__delta-grid div strong {
  display: block;
  margin-top: 0.2rem;
  font-size: 1.05rem;
  font-weight: 900;
  color: #0f172a;
}

.lux-portfolio-scenario__delta-grid div.is-tone.is-green {
  border-color: rgba(16, 185, 129, 0.25);
  background: rgba(236, 253, 245, 0.75);
}
.lux-portfolio-scenario__delta-grid div.is-tone.is-rose {
  border-color: rgba(244, 63, 94, 0.25);
  background: rgba(255, 241, 242, 0.8);
}

.lux-portfolio-scenario__assumptions {
  margin: 0.75rem 0 0;
  padding: 0.65rem 0.85rem 0.65rem 1.1rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.55);
  font-size: 0.8125rem;
  color: #475569;
}

.lux-portfolio-scenario__form {
  padding: 1rem;
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.lux-portfolio-scenario__form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.lux-portfolio-scenario__form-grid label {
  display: grid;
  gap: 0.3rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: #475569;
}

.lux-portfolio-scenario__form-grid label.is-wide {
  grid-column: 1 / -1;
}

.lux-portfolio-scenario__form-grid input,
.lux-portfolio-scenario__form-grid textarea {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 10px;
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
  background: rgba(255, 255, 255, 0.9);
}

.lux-portfolio-scenario__form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.75rem;
}

.lux-portfolio-scenario__error {
  margin: 0.5rem 0 0;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: rgba(254, 226, 226, 0.55);
  color: #be123c;
  font-size: 0.8125rem;
  font-weight: 600;
}

.lux-portfolio-scenario__hint {
  margin: 0;
  font-size: 0.8125rem;
  color: #64748b;
  line-height: 1.45;
}

.lux-portfolio-scenario__skeleton {
  display: block;
  min-height: 88px;
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.9), rgba(226, 232, 240, 0.6), rgba(241, 245, 249, 0.9));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-portfolio-scenario__skeleton--wide { min-height: 120px; }

.lux-portfolio-lux--scenarios .lux-portfolio-lux-hero {
  border: 1px solid rgba(139, 92, 246, 0.14);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
}

.lux-employee-360__finance-skeleton {
  min-height: 160px;
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.9), rgba(226, 232, 240, 0.6), rgba(241, 245, 249, 0.9));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-employee-360__finance-mask-note {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 0.75rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: rgba(148, 163, 184, 0.12);
  font-size: 0.75rem;
  color: #475569;
}

.lux-employee-360__finance-section {
  margin-top: 1rem;
}

.lux-employee-360__section-title {
  margin: 0 0 0.65rem;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

@media (max-width: 900px) {
  .lux-portfolio-lux-hero__top {
    flex-direction: column;
  }

  .lux-portfolio-roadmap__lanes {
    grid-template-columns: 1fr;
  }

  .lux-portfolio-scenario__form-grid {
    grid-template-columns: 1fr;
  }
}

/* F24 — Analytics platform luxury layout */
.lux-hrms-dash.lux-analytics-module.lux-analytics-lux.pd-page {
  --pd-gap: 14px;
  padding: var(--lux-page-block-gap-y) var(--lux-page-gutter-x, 0.75rem) var(--lux-page-block-bottom, 1.5rem);
  max-width: 100%;
}

/* Align shell page header with analytics module gutter */
.vleft:has(.lux-analytics-module) #page_top.lux-header-bar .page-header {
  padding-left: var(--lux-page-gutter-x);
  padding-right: var(--lux-page-gutter-x);
}

.lux-analytics-lux {
  position: relative;
  padding: 0;
  max-width: 100%;
}

.lux-analytics-lux__ambient {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.lux-analytics-lux__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(48px);
  opacity: 0.38;
}

.lux-analytics-lux__orb--a {
  width: 240px;
  height: 240px;
  top: -48px;
  right: 6%;
}

.lux-analytics-lux__orb--b {
  width: 200px;
  height: 200px;
  bottom: 8%;
  left: -32px;
}

.lux-analytics-lux.is-indigo .lux-analytics-lux__orb--a { background: rgba(99, 102, 241, 0.35); }
.lux-analytics-lux.is-violet .lux-analytics-lux__orb--a { background: rgba(139, 92, 246, 0.35); }
.lux-analytics-lux.is-blue .lux-analytics-lux__orb--a { background: rgba(14, 165, 233, 0.32); }
.lux-analytics-lux.is-green .lux-analytics-lux__orb--a { background: rgba(16, 185, 129, 0.35); }
.lux-analytics-lux.is-amber .lux-analytics-lux__orb--a { background: rgba(245, 158, 11, 0.32); }
.lux-analytics-lux.is-rose .lux-analytics-lux__orb--a { background: rgba(244, 63, 94, 0.3); }
.lux-analytics-lux.is-slate .lux-analytics-lux__orb--a { background: rgba(100, 116, 139, 0.28); }

.lux-analytics-lux-hero {
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  margin-bottom: 1rem;
}

.lux-analytics-lux-hero,
.lux-analytics-lux__kpi-strip,
.lux-analytics-lux__insights,
.lux-analytics-lux__quick-nav,
.lux-analytics-lux__content {
  position: relative;
  z-index: 1;
}

.lux-analytics-lux-hero__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  width: 100%;
}

.lux-analytics-lux-hero__main {
  flex: 1 1 320px;
  min-width: 0;
}

.lux-analytics-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.55rem;
  flex: 0 0 auto;
  margin-left: auto;
}

.lux-analytics-hero__source {
  align-self: flex-end;
}

.lux-analytics-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-analytics-lux-hero.is-indigo .lux-hrms-dash__hero-title span { color: #4338ca; }
.lux-analytics-lux-hero.is-violet .lux-hrms-dash__hero-title span { color: #6d28d9; }
.lux-analytics-lux-hero.is-blue .lux-hrms-dash__hero-title span { color: #0284c7; }
.lux-analytics-lux-hero.is-green .lux-hrms-dash__hero-title span { color: #059669; }
.lux-analytics-lux-hero.is-amber .lux-hrms-dash__hero-title span { color: #d97706; }
.lux-analytics-lux-hero.is-rose .lux-hrms-dash__hero-title span { color: #e11d48; }
.lux-analytics-lux-hero.is-slate .lux-hrms-dash__hero-title span { color: #475569; }

.lux-analytics-action { white-space: nowrap; display: inline-flex; align-items: center; gap: 0.35rem; }

.lux-analytics-lux__kpi-strip { margin: 0 0 1rem; }
.lux-analytics-lux__insights { margin: 0 0 1rem; }
.lux-analytics-lux__quick-nav { margin-bottom: 1rem; }
.lux-analytics-lux__content { display: grid; gap: var(--lux-module-section-gap); }

.lux-analytics-lux__panel {
  margin-bottom: 0;
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

.lux-analytics-lux__panel.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.55); }
.lux-analytics-lux__panel.is-violet { border-top: 3px solid rgba(139, 92, 246, 0.5); }
.lux-analytics-lux__panel.is-blue { border-top: 3px solid rgba(14, 165, 233, 0.55); }
.lux-analytics-lux__panel.is-green { border-top: 3px solid rgba(16, 185, 129, 0.55); }
.lux-analytics-lux__panel.is-amber { border-top: 3px solid rgba(245, 158, 11, 0.55); }
.lux-analytics-lux__panel.is-rose { border-top: 3px solid rgba(244, 63, 94, 0.5); }
.lux-analytics-lux__panel.is-slate { border-top: 3px solid rgba(100, 116, 139, 0.45); }

.lux-analytics-lux__panel-head { align-items: center; }

.lux-analytics-lux__panel-head-main {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  min-width: 0;
}

.lux-analytics-lux__panel-head-main > i {
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  flex-shrink: 0;
}

.lux-analytics-lux__panel.is-green .lux-analytics-lux__panel-head-main > i { background: rgba(16, 185, 129, 0.1); color: #047857; }
.lux-analytics-lux__panel.is-violet .lux-analytics-lux__panel-head-main > i { background: rgba(139, 92, 246, 0.1); color: #6d28d9; }
.lux-analytics-lux__panel.is-blue .lux-analytics-lux__panel-head-main > i { background: rgba(14, 165, 233, 0.1); color: #0284c7; }
.lux-analytics-lux__panel.is-amber .lux-analytics-lux__panel-head-main > i { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-analytics-lux__panel.is-rose .lux-analytics-lux__panel-head-main > i { background: rgba(244, 63, 94, 0.1); color: #be123c; }

.lux-analytics-lux__panel-body { padding: 0 1rem 1rem; }

.lux-analytics-lux__kpi-strip .lux-admin-kpi.is-indigo { border-color: rgba(99, 102, 241, 0.2); }
.lux-analytics-lux__kpi-strip .lux-admin-kpi.is-violet { border-color: rgba(124, 58, 237, 0.2); }
.lux-analytics-lux__kpi-strip .lux-admin-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-analytics-lux__kpi-strip .lux-admin-kpi.is-green { border-color: rgba(16, 185, 129, 0.2); }
.lux-analytics-lux__kpi-strip .lux-admin-kpi.is-amber { border-color: rgba(245, 158, 11, 0.2); }
.lux-analytics-lux__kpi-strip .lux-admin-kpi.is-slate { border-color: rgba(100, 116, 139, 0.2); }

.lux-analytics-hub__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.85rem;
}

.lux-analytics-hub__card {
  position: relative;
  display: grid;
  gap: 0.3rem;
  padding: 2.5rem 1rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.78));
  text-decoration: none;
  color: inherit;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-analytics-hub__card:hover {
  border-color: rgba(99, 102, 241, 0.35);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
  transform: translateY(-2px);
}

.lux-analytics-hub__card.is-violet { border-top: 3px solid rgba(139, 92, 246, 0.45); }
.lux-analytics-hub__card.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.45); }
.lux-analytics-hub__card.is-blue { border-top: 3px solid rgba(14, 165, 233, 0.45); }
.lux-analytics-hub__card.is-green { border-top: 3px solid rgba(16, 185, 129, 0.45); }
.lux-analytics-hub__card.is-amber { border-top: 3px solid rgba(245, 158, 11, 0.45); }
.lux-analytics-hub__card.is-rose { border-top: 3px solid rgba(244, 63, 94, 0.4); }
.lux-analytics-hub__card.is-slate { border-top: 3px solid rgba(100, 116, 139, 0.4); }

.lux-analytics-hub__card-icon {
  position: absolute;
  top: 0.85rem;
  left: 1rem;
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
}

.lux-analytics-hub__card strong {
  font-size: 0.9375rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-analytics-hub__card-value {
  font-size: 1.35rem;
  font-weight: 900;
  color: #0f172a;
  line-height: 1.1;
}

.lux-analytics-hub__card p,
.lux-analytics-hub__card small {
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.4;
}

.lux-analytics-hub__card-eyebrow {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-analytics-hub__skeleton,
.lux-analytics-hub__loading {
  min-height: 160px;
  border-radius: 16px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-analytics-hub__empty {
  padding: 1.25rem;
  border-radius: 14px;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  background: rgba(248, 250, 252, 0.8);
  color: #64748b;
  font-size: 0.8125rem;
}

.lux-analytics-hub__empty strong {
  display: block;
  color: #0f172a;
  margin-bottom: 0.25rem;
}

.lux-analytics-metric-table-wrap {
  overflow: auto;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  background: rgba(255, 255, 255, 0.55);
}

.lux-analytics-metric-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.lux-analytics-metric-table th,
.lux-analytics-metric-table td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  text-align: left;
  vertical-align: top;
}

.lux-analytics-metric-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #64748b;
  background: rgba(248, 250, 252, 0.98);
}

.lux-analytics-metric-table tbody tr:hover {
  background: linear-gradient(90deg, rgba(99, 102, 241, 0.04), rgba(255, 255, 255, 0.2));
}

.lux-analytics-metric-table__badge {
  margin-left: 0.35rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  background: rgba(245, 158, 11, 0.14);
  color: #b45309;
}

.lux-analytics-metric-table__link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.55rem;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #4338ca;
  background: rgba(99, 102, 241, 0.08);
  text-decoration: none;
}

.lux-analytics-metric-table__link:hover {
  background: rgba(99, 102, 241, 0.14);
}

/* F24-T3/T4 report builder */
.lux-report-builder {
  display: grid;
  grid-template-columns: minmax(240px, 280px) 1fr;
  gap: 1rem;
}

.lux-report-builder__sidebar {
  display: grid;
  gap: 0.75rem;
  align-content: start;
  padding: 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.85));
}

.lux-report-builder__main {
  display: grid;
  gap: 1rem;
}

.lux-report-builder__loading,
.lux-report-builder__hint {
  font-size: 0.8125rem;
  color: #64748b;
}

.lux-report-builder__label {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
  margin: 0.25rem 0 0.35rem;
}

.lux-report-builder__report-list,
.lux-report-builder__template-list {
  display: grid;
  gap: 0.5rem;
}

.lux-report-builder__report-card,
.lux-report-builder__template {
  text-align: left;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.75));
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-report-builder__report-card:hover,
.lux-report-builder__template:hover {
  border-color: rgba(99, 102, 241, 0.28);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
  transform: translateY(-1px);
}

.lux-report-builder__report-card.is-active {
  border-color: rgba(99, 102, 241, 0.45);
  box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.12), 0 10px 24px rgba(99, 102, 241, 0.08);
}

.lux-report-builder__report-card strong,
.lux-report-builder__template strong {
  display: block;
  font-size: 0.8125rem;
}

.lux-report-builder__report-card small,
.lux-report-builder__template small {
  display: block;
  font-size: 0.7rem;
  color: #64748b;
}

.lux-report-builder__badge {
  display: inline-flex;
  margin-top: 0.25rem;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  font-size: 0.6rem;
  font-weight: 800;
  text-transform: uppercase;
}

.lux-report-builder__badge.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-report-builder__badge.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-report-builder__badge.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-report-builder__form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 0.5rem;
}

.lux-report-builder__form-grid label {
  display: grid;
  gap: 0.25rem;
  font-size: 0.75rem;
}

.lux-report-builder__form-grid label.is-wide {
  grid-column: 1 / -1;
}

.lux-report-builder__form {
  padding: 0.9rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: rgba(255, 255, 255, 0.72);
}

.lux-report-builder__form-grid input,
.lux-report-builder__form-grid select {
  border: 1px solid rgba(203, 213, 225, 0.95);
  border-radius: 10px;
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.92);
}

.lux-report-builder__metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 0.5rem;
  max-height: 260px;
  overflow-y: auto;
  padding: 0.5rem;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.65);
}

.lux-report-builder__metric {
  display: flex;
  gap: 0.45rem;
  align-items: flex-start;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  border: 1px solid transparent;
  font-size: 0.75rem;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.8);
}

.lux-report-builder__metric.is-selected {
  border-color: rgba(99, 102, 241, 0.35);
  background: rgba(99, 102, 241, 0.1);
  box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.08);
}

.lux-report-builder__metric strong,
.lux-report-builder__metric small {
  display: block;
}

.lux-report-builder__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
  margin-top: 0.75rem;
}

.lux-report-builder__error {
  margin: 0.35rem 0 0;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: rgba(254, 226, 226, 0.55);
  color: #be123c;
  font-size: 0.8125rem;
  font-weight: 600;
}

.lux-report-builder__preview-wrap {
  margin-top: 0.25rem;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: rgba(248, 250, 252, 0.65);
}

.lux-report-builder__preview header {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: #64748b;
  margin-bottom: 0.5rem;
}

.lux-report-builder__preview-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.lux-report-builder__preview-table th,
.lux-report-builder__preview-table td {
  padding: 0.4rem 0.45rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  text-align: left;
}

.lux-report-builder__preview-table tr.is-sensitive td {
  background: rgba(245, 158, 11, 0.06);
}

.lux-report-builder__preview-table small {
  display: block;
  color: #64748b;
  font-size: 0.65rem;
}

/* F24-T5 scheduled reports */
.lux-scheduled-reports {
  display: grid;
  grid-template-columns: minmax(240px, 280px) 1fr;
  gap: 1rem;
}

.lux-scheduled-reports__sidebar {
  display: grid;
  gap: 0.75rem;
  align-content: start;
  padding: 0.85rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.85));
}

.lux-scheduled-reports__main {
  display: grid;
  gap: 1rem;
}

.lux-scheduled-reports__form {
  padding: 0.9rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: rgba(255, 255, 255, 0.72);
}

.lux-scheduled-reports__jobs {
  padding: 0.85rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: rgba(248, 250, 252, 0.65);
}

.lux-scheduled-reports__loading,
.lux-scheduled-reports__hint {
  font-size: 0.8125rem;
  color: #64748b;
}

.lux-scheduled-reports__label {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
  margin: 0.5rem 0 0.35rem;
}

.lux-scheduled-reports__list {
  display: grid;
  gap: 0.4rem;
}

.lux-scheduled-reports__card {
  text-align: left;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.75));
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-scheduled-reports__card:hover {
  border-color: rgba(245, 158, 11, 0.28);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
  transform: translateY(-1px);
}

.lux-scheduled-reports__card.is-active {
  border-color: rgba(245, 158, 11, 0.45);
  box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.12), 0 10px 24px rgba(245, 158, 11, 0.08);
}

.lux-scheduled-reports__card strong {
  display: block;
  font-size: 0.8125rem;
}

.lux-scheduled-reports__card small {
  display: block;
  font-size: 0.7rem;
  color: #64748b;
}

.lux-scheduled-reports__badge {
  display: inline-flex;
  margin-top: 0.25rem;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  font-size: 0.6rem;
  font-weight: 800;
  text-transform: uppercase;
}

.lux-scheduled-reports__badge.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-scheduled-reports__badge.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-scheduled-reports__badge.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-scheduled-reports__badge.is-blue { background: rgba(59, 130, 246, 0.12); color: #1d4ed8; }
.lux-scheduled-reports__badge.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-scheduled-reports__form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.lux-scheduled-reports__form-grid label {
  display: grid;
  gap: 0.25rem;
  font-size: 0.75rem;
}

.lux-scheduled-reports__form-grid label.is-wide {
  grid-column: 1 / -1;
}

.lux-scheduled-reports__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.lux-scheduled-reports__error {
  color: #be123c;
  font-size: 0.75rem;
}

.lux-scheduled-reports__jobs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
  border-radius: 12px;
  overflow: hidden;
}

.lux-scheduled-reports__jobs-table th,
.lux-scheduled-reports__jobs-table td {
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  text-align: left;
}

.lux-scheduled-reports__jobs-table thead th {
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
  background: rgba(248, 250, 252, 0.98);
}

.lux-scheduled-reports__jobs-table small {
  display: block;
  color: #64748b;
  font-size: 0.65rem;
}

/* F24-T6 saved filters + drill-down */
.lux-analytics-filters__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
}

.lux-analytics-filters__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.lux-analytics-filters {
  display: grid;
  gap: 0.75rem;
}

.lux-analytics-filters__chip {
  text-align: left;
  padding: 0.65rem 0.8rem;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.75));
  cursor: pointer;
  min-width: 150px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-analytics-filters__chip:hover {
  border-color: rgba(99, 102, 241, 0.28);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
}

.lux-analytics-filters__chip.is-active {
  border-color: rgba(99, 102, 241, 0.45);
  box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.1);
}

.lux-analytics-filters__chip strong {
  display: block;
  font-size: 0.8125rem;
}

.lux-analytics-filters__chip small {
  display: block;
  font-size: 0.65rem;
  color: #64748b;
}

.lux-analytics-filters__default {
  margin-left: 0.35rem;
  font-size: 0.6rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #4f46e5;
}

.lux-analytics-filters__hint,
.lux-analytics-filters__loading,
.lux-analytics-filters__error {
  font-size: 0.75rem;
  color: #64748b;
}

.lux-analytics-filters__error {
  color: #be123c;
}

.lux-analytics-drilldown {
  display: grid;
  gap: 0.75rem;
}

.lux-analytics-drilldown__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.lux-analytics-drilldown__label {
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-analytics-drilldown__count {
  font-size: 0.75rem;
  font-weight: 700;
  color: #4338ca;
  background: rgba(99, 102, 241, 0.08);
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
}

.lux-analytics-drilldown__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 0.65rem;
}

.lux-analytics-drilldown__card {
  display: grid;
  gap: 0.2rem;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(238, 242, 255, 0.55));
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-analytics-drilldown__card:hover {
  border-color: rgba(99, 102, 241, 0.35);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
  transform: translateY(-1px);
}

.lux-analytics-drilldown__card-icon {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  margin-bottom: 0.15rem;
}

.lux-analytics-drilldown__card strong {
  font-size: 0.8125rem;
  color: #0f172a;
}

.lux-analytics-drilldown__card small {
  font-size: 0.7rem;
  color: #64748b;
}

/* F24-T7 AI insight panel */
.lux-analytics-ai {
  padding: 0.75rem;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.08), rgba(99, 102, 241, 0.04));
  border: 1px solid rgba(139, 92, 246, 0.18);
}

.lux-analytics-ai__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.lux-analytics-ai__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #7c3aed;
}

.lux-analytics-ai__head h4 {
  margin: 0.15rem 0 0;
  font-size: 0.9375rem;
}

.lux-analytics-ai__badge {
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  font-size: 0.6rem;
  font-weight: 800;
  text-transform: uppercase;
  background: rgba(139, 92, 246, 0.14);
  color: #6d28d9;
}

.lux-analytics-ai__summary,
.lux-analytics-ai__rec {
  font-size: 0.8125rem;
  line-height: 1.45;
  margin: 0.35rem 0;
}

.lux-analytics-ai__evidence {
  margin: 0.35rem 0 0.5rem;
  padding-left: 1.1rem;
  font-size: 0.75rem;
  color: #475569;
}

.lux-analytics-ai__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.5rem;
  font-size: 0.7rem;
}

.lux-analytics-ai__confidence.is-high { color: #047857; font-weight: 700; }
.lux-analytics-ai__confidence.is-medium { color: #b45309; font-weight: 700; }

.lux-analytics-ai__note {
  color: #64748b;
}

.lux-analytics-ai__disclaimer {
  margin-top: 0.35rem;
  font-size: 0.65rem;
  color: #94a3b8;
}

.lux-report-builder__skeleton,
.lux-scheduled-reports__skeleton,
.lux-analytics-filters__skeleton,
.lux-analytics-metric-table__skeleton {
  min-height: 140px;
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-analytics-consolidate-banner {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 0 0.85rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(99, 102, 241, 0.22);
  background: linear-gradient(135deg, rgba(238, 242, 255, 0.95), rgba(255, 255, 255, 0.88));
}

.lux-analytics-consolidate-banner strong {
  display: block;
  font-size: 0.875rem;
  color: #0f172a;
  margin-bottom: 0.2rem;
}

.lux-analytics-consolidate-banner p {
  margin: 0;
  font-size: 0.75rem;
  color: #475569;
  line-height: 1.45;
  max-width: 36rem;
}

.lux-analytics-consolidate-banner__link {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.75rem;
  border-radius: 0.55rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #4338ca;
  background: rgba(99, 102, 241, 0.1);
  text-decoration: none;
  white-space: nowrap;
}

.lux-analytics-consolidate-banner__link:hover {
  background: rgba(99, 102, 241, 0.16);
}

@media (max-width: 900px) {
  .lux-analytics-lux-hero__top { flex-direction: column; }
  .lux-analytics-hero__actions { align-items: stretch; margin-left: 0; }
  .lux-analytics-hero__buttons { justify-content: flex-start; }
  .lux-report-builder,
  .lux-scheduled-reports { grid-template-columns: 1fr; }
  .lux-report-builder__form-grid,
  .lux-scheduled-reports__form-grid { grid-template-columns: 1fr; }
  .lux-analytics-hub__grid { grid-template-columns: 1fr; }
  .lux-analytics-drilldown__grid { grid-template-columns: 1fr; }
}

/* F22 — Finance module luxury layout */
.lux-finance-lux {
  position: relative;
}

.lux-finance-lux__ambient {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.lux-finance-lux__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(48px);
  opacity: 0.35;
}

.lux-finance-lux__orb--a {
  width: 220px;
  height: 220px;
  top: -40px;
  right: 8%;
  background: rgba(99, 102, 241, 0.35);
}

.lux-finance-lux__orb--b {
  width: 180px;
  height: 180px;
  bottom: 10%;
  left: -20px;
  background: rgba(16, 185, 129, 0.25);
}

.lux-finance-lux-hero__top {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.lux-finance-lux__lede {
  font-size: 0.875rem;
  line-height: 1.5;
  color: #475569;
  margin: 0;
}

.lux-finance-lux__panel {
  margin-bottom: 1rem;
}

.lux-finance-register-wrap {
  overflow-x: auto;
}

.lux-finance-register tbody td strong,
.lux-finance-register tbody td small,
.lux-finance-register tbody td span {
  display: block;
}

.lux-finance-register__loading,
.lux-finance-register__empty {
  padding: 1.25rem;
  color: #64748b;
  font-size: 0.875rem;
}

.lux-finance-snapshots__toolbar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.lux-finance-snapshots__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  flex: 1;
}

.lux-finance-snapshots__field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 10rem;
}

.lux-finance-snapshots__field span {
  font-size: 0.75rem;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.lux-finance-snapshots__field input,
.lux-finance-snapshots__field select {
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 0.5rem;
  padding: 0.45rem 0.65rem;
  font-size: 0.875rem;
  background: rgba(255, 255, 255, 0.72);
}

.lux-finance-snapshots__export {
  white-space: nowrap;
}

.lux-finance-chart {
  padding: 0.5rem 0;
}

.lux-finance-chart__legend {
  display: flex;
  gap: 1rem;
  margin-bottom: 0.75rem;
  font-size: 0.8125rem;
  color: #64748b;
}

.lux-finance-chart__dot {
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  margin-right: 0.35rem;
}

.lux-finance-chart__dot.is-revenue {
  background: #4f46e5;
}

.lux-finance-chart__dot.is-cost {
  background: #f59e0b;
}

.lux-finance-chart__bars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(3.5rem, 1fr));
  gap: 0.5rem;
  align-items: end;
  min-height: 10rem;
}

.lux-finance-chart__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-finance-chart__stack {
  display: flex;
  gap: 0.2rem;
  align-items: flex-end;
  height: 8rem;
  width: 100%;
  justify-content: center;
}

.lux-finance-chart__bar {
  width: 0.85rem;
  border-radius: 0.35rem 0.35rem 0 0;
  min-height: 4px;
}

.lux-finance-chart__bar.is-revenue {
  background: linear-gradient(180deg, #818cf8, #4f46e5);
}

.lux-finance-chart__bar.is-cost {
  background: linear-gradient(180deg, #fcd34d, #f59e0b);
}

.lux-finance-plans {
  display: grid;
  gap: 0.85rem;
}

.lux-finance-plan-card,
.lux-finance-rec-card {
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 0.85rem;
  padding: 0.9rem 1rem;
  background: rgba(255, 255, 255, 0.55);
}

.lux-finance-plan-card header,
.lux-finance-rec-card header {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 0.65rem;
}

.lux-finance-plan-card__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  gap: 0.5rem;
  margin-bottom: 0.65rem;
}

.lux-finance-plan-card__metrics span {
  display: block;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-finance-plan-card__milestones {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}

.lux-finance-plan-card__milestones li {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 0.5rem;
  align-items: center;
  font-size: 0.8125rem;
}

.lux-finance-rec-card__meta,
.lux-finance-rec-card__actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: center;
}

.lux-finance-rec-card__actions {
  margin-top: 0.65rem;
}

.lux-finance-dash-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

.lux-finance-dash-list li {
  border-left: 3px solid #f43f5e;
  padding-left: 0.75rem;
}

.lux-finance-chart__loading,
.lux-finance-chart__empty {
  padding: 1rem;
  color: #64748b;
  font-size: 0.875rem;
}

@media (max-width: 900px) {
  .lux-analytics-lux-hero__top {
    flex-direction: column;
  }

  .lux-report-builder,
  .lux-scheduled-reports {
    grid-template-columns: 1fr;
  }

  .lux-report-builder__form-grid,
  .lux-scheduled-reports__form-grid {
    grid-template-columns: 1fr;
  }
}

/* F22 finance layout polish — hero + toolbar alignment (v1.9.222) */
.lux-finance-lux-hero {
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  margin-bottom: 1rem;
}

.lux-finance-lux-hero,
.lux-finance-lux__kpi-strip,
.lux-finance-lux__insights,
.lux-finance-lux__quick-nav,
.lux-finance-lux__content {
  position: relative;
  z-index: 1;
}

.lux-finance-lux-hero__top {
  flex-wrap: wrap;
  width: 100%;
}

.lux-finance-lux-hero__main {
  flex: 1 1 320px;
  min-width: 0;
}

.lux-finance-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.55rem;
  flex: 0 0 auto;
  margin-left: auto;
}

.lux-finance-hero__source {
  align-self: flex-end;
}

.lux-finance-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-finance-lux-hero.is-indigo .lux-hrms-dash__hero-title span { color: #4338ca; }
.lux-finance-lux-hero.is-amber .lux-hrms-dash__hero-title span { color: #d97706; }
.lux-finance-lux-hero.is-green .lux-hrms-dash__hero-title span { color: #059669; }
.lux-finance-lux-hero.is-rose .lux-hrms-dash__hero-title span { color: #e11d48; }
.lux-finance-lux-hero.is-violet .lux-hrms-dash__hero-title span { color: #6d28d9; }

.lux-finance-action {
  white-space: nowrap;
}

.lux-finance-lux__kpi-strip { margin: 0 0 1rem; }
.lux-finance-lux__insights { margin: 0 0 1rem; }
.lux-finance-lux__quick-nav { margin-bottom: 1rem; }
.lux-finance-lux__content { display: grid; gap: var(--lux-module-section-gap); }

.lux-finance-lux__panel {
  margin-bottom: 0;
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

.lux-finance-lux__panel.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.55); }
.lux-finance-lux__panel.is-amber { border-top: 3px solid rgba(245, 158, 11, 0.55); }
.lux-finance-lux__panel.is-green { border-top: 3px solid rgba(16, 185, 129, 0.55); }
.lux-finance-lux__panel.is-rose { border-top: 3px solid rgba(244, 63, 94, 0.5); }
.lux-finance-lux__panel.is-violet { border-top: 3px solid rgba(139, 92, 246, 0.5); }

.lux-finance-lux__panel-head { align-items: center; }

.lux-finance-lux__panel-head-main {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  min-width: 0;
}

.lux-finance-lux__panel-head-main > i {
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  flex-shrink: 0;
}

.lux-finance-snapshots__toolbar {
  flex-wrap: nowrap;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: linear-gradient(135deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.88));
}

.lux-finance-snapshots__filters {
  flex: 1 1 auto;
  min-width: 0;
}

.lux-finance-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  flex: 0 0 auto;
  margin-left: auto;
}

.lux-finance-snapshots__field span {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.lux-finance-snapshots__field input,
.lux-finance-snapshots__field select {
  border-color: rgba(203, 213, 225, 0.95);
  font-weight: 600;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lux-finance-register-wrap {
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  background: rgba(255, 255, 255, 0.55);
}

.lux-finance-plan-card,
.lux-finance-rec-card {
  border-color: rgba(226, 232, 240, 0.95);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(248, 250, 252, 0.72));
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-finance-plan-card:hover,
.lux-finance-rec-card:hover {
  border-color: rgba(99, 102, 241, 0.28);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07);
  transform: translateY(-1px);
}

.lux-finance-rec-card__actions {
  justify-content: flex-end;
}

@media (max-width: 900px) {
  .lux-finance-lux-hero__top {
    flex-direction: column;
    align-items: stretch;
  }

  .lux-finance-hero__actions {
    align-items: stretch;
    margin-left: 0;
    width: 100%;
  }

  .lux-finance-snapshots__toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .lux-finance-toolbar__actions {
    margin-left: 0;
    justify-content: flex-start;
  }
}

/* F22 finance module — registers, forecast, dashboard richness */
.lux-finance-lux.is-indigo .lux-finance-lux__orb--a { background: rgba(99, 102, 241, 0.38); }
.lux-finance-lux.is-green .lux-finance-lux__orb--a { background: rgba(16, 185, 129, 0.35); }
.lux-finance-lux.is-amber .lux-finance-lux__orb--a { background: rgba(245, 158, 11, 0.32); }
.lux-finance-lux.is-rose .lux-finance-lux__orb--a { background: rgba(244, 63, 94, 0.3); }
.lux-finance-lux.is-violet .lux-finance-lux__orb--a { background: rgba(139, 92, 246, 0.32); }
.lux-finance-lux.is-blue .lux-finance-lux__orb--a { background: rgba(14, 165, 233, 0.32); }

.lux-finance-lux-hero.is-blue .lux-hrms-dash__hero-title span { color: #0284c7; }

.lux-finance-lux__panel.is-blue { border-top: 3px solid rgba(14, 165, 233, 0.55); }

.lux-finance-lux__panel-body {
  padding: 0 1rem 1rem;
}

.lux-finance-lux__panel.is-green .lux-finance-lux__panel-head-main > i {
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
}

.lux-finance-lux__panel.is-amber .lux-finance-lux__panel-head-main > i {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
}

.lux-finance-lux__panel.is-rose .lux-finance-lux__panel-head-main > i {
  background: rgba(244, 63, 94, 0.1);
  color: #be123c;
}

.lux-finance-lux__panel.is-violet .lux-finance-lux__panel-head-main > i {
  background: rgba(139, 92, 246, 0.1);
  color: #6d28d9;
}

.lux-finance-lux__panel.is-blue .lux-finance-lux__panel-head-main > i {
  background: rgba(14, 165, 233, 0.1);
  color: #0284c7;
}

.lux-finance-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.lux-finance-register thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 0.9rem 1rem;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #64748b;
  background: rgba(248, 250, 252, 0.98);
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.lux-finance-register tbody td {
  padding: 0.95rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  vertical-align: top;
}

.lux-finance-register__row:hover,
.lux-finance-register tbody tr:hover {
  background: linear-gradient(90deg, rgba(99, 102, 241, 0.04), rgba(255, 255, 255, 0.2));
}

.lux-finance-register__skeleton,
.lux-finance-chart__skeleton {
  min-height: 140px;
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-finance-register__loading {
  min-height: 140px;
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-finance-register__empty {
  margin: 0;
  padding: 1.1rem 1rem;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.85);
  color: #64748b;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
}

.lux-finance-register__foot {
  margin: 0;
  padding: 0.75rem 1rem;
  font-size: 0.75rem;
  color: #64748b;
  border-top: 1px solid rgba(148, 163, 184, 0.12);
}

.lux-finance-register__foot a {
  color: #4f46e5;
  font-weight: 600;
}

.lux-finance-forecast__summary {
  display: grid;
  gap: 0.5rem;
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(236, 253, 245, 0.65), rgba(255, 255, 255, 0.88));
}

.lux-finance-forecast__summary p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #475569;
}

.lux-finance-chart {
  padding: 0.85rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(248, 250, 252, 0.72));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-finance-chart__col span {
  font-weight: 700;
  color: #334155;
}

.lux-finance-chart__loading,
.lux-finance-chart__empty {
  min-height: 120px;
  border-radius: 14px;
  display: grid;
  place-content: center;
  padding: 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #64748b;
  background: rgba(248, 250, 252, 0.85);
}

.lux-finance-chart__loading {
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-finance-recs {
  display: grid;
  gap: 0.85rem;
}

.lux-finance-rec-card p {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #475569;
}

.lux-finance-rec-card header strong {
  display: block;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-finance-rec-card header small {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-finance-rec-card__meta {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #334155;
}

.lux-finance-plan-card header strong {
  display: block;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-finance-plan-card header small {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-finance-plan-card__metrics strong {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-finance-plan-card__milestones li {
  padding: 0.35rem 0;
  border-bottom: 1px dashed rgba(226, 232, 240, 0.85);
}

.lux-finance-dash-list {
  gap: 0.75rem;
}

.lux-finance-dash-list li {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-left: 3px solid rgba(244, 63, 94, 0.65);
  border-radius: 14px;
  padding: 0.85rem 1rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(248, 250, 252, 0.72));
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-finance-dash-list li:hover {
  border-color: rgba(244, 63, 94, 0.28);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07);
  transform: translateY(-1px);
}

.lux-finance-dash-list li strong {
  display: block;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-finance-dash-list li > span {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #be123c;
}

.lux-finance-dash-list li p {
  margin: 0.45rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #475569;
}

.lux-finance-lux__lede {
  margin: 0;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  background: rgba(236, 253, 245, 0.65);
  color: #047857;
  font-size: 0.875rem;
  font-weight: 600;
}

.lux-finance-snapshots {
  display: grid;
  gap: 1rem;
}

/* F10 — Expense management module luxury layout */
.lux-expense-lux {
  position: relative;
}

.lux-expense-lux__ambient {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.lux-expense-lux__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(48px);
  opacity: 0.38;
}

.lux-expense-lux__orb--a {
  width: 220px;
  height: 220px;
  top: -40px;
  right: 8%;
  background: rgba(16, 185, 129, 0.32);
}

.lux-expense-lux__orb--b {
  width: 180px;
  height: 180px;
  bottom: 10%;
  left: -20px;
  background: rgba(99, 102, 241, 0.22);
}

.lux-expense-lux.is-green .lux-expense-lux__orb--a { background: rgba(16, 185, 129, 0.35); }
.lux-expense-lux.is-indigo .lux-expense-lux__orb--a { background: rgba(99, 102, 241, 0.35); }
.lux-expense-lux.is-blue .lux-expense-lux__orb--a { background: rgba(14, 165, 233, 0.32); }

.lux-expense-lux-hero {
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  margin-bottom: 1rem;
}

.lux-expense-lux-hero,
.lux-expense-lux__kpi-strip,
.lux-expense-lux__insights,
.lux-expense-lux__quick-nav,
.lux-expense-lux__content {
  position: relative;
  z-index: 1;
}

.lux-expense-lux-hero__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  width: 100%;
}

.lux-expense-lux-hero__main {
  flex: 1 1 320px;
  min-width: 0;
}

.lux-expense-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.55rem;
  flex: 0 0 auto;
  margin-left: auto;
}

.lux-expense-hero__source {
  align-self: flex-end;
}

.lux-expense-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-expense-lux-hero.is-green .lux-hrms-dash__hero-title span { color: #059669; }
.lux-expense-lux-hero.is-indigo .lux-hrms-dash__hero-title span { color: #4338ca; }
.lux-expense-lux-hero.is-blue .lux-hrms-dash__hero-title span { color: #0284c7; }
.lux-expense-lux-hero.is-amber .lux-hrms-dash__hero-title span { color: #d97706; }
.lux-expense-lux-hero.is-rose .lux-hrms-dash__hero-title span { color: #e11d48; }
.lux-expense-lux-hero.is-violet .lux-hrms-dash__hero-title span { color: #6d28d9; }

.lux-expense-action {
  white-space: nowrap;
}

.lux-expense-lux__kpi-strip { margin: 0 0 1rem; }
.lux-expense-lux__insights { margin: 0 0 1rem; }
.lux-expense-lux__quick-nav { margin-bottom: 1rem; }
.lux-expense-lux__content { display: grid; gap: var(--lux-module-section-gap); }

.lux-expense-lux__panel {
  margin-bottom: 0;
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

.lux-expense-lux__panel.is-green { border-top: 3px solid rgba(16, 185, 129, 0.55); }
.lux-expense-lux__panel.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.55); }
.lux-expense-lux__panel.is-blue { border-top: 3px solid rgba(14, 165, 233, 0.55); }
.lux-expense-lux__panel.is-amber { border-top: 3px solid rgba(245, 158, 11, 0.55); }
.lux-expense-lux__panel.is-rose { border-top: 3px solid rgba(244, 63, 94, 0.5); }
.lux-expense-lux__panel.is-violet { border-top: 3px solid rgba(139, 92, 246, 0.5); }

.lux-expense-lux__panel-head { align-items: center; }

.lux-expense-lux__panel-head-main {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  min-width: 0;
}

.lux-expense-lux__panel-head-main > i {
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
  flex-shrink: 0;
}

.lux-expense-lux__panel.is-indigo .lux-expense-lux__panel-head-main > i {
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
}

.lux-expense-lux__panel.is-blue .lux-expense-lux__panel-head-main > i {
  background: rgba(14, 165, 233, 0.1);
  color: #0284c7;
}

.lux-expense-lux__panel.is-violet .lux-expense-lux__panel-head-main > i {
  background: rgba(139, 92, 246, 0.1);
  color: #6d28d9;
}

.lux-expense-lux__panel-body {
  padding: 0 1rem 1rem;
}

.lux-expense-register-wrap {
  overflow: auto;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  background: rgba(255, 255, 255, 0.55);
}

.lux-expense-register {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.lux-expense-register th,
.lux-expense-register td {
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.8);
  text-align: left;
  vertical-align: top;
}

.lux-expense-register thead th {
  position: sticky;
  top: 0;
  background: rgba(248, 250, 252, 0.98);
  z-index: 1;
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #64748b;
}

.lux-expense-register tbody tr:hover {
  background: rgba(248, 250, 252, 0.65);
}

.lux-expense-register tr.is-flagged {
  background: rgba(254, 226, 226, 0.28);
}

.lux-expense-register__title {
  font-weight: 700;
  color: #0f172a;
}

.lux-expense-register__meta {
  font-size: 0.75rem;
  color: #64748b;
  margin-top: 0.15rem;
}

.lux-expense-register__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  justify-content: flex-end;
}

.lux-expense-register__link {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4f46e5;
}

.lux-expense-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-left: 0.35rem;
}

.lux-expense-chip.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-expense-chip.is-blue { background: rgba(14, 165, 233, 0.12); color: #1d4ed8; }
.lux-expense-chip.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-expense-chip.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }

.lux-expense-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.48);
  backdrop-filter: blur(4px);
  z-index: 1200;
  display: flex;
  justify-content: flex-end;
}

.lux-expense-drawer {
  width: min(480px, 100vw);
  height: 100%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
  box-shadow: -16px 0 48px rgba(15, 23, 42, 0.14);
  display: flex;
  flex-direction: column;
}

.lux-expense-drawer__head {
  padding: 1.1rem 1.2rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.08), rgba(255, 255, 255, 0));
}

.lux-expense-drawer__head h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-expense-drawer__close {
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.55rem;
  background: rgba(255, 255, 255, 0.9);
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.lux-expense-drawer__foot {
  padding: 1rem 1.1rem;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  background: rgba(248, 250, 252, 0.85);
}

.lux-expense-drawer__body {
  padding: 1rem 1.1rem;
  overflow: auto;
  display: grid;
  gap: 0.85rem;
}

.lux-expense-drawer__error {
  margin: 0;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: rgba(254, 226, 226, 0.55);
  color: #be123c;
  font-size: 0.8125rem;
  font-weight: 600;
}

.lux-expense-field {
  display: grid;
  gap: 0.35rem;
}

.lux-expense-field > span {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-expense-field input,
.lux-expense-field select,
.lux-expense-field textarea {
  border: 1px solid rgba(203, 213, 225, 0.95);
  border-radius: 12px;
  padding: 0.55rem 0.7rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lux-expense-field--inline {
  grid-template-columns: auto 1fr;
  align-items: center;
}

.lux-expense-lines {
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 14px;
  padding: 0.75rem;
  background: rgba(248, 250, 252, 0.65);
}

.lux-expense-lines__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

.lux-expense-line {
  display: grid;
  grid-template-columns: 1fr 120px;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.lux-expense-receipts {
  border: 1px dashed rgba(203, 213, 225, 0.95);
  border-radius: 14px;
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.72);
}

.lux-expense-receipts__empty {
  margin: 0;
  font-size: 0.8125rem;
  color: #94a3b8;
}

.lux-expense-receipts__item {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  padding: 0.55rem 0;
  border-bottom: 1px dashed rgba(226, 232, 240, 0.9);
}

.lux-expense-analytics__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.lux-expense-analytics__card {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 14px;
  padding: 0.95rem 1rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(248, 250, 252, 0.72));
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-expense-analytics__card h3 {
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #475569;
}

.lux-expense-analytics__list,
.lux-expense-analytics__bars {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.lux-expense-analytics__list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.35rem 0;
  border-bottom: 1px dashed rgba(226, 232, 240, 0.85);
}

.lux-expense-analytics__list li.is-muted {
  color: #94a3b8;
  font-size: 0.8125rem;
}

.lux-expense-analytics__bars li {
  display: grid;
  grid-template-columns: 70px 1fr 24px;
  gap: 0.5rem;
  align-items: center;
}

.lux-expense-analytics__bar {
  height: 8px;
  background: rgba(226, 232, 240, 0.9);
  border-radius: 999px;
  overflow: hidden;
}

.lux-expense-analytics__bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #10b981, #6366f1);
  border-radius: 999px;
}

.lux-expense-leakage {
  display: grid;
  gap: 0.75rem;
}

.lux-expense-leakage__card {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 14px;
  padding: 0.9rem 1rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(248, 250, 252, 0.72));
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lux-expense-leakage__card:hover {
  border-color: rgba(139, 92, 246, 0.28);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07);
  transform: translateY(-1px);
}

.lux-expense-leakage__card.is-high {
  border-left: 3px solid rgba(244, 63, 94, 0.65);
}

.lux-expense-leakage__card.is-medium {
  border-left: 3px solid rgba(245, 158, 11, 0.65);
}

.lux-expense-leakage__card h3 {
  margin: 0.25rem 0 0.35rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0f172a;
}

.lux-expense-leakage__card p {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #475569;
}

.lux-expense-leakage__top {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
  margin-bottom: 0.35rem;
}

.lux-expense-leakage__meta {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
  margin-top: 0.5rem;
}

.lux-expense-leakage__empty {
  margin: 0;
  padding: 1rem;
  border-radius: 12px;
  background: rgba(236, 253, 245, 0.65);
  color: #047857;
  font-size: 0.875rem;
  font-weight: 600;
}

.lux-expense-register__skeleton,
.lux-expense-analytics__skeleton,
.lux-expense-leakage__skeleton {
  min-height: 120px;
  border-radius: 16px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-expense-lux__kpi-strip .lux-admin-kpi.is-indigo { border-color: rgba(99, 102, 241, 0.2); }
.lux-expense-lux__kpi-strip .lux-admin-kpi.is-rose { border-color: rgba(244, 63, 94, 0.2); }
.lux-expense-lux__kpi-strip .lux-admin-kpi.is-blue { border-color: rgba(37, 99, 235, 0.2); }
.lux-expense-lux__kpi-strip .lux-admin-kpi.is-violet { border-color: rgba(124, 58, 237, 0.2); }
.lux-expense-lux__kpi-strip .lux-admin-kpi.is-slate { border-color: rgba(100, 116, 139, 0.2); }

.lux-expense-lux__kpi-strip .lux-admin-kpi__icon.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-expense-lux__kpi-strip .lux-admin-kpi__icon.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-expense-lux__kpi-strip .lux-admin-kpi__icon.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-expense-lux__kpi-strip .lux-admin-kpi__icon.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }

.lux-expense-snapshots {
  display: grid;
  gap: 1rem;
}

.lux-expense-snapshots__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.lux-expense-snapshots__stat {
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  padding: 0.85rem 1rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(248, 250, 252, 0.72));
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-expense-snapshots__stat > span {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-expense-snapshots__stat > strong {
  display: block;
  margin-top: 0.25rem;
  font-size: 1.25rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-expense-snapshots__stat.is-amber { border-top: 3px solid rgba(245, 158, 11, 0.55); }
.lux-expense-snapshots__stat.is-rose { border-top: 3px solid rgba(244, 63, 94, 0.5); }
.lux-expense-snapshots__stat.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.55); }

.lux-expense-snapshots__toolbar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-end;
  flex-wrap: wrap;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: linear-gradient(135deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.88));
}

.lux-expense-snapshots__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  flex: 1;
  align-items: flex-end;
}

.lux-expense-snapshots__field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 10rem;
}

.lux-expense-snapshots__field--check {
  flex-direction: row;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  padding-bottom: 0.35rem;
}

.lux-expense-snapshots__field--check span {
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #475569;
}

.lux-expense-snapshots__field span {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-expense-snapshots__field input,
.lux-expense-snapshots__field select {
  border: 1px solid rgba(203, 213, 225, 0.95);
  border-radius: 0.5rem;
  padding: 0.45rem 0.65rem;
  font-size: 0.875rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lux-expense-analytics__card-head {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.lux-expense-analytics__card-head h3 {
  margin: 0;
}

.lux-expense-analytics__card-head p {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 600;
}

.lux-expense-analytics__card-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.lux-expense-analytics__card-icon.is-green {
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
}

.lux-expense-analytics__card-icon.is-amber {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
}

.lux-expense-analytics__list-copy {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 0.35rem;
}

.lux-expense-analytics__list li {
  align-items: center;
}

.lux-expense-analytics__list li strong {
  font-size: 0.875rem;
  color: #0f172a;
}

.lux-expense-leakage {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lux-expense-leakage__claim {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #6366f1;
}

.lux-expense-lux__panel.is-rose .lux-expense-lux__panel-head-main > i {
  background: rgba(244, 63, 94, 0.1);
  color: #be123c;
}

.lux-expense-lux__panel.is-amber .lux-expense-lux__panel-head-main > i {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
}

@media (max-width: 900px) {
  .lux-expense-lux-hero__top {
    flex-direction: column;
    align-items: stretch;
  }

  .lux-expense-hero__actions {
    align-items: stretch;
    margin-left: 0;
    width: 100%;
  }

  .lux-expense-analytics__grid {
    grid-template-columns: 1fr;
  }

  .lux-expense-leakage {
    grid-template-columns: 1fr;
  }

  .lux-expense-snapshots__summary {
    grid-template-columns: 1fr;
  }

  .lux-expense-line {
    grid-template-columns: 1fr;
  }
}

/* F23 — Employee finance module luxury layout */
.lux-empfin-lux { position: relative; }
.lux-empfin-lux__ambient { pointer-events: none; position: absolute; inset: 0; overflow: hidden; }
.lux-empfin-lux__orb { position: absolute; border-radius: 999px; filter: blur(48px); opacity: 0.38; }
.lux-empfin-lux__orb--a { width: 220px; height: 220px; top: -40px; right: 8%; background: rgba(139, 92, 246, 0.32); }
.lux-empfin-lux__orb--b { width: 180px; height: 180px; bottom: 10%; left: -20px; background: rgba(16, 185, 129, 0.22); }
.lux-empfin-lux.is-green .lux-empfin-lux__orb--a { background: rgba(16, 185, 129, 0.35); }
.lux-empfin-lux.is-indigo .lux-empfin-lux__orb--a { background: rgba(99, 102, 241, 0.35); }
.lux-empfin-lux.is-violet .lux-empfin-lux__orb--a { background: rgba(139, 92, 246, 0.35); }
.lux-empfin-lux-hero { flex-direction: column; align-items: stretch; gap: 1rem; margin-bottom: 1rem; }
.lux-empfin-lux-hero, .lux-empfin-lux__kpi-strip, .lux-empfin-lux__insights, .lux-empfin-lux__quick-nav, .lux-empfin-lux__content { position: relative; z-index: 1; }
.lux-empfin-lux-hero__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; width: 100%; }
.lux-empfin-lux-hero__main { flex: 1 1 320px; min-width: 0; }
.lux-empfin-lux-hero.is-green .lux-hrms-dash__hero-title span { color: #059669; }
.lux-empfin-lux-hero.is-indigo .lux-hrms-dash__hero-title span { color: #4338ca; }
.lux-empfin-lux-hero.is-violet .lux-hrms-dash__hero-title span { color: #6d28d9; }
.lux-empfin-action { white-space: nowrap; }
.lux-empfin-lux__kpi-strip, .lux-empfin-lux__insights { margin: 0 0 1rem; }
.lux-empfin-lux__quick-nav { margin-bottom: 1rem; }
.lux-empfin-lux__content { display: grid; gap: var(--lux-module-section-gap); }
.lux-empfin-lux__panel { margin-bottom: 0; border-radius: 16px; border: 1px solid rgba(226, 232, 240, 0.95); background: rgba(255, 255, 255, 0.72); box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05); overflow: hidden; }
.lux-empfin-lux__panel.is-green { border-top: 3px solid rgba(16, 185, 129, 0.55); }
.lux-empfin-lux__panel.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.55); }
.lux-empfin-lux__panel.is-violet { border-top: 3px solid rgba(139, 92, 246, 0.5); }
.lux-empfin-lux__panel.is-rose { border-top: 3px solid rgba(244, 63, 94, 0.5); }
.lux-empfin-lux__panel-head { align-items: center; }
.lux-empfin-lux__panel-head-main { display: flex; align-items: flex-start; gap: 0.65rem; min-width: 0; }
.lux-empfin-lux__panel-head-main > i { width: 2rem; height: 2rem; border-radius: 0.65rem; display: inline-flex; align-items: center; justify-content: center; font-size: 0.875rem; background: rgba(139, 92, 246, 0.1); color: #6d28d9; flex-shrink: 0; }
.lux-empfin-lux__panel.is-green .lux-empfin-lux__panel-head-main > i { background: rgba(16, 185, 129, 0.1); color: #047857; }
.lux-empfin-lux__panel.is-indigo .lux-empfin-lux__panel-head-main > i { background: rgba(99, 102, 241, 0.1); color: #4338ca; }
.lux-empfin-lux__panel-body { padding: 0 1rem 1rem; }
.lux-empfin-snapshots { display: grid; gap: 1rem; }
.lux-empfin-snapshots__toolbar { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-end; flex-wrap: wrap; padding: 0.85rem 1rem; border-radius: 14px; border: 1px solid rgba(226, 232, 240, 0.9); background: linear-gradient(135deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.88)); }
.lux-empfin-snapshots__filters { display: flex; flex-wrap: wrap; gap: 0.75rem; flex: 1; align-items: flex-end; }
.lux-empfin-snapshots__filters--inline select { border: 1px solid rgba(203, 213, 225, 0.95); border-radius: 0.5rem; padding: 0.45rem 0.65rem; font-weight: 600; }
.lux-empfin-snapshots__actions { display: flex; gap: 0.45rem; }
.lux-empfin-snapshots__field { display: flex; flex-direction: column; gap: 0.25rem; min-width: 10rem; }
.lux-empfin-snapshots__field--check { flex-direction: row; align-items: center; gap: 0.45rem; min-width: 0; padding-bottom: 0.35rem; }
.lux-empfin-snapshots__field span { font-size: 0.65rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #64748b; }
.lux-empfin-snapshots__field--check span { text-transform: none; letter-spacing: 0; font-size: 0.8125rem; font-weight: 600; color: #475569; }
.lux-empfin-snapshots__field input, .lux-empfin-snapshots__field select { border: 1px solid rgba(203, 213, 225, 0.95); border-radius: 0.5rem; padding: 0.45rem 0.65rem; font-weight: 600; background: rgba(255, 255, 255, 0.92); box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04); }
.lux-empfin-register-wrap { overflow: auto; border-radius: 12px; border: 1px solid rgba(226, 232, 240, 0.85); background: rgba(255, 255, 255, 0.55); }
.lux-empfin-register { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.lux-empfin-register th, .lux-empfin-register td { padding: 0.9rem 1rem; border-bottom: 1px solid rgba(226, 232, 240, 0.85); text-align: left; vertical-align: top; }
.lux-empfin-register thead th { position: sticky; top: 0; z-index: 1; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; color: #64748b; background: rgba(248, 250, 252, 0.98); }
.lux-empfin-register tbody tr:hover { background: linear-gradient(90deg, rgba(139, 92, 246, 0.04), rgba(255, 255, 255, 0.2)); }
.lux-empfin-register tr.is-flagged { background: rgba(254, 226, 226, 0.28); }
.lux-empfin-register__title { font-weight: 700; color: #0f172a; }
.lux-empfin-register__meta { font-size: 0.75rem; color: #64748b; margin-top: 0.15rem; }
.lux-empfin-register__meta.is-up { color: #047857; font-weight: 700; }
.lux-empfin-register__meta.is-down { color: #be123c; font-weight: 700; }
.lux-empfin-register__actions { display: flex; flex-wrap: wrap; gap: 0.35rem; justify-content: flex-end; }
.lux-empfin-register__skeleton { min-height: 140px; border-radius: 14px; background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8)); background-size: 200% 100%; animation: luxShimmer 1.4s ease infinite; }
.lux-empfin-plans { display: grid; gap: 0.85rem; }
.lux-empfin-plan-card { border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 14px; padding: 0.9rem 1rem; background: linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(248, 250, 252, 0.72)); box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04); transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease; }
.lux-empfin-plan-card:hover { border-color: rgba(139, 92, 246, 0.28); box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07); transform: translateY(-1px); }
.lux-empfin-plan-card header { display: flex; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.65rem; }
.lux-empfin-plan-card header strong { display: block; font-weight: 700; color: #0f172a; }
.lux-empfin-plan-card header small { display: block; margin-top: 0.15rem; color: #64748b; }
.lux-empfin-plan-card__metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); gap: 0.5rem; }
.lux-empfin-plan-card__metrics span { display: block; font-size: 0.75rem; color: #64748b; }
.lux-empfin-plan-card__metrics strong { display: block; margin-top: 0.15rem; font-weight: 700; color: #0f172a; }
.lux-empfin-finance-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.lux-empfin-finance-card { border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 14px; padding: 0.9rem 1rem; background: linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(248, 250, 252, 0.72)); box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04); }
.lux-empfin-finance-card h3 { margin: 0 0 0.75rem; font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #475569; }
.lux-empfin-finance-list, .lux-empfin-finance-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.lux-empfin-finance-list li, .lux-empfin-finance-bars li { display: grid; gap: 0.15rem; padding: 0.35rem 0; border-bottom: 1px dashed rgba(226, 232, 240, 0.85); }
.lux-empfin-finance-list li strong { font-size: 0.875rem; color: #0f172a; }
.lux-empfin-finance-list li span { font-size: 0.75rem; color: #64748b; font-weight: 600; }
.lux-empfin-finance-list li.is-muted, .lux-empfin-finance-bars li.is-muted { color: #94a3b8; font-size: 0.8125rem; }
.lux-empfin-finance-bars li { grid-template-columns: 56px 1fr 36px; align-items: center; gap: 0.5rem; }
.lux-empfin-finance-bar { height: 8px; background: rgba(226, 232, 240, 0.9); border-radius: 999px; overflow: hidden; }
.lux-empfin-finance-bar span { display: block; height: 100%; background: linear-gradient(90deg, #8b5cf6, #6366f1); border-radius: 999px; }
.lux-empfin-drawer-backdrop { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.48); backdrop-filter: blur(4px); z-index: 1200; display: flex; justify-content: flex-end; }
.lux-empfin-drawer { width: min(480px, 100vw); height: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)); box-shadow: -16px 0 48px rgba(15, 23, 42, 0.14); display: flex; flex-direction: column; }
.lux-empfin-drawer__head { padding: 1.1rem 1.2rem; border-bottom: 1px solid rgba(226, 232, 240, 0.9); display: flex; align-items: center; justify-content: space-between; background: linear-gradient(135deg, rgba(139, 92, 246, 0.08), rgba(255, 255, 255, 0)); }
.lux-empfin-drawer__head h2 { margin: 0; font-size: 1.05rem; font-weight: 700; }
.lux-empfin-drawer__close { width: 2rem; height: 2rem; border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 0.55rem; background: #fff; color: #64748b; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.lux-empfin-drawer__body { padding: 1rem 1.1rem; overflow: auto; display: grid; gap: 0.85rem; }
.lux-empfin-drawer__foot { padding: 1rem 1.1rem; border-top: 1px solid rgba(226, 232, 240, 0.9); margin-top: auto; display: flex; justify-content: flex-end; gap: 0.45rem; background: rgba(248, 250, 252, 0.85); }
.lux-empfin-drawer__error { margin: 0; padding: 0.65rem 0.75rem; border-radius: 10px; background: rgba(254, 226, 226, 0.55); color: #be123c; font-size: 0.8125rem; font-weight: 600; }
.lux-empfin-field { display: grid; gap: 0.35rem; }
.lux-empfin-field > span { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: #64748b; }
.lux-empfin-field input, .lux-empfin-field select, .lux-empfin-field textarea { border: 1px solid rgba(203, 213, 225, 0.95); border-radius: 12px; padding: 0.55rem 0.7rem; font-weight: 600; background: rgba(255, 255, 255, 0.92); }
.lux-empfin-costrev { display: grid; gap: 1rem; }
.lux-empfin-costrev__summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
.lux-empfin-costrev__stat { border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 12px; padding: 0.75rem 0.9rem; background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(248, 250, 252, 0.75)); }
.lux-empfin-costrev__stat span { display: block; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #64748b; }
.lux-empfin-costrev__stat strong { display: block; margin-top: 0.25rem; font-size: 1.125rem; color: #0f172a; }
.lux-empfin-risk { display: grid; gap: 0.85rem; }
.lux-empfin-risk__card { border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 14px; padding: 0.9rem 1rem; background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(254, 242, 242, 0.35)); box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04); }
.lux-empfin-risk__card.is-high { border-color: rgba(244, 63, 94, 0.35); }
.lux-empfin-risk__card.is-medium { border-color: rgba(245, 158, 11, 0.35); }
.lux-empfin-risk__top { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.55rem; }
.lux-empfin-chip { display: inline-flex; align-items: center; padding: 0.2rem 0.5rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.lux-empfin-chip.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-empfin-chip.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-empfin-chip.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-empfin-risk__card h3 { margin: 0 0 0.35rem; font-size: 1rem; font-weight: 700; color: #0f172a; }
.lux-empfin-risk__project { margin: 0 0 0.35rem; font-size: 0.8125rem; font-weight: 600; color: #475569; }
.lux-empfin-risk__card p { margin: 0; font-size: 0.875rem; color: #334155; line-height: 1.45; }
.lux-empfin-risk__meta { display: flex; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.65rem; font-size: 0.75rem; font-weight: 600; color: #64748b; }
.lux-empfin-risk__skeleton { min-height: 120px; border-radius: 14px; background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8)); background-size: 200% 100%; animation: luxShimmer 1.4s ease infinite; }
@media (max-width: 900px) {
  .lux-empfin-lux-hero__top { flex-direction: column; }
  .lux-empfin-finance-grid { grid-template-columns: 1fr; }
  .lux-empfin-costrev__summary { grid-template-columns: 1fr 1fr; }
}

/* F17 — AI work intelligence luxury layout */
.lux-hrms-dash.lux-ai-module.lux-ai-intel-lux.pd-page {
  --pd-gap: 14px;
  padding: var(--lux-page-block-gap-y) var(--lux-page-gutter-x, 0.75rem) var(--lux-page-block-bottom, 1.5rem);
  max-width: 100%;
}

.vleft:has(.lux-ai-module) #page_top.lux-header-bar .page-header {
  padding-left: var(--lux-page-gutter-x);
  padding-right: var(--lux-page-gutter-x);
}

.lux-ai-intel-lux {
  position: relative;
  padding: 0;
  max-width: 100%;
  isolation: isolate;
}

.lux-ai-intel-lux__ambient {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

.lux-ai-intel-lux__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(52px);
  opacity: 0.4;
}

.lux-ai-intel-lux__orb--a { width: 260px; height: 260px; top: -56px; right: 5%; }
.lux-ai-intel-lux__orb--b { width: 210px; height: 210px; bottom: 10%; left: -36px; background: rgba(99, 102, 241, 0.26); }
.lux-ai-intel-lux__orb--c { width: 160px; height: 160px; top: 38%; right: 28%; background: rgba(16, 185, 129, 0.16); opacity: 0.28; }

.lux-ai-intel-lux.is-indigo .lux-ai-intel-lux__orb--a { background: rgba(99, 102, 241, 0.36); }
.lux-ai-intel-lux.is-violet .lux-ai-intel-lux__orb--a { background: rgba(139, 92, 246, 0.38); }
.lux-ai-intel-lux.is-emerald .lux-ai-intel-lux__orb--a { background: rgba(16, 185, 129, 0.34); }
.lux-ai-intel-lux.is-amber .lux-ai-intel-lux__orb--a { background: rgba(245, 158, 11, 0.32); }
.lux-ai-intel-lux.is-rose .lux-ai-intel-lux__orb--a { background: rgba(244, 63, 94, 0.3); }

.lux-ai-intel-lux-hero {
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(139, 92, 246, 0.18);
  background:
    radial-gradient(circle at 0% 0%, rgba(139, 92, 246, 0.14), transparent 52%),
    radial-gradient(circle at 100% 100%, rgba(16, 185, 129, 0.12), transparent 48%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.96));
  box-shadow: 0 16px 40px rgba(99, 102, 241, 0.1);
}

.lux-ai-intel-lux-hero__bg {
  pointer-events: none;
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.55), transparent 42%);
  opacity: 0.9;
}

.lux-ai-intel-lux-hero__brand-row {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.35rem;
}

.lux-ai-intel-lux-hero__brand-icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(139, 92, 246, 0.12);
  color: #6d28d9;
  box-shadow: 0 8px 18px rgba(139, 92, 246, 0.14);
}

.lux-ai-intel-lux-hero.is-indigo .lux-ai-intel-lux-hero__brand-icon { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-ai-intel-lux-hero.is-violet .lux-ai-intel-lux-hero__brand-icon { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-ai-intel-lux-hero.is-emerald .lux-ai-intel-lux-hero__brand-icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-ai-intel-lux-hero.is-amber .lux-ai-intel-lux-hero__brand-icon { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-ai-intel-lux-hero.is-rose .lux-ai-intel-lux-hero__brand-icon { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-ai-intel-lux-hero.is-indigo { border-color: rgba(99, 102, 241, 0.22); }
.lux-ai-intel-lux-hero.is-violet { border-color: rgba(139, 92, 246, 0.24); }
.lux-ai-intel-lux-hero.is-emerald { border-color: rgba(16, 185, 129, 0.22); }
.lux-ai-intel-lux-hero.is-amber { border-color: rgba(245, 158, 11, 0.22); }
.lux-ai-intel-lux-hero.is-rose { border-color: rgba(244, 63, 94, 0.2); }

.lux-ai-intel-lux-hero,
.lux-ai-intel-lux__kpi-strip,
.lux-ai-intel-lux__insights,
.lux-ai-intel-lux__quick-nav,
.lux-ai-intel-lux__content {
  position: relative;
  z-index: 1;
}

.lux-ai-intel-lux-hero__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  width: 100%;
}

.lux-ai-intel-lux-hero__main { flex: 1 1 320px; min-width: 0; }

.lux-ai-intel-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.55rem;
  flex: 0 0 auto;
  margin-left: auto;
}

.lux-ai-intel-hero__source { align-self: flex-end; }

.lux-ai-intel-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-ai-intel-lux-hero.is-indigo .lux-hrms-dash__hero-title span { color: #4338ca; }
.lux-ai-intel-lux-hero.is-violet .lux-hrms-dash__hero-title span { color: #6d28d9; }
.lux-ai-intel-lux-hero.is-emerald .lux-hrms-dash__hero-title span { color: #059669; }
.lux-ai-intel-lux-hero.is-amber .lux-hrms-dash__hero-title span { color: #d97706; }
.lux-ai-intel-lux-hero.is-rose .lux-hrms-dash__hero-title span { color: #e11d48; }

.lux-ai-intel-action { white-space: nowrap; display: inline-flex; align-items: center; gap: 0.35rem; }

.lux-ai-intel-lux__kpi-strip { margin: 0 0 1rem; }
.lux-ai-intel-lux__insights { margin: 0 0 1rem; }
.lux-ai-intel-lux__quick-nav { margin-bottom: 1rem; }
.lux-ai-intel-lux__content { display: grid; gap: var(--lux-module-section-gap); }

.lux-ai-intel-lux__kpi-strip .lux-admin-kpi.is-violet { border-color: rgba(124, 58, 237, 0.2); }
.lux-ai-intel-lux__kpi-strip .lux-admin-kpi.is-indigo { border-color: rgba(99, 102, 241, 0.2); }
.lux-ai-intel-lux__kpi-strip .lux-admin-kpi.is-emerald { border-color: rgba(16, 185, 129, 0.2); }
.lux-ai-intel-lux__kpi-strip .lux-admin-kpi.is-amber { border-color: rgba(245, 158, 11, 0.2); }

.lux-ai-intel-snapshot {
  display: grid;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
  border-radius: 16px;
  border: 1px solid rgba(139, 92, 246, 0.22);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(238, 242, 255, 0.72));
  box-shadow: 0 12px 32px rgba(99, 102, 241, 0.08);
}

.lux-ai-intel-snapshot--loading {
  min-height: 120px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-ai-intel-snapshot__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: fit-content;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(139, 92, 246, 0.12);
  color: #6d28d9;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.lux-ai-intel-snapshot__metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.lux-ai-intel-snapshot__metric {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 12px;
  padding: 0.75rem 0.85rem;
  background: rgba(255, 255, 255, 0.78);
}

.lux-ai-intel-snapshot__metric span {
  display: block;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-ai-intel-snapshot__metric strong {
  display: block;
  margin-top: 0.25rem;
  font-size: 1.25rem;
  color: #0f172a;
}

.lux-ai-intel-snapshot__metric strong.is-compact { font-size: 0.95rem; line-height: 1.35; }

.lux-ai-intel-snapshot__metric small {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 600;
}

.lux-ai-intel-snapshot__metric.is-violet { border-top: 3px solid rgba(139, 92, 246, 0.45); }
.lux-ai-intel-snapshot__metric.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.45); }
.lux-ai-intel-snapshot__metric.is-emerald { border-top: 3px solid rgba(16, 185, 129, 0.45); }
.lux-ai-intel-snapshot__metric.is-amber { border-top: 3px solid rgba(245, 158, 11, 0.45); }

.lux-ai-intel-lux__panel {
  margin-bottom: 0;
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

.lux-ai-intel-lux__panel--featured {
  box-shadow: 0 14px 36px rgba(99, 102, 241, 0.1);
}

.lux-ai-intel-lux__panel.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.55); }
.lux-ai-intel-lux__panel.is-violet { border-top: 3px solid rgba(139, 92, 246, 0.5); }
.lux-ai-intel-lux__panel.is-emerald { border-top: 3px solid rgba(16, 185, 129, 0.55); }
.lux-ai-intel-lux__panel.is-amber { border-top: 3px solid rgba(245, 158, 11, 0.55); }
.lux-ai-intel-lux__panel.is-rose { border-top: 3px solid rgba(244, 63, 94, 0.5); }

.lux-ai-intel-lux__panel-head { align-items: center; }

.lux-ai-intel-lux__panel-head-main {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  min-width: 0;
}

.lux-ai-intel-lux__panel-head-main > i {
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  background: rgba(139, 92, 246, 0.1);
  color: #6d28d9;
  flex-shrink: 0;
}

.lux-ai-intel-lux__panel.is-indigo .lux-ai-intel-lux__panel-head-main > i { background: rgba(99, 102, 241, 0.1); color: #4338ca; }
.lux-ai-intel-lux__panel.is-violet .lux-ai-intel-lux__panel-head-main > i { background: rgba(139, 92, 246, 0.1); color: #6d28d9; }
.lux-ai-intel-lux__panel.is-emerald .lux-ai-intel-lux__panel-head-main > i { background: rgba(16, 185, 129, 0.1); color: #047857; }
.lux-ai-intel-lux__panel.is-amber .lux-ai-intel-lux__panel-head-main > i { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-ai-intel-lux__panel.is-rose .lux-ai-intel-lux__panel-head-main > i { background: rgba(244, 63, 94, 0.1); color: #be123c; }

.lux-ai-intel-lux__panel-body { padding: 0 1rem 1rem; }

.lux-ai-intel-layout { display: grid; grid-template-columns: 1.08fr 0.92fr; gap: 1rem; }
.lux-ai-intel-layout--single { grid-template-columns: 1fr; }

.lux-ai-intel-error {
  margin: 0;
  padding: 0.75rem 0.9rem;
  border-radius: 12px;
  background: rgba(254, 226, 226, 0.55);
  color: #be123c;
  font-weight: 600;
  border: 1px solid rgba(244, 63, 94, 0.2);
}

.lux-ai-intel-layout--console {
  align-items: stretch;
}

.lux-ai-intel-layout--console > .lux-ai-intel-lux__panel {
  min-height: 100%;
}

.lux-ai-intel-registry { display: grid; gap: 1rem; }
.lux-ai-intel-registry--grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }

.lux-ai-intel-agent-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 18px;
  padding: 1.1rem 1.15rem 1rem;
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.92) 48%, rgba(241, 245, 249, 0.88) 100%);
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 14px 32px rgba(15, 23, 42, 0.06);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.lux-ai-intel-agent-card__glow {
  position: absolute;
  top: -48px;
  right: -36px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.22), transparent 68%);
  pointer-events: none;
}

.lux-ai-intel-agent-card:hover {
  border-color: rgba(139, 92, 246, 0.34);
  box-shadow:
    0 2px 6px rgba(15, 23, 42, 0.05),
    0 18px 40px rgba(99, 102, 241, 0.12);
  transform: translateY(-2px);
}

.lux-ai-intel-agent-card.is-selected {
  border-color: rgba(109, 40, 217, 0.45);
  box-shadow:
    0 0 0 3px rgba(139, 92, 246, 0.12),
    0 18px 40px rgba(99, 102, 241, 0.16);
}

.lux-ai-intel-agent-card.is-indigo { border-top: 3px solid #6366f1; }
.lux-ai-intel-agent-card.is-violet { border-top: 3px solid #8b5cf6; }
.lux-ai-intel-agent-card.is-emerald { border-top: 3px solid #10b981; }
.lux-ai-intel-agent-card.is-amber { border-top: 3px solid #f59e0b; }
.lux-ai-intel-agent-card.is-rose { border-top: 3px solid #f43f5e; }

.lux-ai-intel-agent-card.is-indigo .lux-ai-intel-agent-card__glow { background: radial-gradient(circle, rgba(99, 102, 241, 0.24), transparent 68%); }
.lux-ai-intel-agent-card.is-violet .lux-ai-intel-agent-card__glow { background: radial-gradient(circle, rgba(139, 92, 246, 0.26), transparent 68%); }
.lux-ai-intel-agent-card.is-emerald .lux-ai-intel-agent-card__glow { background: radial-gradient(circle, rgba(16, 185, 129, 0.22), transparent 68%); }
.lux-ai-intel-agent-card.is-amber .lux-ai-intel-agent-card__glow { background: radial-gradient(circle, rgba(245, 158, 11, 0.22), transparent 68%); }
.lux-ai-intel-agent-card.is-rose .lux-ai-intel-agent-card__glow { background: radial-gradient(circle, rgba(244, 63, 94, 0.2), transparent 68%); }

.lux-ai-intel-agent-card.is-indigo .lux-ai-intel-agent-card__icon { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-ai-intel-agent-card.is-violet .lux-ai-intel-agent-card__icon { background: rgba(139, 92, 246, 0.14); color: #6d28d9; }
.lux-ai-intel-agent-card.is-emerald .lux-ai-intel-agent-card__icon { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-ai-intel-agent-card.is-amber .lux-ai-intel-agent-card__icon { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-ai-intel-agent-card.is-rose .lux-ai-intel-agent-card__icon { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-ai-intel-agent-card__head {
  position: relative;
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 0.7rem;
}

.lux-ai-intel-agent-card__titles { flex: 1; min-width: 0; }

.lux-ai-intel-agent-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  flex-shrink: 0;
  font-size: 1.05rem;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.lux-ai-intel-agent-card__titles strong {
  display: block;
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #0f172a;
}

.lux-ai-intel-agent-card__titles small {
  display: block;
  margin-top: 0.12rem;
  color: #64748b;
  font-weight: 700;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.lux-ai-intel-agent-card__lede {
  position: relative;
  margin: 0 0 0.85rem;
  color: #475569;
  line-height: 1.5;
  font-size: 0.84375rem;
  min-height: 2.7rem;
}

.lux-ai-intel-agent-card__metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.lux-ai-intel-agent-card__metric {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 12px;
  padding: 0.55rem 0.6rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.lux-ai-intel-agent-card__metric.is-alert {
  border-color: rgba(245, 158, 11, 0.35);
  background: linear-gradient(180deg, rgba(255, 251, 235, 0.95), #fff);
}

.lux-ai-intel-agent-card__metric span {
  display: block;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-ai-intel-agent-card__metric strong {
  display: block;
  margin-top: 0.2rem;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #0f172a;
}

.lux-ai-intel-agent-card__evidence {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.75rem;
}

.lux-ai-intel-agent-card__foot {
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-ai-intel-agent-card__confidence {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 0.7rem;
}

.lux-ai-intel-agent-card__last-run {
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 600;
}

.lux-ai-intel-agent-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.lux-ai-intel-registry__empty-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.55rem;
  background: rgba(139, 92, 246, 0.12);
  color: #6d28d9;
  font-size: 1.25rem;
}

.lux-ai-intel-register__empty-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 160px;
  padding: 1.5rem 1rem;
  border-radius: 16px;
  border: 1px dashed rgba(203, 213, 225, 0.95);
  background: rgba(255, 255, 255, 0.72);
  text-align: center;
  color: #64748b;
}

.lux-ai-intel-register__empty-card i {
  font-size: 1.25rem;
  color: #94a3b8;
}

.lux-ai-intel-register__empty-card strong {
  color: #0f172a;
  font-size: 0.9375rem;
}

.lux-ai-intel-register__empty-card p {
  margin: 0;
  max-width: 28rem;
  font-size: 0.8125rem;
  line-height: 1.45;
}

.lux-ai-intel-rec-card {
  position: relative;
  overflow: hidden;
}

.lux-ai-intel-rec-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #8b5cf6, #6366f1);
  opacity: 0.35;
}

.lux-ai-intel-rec-card.is-selected::before {
  opacity: 1;
}

.lux-ai-intel-lux__panel--featured {
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 18px 40px rgba(99, 102, 241, 0.08);
}

.lux-ai-intel-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.lux-ai-intel-chip.is-success { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-ai-intel-chip.is-warning { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-ai-intel-chip.is-danger { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-ai-intel-chip.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }

.lux-ai-intel-status {
  margin-left: auto;
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  background: rgba(226, 232, 240, 0.8);
  color: #475569;
  flex-shrink: 0;
}

.lux-ai-intel-status.is-active,
.lux-ai-intel-status.is-draft { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-ai-intel-status.is-accepted { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-ai-intel-status.is-rejected { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-ai-intel-status.is-deferred { background: rgba(245, 158, 11, 0.14); color: #b45309; }

.lux-ai-intel-recs {
  display: grid;
  grid-template-columns: minmax(240px, 0.88fr) 1.12fr;
  gap: 0.85rem;
  min-height: 320px;
}

.lux-ai-intel-recs__list {
  display: grid;
  gap: 0.55rem;
  align-content: start;
  max-height: 460px;
  overflow: auto;
  padding-right: 0.15rem;
}

.lux-ai-intel-rec-card {
  text-align: left;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 12px;
  padding: 0.8rem 0.9rem;
  background: rgba(255, 255, 255, 0.82);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.lux-ai-intel-rec-card:hover { border-color: rgba(99, 102, 241, 0.28); }

.lux-ai-intel-rec-card.is-selected {
  border-color: rgba(99, 102, 241, 0.45);
  background: linear-gradient(135deg, rgba(238, 242, 255, 0.78), rgba(255, 255, 255, 0.94));
  box-shadow: 0 8px 20px rgba(99, 102, 241, 0.08);
}

.lux-ai-intel-rec-card__top {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  align-items: flex-start;
  margin-bottom: 0.35rem;
}

.lux-ai-intel-rec-card p {
  margin: 0 0 0.45rem;
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 600;
}

.lux-ai-intel-recs__empty {
  display: grid;
  gap: 0.35rem;
  justify-items: center;
  text-align: center;
  padding: 2rem 1rem;
  color: #64748b;
}

.lux-ai-intel-recs__empty i { font-size: 1.5rem; color: #94a3b8; }
.lux-ai-intel-recs__empty strong { color: #0f172a; }

.lux-ai-intel-rec-detail {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  padding: 1rem 1.05rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.88));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-ai-intel-rec-detail__head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 0.75rem;
}

.lux-ai-intel-rec-detail__copy h3 {
  margin: 0.2rem 0 0.45rem;
  font-size: 1.05rem;
  color: #0f172a;
}

.lux-ai-intel-rec-detail__copy p {
  margin: 0;
  color: #334155;
  line-height: 1.45;
  font-size: 0.875rem;
}

.lux-ai-intel-rec-detail__eyebrow {
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-ai-intel-confidence-ring {
  position: relative;
  width: 88px;
  height: 88px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  text-align: center;
}

.lux-ai-intel-confidence-ring svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.lux-ai-intel-confidence-ring__track {
  fill: none;
  stroke: rgba(226, 232, 240, 0.95);
  stroke-width: 6;
}

.lux-ai-intel-confidence-ring__value {
  fill: none;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-dasharray: 226;
  transition: stroke-dashoffset 0.35s ease;
}

.lux-ai-intel-confidence-ring.is-success .lux-ai-intel-confidence-ring__value { stroke: #10b981; }
.lux-ai-intel-confidence-ring.is-warning .lux-ai-intel-confidence-ring__value { stroke: #f59e0b; }
.lux-ai-intel-confidence-ring.is-danger .lux-ai-intel-confidence-ring__value { stroke: #f43f5e; }

.lux-ai-intel-confidence-ring strong {
  display: block;
  font-size: 1rem;
  color: #0f172a;
  line-height: 1;
}

.lux-ai-intel-confidence-ring span {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
  max-width: 72px;
}

.lux-ai-intel-evidence h4 {
  margin: 0.85rem 0 0.45rem;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
}

.lux-ai-intel-evidence ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.lux-ai-intel-evidence li {
  border: 1px dashed rgba(203, 213, 225, 0.95);
  border-radius: 10px;
  padding: 0.6rem 0.7rem;
  background: rgba(255, 255, 255, 0.65);
}

.lux-ai-intel-evidence li strong {
  display: block;
  font-size: 0.75rem;
  color: #475569;
  margin-bottom: 0.15rem;
}

.lux-ai-intel-evidence li span { font-size: 0.8125rem; color: #334155; }

.lux-ai-intel-rec-detail__decision { margin-top: 0.85rem; display: grid; gap: 0.65rem; }
.lux-ai-intel-rec-detail__actions { display: flex; flex-wrap: wrap; gap: 0.4rem; }

.lux-ai-intel-rec-detail__footer {
  margin-top: 0.75rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
  font-size: 0.8125rem;
  color: #475569;
}

.lux-ai-intel-field { display: grid; gap: 0.35rem; }

.lux-ai-intel-field > span {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-ai-intel-field textarea,
.lux-ai-intel-filter {
  border: 1px solid rgba(203, 213, 225, 0.95);
  border-radius: 10px;
  padding: 0.5rem 0.65rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lux-ai-intel-register-wrap {
  overflow: auto;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  background: rgba(255, 255, 255, 0.55);
}

.lux-ai-intel-register { width: 100%; border-collapse: collapse; font-size: 0.875rem; }

.lux-ai-intel-register th,
.lux-ai-intel-register td {
  padding: 0.9rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  text-align: left;
  vertical-align: top;
}

.lux-ai-intel-register thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #64748b;
  background: rgba(248, 250, 252, 0.98);
}

.lux-ai-intel-register tbody tr:hover {
  background: linear-gradient(90deg, rgba(139, 92, 246, 0.04), rgba(255, 255, 255, 0.2));
}

.lux-ai-intel-register__title { font-weight: 700; color: #0f172a; }
.lux-ai-intel-register__meta { font-size: 0.75rem; color: #64748b; }
.lux-ai-intel-register__empty { margin: 0; padding: 1rem 0; color: #64748b; font-weight: 600; }

.lux-ai-intel-domain-hero {
  display: grid;
  gap: 0.85rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  padding: 1rem 1.1rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(238, 242, 255, 0.62));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.lux-ai-intel-domain-hero.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.5); }
.lux-ai-intel-domain-hero.is-violet { border-top: 3px solid rgba(139, 92, 246, 0.5); }
.lux-ai-intel-domain-hero.is-emerald { border-top: 3px solid rgba(16, 185, 129, 0.5); }
.lux-ai-intel-domain-hero.is-amber { border-top: 3px solid rgba(245, 158, 11, 0.5); }
.lux-ai-intel-domain-hero.is-rose { border-top: 3px solid rgba(244, 63, 94, 0.5); }

.lux-ai-intel-domain-hero--loading {
  min-height: 140px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-ai-intel-domain-hero__main {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
}

.lux-ai-intel-domain-hero__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(139, 92, 246, 0.1);
  color: #6d28d9;
  flex-shrink: 0;
}

.lux-ai-intel-domain-hero__title {
  margin: 0 0 0.35rem;
  font-size: 1.1rem;
  color: #0f172a;
}

.lux-ai-intel-domain-hero__main p {
  margin: 0;
  color: #334155;
  line-height: 1.45;
  font-size: 0.875rem;
}

.lux-ai-intel-domain-hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  font-size: 0.8125rem;
  color: #64748b;
  font-weight: 600;
}

.lux-ai-intel-domain-hero__stats strong { color: #0f172a; }
.lux-ai-intel-domain-hero__last { margin-left: auto; }

.lux-ai-intel-domain-hero__chips { display: flex; flex-wrap: wrap; gap: 0.4rem; }

.lux-ai-intel-registry__empty {
  display: grid;
  gap: 0.35rem;
  padding: 2rem 1rem;
  text-align: center;
  color: #64748b;
  border: 1px dashed rgba(203, 213, 225, 0.95);
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.72);
}

.lux-ai-intel-registry__empty strong { color: #0f172a; }

.lux-ai-intel-registry__skeleton,
.lux-ai-intel-recs__skeleton,
.lux-ai-intel-register__skeleton {
  min-height: 180px;
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

@media (max-width: 1100px) {
  .lux-ai-intel-snapshot__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .lux-ai-intel-layout,
  .lux-ai-intel-recs { grid-template-columns: 1fr; }
  .lux-ai-intel-lux-hero__top { flex-direction: column; }
  .lux-ai-intel-hero__actions { align-items: stretch; margin-left: 0; width: 100%; }
  .lux-ai-intel-hero__buttons { justify-content: flex-start; }
  .lux-ai-intel-domain-hero__last { margin-left: 0; width: 100%; }
}

/* F18 — Integration center luxury layout */
.lux-hrms-dash.lux-integrations-module.lux-integ-lux.pd-page {
  --pd-gap: 14px;
  padding: var(--lux-page-block-gap-y) var(--lux-page-gutter-x, 0.75rem) var(--lux-page-block-bottom, 1.5rem);
  max-width: 100%;
}

.vleft:has(.lux-integrations-module) #page_top.lux-header-bar .page-header {
  padding-left: var(--lux-page-gutter-x);
  padding-right: var(--lux-page-gutter-x);
}

.lux-integ-lux {
  position: relative;
  padding: 0;
  max-width: 100%;
  isolation: isolate;
}

.lux-integ-lux__ambient {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

.lux-integ-lux__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(52px);
  opacity: 0.38;
}

.lux-integ-lux__orb--a { width: 280px; height: 280px; top: -58px; right: 4%; }
.lux-integ-lux__orb--b { width: 220px; height: 220px; bottom: 8%; left: -40px; background: rgba(14, 165, 233, 0.22); }
.lux-integ-lux__orb--c { width: 160px; height: 160px; top: 38%; right: 18%; background: rgba(99, 102, 241, 0.16); opacity: 0.42; }

.lux-integ-lux.is-blue .lux-integ-lux__orb--a { background: rgba(14, 165, 233, 0.34); }
.lux-integ-lux.is-emerald .lux-integ-lux__orb--a { background: rgba(16, 185, 129, 0.34); }
.lux-integ-lux.is-indigo .lux-integ-lux__orb--a { background: rgba(99, 102, 241, 0.34); }
.lux-integ-lux.is-amber .lux-integ-lux__orb--a { background: rgba(245, 158, 11, 0.32); }
.lux-integ-lux.is-slate .lux-integ-lux__orb--a { background: rgba(100, 116, 139, 0.28); }

.lux-integ-lux-hero {
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  margin-bottom: 1rem;
  border-radius: 18px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(240, 249, 255, 0.72));
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.05);
  padding: 1.15rem 1.25rem;
  backdrop-filter: blur(8px);
}

.lux-integ-lux-hero,
.lux-integ-lux__kpi-strip,
.lux-integ-lux__insights,
.lux-integ-lux__quick-nav,
.lux-integ-lux__content {
  position: relative;
  z-index: 1;
}

.lux-integ-lux__kpi-strip { margin: 0 0 1rem; }
.lux-integ-lux__insights { margin: 0 0 1rem; }
.lux-integ-lux__quick-nav { margin-bottom: 1rem; }

.lux-integ-lux .lux-admin-quick-nav {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.82));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
  padding: 0.85rem 1rem;
}

.lux-integ-lux .lux-admin-kpi-strip .lux-admin-kpi.is-blue { border-color: rgba(37, 99, 235, 0.22); }
.lux-integ-lux .lux-admin-kpi-strip .lux-admin-kpi.is-green { border-color: rgba(5, 150, 105, 0.22); }
.lux-integ-lux .lux-admin-kpi-strip .lux-admin-kpi.is-amber { border-color: rgba(217, 119, 6, 0.22); }
.lux-integ-lux .lux-admin-kpi-strip .lux-admin-kpi.is-violet { border-color: rgba(124, 58, 237, 0.22); }
.lux-integ-lux .lux-admin-kpi-strip .lux-admin-kpi.is-indigo { border-color: rgba(99, 102, 241, 0.22); }
.lux-integ-lux .lux-admin-kpi-strip .lux-admin-kpi.is-rose { border-color: rgba(244, 63, 94, 0.22); }

.lux-integ-lux-hero__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  width: 100%;
}

.lux-integ-lux-hero__main { flex: 1 1 320px; min-width: 0; }

.lux-integ-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.55rem;
  flex: 0 0 auto;
  margin-left: auto;
}

.lux-integ-hero__source { align-self: flex-end; }

.lux-integ-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.lux-integ-lux-hero.is-blue .lux-hrms-dash__hero-title span { color: #0284c7; }
.lux-integ-lux-hero.is-emerald .lux-hrms-dash__hero-title span { color: #059669; }
.lux-integ-lux-hero.is-indigo .lux-hrms-dash__hero-title span { color: #4338ca; }
.lux-integ-lux-hero.is-amber .lux-hrms-dash__hero-title span { color: #d97706; }
.lux-integ-lux-hero.is-slate .lux-hrms-dash__hero-title span { color: #475569; }

.lux-integ-action { white-space: nowrap; display: inline-flex; align-items: center; gap: 0.35rem; }

.lux-integ-lux__content {
  display: grid;
  gap: var(--pd-gap, 14px);
}

.lux-integ-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: var(--pd-gap, 14px);
}

.lux-integ-lux__panel {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.72));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.lux-integ-lux__panel--featured {
  border-top: 3px solid rgba(14, 165, 233, 0.45);
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.07);
}

.lux-integ-lux__panel.is-blue { border-top-color: rgba(14, 165, 233, 0.45); }
.lux-integ-lux__panel.is-emerald { border-top-color: rgba(16, 185, 129, 0.45); }
.lux-integ-lux__panel.is-indigo { border-top-color: rgba(99, 102, 241, 0.45); }
.lux-integ-lux__panel.is-amber { border-top-color: rgba(245, 158, 11, 0.45); }
.lux-integ-lux__panel.is-slate { border-top-color: rgba(100, 116, 139, 0.4); }

.lux-integ-lux__panel.is-indigo .lux-integ-lux__panel-head-main i {
  background: rgba(99, 102, 241, 0.12);
  color: #4338ca;
}

.lux-integ-lux__panel.is-amber .lux-integ-lux__panel-head-main i {
  background: rgba(245, 158, 11, 0.14);
  color: #d97706;
}

.lux-integ-lux__panel.is-slate .lux-integ-lux__panel-head-main i {
  background: rgba(100, 116, 139, 0.12);
  color: #475569;
}

.lux-integ-lux__panel-body { padding: 0.25rem 0.15rem 0.15rem; }

.lux-integ-lux__panel-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.lux-integ-lux__panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.lux-integ-lux__panel-head-main {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
}

.lux-integ-lux__panel-head-main i {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(14, 165, 233, 0.1);
  color: #0284c7;
}

.lux-integ-error {
  margin: 0;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  background: rgba(254, 226, 226, 0.7);
  color: #b91c1c;
  font-weight: 600;
}

.lux-integ-snapshot {
  display: grid;
  gap: 0.75rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  padding: 1rem 1.1rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(240, 249, 255, 0.65));
}

.lux-integ-snapshot--loading {
  min-height: 120px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-integ-snapshot__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #475569;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(226, 232, 240, 0.95);
  width: fit-content;
}

.lux-integ-snapshot__badge i {
  color: #0284c7;
}

.lux-integ-snapshot__metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.lux-integ-snapshot__metric {
  border-radius: 12px;
  padding: 0.75rem 0.85rem;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-integ-snapshot__metric span {
  display: block;
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 600;
}

.lux-integ-snapshot__metric strong {
  font-size: 1.2rem;
  color: #0f172a;
  font-weight: 800;
}

.lux-integ-snapshot__metric.is-blue { border-top: 3px solid rgba(37, 99, 235, 0.55); }
.lux-integ-snapshot__metric.is-green,
.lux-integ-snapshot__metric.is-emerald { border-top: 3px solid rgba(5, 150, 105, 0.55); }
.lux-integ-snapshot__metric.is-amber { border-top: 3px solid rgba(217, 119, 6, 0.55); }
.lux-integ-snapshot__metric.is-rose { border-top: 3px solid rgba(244, 63, 94, 0.55); }
.lux-integ-snapshot__metric.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.55); }
.lux-integ-snapshot__metric.is-violet { border-top: 3px solid rgba(124, 58, 237, 0.55); }

.lux-integ-trust {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.75rem;
  font-weight: 700;
}

.lux-integ-trust__ring {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  background: conic-gradient(
    var(--integ-trust-color, #10b981) calc(var(--integ-trust, 0) * 1%),
    rgba(226, 232, 240, 0.95) 0
  );
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.95);
}

.lux-integ-trust.is-success { --integ-trust-color: #10b981; color: #047857; }
.lux-integ-trust.is-warning { --integ-trust-color: #f59e0b; color: #b45309; }
.lux-integ-trust.is-danger { --integ-trust-color: #f43f5e; color: #be123c; }

.lux-integ-connector-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.75rem;
}

.lux-integ-connector-card {
  display: grid;
  gap: 0.65rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  padding: 1rem;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.78));
  transition: box-shadow 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
  border-top: 3px solid rgba(14, 165, 233, 0.35);
}

.lux-integ-connector-card.is-healthy { border-top-color: rgba(16, 185, 129, 0.55); }
.lux-integ-connector-card.is-degraded { border-top-color: rgba(245, 158, 11, 0.55); }
.lux-integ-connector-card.is-failed,
.lux-integ-connector-card.is-paused { border-top-color: rgba(244, 63, 94, 0.5); }

.lux-integ-connector-card:hover,
.lux-integ-connector-card.is-selected {
  border-color: rgba(14, 165, 233, 0.42);
  box-shadow: 0 12px 32px rgba(14, 165, 233, 0.1);
  transform: translateY(-2px);
}

.lux-integ-connector-card__head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.55rem;
  align-items: center;
}

.lux-integ-connector-card__icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(14, 165, 233, 0.1);
  color: #0284c7;
}

.lux-integ-connector-card__title small { display: block; color: #64748b; font-weight: 600; }
.lux-integ-connector-card__lede { margin: 0; font-size: 0.8125rem; color: #334155; line-height: 1.5; }

.lux-integ-connector-card__metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.lux-integ-connector-card__metric-grid article {
  border-radius: 10px;
  padding: 0.55rem 0.6rem;
  background: rgba(248, 250, 252, 0.92);
  border: 1px solid rgba(226, 232, 240, 0.85);
}

.lux-integ-connector-card__metric-grid span {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-integ-connector-card__metric-grid strong {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.95rem;
  color: #0f172a;
}

.lux-integ-connector-card__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-integ-connector-card__sync {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.lux-integ-connector-card__select {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  border: 1px solid rgba(14, 165, 233, 0.25);
  border-radius: 10px;
  background: rgba(240, 249, 255, 0.75);
  color: #0369a1;
  font-weight: 700;
  text-align: left;
  padding: 0.5rem 0.65rem;
  cursor: pointer;
  width: 100%;
}

.lux-integ-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.lux-integ-chip.is-success { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-integ-chip.is-warning { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-integ-chip.is-danger { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-integ-status {
  display: inline-flex;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
}

.lux-integ-status.is-healthy,
.lux-integ-status.is-completed,
.lux-integ-status.is-validated { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-integ-status.is-degraded,
.lux-integ-status.is-running,
.lux-integ-status.is-queued { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-integ-status.is-failed,
.lux-integ-status.is-paused { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-integ-register-wrap {
  overflow: auto;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.85);
  background: rgba(255, 255, 255, 0.55);
}

.lux-integ-register { width: 100%; border-collapse: collapse; font-size: 0.875rem; }

.lux-integ-register th,
.lux-integ-register td {
  padding: 0.9rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
  text-align: left;
  vertical-align: top;
}

.lux-integ-register thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #64748b;
  background: rgba(248, 250, 252, 0.98);
}

.lux-integ-register tbody tr.is-failed { background: rgba(254, 242, 242, 0.45); }
.lux-integ-register__title { font-weight: 700; color: #0f172a; }
.lux-integ-register__meta { font-size: 0.75rem; color: #64748b; }
.lux-integ-register__empty-inline { margin: 0; color: #64748b; font-weight: 600; }

.lux-integ-register__empty,
.lux-integ-register__skeleton {
  min-height: 160px;
  border-radius: 14px;
  border: 1px dashed rgba(203, 213, 225, 0.95);
  background: rgba(248, 250, 252, 0.72);
}

.lux-integ-register__empty {
  display: grid;
  gap: 0.45rem;
  padding: 2.25rem 1rem;
  text-align: center;
  color: #64748b;
  justify-items: center;
}

.lux-integ-register__empty--inline {
  min-height: 180px;
  align-content: center;
}

.lux-integ-register__empty-icon,
.lux-integ-register__empty i {
  font-size: 1.35rem;
  color: #94a3b8;
}

.lux-integ-register__pill {
  display: inline-flex;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(241, 245, 249, 0.95);
  color: #475569;
}

.lux-integ-register__skeleton {
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-integ-mapping-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
}

.lux-integ-mapping-card {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  padding: 1rem;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.78));
  display: grid;
  gap: 0.65rem;
  border-top: 3px solid rgba(99, 102, 241, 0.45);
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.lux-integ-mapping-card.is-warning {
  border-top-color: rgba(245, 158, 11, 0.55);
  box-shadow: 0 8px 22px rgba(245, 158, 11, 0.06);
}

.lux-integ-mapping-card:hover {
  box-shadow: 0 10px 28px rgba(99, 102, 241, 0.08);
  transform: translateY(-1px);
}

.lux-integ-mapping-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}

.lux-integ-mapping-card header small {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-integ-mapping-card__coverage-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 600;
}

.lux-integ-mapping-card__coverage-bar {
  margin-top: 0.35rem;
  height: 6px;
  border-radius: 999px;
  background: rgba(226, 232, 240, 0.95);
  overflow: hidden;
}

.lux-integ-mapping-card__coverage-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #6366f1, #818cf8);
}

.lux-integ-mapping-card.is-warning .lux-integ-mapping-card__coverage-bar span {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.lux-integ-mapping-card__metrics {
  display: flex;
  gap: 0.75rem;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-integ-mapping-card__metrics strong { color: #0f172a; }

.lux-integ-logs { display: grid; gap: 0.65rem; }

.lux-integ-log-card {
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 14px;
  padding: 0.9rem 1rem;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.78));
  border-left: 4px solid rgba(14, 165, 233, 0.45);
}

.lux-integ-log-card.is-info { border-left-color: rgba(16, 185, 129, 0.55); }
.lux-integ-log-card.is-warn { border-left-color: rgba(245, 158, 11, 0.6); background: linear-gradient(160deg, rgba(255, 251, 235, 0.65), rgba(255, 255, 255, 0.9)); }
.lux-integ-log-card.is-error { border-left-color: rgba(244, 63, 94, 0.65); background: linear-gradient(160deg, rgba(255, 241, 242, 0.65), rgba(255, 255, 255, 0.9)); }

.lux-integ-log-card header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.lux-integ-log-card p { margin: 0; color: #334155; font-size: 0.875rem; }
.lux-integ-log-card__corr { display: inline-block; margin-top: 0.35rem; font-size: 0.75rem; color: #64748b; }

.lux-integ-filter {
  border: 1px solid rgba(203, 213, 225, 0.95);
  border-radius: 10px;
  padding: 0.45rem 0.65rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.92);
}

.lux-integ-filter-bar {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0.25rem;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-integ-filter-bar__chip {
  border: 0;
  border-radius: 999px;
  padding: 0.35rem 0.7rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #64748b;
  background: transparent;
  cursor: pointer;
}

.lux-integ-filter-bar__chip.is-active {
  background: #fff;
  color: #0f172a;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.lux-integ-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--lux-z-overlay);
  background: rgba(8, 12, 28, 0.52);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  justify-content: flex-end;
  animation: lux-onb-drawer-backdrop-in 0.22s ease;
}

.lux-integ-drawer {
  --integ-drawer-accent: #0284c7;
  --integ-drawer-accent-rgb: 2, 132, 199;
  position: relative;
  z-index: var(--lux-z-overlay-panel);
  width: min(480px, 100%);
  height: 100%;
  max-height: 100vh;
  max-height: 100dvh;
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--integ-drawer-accent-rgb), 0.1), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(248, 250, 252, 0.98) 100%);
  box-shadow:
    -1px 0 0 rgba(255, 255, 255, 0.8) inset,
    -20px 0 60px rgba(15, 23, 42, 0.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: lux-onb-drawer-slide-in 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.lux-integ-drawer--blue { --integ-drawer-accent: #0284c7; --integ-drawer-accent-rgb: 2, 132, 199; }
.lux-integ-drawer--indigo { --integ-drawer-accent: #4338ca; --integ-drawer-accent-rgb: 67, 56, 202; }
.lux-integ-drawer--amber { --integ-drawer-accent: #d97706; --integ-drawer-accent-rgb: 217, 119, 6; }
.lux-integ-drawer--success { --integ-drawer-accent: #16a34a; --integ-drawer-accent-rgb: 22, 163, 74; }
.lux-integ-drawer--warning { --integ-drawer-accent: #d97706; --integ-drawer-accent-rgb: 217, 119, 6; }
.lux-integ-drawer--danger { --integ-drawer-accent: #dc2626; --integ-drawer-accent-rgb: 220, 38, 38; }
.lux-integ-drawer--neutral { --integ-drawer-accent: #64748b; --integ-drawer-accent-rgb: 100, 116, 139; }

.lux-integ-drawer.is-degraded,
.lux-integ-drawer.is-failed {
  --integ-drawer-accent: #d97706;
  --integ-drawer-accent-rgb: 217, 119, 6;
}

.lux-integ-drawer.is-failed {
  --integ-drawer-accent: #dc2626;
  --integ-drawer-accent-rgb: 220, 38, 38;
}

.lux-integ-drawer__accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--integ-drawer-accent), rgba(var(--integ-drawer-accent-rgb), 0.35));
  box-shadow: 0 0 18px rgba(var(--integ-drawer-accent-rgb), 0.35);
}

.lux-integ-drawer__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  flex-shrink: 0;
  padding: 1.15rem 1.2rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--integ-drawer-accent-rgb), 0.14), transparent 55%),
    linear-gradient(135deg, rgba(var(--integ-drawer-accent-rgb), 0.05), rgba(255, 255, 255, 0.98));
}

.lux-integ-drawer__head-main {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.lux-integ-drawer__category-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 16px;
  flex-shrink: 0;
  color: #fff;
  font-size: 1.05rem;
  background: linear-gradient(135deg, var(--integ-drawer-accent), rgba(var(--integ-drawer-accent-rgb), 0.65));
  box-shadow: 0 10px 22px rgba(var(--integ-drawer-accent-rgb), 0.28);
}

.lux-integ-drawer__head-copy { min-width: 0; }

.lux-integ-drawer__eyebrow {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--integ-drawer-accent);
}

.lux-integ-drawer__head h2 {
  margin: 0.3rem 0 0;
  font-size: 1.15rem;
  font-weight: 900;
  color: #0f172a;
  line-height: 1.25;
}

.lux-integ-drawer__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.55rem;
}

.lux-integ-drawer__close {
  border: 0;
  background: rgba(148, 163, 184, 0.14);
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 10px;
  color: #475569;
  cursor: pointer;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, color 0.15s ease;
}

.lux-integ-drawer__close:hover {
  background: rgba(148, 163, 184, 0.24);
  color: #0f172a;
}

.lux-integ-drawer__body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 1rem 1.2rem 1.1rem;
  overflow: auto;
  display: grid;
  gap: 0.9rem;
  align-content: start;
}

.lux-integ-drawer__body::-webkit-scrollbar { width: 6px; }
.lux-integ-drawer__body::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.45);
  border-radius: 999px;
}

.lux-integ-drawer__banner {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.85rem 0.95rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-integ-drawer__banner.is-success {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(255, 255, 255, 0.92));
  border-color: rgba(16, 185, 129, 0.22);
}

.lux-integ-drawer__banner.is-alert {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(255, 255, 255, 0.92));
  border-color: rgba(245, 158, 11, 0.28);
}

.lux-integ-drawer.is-failed .lux-integ-drawer__banner.is-alert {
  background: linear-gradient(135deg, rgba(244, 63, 94, 0.1), rgba(255, 255, 255, 0.92));
  border-color: rgba(244, 63, 94, 0.24);
}

.lux-integ-drawer__banner-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.75);
}

.lux-integ-drawer__banner.is-success .lux-integ-drawer__banner-icon { color: #059669; }
.lux-integ-drawer__banner.is-alert .lux-integ-drawer__banner-icon { color: #d97706; }
.lux-integ-drawer.is-failed .lux-integ-drawer__banner.is-alert .lux-integ-drawer__banner-icon { color: #e11d48; }

.lux-integ-drawer__banner strong {
  display: block;
  font-size: 0.875rem;
  color: #0f172a;
}

.lux-integ-drawer__banner p {
  margin: 0.2rem 0 0;
  font-size: 0.8125rem;
  color: #475569;
  line-height: 1.45;
}

.lux-integ-drawer__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.lux-integ-drawer__metric {
  border-radius: 12px;
  padding: 0.7rem 0.75rem;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-integ-drawer__metric span {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-integ-drawer__metric strong {
  display: block;
  margin-top: 0.2rem;
  font-size: 1rem;
  color: #0f172a;
}

.lux-integ-drawer__metric.is-blue { border-top: 3px solid rgba(37, 99, 235, 0.55); }
.lux-integ-drawer__metric.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.55); }
.lux-integ-drawer__metric.is-green { border-top: 3px solid rgba(5, 150, 105, 0.55); }
.lux-integ-drawer__metric.is-rose { border-top: 3px solid rgba(244, 63, 94, 0.55); }

.lux-integ-drawer__section h3 {
  margin: 0 0 0.65rem;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-integ-drawer__facts {
  display: grid;
  gap: 0.55rem;
}

.lux-integ-drawer__fact {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 0.8rem;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: rgba(255, 255, 255, 0.82);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-integ-drawer__fact:hover {
  border-color: rgba(var(--integ-drawer-accent-rgb), 0.28);
  box-shadow: 0 6px 18px rgba(var(--integ-drawer-accent-rgb), 0.06);
}

.lux-integ-drawer__fact-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--integ-drawer-accent);
  background: rgba(var(--integ-drawer-accent-rgb), 0.1);
}

.lux-integ-drawer__fact-label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-integ-drawer__fact-value {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #0f172a;
  word-break: break-word;
}

.lux-integ-drawer__notes-card {
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 252, 0.82));
  padding: 0.9rem 1rem;
}

.lux-integ-drawer__notes-card header {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.45rem;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-integ-drawer__notes-card p {
  margin: 0;
  color: #334155;
  line-height: 1.55;
  font-size: 0.875rem;
}

.lux-integ-drawer__footer {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.9rem 1.2rem 1.1rem;
  border-top: 1px solid rgba(226, 232, 240, 0.92);
  background: rgba(255, 255, 255, 0.94);
}

@media (max-width: 1100px) {
  .lux-integ-snapshot__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.lux-integ-adapter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 0.85rem;
}

.lux-integ-adapter-card {
  display: grid;
  gap: 0.65rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  padding: 1rem;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.78));
  border-top: 3px solid rgba(124, 58, 237, 0.45);
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.lux-integ-adapter-card.is-test-failed { border-top-color: rgba(244, 63, 94, 0.55); }
.lux-integ-adapter-card.is-test-passed { border-top-color: rgba(16, 185, 129, 0.55); }
.lux-integ-adapter-card:hover,
.lux-integ-adapter-card.is-selected {
  box-shadow: 0 12px 32px rgba(124, 58, 237, 0.1);
  transform: translateY(-2px);
}

.lux-integ-adapter-card__head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.55rem;
  align-items: center;
}

.lux-integ-adapter-card__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(124, 58, 237, 0.12);
  color: #6d28d9;
}

.lux-integ-adapter-card__title small { display: block; color: #64748b; font-weight: 600; }
.lux-integ-adapter-card__lede { margin: 0; font-size: 0.8125rem; color: #334155; line-height: 1.5; }

.lux-integ-adapter-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.lux-integ-adapter-card__metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.lux-integ-adapter-card__metric-grid article {
  border-radius: 10px;
  padding: 0.55rem 0.6rem;
  background: rgba(248, 250, 252, 0.92);
  border: 1px solid rgba(226, 232, 240, 0.85);
}

.lux-integ-adapter-card__metric-grid span {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-integ-adapter-card__metric-grid strong {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.95rem;
  color: #0f172a;
}

.lux-integ-adapter-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}

.lux-integ-adapter-card__select {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  margin-left: auto;
  border: 1px solid rgba(124, 58, 237, 0.25);
  border-radius: 10px;
  background: rgba(245, 243, 255, 0.75);
  color: #5b21b6;
  font-weight: 700;
  padding: 0.45rem 0.65rem;
  cursor: pointer;
}

.lux-integ-adapter-test {
  display: inline-flex;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
}

.lux-integ-adapter-test.is-success { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-integ-adapter-test.is-danger { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-integ-adapter-test.is-warning { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-integ-adapter-test.is-neutral { background: rgba(148, 163, 184, 0.16); color: #475569; }

.lux-integ-adapter-capabilities {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.lux-integ-adapter-cap {
  display: inline-flex;
  padding: 0.3rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  background: rgba(124, 58, 237, 0.1);
  color: #5b21b6;
}

.lux-integ-adapter-result {
  border-radius: 14px;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.88);
}

.lux-integ-adapter-result header {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 0.35rem;
}

.lux-integ-adapter-result p { margin: 0; color: #334155; font-size: 0.875rem; line-height: 1.45; }
.lux-integ-adapter-result small,
.lux-integ-adapter-result code {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: #64748b;
}

.lux-integ-adapter-result.is-success { border-color: rgba(16, 185, 129, 0.25); background: rgba(236, 253, 245, 0.65); }
.lux-integ-adapter-result.is-error { border-color: rgba(244, 63, 94, 0.25); background: rgba(255, 241, 242, 0.65); }
.lux-integ-adapter-result.is-sync { border-color: rgba(99, 102, 241, 0.25); background: rgba(238, 242, 255, 0.65); }

.lux-integ-lux.is-violet .lux-integ-lux__orb--a { background: rgba(124, 58, 237, 0.32); }
.lux-integ-lux-hero.is-violet .lux-hrms-dash__hero-title span { color: #6d28d9; }
.lux-integ-lux__panel.is-violet .lux-integ-lux__panel-head-main i {
  background: rgba(124, 58, 237, 0.12);
  color: #6d28d9;
}

@media (max-width: 960px) {
  .lux-integ-layout { grid-template-columns: 1fr; }
  .lux-integ-lux-hero__top { flex-direction: column; }
  .lux-integ-hero__actions { align-items: stretch; margin-left: 0; width: 100%; }
  .lux-integ-hero__buttons { justify-content: flex-start; }
  .lux-integ-drawer__metrics { grid-template-columns: 1fr; }
  .lux-integ-drawer__footer { justify-content: stretch; }
  .lux-integ-drawer__footer .lux-integ-action { flex: 1 1 auto; justify-content: center; }
  .lux-integ-adapter-grid { grid-template-columns: 1fr; }
}

/* F19 — Ticket & service management luxury layout */
.lux-hrms-dash.lux-tickets-module.lux-ticket-lux.pd-page {
  --pd-gap: 14px;
  padding: var(--lux-page-block-gap-y) var(--lux-page-gutter-x, 0.75rem) var(--lux-page-block-bottom, 1.5rem);
  max-width: 100%;
}

.vleft:has(.lux-tickets-module) #page_top.lux-header-bar .page-header {
  padding-left: var(--lux-page-gutter-x);
  padding-right: var(--lux-page-gutter-x);
}

.lux-ticket-lux { position: relative; padding: 0; max-width: 100%; isolation: isolate; }
.lux-ticket-lux__ambient { pointer-events: none; position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.lux-ticket-lux__orb { position: absolute; border-radius: 999px; filter: blur(52px); opacity: 0.38; }
.lux-ticket-lux__orb--a { width: 280px; height: 280px; top: -58px; right: 4%; }
.lux-ticket-lux__orb--b { width: 220px; height: 220px; bottom: 8%; left: -40px; background: rgba(99, 102, 241, 0.2); }
.lux-ticket-lux__orb--c { width: 160px; height: 160px; top: 38%; right: 18%; background: rgba(14, 165, 233, 0.16); }
.lux-ticket-lux.is-indigo .lux-ticket-lux__orb--a { background: rgba(99, 102, 241, 0.34); }
.lux-ticket-lux.is-blue .lux-ticket-lux__orb--a { background: rgba(37, 99, 235, 0.32); }

.lux-ticket-lux-hero {
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  width: 100%;
  box-sizing: border-box;
  border-radius: 18px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(238, 242, 255, 0.72));
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.05);
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
}

.lux-ticket-lux-hero__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; width: 100%; }
.lux-ticket-hero__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 0.55rem; margin-left: auto; }
.lux-ticket-hero__buttons { display: flex; flex-wrap: wrap; gap: 0.45rem; justify-content: flex-end; }
.lux-ticket-lux-hero.is-indigo .lux-hrms-dash__hero-title span { color: #4338ca; }
.lux-ticket-lux-hero.is-blue .lux-hrms-dash__hero-title span { color: #2563eb; }

.lux-ticket-lux__kpi-strip,
.lux-ticket-lux__insights,
.lux-ticket-lux__quick-nav,
.lux-ticket-lux__content { position: relative; z-index: 1; }
.lux-ticket-lux__kpi-strip { margin: 0 0 1rem; }
.lux-ticket-lux__insights { margin: 0 0 1rem; }
.lux-ticket-lux__quick-nav { margin-bottom: 1rem; }
.lux-ticket-lux .lux-admin-quick-nav {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.82));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
  padding: 0.85rem 1rem;
}
.lux-ticket-lux__content { display: grid; gap: var(--lux-module-section-gap); }

.lux-ticket-lux__panel {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.72));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.lux-ticket-lux__panel--featured { border-top: 3px solid rgba(99, 102, 241, 0.45); box-shadow: 0 14px 36px rgba(15, 23, 42, 0.07); }
.lux-ticket-lux__panel.is-indigo .lux-ticket-lux__panel-head-main i { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-ticket-lux__panel.is-blue .lux-ticket-lux__panel-head-main i { background: rgba(37, 99, 235, 0.12); color: #2563eb; }
.lux-ticket-lux__panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; }
.lux-ticket-lux__panel-head-main { display: flex; gap: 0.65rem; align-items: flex-start; }

.lux-ticket-error {
  /* legacy class kept for compatibility; prefer lux-inline-alert */
  margin: 0 0 0.45rem;
  padding: 0.65rem 0.75rem;
  border-radius: 14px;
  border: 1px solid rgba(244, 63, 94, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 241, 242, 0.88));
  color: #9f1239;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.4;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset, 0 10px 24px rgba(190, 18, 60, 0.06);
}

.lux-ticket-snapshot {
  display: grid;
  gap: 0.75rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  padding: 1rem 1.1rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(238, 242, 255, 0.65));
}

.lux-ticket-snapshot__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #475569;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(226, 232, 240, 0.95);
  width: fit-content;
}

.lux-ticket-snapshot__metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.lux-ticket-snapshot__metric {
  border-radius: 12px;
  padding: 0.75rem 0.85rem;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-ticket-snapshot__metric span { display: block; font-size: 0.75rem; color: #64748b; font-weight: 600; }
.lux-ticket-snapshot__metric strong { display: block; font-size: 1.2rem; color: #0f172a; font-weight: 800; margin-top: 0.15rem; }
.lux-ticket-snapshot__metric.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.55); }
.lux-ticket-snapshot__metric.is-green { border-top: 3px solid rgba(5, 150, 105, 0.55); }
.lux-ticket-snapshot__metric.is-blue { border-top: 3px solid rgba(37, 99, 235, 0.55); }
.lux-ticket-snapshot__metric.is-amber { border-top: 3px solid rgba(217, 119, 6, 0.55); }

.lux-ticket-category-strip { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.lux-ticket-category-chip {
  display: inline-flex;
  gap: 0.35rem;
  padding: 0.3rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  font-weight: 600;
}

.lux-ticket-queue-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
}

.lux-ticket-queue-card {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  padding: 0.95rem;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.78));
  border-top: 3px solid rgba(99, 102, 241, 0.4);
  cursor: pointer;
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.lux-ticket-queue-card.is-blue { border-top-color: rgba(37, 99, 235, 0.5); }
.lux-ticket-queue-card.is-amber { border-top-color: rgba(217, 119, 6, 0.5); }
.lux-ticket-queue-card.is-green { border-top-color: rgba(5, 150, 105, 0.5); }
.lux-ticket-queue-card.is-active,
.lux-ticket-queue-card:hover { box-shadow: 0 10px 28px rgba(99, 102, 241, 0.1); transform: translateY(-2px); }

.lux-ticket-queue-card header { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; }
.lux-ticket-queue-card__count { font-size: 0.75rem; color: #64748b; font-weight: 700; }
.lux-ticket-queue-card__metrics { display: flex; gap: 0.75rem; font-size: 0.75rem; color: #64748b; margin: 0.5rem 0; }
.lux-ticket-queue-card__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.35rem; }
.lux-ticket-queue-card__list li span { display: block; font-weight: 700; font-size: 0.75rem; color: #0f172a; }
.lux-ticket-queue-card__list li small { color: #64748b; font-size: 0.7rem; }

.lux-ticket-register-wrap { overflow: auto; border-radius: 12px; border: 1px solid rgba(226, 232, 240, 0.85); }
.lux-ticket-register { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.lux-ticket-register th,
.lux-ticket-register td { padding: 0.85rem 1rem; border-bottom: 1px solid rgba(226, 232, 240, 0.85); text-align: left; vertical-align: top; }
.lux-ticket-register thead th { position: sticky; top: 0; background: rgba(248, 250, 252, 0.98); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.07em; color: #64748b; }
.lux-ticket-register__row { cursor: pointer; transition: background 0.15s ease; }
.lux-ticket-register__row:hover,
.lux-ticket-register__row.is-selected { background: rgba(238, 242, 255, 0.65); }
.lux-ticket-register__row.is-breached { background: rgba(255, 241, 242, 0.45); }
.lux-ticket-register__title { font-weight: 800; color: #0f172a; }
.lux-ticket-register__meta { font-size: 0.8125rem; color: #334155; }
.lux-ticket-register__ext { display: block; font-size: 0.7rem; color: #64748b; margin-top: 0.15rem; }

.lux-ticket-status,
.lux-ticket-sla,
.lux-ticket-priority {
  display: inline-flex;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
}

.lux-ticket-status.is-open,
.lux-ticket-status.is-waiting { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-ticket-status.is-in_progress { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-ticket-status.is-resolved,
.lux-ticket-status.is-closed { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-ticket-sla.is-on_track { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-ticket-sla.is-at_risk { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-ticket-sla.is-breached { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-ticket-priority.is-p1 { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-ticket-priority.is-p2 { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-ticket-priority.is-p3 { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-ticket-priority.is-p4 { background: rgba(100, 116, 139, 0.14); color: #475569; }

.lux-ticket-filter {
  border: 1px solid rgba(203, 213, 225, 0.95);
  border-radius: 10px;
  padding: 0.45rem 0.65rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.92);
}

.lux-ticket-register__skeleton,
.lux-ticket-snapshot--loading,
.lux-ticket-ai--loading {
  min-height: 160px;
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%;
  animation: luxShimmer 1.4s ease infinite;
}

.lux-ticket-register__empty {
  display: grid;
  gap: 0.45rem;
  padding: 2rem 1rem;
  text-align: center;
  color: #64748b;
  justify-items: center;
}

.lux-ticket-ai {
  border-radius: 14px;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(124, 58, 237, 0.22);
  background: linear-gradient(135deg, rgba(245, 243, 255, 0.85), rgba(255, 255, 255, 0.92));
}

.lux-ticket-ai header {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6d28d9;
  margin-bottom: 0.35rem;
}

.lux-ticket-ai__hint { margin: 0; color: #334155; line-height: 1.45; font-size: 0.875rem; }
.lux-ticket-ai__similar { margin: 0.35rem 0 0; font-size: 0.75rem; color: #64748b; }
.lux-ticket-ai__link { display: inline-block; margin-top: 0.45rem; font-weight: 700; color: #4338ca; }

.lux-ticket-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--lux-z-overlay);
  background: rgba(8, 12, 28, 0.52);
  backdrop-filter: blur(8px);
  display: flex;
  justify-content: flex-end;
  animation: lux-onb-drawer-backdrop-in 0.22s ease;
}

.lux-ticket-drawer {
  --ticket-drawer-accent: #4338ca;
  --ticket-drawer-accent-rgb: 67, 56, 202;
  position: relative;
  z-index: var(--lux-z-overlay-panel);
  width: min(480px, 100%);
  height: 100%;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  box-shadow: -20px 0 60px rgba(15, 23, 42, 0.2);
  display: flex;
  flex-direction: column;
  animation: lux-onb-drawer-slide-in 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.lux-ticket-drawer--danger { --ticket-drawer-accent: #dc2626; --ticket-drawer-accent-rgb: 220, 38, 38; }
.lux-ticket-drawer--warning { --ticket-drawer-accent: #d97706; --ticket-drawer-accent-rgb: 217, 119, 6; }
.lux-ticket-drawer__accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--ticket-drawer-accent), rgba(var(--ticket-drawer-accent-rgb), 0.35));
}

.lux-ticket-drawer__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1.15rem 1.2rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  background: radial-gradient(circle at 100% 0%, rgba(var(--ticket-drawer-accent-rgb), 0.14), transparent 55%);
}

.lux-ticket-drawer__head-main { display: flex; gap: 0.75rem; min-width: 0; }
.lux-ticket-drawer__category-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, var(--ticket-drawer-accent), rgba(var(--ticket-drawer-accent-rgb), 0.65));
}

.lux-ticket-drawer__eyebrow { display: block; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ticket-drawer-accent); }
.lux-ticket-drawer__head h2 { margin: 0.3rem 0 0; font-size: 1.15rem; font-weight: 900; }
.lux-ticket-drawer__badges { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.55rem; }
.lux-ticket-drawer__close { border: 0; background: rgba(148, 163, 184, 0.14); width: 2.25rem; height: 2.25rem; border-radius: 10px; cursor: pointer; }
.lux-ticket-drawer__body { flex: 1; overflow: auto; padding: 1rem 1.2rem; display: grid; gap: 0.9rem; align-content: start; }
.lux-ticket-drawer__lede { margin: 0; color: #334155; line-height: 1.55; }
.lux-ticket-drawer__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; }
.lux-ticket-drawer__metrics article { border-radius: 10px; padding: 0.6rem; background: rgba(248, 250, 252, 0.92); border: 1px solid rgba(226, 232, 240, 0.85); }
.lux-ticket-drawer__metrics span { display: block; font-size: 0.6875rem; color: #64748b; font-weight: 700; text-transform: uppercase; }
.lux-ticket-drawer__metrics strong { display: block; margin-top: 0.15rem; color: #0f172a; }
.lux-ticket-drawer__section h3 { margin: 0 0 0.65rem; font-size: 0.8125rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: #64748b; }
.lux-ticket-drawer__facts { display: grid; gap: 0.55rem; }
.lux-ticket-drawer__facts dt { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; color: #64748b; }
.lux-ticket-drawer__facts dd { margin: 0.15rem 0 0; font-weight: 600; color: #0f172a; }
.lux-ticket-drawer__footer { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.9rem 1.2rem; border-top: 1px solid rgba(226, 232, 240, 0.92); }

@media (max-width: 960px) {
  .lux-ticket-snapshot__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lux-ticket-queue-grid { grid-template-columns: 1fr; }
  .lux-ticket-drawer__metrics { grid-template-columns: 1fr; }
}

/* F26 — Work graph and enterprise search luxury layout */
.lux-hrms-dash.lux-wg-module.lux-wg-lux.pd-page {
  --pd-gap: 14px;
  padding: var(--lux-page-block-gap-y) var(--lux-page-gutter-x, 0.75rem) var(--lux-page-block-bottom, 1.5rem);
  max-width: 100%;
}

.vleft:has(.lux-wg-module) #page_top.lux-header-bar .page-header {
  padding-left: var(--lux-page-gutter-x);
  padding-right: var(--lux-page-gutter-x);
}

.lux-wg-lux { position: relative; padding: 0; max-width: 100%; isolation: isolate; }
.lux-wg-lux__ambient { pointer-events: none; position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.lux-wg-lux__orb { position: absolute; border-radius: 999px; filter: blur(52px); opacity: 0.38; }
.lux-wg-lux__orb--a { width: 280px; height: 280px; top: -48px; left: -24px; background: rgba(139, 92, 246, 0.34); }
.lux-wg-lux__orb--b { width: 220px; height: 220px; top: 120px; right: 6%; background: rgba(59, 130, 246, 0.28); }
.lux-wg-lux__orb--c { width: 180px; height: 180px; bottom: 8%; left: 32%; background: rgba(16, 185, 129, 0.22); }
.lux-wg-lux.is-violet .lux-wg-lux__orb--a { background: rgba(124, 58, 237, 0.36); }
.lux-wg-lux.is-blue .lux-wg-lux__orb--a { background: rgba(37, 99, 235, 0.32); }

.lux-wg-lux-hero {
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  width: 100%;
  box-sizing: border-box;
  border-radius: 18px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(245, 243, 255, 0.72));
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.05);
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
}

.lux-wg-lux-hero__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; width: 100%; }
.lux-wg-hero__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 0.55rem; margin-left: auto; }
.lux-wg-hero__buttons { display: flex; flex-wrap: wrap; gap: 0.45rem; justify-content: flex-end; }
.lux-wg-lux-hero.is-violet .lux-hrms-dash__hero-title span { color: #7c3aed; }
.lux-wg-lux-hero.is-blue .lux-hrms-dash__hero-title span { color: #2563eb; }

.lux-wg-lux__kpi-strip,
.lux-wg-lux__insights,
.lux-wg-lux__quick-nav,
.lux-wg-lux__content { position: relative; z-index: 1; }
.lux-wg-lux__kpi-strip { margin: 0 0 1rem; }
.lux-wg-lux__insights { margin: 0 0 1rem; }
.lux-wg-lux__quick-nav { margin-bottom: 1rem; }
.lux-wg-lux .lux-admin-quick-nav {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.82));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
  padding: 0.85rem 1rem;
}
.lux-wg-lux__content { display: grid; gap: var(--lux-module-section-gap); }

.lux-wg-lux__panel {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.72));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.lux-wg-lux__panel--featured { border-top: 3px solid rgba(124, 58, 237, 0.45); box-shadow: 0 14px 36px rgba(15, 23, 42, 0.07); }
.lux-wg-lux__panel.is-violet .lux-wg-lux__panel-head-main i { background: rgba(124, 58, 237, 0.12); color: #7c3aed; }
.lux-wg-lux__panel.is-indigo .lux-wg-lux__panel-head-main i { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-wg-lux__panel.is-blue .lux-wg-lux__panel-head-main i { background: rgba(37, 99, 235, 0.12); color: #2563eb; }
.lux-wg-lux__panel.is-amber .lux-wg-lux__panel-head-main i { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-wg-lux__panel.is-slate .lux-wg-lux__panel-head-main i { background: rgba(100, 116, 139, 0.14); color: #475569; }
.lux-wg-lux__panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; }
.lux-wg-lux__panel-head-main { display: flex; gap: 0.65rem; align-items: flex-start; }
.lux-wg-lux__panel-head-main i {
  width: 2.25rem; height: 2.25rem; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center; font-size: 1rem;
}

.lux-wg-page-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.85fr); gap: 1rem; }
.lux-wg-page-side { display: grid; gap: 1rem; align-content: start; }

.lux-wg-viz__canvas {
  position: relative; min-height: 440px; border-radius: 16px; overflow: hidden;
  background:
    radial-gradient(circle at 28% 18%, rgba(139, 92, 246, 0.1), transparent 52%),
    radial-gradient(circle at 78% 72%, rgba(59, 130, 246, 0.08), transparent 48%),
    linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.88));
  border: 1px dashed rgba(148, 163, 184, 0.42);
}

.lux-wg-viz__edges { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.lux-wg-viz__edge { stroke: rgba(99, 102, 241, 0.35); stroke-width: 0.35; vector-effect: non-scaling-stroke; }
.lux-wg-viz__edge.is-blocked { stroke: rgba(244, 63, 94, 0.45); stroke-dasharray: 2 1.5; }
.lux-wg-viz__edge.is-active { stroke: rgba(124, 58, 237, 0.75); stroke-width: 0.55; }

.lux-wg-node {
  position: absolute; transform: translate(-50%, -50%); z-index: 2;
  min-width: 128px; max-width: 168px; padding: 0.65rem 0.7rem;
  border-radius: 14px; border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.88));
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  text-align: left; cursor: pointer;
  transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

.lux-wg-node:hover { transform: translate(-50%, -52%); box-shadow: 0 14px 32px rgba(124, 58, 237, 0.12); }
.lux-wg-node.is-selected { border-color: #7c3aed; box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.18), 0 12px 28px rgba(124, 58, 237, 0.14); }
.lux-wg-node.is-violet { border-top: 3px solid rgba(124, 58, 237, 0.55); }
.lux-wg-node.is-blue { border-top: 3px solid rgba(37, 99, 235, 0.55); }
.lux-wg-node.is-emerald { border-top: 3px solid rgba(5, 150, 105, 0.55); }
.lux-wg-node.is-amber { border-top: 3px solid rgba(217, 119, 6, 0.55); }
.lux-wg-node__icon {
  width: 1.65rem; height: 1.65rem; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(124, 58, 237, 0.1); color: #7c3aed; margin-bottom: 0.35rem; font-size: 0.85rem;
}
.lux-wg-node__label { display: block; font-size: 0.78rem; font-weight: 800; color: #0f172a; line-height: 1.25; }
.lux-wg-node__type { display: block; margin-top: 0.15rem; font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.06em; color: #64748b; font-weight: 700; }

.lux-wg-viz__legend { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 0.75rem; }
.lux-wg-viz__legend-chip {
  display: inline-flex; align-items: center; gap: 0.35rem;
  padding: 0.35rem 0.65rem; border-radius: 999px;
  font-size: 0.75rem; font-weight: 700; color: #475569;
  background: rgba(255, 255, 255, 0.78); border: 1px solid rgba(226, 232, 240, 0.92);
}
.lux-wg-viz__legend-chip.is-muted { color: #94a3b8; background: transparent; border-style: dashed; }

.lux-wg-rel-grid { display: grid; gap: 1rem; }
.lux-wg-rel-section h3 { margin: 0 0 0.55rem; font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: #64748b; }
.lux-wg-rel-empty { padding: 1.5rem 1rem; text-align: center; color: #64748b; border-radius: 12px; border: 1px dashed rgba(203, 213, 225, 0.85); }
.lux-wg-rel-list, .lux-wg-edge-list, .lux-wg-bottleneck-list, .lux-wg-events, .lux-wg-ai-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }

.lux-wg-rel-chip {
  width: 100%; text-align: left; border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.82));
  border-radius: 12px; padding: 0.6rem 0.75rem; cursor: pointer;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.lux-wg-rel-chip:hover { box-shadow: 0 8px 20px rgba(37, 99, 235, 0.08); transform: translateY(-1px); }
.lux-wg-rel-chip__type { display: inline-block; margin-right: 0.35rem; font-size: 0.62rem; font-weight: 800; text-transform: uppercase; color: #64748b; }

.lux-wg-edge-row, .lux-wg-bottleneck-row, .lux-wg-event-row {
  display: flex; justify-content: space-between; gap: 0.5rem; align-items: center;
  padding: 0.55rem 0.7rem; border-radius: 12px;
  background: rgba(248, 250, 252, 0.92); border: 1px solid rgba(226, 232, 240, 0.85); font-size: 0.8125rem;
}
.lux-wg-edge-row__type, .lux-wg-event-row__type { font-size: 0.62rem; font-weight: 800; text-transform: uppercase; color: #64748b; }
.lux-wg-bottleneck-row__degree { font-weight: 800; color: #b45309; }

.lux-wg-search-shell {
  border-radius: 16px; padding: 1rem 1.1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(245, 243, 255, 0.65));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}
.lux-wg-search-form { display: grid; gap: 0.55rem; }
.lux-wg-search-form__row { display: grid; grid-template-columns: minmax(0, 1fr) 180px auto; gap: 0.65rem; align-items: center; }
.lux-wg-search-input, .lux-wg-search-filter {
  min-height: 2.5rem; border-radius: 12px; border: 1px solid rgba(203, 213, 225, 0.95);
  padding: 0.45rem 0.75rem; font-weight: 600; background: rgba(255, 255, 255, 0.92);
}
.lux-wg-search-form__hint { margin: 0; font-size: 0.8125rem; color: #64748b; }

.lux-wg-search-results { display: grid; gap: 0.65rem; }
.lux-wg-search-results__head { display: flex; justify-content: space-between; gap: 0.75rem; font-size: 0.8125rem; color: #64748b; font-weight: 700; padding: 0 0.15rem; }
.lux-wg-search-results__query { color: #4338ca; }

.lux-wg-search-hit {
  display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; gap: 0.75rem; align-items: center;
  padding: 0.95rem 1rem; border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.82));
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.lux-wg-search-hit:hover { box-shadow: 0 12px 28px rgba(99, 102, 241, 0.1); transform: translateY(-1px); }
.lux-wg-search-hit__index { font-size: 0.75rem; font-weight: 800; color: #94a3b8; min-width: 1.5rem; }
.lux-wg-search-hit__module-icon {
  width: 2.25rem; height: 2.25rem; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(99, 102, 241, 0.12); color: #4338ca;
}
.lux-wg-search-hit__module { font-size: 0.65rem; font-weight: 800; text-transform: uppercase; color: #64748b; }
.lux-wg-search-hit__title { margin: 0.2rem 0; font-size: 1rem; font-weight: 900; color: #0f172a; }
.lux-wg-search-hit__snippet { margin: 0; color: #475569; font-size: 0.875rem; line-height: 1.45; }
.lux-wg-search-hit__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 0.45rem; }
.lux-wg-search-hit__score {
  display: inline-flex; padding: 0.2rem 0.55rem; border-radius: 999px;
  font-size: 0.6875rem; font-weight: 800; text-transform: uppercase;
  background: rgba(148, 163, 184, 0.16); color: #475569;
}
.lux-wg-search-hit__score.is-excellent { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-wg-search-hit__score.is-good { background: rgba(99, 102, 241, 0.14); color: #4338ca; }
.lux-wg-search-hit__score.is-fair { background: rgba(245, 158, 11, 0.14); color: #b45309; }

.lux-wg-search-empty {
  display: grid; gap: 0.45rem; justify-items: center; text-align: center;
  padding: 2.75rem 1rem; color: #64748b;
  border-radius: 16px; border: 1px dashed rgba(203, 213, 225, 0.85);
  background: rgba(248, 250, 252, 0.65);
}
.lux-wg-search-empty__icon {
  width: 3rem; height: 3rem; border-radius: 16px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(124, 58, 237, 0.12); color: #7c3aed; font-size: 1.25rem;
}
.lux-wg-search-empty h3 { margin: 0; font-size: 1rem; font-weight: 900; color: #0f172a; }
.lux-wg-search-empty p { margin: 0; max-width: 28rem; line-height: 1.5; }

.lux-wg-density-bars { display: grid; gap: 0.65rem; }
.lux-wg-density-row { display: grid; grid-template-columns: 90px 1fr auto; gap: 0.55rem; align-items: center; font-size: 0.8125rem; }
.lux-wg-density-row__label { font-weight: 700; color: #334155; }
.lux-wg-density-row__track { height: 9px; border-radius: 999px; background: rgba(226, 232, 240, 0.9); overflow: hidden; }
.lux-wg-density-row__fill { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6366f1, #8b5cf6); }
.lux-wg-density-row__meta { font-size: 0.75rem; color: #64748b; font-weight: 700; }
.lux-wg-analytics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.lux-wg-analytics-foot { margin: 0.75rem 0 0; font-size: 0.8125rem; color: #64748b; }
.lux-wg-ai-summary { margin: 0 0 0.65rem; color: #334155; line-height: 1.5; }
.lux-wg-ai-list li { padding: 0.45rem 0.65rem; border-radius: 10px; background: rgba(245, 243, 255, 0.72); border: 1px solid rgba(196, 181, 253, 0.45); font-size: 0.8125rem; }

.lux-wg-skeleton {
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%; animation: luxShimmer 1.4s ease infinite; min-height: 72px;
}
.lux-wg-skeleton--viz { min-height: 440px; }
.lux-wg-skeleton--panel { min-height: 160px; }
.lux-wg-skeleton--row { min-height: 88px; }

@media (max-width: 1100px) {
  .lux-wg-page-grid, .lux-wg-analytics-grid, .lux-wg-search-form__row { grid-template-columns: 1fr; }
  .lux-wg-search-hit { grid-template-columns: 1fr; }
  .lux-wg-search-hit__actions { flex-direction: row; align-items: center; justify-content: flex-start; }
}

/* F28 — Knowledge, RCA and lessons learned luxury layout */
.lux-hrms-dash.lux-krca-module.lux-krca-lux.pd-page {
  --pd-gap: 14px;
  padding: var(--lux-page-block-gap-y) var(--lux-page-gutter-x, 0.75rem) var(--lux-page-block-bottom, 1.5rem);
  max-width: 100%;
}

.vleft:has(.lux-krca-module) #page_top.lux-header-bar .page-header {
  padding-left: var(--lux-page-gutter-x);
  padding-right: var(--lux-page-gutter-x);
}

.lux-krca-lux { position: relative; padding: 0; max-width: 100%; isolation: isolate; }
.lux-krca-lux__ambient { pointer-events: none; position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.lux-krca-lux__orb { position: absolute; border-radius: 999px; filter: blur(52px); opacity: 0.36; }
.lux-krca-lux__orb--a { width: 260px; height: 260px; top: -42px; right: 4%; background: rgba(16, 185, 129, 0.32); }
.lux-krca-lux__orb--b { width: 210px; height: 210px; bottom: 6%; left: 8%; background: rgba(139, 92, 246, 0.28); }
.lux-krca-lux__orb--c { width: 170px; height: 170px; top: 36%; right: 20%; background: rgba(244, 63, 94, 0.16); }
.lux-krca-lux.is-emerald .lux-krca-lux__orb--a { background: rgba(5, 150, 105, 0.34); }
.lux-krca-lux.is-violet .lux-krca-lux__orb--a { background: rgba(124, 58, 237, 0.32); }
.lux-krca-lux.is-rose .lux-krca-lux__orb--a { background: rgba(244, 63, 94, 0.28); }

.lux-krca-lux-hero {
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  width: 100%;
  box-sizing: border-box;
  border-radius: 18px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(236, 253, 245, 0.72));
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.05);
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
}

.lux-krca-lux-hero__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; width: 100%; }
.lux-krca-hero__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 0.55rem; margin-left: auto; }
.lux-krca-hero__buttons { display: flex; flex-wrap: wrap; gap: 0.45rem; justify-content: flex-end; }
.lux-krca-lux-hero.is-emerald .lux-hrms-dash__hero-title span { color: #059669; }
.lux-krca-lux-hero.is-violet .lux-hrms-dash__hero-title span { color: #7c3aed; }
.lux-krca-lux-hero.is-rose .lux-hrms-dash__hero-title span { color: #e11d48; }

.lux-krca-lux__kpi-strip,
.lux-krca-lux__insights,
.lux-krca-lux__quick-nav,
.lux-krca-lux__content { position: relative; z-index: 1; }
.lux-krca-lux__kpi-strip { margin: 0 0 1rem; }
.lux-krca-lux__insights { margin: 0 0 1rem; }
.lux-krca-lux__quick-nav { margin-bottom: 1rem; }
.lux-krca-lux .lux-admin-quick-nav {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.82));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
  padding: 0.85rem 1rem;
}
.lux-krca-lux__content { display: grid; gap: var(--lux-module-section-gap); }

.lux-krca-lux__panel {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.72));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.lux-krca-lux__panel--featured { border-top: 3px solid rgba(16, 185, 129, 0.45); box-shadow: 0 14px 36px rgba(15, 23, 42, 0.07); }
.lux-krca-lux__panel.is-emerald .lux-krca-lux__panel-head-main i { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-krca-lux__panel.is-violet .lux-krca-lux__panel-head-main i { background: rgba(124, 58, 237, 0.12); color: #7c3aed; }
.lux-krca-lux__panel.is-rose .lux-krca-lux__panel-head-main i { background: rgba(244, 63, 94, 0.12); color: #e11d48; }
.lux-krca-lux__panel.is-indigo .lux-krca-lux__panel-head-main i { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-krca-lux__panel.is-amber .lux-krca-lux__panel-head-main i { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-krca-lux__panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; }
.lux-krca-lux__panel-head-main { display: flex; gap: 0.65rem; align-items: flex-start; }
.lux-krca-lux__panel-head-main i {
  width: 2.25rem; height: 2.25rem; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center; font-size: 1rem;
}

.lux-krca-search-shell {
  border-radius: 16px; padding: 1rem 1.1rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(236, 253, 245, 0.62));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}
.lux-krca-search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.65rem; align-items: center; }
.lux-krca-filter, .lux-krca-search-input {
  min-height: 2.5rem; border-radius: 12px; border: 1px solid rgba(203, 213, 225, 0.95);
  padding: 0.45rem 0.75rem; font-weight: 600; background: rgba(255, 255, 255, 0.92);
}

.lux-krca-analytics-stack { display: grid; gap: 1rem; }
.lux-krca-snapshot {
  display: grid; gap: 0.75rem;
  border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 16px;
  padding: 1rem 1.1rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(255, 241, 242, 0.55));
}
.lux-krca-snapshot__badge {
  display: inline-flex; align-items: center; gap: 0.45rem;
  font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase;
  color: #475569; padding: 0.35rem 0.65rem; border-radius: 999px;
  background: rgba(255, 255, 255, 0.72); border: 1px solid rgba(226, 232, 240, 0.95); width: fit-content;
}
.lux-krca-snapshot__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.65rem; }
.lux-krca-snapshot__metric {
  border-radius: 12px; padding: 0.75rem 0.85rem;
  background: rgba(255, 255, 255, 0.78); border: 1px solid rgba(226, 232, 240, 0.9);
}
.lux-krca-snapshot__metric span { display: block; font-size: 0.75rem; color: #64748b; font-weight: 600; }
.lux-krca-snapshot__metric strong { display: block; font-size: 1.2rem; color: #0f172a; font-weight: 800; margin-top: 0.15rem; }
.lux-krca-snapshot__metric.is-rose { border-top: 3px solid rgba(244, 63, 94, 0.55); }
.lux-krca-snapshot__metric.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.55); }
.lux-krca-snapshot__metric.is-emerald { border-top: 3px solid rgba(5, 150, 105, 0.55); }
.lux-krca-snapshot__metric.is-amber { border-top: 3px solid rgba(217, 119, 6, 0.55); }

.lux-krca-analytics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.lux-krca-analytics-foot { margin: 0.75rem 0 0; font-size: 0.8125rem; color: #64748b; }

.lux-krca-register { display: grid; gap: 0.65rem; }
.lux-krca-register__row {
  display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; gap: 0.75rem; align-items: flex-start;
  padding: 0.9rem 1rem; border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.82));
  text-align: left; transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}
.lux-krca-register__row--btn { width: 100%; cursor: pointer; border: 1px solid rgba(226, 232, 240, 0.95); }
.lux-krca-register__row:hover { box-shadow: 0 10px 26px rgba(16, 185, 129, 0.08); transform: translateY(-1px); }
.lux-krca-register__row.is-selected { border-color: #7c3aed; box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.14); }
.lux-krca-register__index { font-size: 0.75rem; font-weight: 800; color: #94a3b8; padding-top: 0.15rem; min-width: 1.5rem; }
.lux-krca-register__rail {
  width: 2.35rem; height: 2.35rem; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(16, 185, 129, 0.12); color: #047857; flex-shrink: 0;
}
.lux-krca-register__rail.is-danger { background: rgba(244, 63, 94, 0.12); color: #be123c; }
.lux-krca-register__content { display: grid; gap: 0; text-align: left; }
.lux-krca-register__main { flex: 1; border: 0; background: transparent; text-align: left; padding: 0; cursor: pointer; }
.lux-krca-register__main--static { cursor: default; }
.lux-krca-register__eyebrow { display: block; font-size: 0.65rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: #64748b; }
.lux-krca-register__row h3 { margin: 0.25rem 0; font-size: 0.95rem; font-weight: 900; color: #0f172a; }
.lux-krca-register__row p { margin: 0; color: #475569; font-size: 0.875rem; line-height: 1.45; }
.lux-krca-register__meta { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.55rem; font-size: 0.75rem; color: #64748b; align-items: center; }

.lux-krca-badge {
  display: inline-flex; padding: 0.15rem 0.5rem; border-radius: 999px;
  font-size: 0.65rem; font-weight: 800; text-transform: uppercase;
  background: rgba(148, 163, 184, 0.18); color: #334155;
}
.lux-krca-badge--published, .lux-krca-badge--approved { background: rgba(16, 185, 129, 0.15); color: #047857; }
.lux-krca-badge--draft { background: rgba(245, 158, 11, 0.15); color: #b45309; }
.lux-krca-badge--in_review { background: rgba(99, 102, 241, 0.15); color: #4338ca; }
.lux-krca-tag { padding: 0.1rem 0.45rem; border-radius: 999px; background: rgba(139, 92, 246, 0.12); color: #6d28d9; font-weight: 700; font-size: 0.75rem; }

.lux-krca-pattern-list, .lux-krca-category-list, .lux-krca-action-list, .lux-krca-link-list, .lux-krca-ai-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }
.lux-krca-pattern-row {
  display: grid; grid-template-columns: minmax(0, 1fr) 120px auto; gap: 0.55rem; align-items: center;
  padding: 0.6rem 0.75rem; border-radius: 12px;
  background: rgba(248, 250, 252, 0.92); border: 1px solid rgba(226, 232, 240, 0.85); font-size: 0.8125rem;
}
.lux-krca-pattern-row__label { font-weight: 700; color: #0f172a; }
.lux-krca-pattern-row__bar { height: 7px; border-radius: 999px; background: rgba(226, 232, 240, 0.9); overflow: hidden; }
.lux-krca-pattern-row__bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f43f5e, #fb7185); }
.lux-krca-pattern-row__meta { font-size: 0.75rem; color: #64748b; font-weight: 700; text-align: right; }
.lux-krca-category-list li {
  display: flex; justify-content: space-between; gap: 0.5rem;
  padding: 0.55rem 0.7rem; border-radius: 12px;
  background: rgba(248, 250, 252, 0.92); border: 1px solid rgba(226, 232, 240, 0.85); font-size: 0.8125rem;
}

.lux-krca-empty {
  display: grid; gap: 0.45rem; justify-items: center; text-align: center;
  padding: 2.25rem 1rem; color: #64748b;
  border-radius: 14px; border: 1px dashed rgba(203, 213, 225, 0.85);
}
.lux-krca-empty i { font-size: 1.5rem; color: #94a3b8; }

.lux-krca-skeleton {
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(241, 245, 249, 0.8), rgba(226, 232, 240, 0.55), rgba(241, 245, 249, 0.8));
  background-size: 200% 100%; animation: luxShimmer 1.4s ease infinite; min-height: 72px;
}
.lux-krca-skeleton--panel { min-height: 160px; }
.lux-krca-skeleton--row { min-height: 88px; }

.lux-krca-ai {
  border-radius: 14px; padding: 0.9rem 1rem;
  border: 1px solid rgba(124, 58, 237, 0.22);
  background: linear-gradient(135deg, rgba(245, 243, 255, 0.85), rgba(255, 255, 255, 0.92));
}
.lux-krca-ai header {
  display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em;
  color: #6d28d9; margin-bottom: 0.55rem;
}
.lux-krca-ai--embedded { margin-top: 0.25rem; }
.lux-krca-ai-summary { margin: 0 0 0.65rem; color: #334155; line-height: 1.5; font-size: 0.875rem; }
.lux-krca-ai-hint { padding: 0.65rem 0.75rem; border-radius: 10px; background: rgba(255, 255, 255, 0.72); border: 1px solid rgba(226, 232, 240, 0.9); margin-bottom: 0.65rem; }
.lux-krca-ai-hint strong { display: block; font-size: 0.6875rem; text-transform: uppercase; color: #64748b; margin-bottom: 0.25rem; }
.lux-krca-ai-hint p { margin: 0; color: #334155; font-size: 0.875rem; }
.lux-krca-ai-list li {
  display: flex; align-items: flex-start; gap: 0.45rem;
  padding: 0.45rem 0.65rem; border-radius: 10px;
  background: rgba(255, 255, 255, 0.72); border: 1px solid rgba(196, 181, 253, 0.35); font-size: 0.8125rem;
}
.lux-krca-ai-confidence { display: flex; justify-content: space-between; margin: 0.65rem 0 0; font-size: 0.8125rem; color: #64748b; }
.lux-krca-ai-confidence strong { color: #7c3aed; font-size: 1rem; }

.lux-krca-drawer-backdrop {
  position: fixed; inset: 0; z-index: var(--lux-z-overlay);
  background: rgba(8, 12, 28, 0.52); backdrop-filter: blur(8px);
  display: flex; justify-content: flex-end;
  animation: lux-onb-drawer-backdrop-in 0.22s ease;
}

.lux-krca-drawer {
  --krca-drawer-accent: #e11d48;
  --krca-drawer-accent-rgb: 225, 29, 72;
  position: relative; z-index: var(--lux-z-overlay-panel);
  width: min(500px, 100%); height: 100%;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  box-shadow: -20px 0 60px rgba(15, 23, 42, 0.2);
  display: flex; flex-direction: column;
  animation: lux-onb-drawer-slide-in 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.lux-krca-drawer--emerald { --krca-drawer-accent: #059669; --krca-drawer-accent-rgb: 5, 150, 105; }
.lux-krca-drawer--danger { --krca-drawer-accent: #dc2626; --krca-drawer-accent-rgb: 220, 38, 38; }
.lux-krca-drawer--rose { --krca-drawer-accent: #e11d48; --krca-drawer-accent-rgb: 225, 29, 72; }

.lux-krca-drawer__accent {
  position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: linear-gradient(180deg, var(--krca-drawer-accent), rgba(var(--krca-drawer-accent-rgb), 0.35));
}

.lux-krca-drawer__head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem;
  padding: 1.15rem 1.2rem 1rem; border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  background: radial-gradient(circle at 100% 0%, rgba(var(--krca-drawer-accent-rgb), 0.14), transparent 55%);
}

.lux-krca-drawer__head-main { display: flex; gap: 0.75rem; min-width: 0; }
.lux-krca-drawer__category-icon {
  width: 2.75rem; height: 2.75rem; border-radius: 16px;
  display: inline-flex; align-items: center; justify-content: center; color: #fff;
  background: linear-gradient(135deg, var(--krca-drawer-accent), rgba(var(--krca-drawer-accent-rgb), 0.65));
}

.lux-krca-drawer__eyebrow { display: block; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--krca-drawer-accent); }
.lux-krca-drawer__head h2 { margin: 0.3rem 0 0; font-size: 1.15rem; font-weight: 900; color: #0f172a; }
.lux-krca-drawer__badges { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.55rem; align-items: center; }
.lux-krca-drawer__severity { font-size: 0.75rem; font-weight: 700; color: #64748b; text-transform: capitalize; }
.lux-krca-drawer__close { border: 0; background: rgba(148, 163, 184, 0.14); width: 2.25rem; height: 2.25rem; border-radius: 10px; cursor: pointer; }
.lux-krca-drawer__body { flex: 1; overflow: auto; padding: 1rem 1.2rem; display: grid; gap: 0.9rem; align-content: start; }
.lux-krca-drawer__lede { margin: 0; color: #334155; line-height: 1.55; }
.lux-krca-drawer__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; }
.lux-krca-drawer__metrics article { border-radius: 10px; padding: 0.6rem; background: rgba(248, 250, 252, 0.92); border: 1px solid rgba(226, 232, 240, 0.85); }
.lux-krca-drawer__metrics span { display: block; font-size: 0.6875rem; color: #64748b; font-weight: 700; text-transform: uppercase; }
.lux-krca-drawer__metrics strong { display: block; margin-top: 0.15rem; color: #0f172a; text-transform: capitalize; }
.lux-krca-drawer__section h3 { margin: 0 0 0.65rem; font-size: 0.8125rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: #64748b; }
.lux-krca-drawer__notes-card { padding: 0.75rem 0.85rem; border-radius: 12px; background: rgba(248, 250, 252, 0.92); border: 1px solid rgba(226, 232, 240, 0.85); }
.lux-krca-drawer__notes-card p { margin: 0; color: #334155; line-height: 1.5; }

.lux-krca-action-row {
  display: flex; justify-content: space-between; gap: 0.5rem; align-items: center;
  padding: 0.55rem 0.7rem; border-radius: 10px;
  background: rgba(248, 250, 252, 0.92); border: 1px solid rgba(226, 232, 240, 0.85); font-size: 0.8125rem;
}
.lux-krca-action-row.is-done { opacity: 0.72; }
.lux-krca-action-row__status { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; color: #64748b; }
.lux-krca-link-chip {
  display: inline-flex; align-items: center; gap: 0.35rem;
  padding: 0.45rem 0.65rem; border-radius: 10px;
  background: rgba(99, 102, 241, 0.1); color: #4338ca; font-weight: 700; font-size: 0.8125rem;
}

.lux-krca-drawer__footer { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.9rem 1.2rem; border-top: 1px solid rgba(226, 232, 240, 0.92); }

@media (max-width: 1100px) {
  .lux-krca-analytics-grid, .lux-krca-search-form { grid-template-columns: 1fr; }
  .lux-krca-snapshot__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lux-krca-register__row { grid-template-columns: auto minmax(0, 1fr); }
  .lux-krca-register__index { display: none; }
  .lux-krca-pattern-row { grid-template-columns: 1fr; }
  .lux-krca-drawer__metrics { grid-template-columns: 1fr; }
}

/* F27 — Workflow automation studio luxury layout */
.lux-hrms-dash.lux-wf-module.lux-wf-lux.pd-page {
  --pd-gap: 14px;
  padding: var(--lux-page-block-gap-y) var(--lux-page-gutter-x, 0.75rem) var(--lux-page-block-bottom, 1.5rem);
  max-width: 100%;
}

.vleft:has(.lux-wf-module) #page_top.lux-header-bar .page-header {
  padding-left: var(--lux-page-gutter-x);
  padding-right: var(--lux-page-gutter-x);
}

.lux-wf-lux { position: relative; padding: 0; max-width: 100%; isolation: isolate; }
.lux-wf-lux__ambient { pointer-events: none; position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.lux-wf-lux__orb { position: absolute; border-radius: 999px; filter: blur(52px); opacity: 0.38; }
.lux-wf-lux__orb--a { width: 280px; height: 280px; top: -58px; right: 4%; }
.lux-wf-lux__orb--b { width: 220px; height: 220px; bottom: 8%; left: -40px; background: rgba(139, 92, 246, 0.2); }
.lux-wf-lux__orb--c { width: 160px; height: 160px; top: 38%; right: 18%; background: rgba(99, 102, 241, 0.16); }
.lux-wf-lux.is-violet .lux-wf-lux__orb--a { background: rgba(139, 92, 246, 0.34); }
.lux-wf-lux.is-indigo .lux-wf-lux__orb--a { background: rgba(99, 102, 241, 0.32); }

.lux-wf-lux-hero {
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  width: 100%;
  box-sizing: border-box;
  border-radius: 18px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(245, 243, 255, 0.72));
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.05);
  padding: 1.15rem 1.25rem;
  margin-bottom: 1rem;
}

.lux-wf-lux-hero__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; width: 100%; }
.lux-wf-hero__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 0.55rem; margin-left: auto; }
.lux-wf-hero__buttons { display: flex; flex-wrap: wrap; gap: 0.45rem; justify-content: flex-end; }
.lux-wf-lux-hero.is-violet .lux-hrms-dash__hero-title span { color: #7c3aed; }
.lux-wf-lux-hero.is-indigo .lux-hrms-dash__hero-title span { color: #4338ca; }

.lux-wf-lux__kpi-strip,
.lux-wf-lux__insights,
.lux-wf-lux__quick-nav,
.lux-wf-lux__content { position: relative; z-index: 1; }
.lux-wf-lux__kpi-strip { margin: 0 0 1rem; }
.lux-wf-lux__insights { margin: 0 0 1rem; }
.lux-wf-lux__quick-nav { margin-bottom: 1rem; }
.lux-wf-lux .lux-admin-quick-nav {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.82));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
  padding: 0.85rem 1rem;
}
.lux-wf-lux__content { display: grid; gap: var(--lux-module-section-gap); }

.lux-wf-lux__panel {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.72));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.lux-wf-lux__panel--featured { border-top: 3px solid rgba(139, 92, 246, 0.45); box-shadow: 0 14px 36px rgba(15, 23, 42, 0.07); }
.lux-wf-lux__panel.is-violet .lux-wf-lux__panel-head-main i { background: rgba(139, 92, 246, 0.12); color: #7c3aed; }
.lux-wf-lux__panel.is-indigo .lux-wf-lux__panel-head-main i { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-wf-lux__panel.is-blue .lux-wf-lux__panel-head-main i { background: rgba(37, 99, 235, 0.12); color: #2563eb; }
.lux-wf-lux__panel.is-emerald .lux-wf-lux__panel-head-main i { background: rgba(16, 185, 129, 0.12); color: #059669; }
.lux-wf-lux__panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; }
.lux-wf-lux__panel-head-main { display: flex; gap: 0.65rem; align-items: flex-start; }
.lux-wf-lux__panel-head-main i {
  width: 2rem; height: 2rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}

.lux-wf-filter {
  border-radius: 10px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.88);
  padding: 0.4rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #334155;
}

.lux-wf-register { display: grid; gap: 0.65rem; }
.lux-wf-register__row {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: rgba(255, 255, 255, 0.82);
  padding: 0.75rem 0.85rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.lux-wf-register__row:hover { border-color: rgba(139, 92, 246, 0.35); box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05); }
.lux-wf-register__index { font-size: 0.75rem; font-weight: 800; color: #94a3b8; letter-spacing: 0.06em; }
.lux-wf-register__rail {
  width: 2.25rem; height: 2.25rem; border-radius: 10px;
  background: rgba(139, 92, 246, 0.12); color: #7c3aed;
  display: inline-flex; align-items: center; justify-content: center;
}
.lux-wf-register__main {
  border: 0; background: transparent; text-align: left; padding: 0; cursor: pointer; width: 100%;
}
.lux-wf-register__eyebrow { display: block; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #64748b; margin-bottom: 0.2rem; }
.lux-wf-register__main h3 { margin: 0 0 0.25rem; font-size: 0.9375rem; font-weight: 700; color: #0f172a; }
.lux-wf-register__main p { margin: 0 0 0.45rem; font-size: 0.8125rem; color: #64748b; line-height: 1.45; }
.lux-wf-register__meta { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; font-size: 0.75rem; color: #64748b; }
.lux-wf-register__actions { display: flex; flex-wrap: wrap; gap: 0.4rem; justify-content: flex-end; }

.lux-wf-badge {
  display: inline-flex; align-items: center; padding: 0.2rem 0.55rem; border-radius: 999px;
  font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase;
  background: rgba(148, 163, 184, 0.18); color: #475569;
}
.lux-wf-badge--published { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-wf-badge--draft { background: rgba(148, 163, 184, 0.18); color: #475569; }
.lux-wf-badge--paused { background: rgba(245, 158, 11, 0.16); color: #b45309; }
.lux-wf-badge--success { background: rgba(16, 185, 129, 0.14); color: #047857; }
.lux-wf-badge--failed { background: rgba(244, 63, 94, 0.14); color: #be123c; }
.lux-wf-badge--running { background: rgba(59, 130, 246, 0.14); color: #1d4ed8; }

.lux-wf-analytics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pd-gap, 14px); margin-bottom: var(--pd-gap, 14px); }
.lux-wf-snapshot__metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; }
.lux-wf-snapshot__metric { border-radius: 12px; padding: 0.75rem 0.85rem; background: rgba(255, 255, 255, 0.78); border: 1px solid rgba(226, 232, 240, 0.92); }
.lux-wf-snapshot__metric span { display: block; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #64748b; margin-bottom: 0.25rem; }
.lux-wf-snapshot__metric strong { font-size: 1.25rem; font-weight: 800; color: #0f172a; }
.lux-wf-snapshot__metric.is-emerald strong { color: #047857; }
.lux-wf-snapshot__metric.is-rose strong { color: #be123c; }

.lux-wf-density-bars { display: grid; gap: 0.55rem; }
.lux-wf-density-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) auto; gap: 0.55rem; align-items: center; }
.lux-wf-density-row__label { font-size: 0.8125rem; font-weight: 600; color: #334155; }
.lux-wf-density-row__track { height: 8px; border-radius: 999px; background: rgba(226, 232, 240, 0.85); overflow: hidden; }
.lux-wf-density-row__fill { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, rgba(139, 92, 246, 0.85), rgba(99, 102, 241, 0.75)); }
.lux-wf-density-row__meta { font-size: 0.75rem; font-weight: 700; color: #64748b; }

.lux-wf-page-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.9fr); gap: var(--pd-gap, 14px); align-items: start; }
.lux-wf-page-side { display: grid; gap: var(--pd-gap, 14px); }

.lux-wf-builder { display: grid; gap: 0.85rem; }
.lux-wf-builder__field { display: grid; gap: 0.35rem; }
.lux-wf-builder__field span { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #64748b; }
.lux-wf-builder__input,
.lux-wf-builder__textarea {
  border-radius: 10px; border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.92); padding: 0.55rem 0.7rem; font-size: 0.875rem; color: #0f172a;
}
.lux-wf-builder__section h3 { margin: 0 0 0.45rem; font-size: 0.8125rem; font-weight: 800; color: #334155; }
.lux-wf-builder__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.45rem; }
.lux-wf-builder__chip {
  display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.35rem 0.6rem; border-radius: 999px;
  background: rgba(238, 242, 255, 0.85); border: 1px solid rgba(199, 210, 254, 0.85); font-size: 0.75rem; color: #334155;
}
.lux-wf-builder__chip.is-action { background: rgba(245, 243, 255, 0.9); border-color: rgba(221, 214, 254, 0.95); }

.lux-wf-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; }
.lux-wf-action-card {
  border-radius: 12px; border: 1px solid rgba(226, 232, 240, 0.92); background: rgba(255, 255, 255, 0.82);
  padding: 0.65rem 0.75rem;
}
.lux-wf-action-card strong { display: block; font-size: 0.8125rem; color: #0f172a; margin-bottom: 0.2rem; }
.lux-wf-action-card p { margin: 0; font-size: 0.75rem; color: #64748b; line-height: 1.4; }

.lux-wf-trigger-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }
.lux-wf-trigger-chip {
  width: 100%; text-align: left; border-radius: 12px; border: 1px solid rgba(226, 232, 240, 0.92);
  background: rgba(255, 255, 255, 0.82); padding: 0.65rem 0.75rem; cursor: pointer;
  display: grid; gap: 0.15rem; transition: border-color 0.15s ease;
}
.lux-wf-trigger-chip.is-selected { border-color: rgba(37, 99, 235, 0.45); box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.15); }
.lux-wf-trigger-chip__module { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; color: #64748b; }
.lux-wf-trigger-chip strong { font-size: 0.8125rem; color: #0f172a; }
.lux-wf-trigger-chip span:last-child { font-size: 0.75rem; color: #64748b; }

.lux-wf-run-list { display: grid; gap: 0.45rem; max-height: 320px; overflow: auto; }
.lux-wf-run-row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.45rem; align-items: center;
  border-radius: 10px; border: 1px solid rgba(226, 232, 240, 0.92); background: rgba(255, 255, 255, 0.78);
  padding: 0.55rem 0.65rem; cursor: pointer; text-align: left; width: 100%;
}
.lux-wf-run-row.is-selected { border-color: rgba(139, 92, 246, 0.4); }
.lux-wf-run-row__main { display: grid; gap: 0.15rem; }
.lux-wf-run-row__rule { font-size: 0.8125rem; font-weight: 700; color: #0f172a; }
.lux-wf-run-row__time { font-size: 0.75rem; color: #64748b; }
.lux-wf-run-row__meta { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; font-size: 0.75rem; color: #64748b; }

.lux-wf-run-debug {
  margin-top: 0.75rem; border-radius: 12px; border: 1px solid rgba(226, 232, 240, 0.92);
  background: rgba(15, 23, 42, 0.03); padding: 0.75rem 0.85rem;
}
.lux-wf-run-debug h4 { margin: 0 0 0.45rem; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: #475569; }
.lux-wf-run-debug ul { margin: 0; padding-left: 1rem; font-size: 0.8125rem; color: #334155; line-height: 1.5; }
.lux-wf-run-debug__error { margin: 0.55rem 0 0; font-size: 0.8125rem; font-weight: 600; color: #be123c; }

.lux-wf-ai-summary { margin: 0 0 0.65rem; font-size: 0.875rem; color: #334155; line-height: 1.45; }
.lux-wf-ai-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.lux-wf-ai-card__head { display: flex; justify-content: space-between; gap: 0.5rem; align-items: baseline; margin-bottom: 0.25rem; }
.lux-wf-ai-card__head span { font-size: 0.6875rem; font-weight: 700; color: #64748b; }
.lux-wf-ai-card__trigger { display: inline-block; margin-top: 0.35rem; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #7c3aed; }
.lux-wf-ai-disclaimer { margin: 0.65rem 0 0; font-size: 0.75rem; color: #94a3b8; }

.lux-wf-ai-card {
  border-radius: 14px; border: 1px solid rgba(221, 214, 254, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(245, 243, 255, 0.78));
  padding: 0.85rem 1rem;
}
.lux-wf-ai-card h3 { margin: 0 0 0.35rem; font-size: 0.9375rem; color: #0f172a; }
.lux-wf-ai-card p { margin: 0 0 0.55rem; font-size: 0.8125rem; color: #64748b; line-height: 1.45; }
.lux-wf-ai-card ul { margin: 0; padding-left: 1rem; font-size: 0.8125rem; color: #334155; }

.lux-wf-empty {
  display: grid; justify-items: center; gap: 0.45rem; padding: 2rem 1rem; text-align: center; color: #64748b;
}
.lux-wf-empty i { font-size: 1.5rem; color: #94a3b8; }

.lux-wf-skeleton { border-radius: 12px; background: linear-gradient(90deg, rgba(226,232,240,0.5), rgba(241,245,249,0.9), rgba(226,232,240,0.5)); background-size: 200% 100%; animation: lux-wf-shimmer 1.2s ease infinite; }
.lux-wf-skeleton--row { height: 72px; }
.lux-wf-skeleton--panel { height: 180px; }
@keyframes lux-wf-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

@media (max-width: 1100px) {
  .lux-wf-analytics-grid, .lux-wf-page-grid, .lux-wf-action-grid { grid-template-columns: 1fr; }
  .lux-wf-register__row { grid-template-columns: auto minmax(0, 1fr); }
  .lux-wf-register__index { display: none; }
  .lux-wf-snapshot__metrics { grid-template-columns: 1fr; }
}

/* F30 — Developer portal and marketplace luxury layout */
.lux-hrms-dash.lux-dev-module.lux-dev-lux.pd-page {
  --pd-gap: 14px;
  padding: var(--lux-page-block-gap-y) var(--lux-page-gutter-x, 0.75rem) var(--lux-page-block-bottom, 1.5rem);
  max-width: 100%;
}

.vleft:has(.lux-dev-module) #page_top.lux-header-bar .page-header {
  padding-left: var(--lux-page-gutter-x);
  padding-right: var(--lux-page-gutter-x);
}

.lux-dev-lux { position: relative; padding: 0; max-width: 100%; isolation: isolate; }
.lux-dev-lux__ambient { pointer-events: none; position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.lux-dev-lux__orb { position: absolute; border-radius: 999px; filter: blur(52px); opacity: 0.38; }
.lux-dev-lux__orb--a { width: 280px; height: 280px; top: -58px; right: 4%; background: rgba(6, 182, 212, 0.34); }
.lux-dev-lux__orb--b { width: 220px; height: 220px; bottom: 8%; left: -40px; background: rgba(16, 185, 129, 0.2); }
.lux-dev-lux__orb--c { width: 160px; height: 160px; top: 38%; right: 18%; background: rgba(99, 102, 241, 0.16); }

.lux-dev-lux-hero {
  flex-direction: column; align-items: stretch; gap: 1rem; width: 100%; box-sizing: border-box;
  border-radius: 18px; border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(236, 254, 255, 0.72));
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.05); padding: 1.15rem 1.25rem; margin-bottom: 1rem;
}
.lux-dev-lux-hero__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; width: 100%; }
.lux-dev-hero__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 0.55rem; margin-left: auto; }
.lux-dev-hero__buttons { display: flex; flex-wrap: wrap; gap: 0.45rem; justify-content: flex-end; }
.lux-dev-lux-hero.is-cyan .lux-hrms-dash__hero-title span { color: #0891b2; }
.lux-dev-lux-hero.is-emerald .lux-hrms-dash__hero-title span { color: #059669; }

.lux-dev-lux__kpi-strip, .lux-dev-lux__insights, .lux-dev-lux__quick-nav, .lux-dev-lux__content { position: relative; z-index: 1; }
.lux-dev-lux__content { display: grid; gap: var(--lux-module-section-gap); }
.lux-dev-lux__panel { border-radius: 16px; border: 1px solid rgba(226, 232, 240, 0.95); background: linear-gradient(135deg, rgba(255,255,255,0.94), rgba(248,250,252,0.72)); box-shadow: 0 10px 28px rgba(15,23,42,0.05); }
.lux-dev-lux__panel--featured { border-top: 3px solid rgba(6, 182, 212, 0.45); }
.lux-dev-lux__panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; }
.lux-dev-lux__panel-head-main { display: flex; gap: 0.65rem; align-items: flex-start; }
.lux-dev-lux__panel-head-main i { width: 2rem; height: 2rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; }

.lux-dev-filter { border-radius: 10px; border: 1px solid rgba(226,232,240,0.95); background: rgba(255,255,255,0.88); padding: 0.4rem 0.65rem; font-size: 0.8125rem; font-weight: 600; }
.lux-dev-filter-row { display: flex; align-items: center; gap: 0.65rem; margin-bottom: 0.25rem; }
.lux-dev-filter-row label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #64748b; }

.lux-dev-register { display: grid; gap: 0.65rem; }
.lux-dev-register__row { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; gap: 0.75rem; align-items: center; border-radius: 14px; border: 1px solid rgba(226,232,240,0.92); background: rgba(255,255,255,0.82); padding: 0.75rem 0.85rem; }
.lux-dev-register__row.is-selected { border-color: rgba(6,182,212,0.4); box-shadow: 0 0 0 1px rgba(6,182,212,0.12); }
.lux-dev-register__index { font-size: 0.75rem; font-weight: 800; color: #94a3b8; }
.lux-dev-register__rail { width: 2.25rem; height: 2.25rem; border-radius: 10px; background: rgba(6,182,212,0.12); color: #0891b2; display: inline-flex; align-items: center; justify-content: center; }
.lux-dev-register__main { text-align: left; }
.lux-dev-register__main--button { border: 0; background: transparent; width: 100%; cursor: pointer; padding: 0; }
.lux-dev-register__eyebrow { display: block; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #64748b; margin-bottom: 0.2rem; }
.lux-dev-register__main h3 { margin: 0 0 0.25rem; font-size: 0.9375rem; font-weight: 700; color: #0f172a; }
.lux-dev-register__main p { margin: 0 0 0.45rem; font-size: 0.8125rem; color: #64748b; }
.lux-dev-register__meta { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.75rem; color: #64748b; align-items: center; }
.lux-dev-register__actions { display: flex; gap: 0.4rem; }

.lux-dev-badge { display: inline-flex; padding: 0.2rem 0.55rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; background: rgba(148,163,184,0.18); color: #475569; }
.lux-dev-badge--active, .lux-dev-badge--installed, .lux-dev-badge--published, .lux-dev-badge--success { background: rgba(16,185,129,0.14); color: #047857; }
.lux-dev-badge--revoked, .lux-dev-badge--failed { background: rgba(244,63,94,0.14); color: #be123c; }
.lux-dev-badge--paused, .lux-dev-badge--retrying { background: rgba(245,158,11,0.16); color: #b45309; }
.lux-dev-badge--beta { background: rgba(59,130,246,0.14); color: #1d4ed8; }

.lux-dev-page-grid, .lux-dev-analytics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pd-gap, 14px); }
.lux-dev-snapshot__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.65rem; }
.lux-dev-snapshot__metric { border-radius: 12px; padding: 0.75rem; background: rgba(255,255,255,0.78); border: 1px solid rgba(226,232,240,0.92); }
.lux-dev-snapshot__metric span { display: block; font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; color: #64748b; margin-bottom: 0.25rem; }
.lux-dev-snapshot__metric strong { font-size: 1.25rem; font-weight: 800; color: #0f172a; }

.lux-dev-density-bars { display: grid; gap: 0.55rem; }
.lux-dev-density-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) auto; gap: 0.55rem; align-items: center; }
.lux-dev-density-row__track { height: 8px; border-radius: 999px; background: rgba(226,232,240,0.85); overflow: hidden; }
.lux-dev-density-row__fill { display: block; height: 100%; background: linear-gradient(90deg, rgba(6,182,212,0.85), rgba(16,185,129,0.75)); }

.lux-dev-marketplace-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.lux-dev-marketplace-card { border-radius: 14px; border: 1px solid rgba(226,232,240,0.92); background: rgba(255,255,255,0.84); padding: 0.85rem 0.95rem; display: grid; gap: 0.35rem; }
.lux-dev-marketplace-card.is-installed { border-color: rgba(16,185,129,0.35); }
.lux-dev-marketplace-card__head { display: flex; justify-content: space-between; gap: 0.5rem; align-items: center; }
.lux-dev-marketplace-card__category { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; color: #64748b; }
.lux-dev-marketplace-card__cert { font-size: 0.625rem; font-weight: 800; color: #047857; background: rgba(16,185,129,0.12); padding: 0.15rem 0.45rem; border-radius: 999px; }
.lux-dev-marketplace-card h3 { margin: 0; font-size: 0.9375rem; color: #0f172a; }
.lux-dev-marketplace-card p { margin: 0; font-size: 0.8125rem; color: #64748b; line-height: 1.45; }
.lux-dev-marketplace-card__meta { display: flex; flex-wrap: wrap; gap: 0.45rem; font-size: 0.75rem; color: #64748b; align-items: center; }

.lux-dev-delivery-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }
.lux-dev-delivery-row { border-radius: 10px; border: 1px solid rgba(226,232,240,0.92); background: rgba(255,255,255,0.78); padding: 0.65rem 0.75rem; }
.lux-dev-delivery-row__main strong { display: block; font-size: 0.8125rem; color: #0f172a; }
.lux-dev-delivery-row__meta { display: flex; flex-wrap: wrap; gap: 0.4rem; font-size: 0.75rem; color: #64748b; align-items: center; margin-top: 0.35rem; }
.lux-dev-delivery-row__error { margin: 0.35rem 0 0; font-size: 0.8125rem; color: #be123c; font-weight: 600; }

.lux-dev-empty { display: grid; justify-items: center; gap: 0.45rem; padding: 2rem 1rem; text-align: center; color: #64748b; }
.lux-dev-skeleton { border-radius: 12px; background: linear-gradient(90deg, rgba(226,232,240,0.5), rgba(241,245,249,0.9), rgba(226,232,240,0.5)); background-size: 200% 100%; animation: lux-dev-shimmer 1.2s ease infinite; }
.lux-dev-skeleton--row { height: 72px; }
.lux-dev-skeleton--panel { height: 180px; }
@keyframes lux-dev-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

@media (max-width: 1100px) {
  .lux-dev-page-grid, .lux-dev-analytics-grid, .lux-dev-marketplace-grid, .lux-dev-snapshot__metrics { grid-template-columns: 1fr; }
  .lux-dev-register__row { grid-template-columns: auto minmax(0, 1fr); }
  .lux-dev-register__index { display: none; }
}

.lux-dev-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--lux-z-overlay, 1200);
  background: rgba(8, 12, 28, 0.52);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  animation: lux-onb-drawer-backdrop-in 0.22s ease;
}

.lux-dev-drawer {
  --dev-drawer-accent: #0891b2;
  --dev-drawer-accent-rgb: 8, 145, 178;
  position: relative;
  z-index: var(--lux-z-overlay-panel, 1201);
  width: min(500px, 100vw);
  max-width: 100%;
  height: 100%;
  max-height: 100vh;
  max-height: 100dvh;
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--dev-drawer-accent-rgb), 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(248, 250, 252, 0.98) 100%);
  box-shadow:
    -1px 0 0 rgba(255, 255, 255, 0.8) inset,
    -20px 0 60px rgba(15, 23, 42, 0.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  isolation: isolate;
  animation: lux-onb-drawer-slide-in 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.lux-dev-drawer--indigo { --dev-drawer-accent: #4338ca; --dev-drawer-accent-rgb: 67, 56, 202; }
.lux-dev-drawer--violet { --dev-drawer-accent: #7c3aed; --dev-drawer-accent-rgb: 124, 58, 237; }
.lux-dev-drawer--cyan { --dev-drawer-accent: #0891b2; --dev-drawer-accent-rgb: 8, 145, 178; }
.lux-dev-drawer--emerald { --dev-drawer-accent: #059669; --dev-drawer-accent-rgb: 5, 150, 105; }

.lux-dev-drawer__ambient { pointer-events: none; position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.lux-dev-drawer__orb { position: absolute; border-radius: 999px; filter: blur(48px); opacity: 0.34; }
.lux-dev-drawer__orb--a { width: 200px; height: 200px; top: -40px; right: -20px; background: rgba(var(--dev-drawer-accent-rgb), 0.45); }
.lux-dev-drawer__orb--b { width: 160px; height: 160px; bottom: 12%; left: -30px; background: rgba(16, 185, 129, 0.22); }

.lux-dev-drawer__accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  z-index: 2;
  background: linear-gradient(180deg, var(--dev-drawer-accent), rgba(var(--dev-drawer-accent-rgb), 0.35));
  box-shadow: 0 0 18px rgba(var(--dev-drawer-accent-rgb), 0.35);
}

.lux-dev-drawer__head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  flex-shrink: 0;
  padding: 1.15rem 1.2rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--dev-drawer-accent-rgb), 0.14), transparent 55%),
    linear-gradient(135deg, rgba(var(--dev-drawer-accent-rgb), 0.05), rgba(255, 255, 255, 0.98));
}

.lux-dev-drawer__head-main { display: flex; align-items: flex-start; gap: 0.75rem; min-width: 0; }
.lux-dev-drawer__head-copy { min-width: 0; }

.lux-dev-drawer__category-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 16px;
  flex-shrink: 0;
  color: #fff;
  font-size: 1.05rem;
  background: linear-gradient(135deg, var(--dev-drawer-accent), rgba(var(--dev-drawer-accent-rgb), 0.65));
  box-shadow: 0 10px 22px rgba(var(--dev-drawer-accent-rgb), 0.28);
}

.lux-dev-drawer__eyebrow {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dev-drawer-accent);
}

.lux-dev-drawer__head h2 {
  margin: 0.3rem 0 0;
  font-size: 1.15rem;
  font-weight: 900;
  color: #0f172a;
  line-height: 1.25;
}

.lux-dev-drawer__badges { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.55rem; align-items: center; }

.lux-dev-drawer__pill {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--dev-drawer-accent);
  background: rgba(var(--dev-drawer-accent-rgb), 0.1);
  border: 1px solid rgba(var(--dev-drawer-accent-rgb), 0.18);
}

.lux-dev-drawer__close {
  border: 0;
  background: rgba(148, 163, 184, 0.14);
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 10px;
  color: #475569;
  cursor: pointer;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, color 0.15s ease;
}

.lux-dev-drawer__close:hover { background: rgba(148, 163, 184, 0.24); color: #0f172a; }

.lux-dev-drawer__body {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-height: 0;
  padding: 1rem 1.2rem 1.1rem;
  overflow: auto;
  display: grid;
  gap: 0.9rem;
  align-content: start;
}

.lux-dev-drawer__body::-webkit-scrollbar { width: 6px; }
.lux-dev-drawer__body::-webkit-scrollbar-thumb { background: rgba(148, 163, 184, 0.45); border-radius: 999px; }

.lux-dev-drawer__footer {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.9rem 1.2rem 1.1rem;
  border-top: 1px solid rgba(226, 232, 240, 0.92);
  background: rgba(255, 255, 255, 0.94);
}

.lux-dev-drawer__banner {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.85rem 0.95rem;
  border-radius: 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.88));
}

.lux-dev-drawer__banner.is-info {
  background: linear-gradient(135deg, rgba(var(--dev-drawer-accent-rgb), 0.1), rgba(255, 255, 255, 0.92));
  border-color: rgba(var(--dev-drawer-accent-rgb), 0.2);
}

.lux-dev-drawer__banner.is-alert {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(255, 255, 255, 0.92));
  border-color: rgba(245, 158, 11, 0.28);
}

.lux-dev-drawer__banner-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.75);
  color: var(--dev-drawer-accent);
}

.lux-dev-drawer__banner strong { display: block; font-size: 0.8125rem; color: #0f172a; margin-bottom: 0.15rem; }
.lux-dev-drawer__banner p { margin: 0; font-size: 0.8125rem; color: #64748b; line-height: 1.45; }

.lux-dev-drawer__section {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.78));
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
  overflow: hidden;
}

.lux-dev-drawer__section-head {
  padding: 0.75rem 0.9rem 0.55rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.88);
  background: rgba(255, 255, 255, 0.55);
}

.lux-dev-drawer__section-head h3 { margin: 0; font-size: 0.8125rem; font-weight: 800; color: #0f172a; }
.lux-dev-drawer__section-head p { margin: 0.2rem 0 0; font-size: 0.75rem; color: #64748b; }

.lux-dev-drawer__section-body { padding: 0.85rem 0.9rem; display: grid; gap: 0.75rem; }

.lux-dev-drawer__field { display: grid; gap: 0.35rem; }
.lux-dev-drawer__field > span {
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.lux-dev-drawer__input {
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.92);
  padding: 0.62rem 0.75rem;
  font-size: 0.875rem;
  color: #0f172a;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lux-dev-drawer__input:focus {
  outline: none;
  border-color: rgba(var(--dev-drawer-accent-rgb), 0.45);
  box-shadow: 0 0 0 3px rgba(var(--dev-drawer-accent-rgb), 0.12);
}

.lux-dev-drawer__env-toggle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; }

.lux-dev-drawer__env-btn {
  display: grid;
  gap: 0.15rem;
  text-align: left;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.82);
  padding: 0.7rem 0.8rem;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.lux-dev-drawer__env-btn strong { font-size: 0.8125rem; color: #0f172a; }
.lux-dev-drawer__env-btn span { font-size: 0.75rem; color: #64748b; }

.lux-dev-drawer__env-btn.is-selected {
  border-color: rgba(var(--dev-drawer-accent-rgb), 0.42);
  background: linear-gradient(135deg, rgba(var(--dev-drawer-accent-rgb), 0.08), rgba(255, 255, 255, 0.94));
  box-shadow: 0 0 0 1px rgba(var(--dev-drawer-accent-rgb), 0.1);
}

.lux-dev-drawer__chip-grid { display: flex; flex-wrap: wrap; gap: 0.45rem; }

.lux-dev-drawer__chip {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.1rem;
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.86);
  padding: 0.5rem 0.65rem;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.lux-dev-drawer__chip-label { font-size: 0.75rem; font-weight: 700; color: #334155; }
.lux-dev-drawer__chip-code { font-size: 0.625rem; font-weight: 600; letter-spacing: 0.03em; color: #94a3b8; text-transform: lowercase; }

.lux-dev-drawer__chip.is-selected {
  border-color: rgba(var(--dev-drawer-accent-rgb), 0.42);
  background: linear-gradient(135deg, rgba(var(--dev-drawer-accent-rgb), 0.1), rgba(255, 255, 255, 0.94));
  box-shadow: 0 0 0 1px rgba(var(--dev-drawer-accent-rgb), 0.08);
}

.lux-dev-drawer__chip.is-selected .lux-dev-drawer__chip-label { color: var(--dev-drawer-accent); }

.lux-dev-drawer__secret-panel {
  border-radius: 16px;
  border: 1px solid rgba(245, 158, 11, 0.35);
  background: linear-gradient(135deg, rgba(255, 251, 235, 0.95), rgba(255, 255, 255, 0.92));
  padding: 0.95rem 1rem;
  box-shadow: 0 10px 24px rgba(245, 158, 11, 0.08);
}

.lux-dev-drawer__secret-label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #92400e;
  margin-bottom: 0.45rem;
}

.lux-dev-drawer__secret-value {
  display: block;
  word-break: break-all;
  font-size: 0.8125rem;
  line-height: 1.5;
  padding: 0.75rem 0.85rem;
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(15, 23, 42, 0.08);
  color: #0f172a;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

@media (max-width: 1100px) {
  .lux-dev-drawer__footer { justify-content: stretch; }
  .lux-dev-drawer__footer .lux-dev-action { flex: 1 1 auto; justify-content: center; }
  .lux-dev-drawer__env-toggle { grid-template-columns: 1fr; }
}

/* F14 — Performance management luxury layout */
.lux-hrms-dash.lux-perf-module.lux-perf-lux.pd-page {
  --pd-gap: 14px;
  padding: var(--lux-page-block-gap-y) var(--lux-page-gutter-x, 0.75rem) var(--lux-page-block-bottom, 1.5rem);
  max-width: 100%;
}

.vleft:has(.lux-perf-module) #page_top.lux-header-bar .page-header {
  padding-left: var(--lux-page-gutter-x);
  padding-right: var(--lux-page-gutter-x);
}

.lux-perf-lux { position: relative; padding: 0; max-width: 100%; isolation: isolate; }
.lux-perf-lux__ambient { pointer-events: none; position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.lux-perf-lux__orb { position: absolute; border-radius: 999px; filter: blur(52px); opacity: 0.38; }
.lux-perf-lux__orb--a { width: 280px; height: 280px; top: -58px; right: 4%; background: rgba(244, 63, 94, 0.28); }
.lux-perf-lux__orb--b { width: 220px; height: 220px; bottom: 8%; left: -40px; background: rgba(245, 158, 11, 0.2); }
.lux-perf-lux__orb--c { width: 160px; height: 160px; top: 38%; right: 18%; background: rgba(99, 102, 241, 0.16); }

.lux-perf-lux-hero {
  flex-direction: column; align-items: stretch; gap: 1rem; width: 100%; box-sizing: border-box;
  border-radius: 18px; border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 241, 242, 0.72));
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.05); padding: 1.15rem 1.25rem; margin-bottom: 1rem;
}
.lux-perf-lux-hero__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; width: 100%; }
.lux-perf-hero__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 0.55rem; margin-left: auto; }
.lux-perf-hero__buttons { display: flex; flex-wrap: wrap; gap: 0.45rem; justify-content: flex-end; }
.lux-perf-lux-hero.is-rose .lux-hrms-dash__hero-title span { color: #e11d48; }
.lux-perf-lux-hero.is-amber .lux-hrms-dash__hero-title span { color: #d97706; }

.lux-perf-lux__kpi-strip, .lux-perf-lux__insights, .lux-perf-lux__quick-nav, .lux-perf-lux__content { position: relative; z-index: 1; }
.lux-perf-lux__content { display: grid; gap: var(--lux-module-section-gap); }
.lux-perf-lux__panel { border-radius: 16px; border: 1px solid rgba(226, 232, 240, 0.95); background: linear-gradient(135deg, rgba(255,255,255,0.94), rgba(255,241,242,0.55)); box-shadow: 0 10px 28px rgba(15,23,42,0.05); }
.lux-perf-lux__panel--featured { border-top: 3px solid rgba(244, 63, 94, 0.4); }
.lux-perf-lux__panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; }
.lux-perf-lux__panel-head-main { display: flex; gap: 0.65rem; align-items: flex-start; }
.lux-perf-lux__panel-head-main i { width: 2rem; height: 2rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: rgba(244,63,94,0.12); color: #e11d48; }

.lux-perf-filter { border-radius: 10px; border: 1px solid rgba(226,232,240,0.95); background: rgba(255,255,255,0.88); padding: 0.4rem 0.65rem; font-size: 0.8125rem; font-weight: 600; }
.lux-perf-filter-row { display: flex; align-items: center; gap: 0.65rem; margin-bottom: 0.75rem; }
.lux-perf-filter-row label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #64748b; }

.lux-perf-register { display: grid; gap: 0.65rem; }
.lux-perf-register__row { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; gap: 0.75rem; align-items: center; border-radius: 14px; border: 1px solid rgba(226,232,240,0.92); background: rgba(255,255,255,0.82); padding: 0.75rem 0.85rem; }
.lux-perf-register__index { font-size: 0.75rem; font-weight: 800; color: #94a3b8; }
.lux-perf-register__rail { width: 2.25rem; height: 2.25rem; border-radius: 10px; background: rgba(244,63,94,0.12); color: #e11d48; display: inline-flex; align-items: center; justify-content: center; }
.lux-perf-register__main { text-align: left; }
.lux-perf-register__main--button { border: 0; background: transparent; width: 100%; cursor: pointer; padding: 0; }
.lux-perf-register__eyebrow { display: block; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #64748b; margin-bottom: 0.2rem; }
.lux-perf-register__main h3 { margin: 0 0 0.25rem; font-size: 0.9375rem; font-weight: 700; color: #0f172a; }
.lux-perf-register__main p { margin: 0 0 0.45rem; font-size: 0.8125rem; color: #64748b; }
.lux-perf-register__meta { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.75rem; color: #64748b; align-items: center; }
.lux-perf-register__actions { display: flex; gap: 0.4rem; }

.lux-perf-badge { display: inline-flex; padding: 0.2rem 0.55rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; background: rgba(148,163,184,0.18); color: #475569; }
.lux-perf-badge--on_track, .lux-perf-badge--active, .lux-perf-badge--completed, .lux-perf-badge--praise { background: rgba(16,185,129,0.14); color: #047857; }
.lux-perf-badge--at_risk, .lux-perf-badge--self_review { background: rgba(245,158,11,0.16); color: #b45309; }
.lux-perf-badge--behind, .lux-perf-badge--not_started { background: rgba(244,63,94,0.14); color: #be123c; }
.lux-perf-badge--manager_review, .lux-perf-badge--in_progress { background: rgba(99,102,241,0.14); color: #4338ca; }
.lux-perf-badge--coaching, .lux-perf-badge--constructive { background: rgba(6,182,212,0.14); color: #0e7490; }

.lux-perf-progress { margin-top: 0.5rem; height: 6px; border-radius: 999px; background: rgba(226,232,240,0.9); overflow: hidden; }
.lux-perf-progress__fill { display: block; height: 100%; background: linear-gradient(90deg, rgba(244,63,94,0.85), rgba(245,158,11,0.75)); }

.lux-perf-page-grid, .lux-perf-analytics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pd-gap, 14px); }
.lux-perf-snapshot__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.65rem; }
.lux-perf-snapshot__metric { border-radius: 12px; padding: 0.75rem; background: rgba(255,255,255,0.78); border: 1px solid rgba(226,232,240,0.92); }
.lux-perf-snapshot__metric span { display: block; font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; color: #64748b; margin-bottom: 0.25rem; }
.lux-perf-snapshot__metric strong { font-size: 1.25rem; font-weight: 800; color: #0f172a; }

.lux-perf-density-bars { display: grid; gap: 0.55rem; }
.lux-perf-density-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) auto; gap: 0.55rem; align-items: center; }
.lux-perf-density-row__tracks { display: grid; gap: 0.25rem; }
.lux-perf-density-row__track { height: 8px; border-radius: 999px; background: rgba(226,232,240,0.85); overflow: hidden; }
.lux-perf-density-row__track.is-target { height: 5px; }
.lux-perf-density-row__fill { display: block; height: 100%; background: linear-gradient(90deg, rgba(244,63,94,0.85), rgba(245,158,11,0.75)); }
.lux-perf-density-row__fill.is-target { background: rgba(148,163,184,0.55); }
.lux-perf-density-row__fill.is-actual { background: linear-gradient(90deg, rgba(99,102,241,0.85), rgba(244,63,94,0.75)); }

.lux-perf-action-list { margin: 0.35rem 0 0; padding-left: 1.1rem; color: #64748b; font-size: 0.8125rem; }
.lux-perf-ai__headline { margin: 0 0 0.65rem; font-size: 0.9375rem; font-weight: 700; color: #0f172a; }
.lux-perf-ai__bullets { margin: 0; padding-left: 1.1rem; color: #64748b; font-size: 0.8125rem; line-height: 1.55; }
.lux-perf-alert { border-radius: 12px; padding: 0.75rem 0.9rem; background: rgba(244,63,94,0.1); color: #be123c; font-weight: 600; }

.lux-perf-empty { display: grid; justify-items: center; gap: 0.45rem; padding: 2rem 1rem; text-align: center; color: #64748b; }
.lux-perf-skeleton { border-radius: 12px; background: linear-gradient(90deg, rgba(226,232,240,0.5), rgba(241,245,249,0.9), rgba(226,232,240,0.5)); background-size: 200% 100%; animation: lux-perf-shimmer 1.2s ease infinite; }
.lux-perf-skeleton--row { height: 72px; }
.lux-perf-skeleton--panel { height: 180px; }
@keyframes lux-perf-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

.lux-perf-drawer-backdrop {
  position: fixed; inset: 0; z-index: var(--lux-z-overlay, 1200);
  background: rgba(8, 12, 28, 0.52); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  display: flex; justify-content: flex-end; align-items: stretch;
  animation: lux-onb-drawer-backdrop-in 0.22s ease;
}
.lux-perf-drawer {
  --perf-drawer-accent: #e11d48; --perf-drawer-accent-rgb: 225, 29, 72;
  position: relative; z-index: var(--lux-z-overlay-panel, 1201);
  width: min(500px, 100vw); max-width: 100%; height: 100%; max-height: 100vh; max-height: 100dvh;
  background: radial-gradient(circle at 0% 0%, rgba(var(--perf-drawer-accent-rgb), 0.12), transparent 42%), linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(248,250,252,0.98) 100%);
  box-shadow: -1px 0 0 rgba(255,255,255,0.8) inset, -20px 0 60px rgba(15,23,42,0.2);
  display: flex; flex-direction: column; overflow: hidden; isolation: isolate;
  animation: lux-onb-drawer-slide-in 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}
.lux-perf-drawer--amber { --perf-drawer-accent: #d97706; --perf-drawer-accent-rgb: 217, 119, 6; }
.lux-perf-drawer--violet { --perf-drawer-accent: #7c3aed; --perf-drawer-accent-rgb: 124, 58, 237; }
.lux-perf-drawer--emerald { --perf-drawer-accent: #059669; --perf-drawer-accent-rgb: 5, 150, 105; }
.lux-perf-drawer--cyan { --perf-drawer-accent: #0891b2; --perf-drawer-accent-rgb: 8, 145, 178; }
.lux-perf-drawer--rose { --perf-drawer-accent: #e11d48; --perf-drawer-accent-rgb: 225, 29, 72; }
.lux-perf-drawer__ambient { pointer-events: none; position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.lux-perf-drawer__orb { position: absolute; border-radius: 999px; filter: blur(48px); opacity: 0.34; }
.lux-perf-drawer__orb--a { width: 200px; height: 200px; top: -40px; right: -20px; background: rgba(var(--perf-drawer-accent-rgb), 0.45); }
.lux-perf-drawer__orb--b { width: 160px; height: 160px; bottom: 12%; left: -30px; background: rgba(245, 158, 11, 0.22); }
.lux-perf-drawer__accent { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; z-index: 2; background: linear-gradient(180deg, var(--perf-drawer-accent), rgba(var(--perf-drawer-accent-rgb), 0.35)); box-shadow: 0 0 18px rgba(var(--perf-drawer-accent-rgb), 0.35); }
.lux-perf-drawer__head { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; flex-shrink: 0; padding: 1.15rem 1.2rem 1rem; border-bottom: 1px solid rgba(226,232,240,0.9); background: radial-gradient(circle at 100% 0%, rgba(var(--perf-drawer-accent-rgb),0.14), transparent 55%), linear-gradient(135deg, rgba(var(--perf-drawer-accent-rgb),0.05), rgba(255,255,255,0.98)); }
.lux-perf-drawer__head-main { display: flex; align-items: flex-start; gap: 0.75rem; min-width: 0; }
.lux-perf-drawer__category-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 16px; flex-shrink: 0; color: #fff; font-size: 1.05rem; background: linear-gradient(135deg, var(--perf-drawer-accent), rgba(var(--perf-drawer-accent-rgb), 0.65)); box-shadow: 0 10px 22px rgba(var(--perf-drawer-accent-rgb), 0.28); }
.lux-perf-drawer__eyebrow { display: block; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--perf-drawer-accent); }
.lux-perf-drawer__head-copy h2 { margin: 0.15rem 0 0; font-size: 1.125rem; font-weight: 800; color: #0f172a; }
.lux-perf-drawer__close { border: 0; background: rgba(148,163,184,0.16); width: 2rem; height: 2rem; border-radius: 10px; color: #64748b; cursor: pointer; }
.lux-perf-drawer__body { position: relative; z-index: 1; flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 1rem 1.2rem; display: grid; gap: 0.85rem; align-content: start; }
.lux-perf-drawer__footer { position: relative; z-index: 1; flex-shrink: 0; display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.9rem 1.2rem; border-top: 1px solid rgba(226,232,240,0.9); background: rgba(255,255,255,0.92); }
.lux-perf-drawer__section { border-radius: 14px; border: 1px solid rgba(226,232,240,0.92); background: rgba(255,255,255,0.84); padding: 0.9rem 1rem; display: grid; gap: 0.75rem; }
.lux-perf-drawer__field { display: grid; gap: 0.35rem; font-size: 0.8125rem; font-weight: 700; color: #475569; }
.lux-perf-drawer__field input, .lux-perf-drawer__field select, .lux-perf-drawer__field textarea { border-radius: 10px; border: 1px solid rgba(226,232,240,0.95); padding: 0.55rem 0.7rem; font-size: 0.875rem; font-weight: 500; color: #0f172a; background: rgba(255,255,255,0.95); }
.lux-perf-drawer__alert { border-radius: 10px; padding: 0.65rem 0.75rem; background: rgba(244,63,94,0.1); color: #be123c; font-size: 0.8125rem; font-weight: 600; }
.lux-perf-drawer__hint { margin: 0; font-size: 0.8125rem; color: #64748b; }
.lux-perf-drawer__chips { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.lux-perf-drawer__chip { border-radius: 999px; border: 1px solid rgba(226,232,240,0.95); background: rgba(255,255,255,0.9); padding: 0.35rem 0.7rem; font-size: 0.75rem; font-weight: 700; color: #475569; cursor: pointer; }
.lux-perf-drawer__chip.is-selected { border-color: rgba(var(--perf-drawer-accent-rgb),0.45); background: rgba(var(--perf-drawer-accent-rgb),0.12); color: var(--perf-drawer-accent); }

.lux-perf-drawer__pill {
  display: inline-flex;
  margin-top: 0.35rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  background: rgba(var(--perf-drawer-accent-rgb), 0.12);
  color: var(--perf-drawer-accent);
}

.lux-perf-drawer__banner {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  border-radius: 12px;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: rgba(255, 255, 255, 0.88);
}
.lux-perf-drawer__banner.is-info {
  border-color: rgba(99, 102, 241, 0.25);
  background: rgba(99, 102, 241, 0.08);
}
.lux-perf-drawer__banner i { color: #4338ca; margin-top: 0.15rem; }
.lux-perf-drawer__banner strong { display: block; font-size: 0.8125rem; color: #0f172a; margin-bottom: 0.25rem; }
.lux-perf-drawer__banner p { margin: 0 0 0.25rem; font-size: 0.8125rem; color: #64748b; line-height: 1.45; }

.lux-perf-drawer__rating-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.45rem;
}
.lux-perf-drawer__rating {
  border-radius: 12px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(255, 255, 255, 0.92);
  padding: 0.55rem 0.35rem;
  display: grid;
  justify-items: center;
  gap: 0.2rem;
  cursor: pointer;
  text-align: center;
}
.lux-perf-drawer__rating strong { font-size: 1rem; color: #0f172a; }
.lux-perf-drawer__rating span { font-size: 0.625rem; font-weight: 700; color: #64748b; line-height: 1.2; }
.lux-perf-drawer__rating.is-selected {
  border-color: rgba(var(--perf-drawer-accent-rgb), 0.45);
  background: rgba(var(--perf-drawer-accent-rgb), 0.1);
  box-shadow: 0 0 0 1px rgba(var(--perf-drawer-accent-rgb), 0.12);
}

.lux-employee-360__perf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem; }
.lux-employee-360__perf-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.lux-employee-360__perf-item {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 0.65rem;
  border-radius: 12px; border: 1px solid rgba(226, 232, 240, 0.92); background: rgba(255,255,255,0.82); padding: 0.65rem 0.75rem;
}
.lux-employee-360__perf-item strong { display: block; font-size: 0.875rem; color: #0f172a; margin-bottom: 0.2rem; }
.lux-employee-360__perf-item span { display: block; font-size: 0.8125rem; color: #64748b; line-height: 1.45; }
.lux-employee-360__perf-review { display: grid; gap: 0.55rem; }
.lux-employee-360__metrics--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lux-employee-360__source-pill {
  display: inline-flex; margin-bottom: 0.65rem; padding: 0.2rem 0.55rem; border-radius: 999px;
  font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; background: rgba(244,63,94,0.12); color: #e11d48;
}

@media (max-width: 1100px) {
  .lux-perf-drawer__rating-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lux-employee-360__perf-grid { grid-template-columns: 1fr; }
  .lux-perf-page-grid, .lux-perf-analytics-grid, .lux-perf-snapshot__metrics { grid-template-columns: 1fr; }
  .lux-perf-register__row { grid-template-columns: auto minmax(0, 1fr); }
  .lux-perf-register__index { display: none; }
}

/* ========== Legacy hybrid module shells (pd-page only — modern modules use lux-register-page) ========== */

.lux-hrms-dash.pd-page[class*="-module"]:not(.lux-register-page) {
  --pd-gap: 14px;
  padding: var(--lux-page-block-gap-y) var(--lux-page-gutter-x) var(--lux-page-block-bottom);
  max-width: 100%;
}

.vleft:has(.lux-gov-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-portfolio-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-analytics-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-ai-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-integrations-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-finance-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-expense-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-payroll-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-tickets-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-wg-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-krca-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-wf-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-dev-module) #page_top.lux-header-bar .page-header,
.vleft:has(.lux-perf-module) #page_top.lux-header-bar .page-header {
  padding-left: var(--lux-page-gutter-x);
  padding-right: var(--lux-page-gutter-x);
}

.lux-gov-lux,
.lux-portfolio-lux,
.lux-analytics-lux,
.lux-ai-intel-lux,
.lux-integ-lux,
.lux-finance-lux,
.lux-expense-lux,
.lux-empfin-lux,
.lux-ticket-lux,
.lux-wg-lux,
.lux-krca-lux,
.lux-wf-lux,
.lux-dev-lux,
.lux-perf-lux {
  padding: 0;
  max-width: 100%;
}

.lux-hrms-dash[class*="-module"] > .lux-hrms-dash__hero {
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
}

.lux-hrms-dash[class*="-module"] [class*="hero__top"] {
  width: 100%;
}

.lux-hrms-dash[class*="-module"] .lux-hrms-dash__kpi-strip,
.lux-hrms-dash[class*="-module"] .lux-admin-kpi-strip,
.lux-hrms-dash[class*="-module"] [class*="__kpi-strip"] {
  margin: 0 0 1rem;
}

.lux-hrms-dash[class*="-module"] [class*="__insights"] {
  margin: 0 0 1rem;
}

.lux-hrms-dash[class*="-module"] [class*="__quick-nav"] {
  margin-bottom: 1rem;
}

.lux-hrms-dash[class*="-module"] .lux-admin-quick-nav {
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.82));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
  padding: 0.85rem 1rem;
}

.lux-hrms-dash[class*="-module"] > [class*="__content"] {
  display: grid;
  gap: var(--pd-gap, 14px);
}

/* ── Module page hero (Application Config header language) ─────────────── */
/* Attendance-style: flush edges, compact gap above toolbar */
.lux-module-hero.lux-appconfig-hero {
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0.35rem;
  margin-left: 0;
  padding-bottom: 0;
}

.lux-register-page__body > .lux-module-hero.lux-appconfig-hero {
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0.35rem;
  margin-left: 0;
  padding-bottom: 0;
}

/* Dense-tool toolbar flush like attendance */
.lux-register-page > .lux-page-header,
.lux-leave-page > .lux-page-header,
.lux-timesheet-page > .lux-page-header,
.lux-employees > .lux-page-header,
.lux-attendance > .lux-page-header,
.lux-holiday-page > .lux-page-header {
  padding: 0;
}

/* No bottom border on top row unless a nav strip follows */
.lux-module-hero:not(.has-nav) .lux-appconfig-hero__top {
  border-bottom: 0;
}

/* Compact module hero chrome */
.lux-module-hero .lux-appconfig-hero__top {
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.65rem;
}

.lux-module-hero .lux-appconfig-hero__brand {
  align-items: center;
  gap: 0.45rem;
  min-width: min(100%, 260px);
  flex: 1 1 220px;
}

.lux-module-hero .lux-appconfig-hero__icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  font-size: 0.875rem;
}

.lux-module-hero .lux-appconfig-hero__kicker {
  margin: 0 0 0.05rem;
  font-size: 8px;
  letter-spacing: 0.1em;
  line-height: 1.2;
}

.lux-module-hero .lux-appconfig-hero__title {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.2;
}

.lux-module-hero .lux-appconfig-hero__subtitle {
  margin: 0.05rem 0 0;
  font-size: 0.71875rem;
  line-height: 1.35;
}

.lux-module-hero__title-accent {
  font-weight: 700;
  font-size: inherit;
  line-height: inherit;
  color: #475569;
}

.lux-module-hero.is-blue .lux-module-hero__title-accent { color: #2563eb; }
.lux-module-hero.is-indigo .lux-module-hero__title-accent { color: #4f46e5; }
.lux-module-hero.is-amber .lux-module-hero__title-accent { color: #d97706; }
.lux-module-hero.is-rose .lux-module-hero__title-accent { color: #e11d48; }
.lux-module-hero.is-violet .lux-module-hero__title-accent { color: #7c3aed; }
.lux-module-hero.is-green .lux-module-hero__title-accent,
.lux-module-hero.is-emerald .lux-module-hero__title-accent { color: #059669; }
.lux-module-hero.is-cyan .lux-module-hero__title-accent { color: #0891b2; }
.lux-module-hero.is-slate .lux-module-hero__title-accent { color: #475569; }

.lux-module-hero__aside {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 0.55rem;
  flex: 0 1 auto;
  min-width: 0;
  align-self: center;
}

.lux-module-hero__aside--toolbar {
  flex: 1 1 18rem;
  align-items: stretch;
  max-width: 100%;
}

.lux-module-hero.has-toolbar {
  position: sticky;
  top: 0;
  z-index: 12;
}

.lux-module-hero__toolbar {
  min-width: 0;
  width: 100%;
}

.lux-module-hero__toolbar .lux-page-header__toolbar {
  gap: 0.35rem;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.lux-module-hero__toolbar .lux-page-header__group {
  flex-wrap: wrap;
}

.lux-module-hero__toolbar .lux-page-header__spacer {
  display: none;
}

/* Navigation links in hero toolbar — text links, not action buttons */
.lux-module-hero__text-link,
.lux-module-hero__actions .lux-module-hero__text-link,
.lux-module-hero__toolbar .lux-module-hero__text-link,
.lux-module-hero__toolbar a.lux-onb-action,
.lux-module-hero__toolbar a.lux-page-header__action-btn,
.lux-module-hero__toolbar .lux-page-header__extras > a,
.lux-module-hero__actions a.lux-onb-action,
.lux-module-hero__actions a.lux-page-header__action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.15rem 0.1rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  min-height: 0;
  font-size: var(--lux-action-font-size, 0.6875rem);
  font-weight: 650;
  line-height: 1.2;
  color: #334155;
  text-decoration: none;
}

/* Scope badge in module hero — same size/weight as hero action links */
.lux-module-hero__actions .lux-scope-badge,
.lux-module-hero__toolbar .lux-scope-badge,
.lux-module-hero .lux-scope-badge {
  font-size: var(--lux-action-font-size, 0.6875rem);
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  text-transform: none;
  color: #64748b;
  border: none;
  border-bottom: 1px dotted rgba(148, 163, 184, 0.5);
  border-radius: 0;
  background: transparent;
  padding: 0.1rem 0.15rem;
  box-shadow: none;
  cursor: default;
}

.lux-module-hero__actions .lux-scope-badge > i,
.lux-module-hero__toolbar .lux-scope-badge > i,
.lux-module-hero .lux-scope-badge > i {
  font-size: 0.75rem;
  opacity: 0.85;
}

.lux-module-hero__text-link:hover,
.lux-module-hero__actions .lux-module-hero__text-link:hover,
.lux-module-hero__toolbar .lux-module-hero__text-link:hover,
.lux-module-hero__toolbar a.lux-onb-action:hover,
.lux-module-hero__toolbar a.lux-page-header__action-btn:hover,
.lux-module-hero__toolbar .lux-page-header__extras > a:hover,
.lux-module-hero__actions a.lux-onb-action:hover,
.lux-module-hero__actions a.lux-page-header__action-btn:hover {
  color: var(--lux-primary, #5b5ff4);
  background: transparent;
  box-shadow: none;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.lux-module-hero__text-link i,
.lux-module-hero__actions .lux-module-hero__text-link i,
.lux-module-hero__toolbar .lux-module-hero__text-link i,
.lux-module-hero__toolbar a.lux-onb-action i,
.lux-module-hero__toolbar .lux-page-header__extras > a i,
.lux-module-hero__actions a.lux-onb-action i,
.lux-module-hero__actions a.lux-page-header__action-btn i {
  font-size: 0.75rem;
  opacity: 0.85;
}

.lux-module-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
}

/* Compact module section menu — icon chips, not a tall second band */
.lux-module-hero__nav-row {
  position: relative;
  z-index: 1;
  padding: 0 0.65rem 0.4rem;
  margin: 0;
  background: transparent;
  border-top: 1px solid rgba(226, 232, 240, 0.75);
}

.lux-module-hero.is-blue .lux-module-hero__nav-row,
.lux-module-hero.is-indigo .lux-module-hero__nav-row,
.lux-module-hero.is-amber .lux-module-hero__nav-row,
.lux-module-hero.is-rose .lux-module-hero__nav-row,
.lux-module-hero.is-violet .lux-module-hero__nav-row,
.lux-module-hero.is-green .lux-module-hero__nav-row,
.lux-module-hero.is-cyan .lux-module-hero__nav-row {
  background: transparent;
}

.lux-module-hero__nav {
  display: block;
  min-width: 0;
  max-width: 100%;
}

.lux-module-hero__nav--compact .lux-admin-hub-tabs,
.lux-module-hero__nav .lux-admin-hub-tabs,
.lux-module-hero__nav .lux-people-segment {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem;
  margin: 0;
  padding: 0.15rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.lux-module-hero__nav--compact .lux-admin-hub-tabs__tab,
.lux-module-hero__nav .lux-admin-hub-tabs__tab,
.lux-module-hero__nav .lux-people-segment__tab,
.lux-module-hero__nav .lux-proj-dash__tab,
.lux-module-hero__nav a,
.lux-module-hero__nav button.lux-admin-hub-tabs__tab {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-height: 1.55rem;
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 750;
  letter-spacing: 0.01em;
  color: #64748b;
  background: transparent;
  border: 1px solid transparent;
  box-shadow: none;
  transform: none;
  text-decoration: none;
}

.lux-module-hero__nav--compact .lux-admin-hub-tabs__tab .fe,
.lux-module-hero__nav .lux-admin-hub-tabs__tab .fe {
  font-size: 0.78rem;
  line-height: 1;
}

.lux-module-hero__nav--compact .lux-admin-hub-tabs__tab:hover,
.lux-module-hero__nav .lux-admin-hub-tabs__tab:hover {
  background: rgba(248, 250, 252, 0.95);
  color: #0f172a;
  border-color: rgba(226, 232, 240, 0.95);
  transform: none;
  text-decoration: none;
}

.lux-module-hero__nav--compact .lux-admin-hub-tabs__tab.is-active,
.lux-module-hero__nav .lux-admin-hub-tabs__tab.is-active,
.lux-module-hero__nav .lux-people-segment__tab.is-active,
.lux-module-hero__nav .lux-proj-dash__tab.is-active {
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  border-color: rgba(99, 102, 241, 0.18);
  box-shadow: none;
}

.lux-module-hero.is-green .lux-module-hero__nav .lux-admin-hub-tabs__tab.is-active {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
  border-color: rgba(16, 185, 129, 0.22);
}
.lux-module-hero.is-violet .lux-module-hero__nav .lux-admin-hub-tabs__tab.is-active {
  background: rgba(139, 92, 246, 0.12);
  color: #6d28d9;
  border-color: rgba(139, 92, 246, 0.22);
}
.lux-module-hero.is-amber .lux-module-hero__nav .lux-admin-hub-tabs__tab.is-active {
  background: rgba(245, 158, 11, 0.14);
  color: #b45309;
  border-color: rgba(245, 158, 11, 0.24);
}
.lux-module-hero.is-rose .lux-module-hero__nav .lux-admin-hub-tabs__tab.is-active {
  background: rgba(244, 63, 94, 0.1);
  color: #be123c;
  border-color: rgba(244, 63, 94, 0.2);
}
.lux-module-hero.is-cyan .lux-module-hero__nav .lux-admin-hub-tabs__tab.is-active {
  background: rgba(6, 182, 212, 0.12);
  color: #0e7490;
  border-color: rgba(6, 182, 212, 0.22);
}

.lux-module-hero__nav .lux-hrms-dash__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
  margin: 0;
  padding: 0.15rem 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.lux-module-hero__nav .lux-hrms-dash__tab {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-height: 1.55rem;
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 750;
  color: #64748b;
  background: transparent;
  border: 1px solid transparent;
  box-shadow: none;
}

.lux-module-hero__nav .lux-hrms-dash__tab.is-active {
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  border-color: rgba(99, 102, 241, 0.18);
}

@media (max-width: 1100px) {
  .lux-module-hero__nav--compact .lux-admin-hub-tabs__tab > span:not(.lux-segment-nav__badge),
  .lux-module-hero__nav .lux-admin-hub-tabs__tab > span:not(.lux-segment-nav__badge) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .lux-module-hero__nav--compact .lux-admin-hub-tabs__tab,
  .lux-module-hero__nav .lux-admin-hub-tabs__tab {
    position: relative;
    min-width: 1.7rem;
    min-height: 1.7rem;
    padding: 0.3rem;
    justify-content: center;
  }
}

/* Tone-aware hero icons */
.lux-module-hero.is-blue .lux-appconfig-hero__icon {
  color: #2563eb;
  background: rgba(37, 99, 235, 0.1);
}
.lux-module-hero.is-blue .lux-appconfig-hero__kicker i { color: #2563eb; }
.lux-module-hero.is-blue .lux-appconfig-hero__glow {
  background: radial-gradient(circle, rgba(37, 99, 235, 0.14), transparent 70%);
}

.lux-module-hero.is-indigo .lux-appconfig-hero__icon {
  color: #4338ca;
  background: rgba(99, 102, 241, 0.1);
}
.lux-module-hero.is-indigo .lux-appconfig-hero__kicker i { color: #4338ca; }

.lux-module-hero.is-amber .lux-appconfig-hero__icon {
  color: #d97706;
  background: rgba(245, 158, 11, 0.12);
}
.lux-module-hero.is-amber .lux-appconfig-hero__kicker i { color: #d97706; }
.lux-module-hero.is-amber .lux-appconfig-hero__glow {
  background: radial-gradient(circle, rgba(245, 158, 11, 0.16), transparent 70%);
}

.lux-module-hero.is-rose .lux-appconfig-hero__icon {
  color: #e11d48;
  background: rgba(244, 63, 94, 0.1);
}
.lux-module-hero.is-rose .lux-appconfig-hero__kicker i { color: #e11d48; }
.lux-module-hero.is-rose .lux-appconfig-hero__glow {
  background: radial-gradient(circle, rgba(244, 63, 94, 0.14), transparent 70%);
}

.lux-module-hero.is-violet .lux-appconfig-hero__icon {
  color: #7c3aed;
  background: rgba(139, 92, 246, 0.1);
}
.lux-module-hero.is-violet .lux-appconfig-hero__kicker i { color: #7c3aed; }
.lux-module-hero.is-violet .lux-appconfig-hero__glow {
  background: radial-gradient(circle, rgba(139, 92, 246, 0.14), transparent 70%);
}

.lux-module-hero.is-green .lux-appconfig-hero__icon,
.lux-module-hero.is-emerald .lux-appconfig-hero__icon {
  color: #059669;
  background: rgba(16, 185, 129, 0.1);
}
.lux-module-hero.is-green .lux-appconfig-hero__kicker i,
.lux-module-hero.is-emerald .lux-appconfig-hero__kicker i { color: #059669; }
.lux-module-hero.is-green .lux-appconfig-hero__glow,
.lux-module-hero.is-emerald .lux-appconfig-hero__glow {
  background: radial-gradient(circle, rgba(16, 185, 129, 0.14), transparent 70%);
}

.lux-module-hero.is-cyan .lux-appconfig-hero__icon {
  color: #0891b2;
  background: rgba(6, 182, 212, 0.1);
}
.lux-module-hero.is-cyan .lux-appconfig-hero__kicker i { color: #0891b2; }

.lux-module-hero.is-slate .lux-appconfig-hero__icon {
  color: #475569;
  background: rgba(100, 116, 139, 0.1);
}
.lux-module-hero.is-slate .lux-appconfig-hero__kicker i { color: #475569; }

@media (max-width: 900px) {
  .lux-module-hero__aside {
    align-items: stretch;
    width: 100%;
  }
  .lux-module-hero__actions {
    justify-content: flex-start;
  }
}

/* ── Governance module spacing (hero uses lux-module-hero) ───────────────── */
.lux-gov-module.lux-register-page {
  padding-bottom: 0.75rem;
}

.lux-gov-lux .lux-register-page__body > .lux-module-hero.lux-appconfig-hero {
  margin-top: 0;
  margin-bottom: var(--lux-page-block-gap-y, 0.55rem);
}

.lux-gov-lux .lux-register-page__body > .lux-gov-lux__kpi-strip,
.lux-gov-lux .lux-register-page__body > .lux-gov-kpi-strip,
.lux-gov-lux .lux-register-page__body > .lux-gov-lux__insights {
  margin-top: 0;
  margin-bottom: 0.3rem;
}

.lux-gov-lux .lux-register-page__body > .lux-gov-lux__content {
  margin-bottom: 0.3rem;
}

.lux-gov-lux .lux-gov-lux__kpi-strip,
.lux-gov-lux .lux-gov-kpi-strip {
  margin: 0 0 0.3rem;
}

/* ── Lux inline alert (module body, replaces Bootstrap alert-danger) ─────── */
.lux-inline-alert {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 0 0 0.45rem;
  padding: 0.65rem 0.75rem;
  border-radius: 14px;
  border: 1px solid rgba(244, 63, 94, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 241, 242, 0.88)),
    radial-gradient(120% 100% at 0% 0%, rgba(244, 63, 94, 0.08), transparent 55%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 10px 24px rgba(190, 18, 60, 0.06);
}

.lux-inline-alert__glow {
  position: absolute;
  inset: auto -8% -60% auto;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244, 63, 94, 0.14), transparent 68%);
  pointer-events: none;
}

.lux-inline-alert__icon {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 10px;
  display: grid;
  place-content: center;
  font-size: 0.9rem;
  color: #be123c;
  background: rgba(244, 63, 94, 0.12);
  border: 1px solid rgba(244, 63, 94, 0.14);
}

.lux-inline-alert__copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.1rem;
  min-width: 0;
  flex: 1 1 auto;
}

.lux-inline-alert__eyebrow {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #e11d48;
}

.lux-inline-alert__message {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.4;
  color: #9f1239;
}

.lux-inline-alert__dismiss {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  width: 1.55rem;
  height: 1.55rem;
  margin-top: 0.05rem;
  border: 0;
  border-radius: 999px;
  background: rgba(244, 63, 94, 0.1);
  color: #be123c;
  display: grid;
  place-content: center;
  cursor: pointer;
  transition: background 0.12s ease, transform 0.12s ease;
}

.lux-inline-alert__dismiss:hover {
  background: rgba(244, 63, 94, 0.18);
  transform: scale(1.04);
}

.lux-inline-alert--warning {
  border-color: rgba(245, 158, 11, 0.28);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 251, 235, 0.9)),
    radial-gradient(120% 100% at 0% 0%, rgba(245, 158, 11, 0.1), transparent 55%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset, 0 10px 24px rgba(180, 83, 9, 0.05);
}
.lux-inline-alert--warning .lux-inline-alert__icon { color: #b45309; background: rgba(245, 158, 11, 0.12); border-color: rgba(245, 158, 11, 0.16); }
.lux-inline-alert--warning .lux-inline-alert__eyebrow { color: #d97706; }
.lux-inline-alert--warning .lux-inline-alert__message { color: #92400e; }
.lux-inline-alert--warning .lux-inline-alert__dismiss { background: rgba(245, 158, 11, 0.12); color: #b45309; }
.lux-inline-alert--warning .lux-inline-alert__glow { background: radial-gradient(circle, rgba(245, 158, 11, 0.14), transparent 68%); }

.lux-inline-alert--info {
  border-color: rgba(59, 130, 246, 0.24);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(239, 246, 255, 0.9)),
    radial-gradient(120% 100% at 0% 0%, rgba(59, 130, 246, 0.1), transparent 55%);
}
.lux-inline-alert--info .lux-inline-alert__icon { color: #1d4ed8; background: rgba(59, 130, 246, 0.12); border-color: rgba(59, 130, 246, 0.16); }
.lux-inline-alert--info .lux-inline-alert__eyebrow { color: #2563eb; }
.lux-inline-alert--info .lux-inline-alert__message { color: #1e3a8a; }
.lux-inline-alert--info .lux-inline-alert__dismiss { background: rgba(59, 130, 246, 0.1); color: #1d4ed8; }
.lux-inline-alert--info .lux-inline-alert__glow { background: radial-gradient(circle, rgba(59, 130, 246, 0.14), transparent 68%); }

.lux-inline-alert--success {
  border-color: rgba(16, 185, 129, 0.24);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(236, 253, 245, 0.9)),
    radial-gradient(120% 100% at 0% 0%, rgba(16, 185, 129, 0.1), transparent 55%);
}
.lux-inline-alert--success .lux-inline-alert__icon { color: #047857; background: rgba(16, 185, 129, 0.12); border-color: rgba(16, 185, 129, 0.16); }
.lux-inline-alert--success .lux-inline-alert__eyebrow { color: #059669; }
.lux-inline-alert--success .lux-inline-alert__message { color: #065f46; }
.lux-inline-alert--success .lux-inline-alert__dismiss { background: rgba(16, 185, 129, 0.1); color: #047857; }
.lux-inline-alert--success .lux-inline-alert__glow { background: radial-gradient(circle, rgba(16, 185, 129, 0.14), transparent 68%); }

/* Ticket / knowledge module gap tightening */
.lux-ticket-lux__kpi-strip,
.lux-krca-lux__kpi-strip {
  margin: 0.2rem 0 0.35rem !important;
}
.lux-ticket-lux__insights,
.lux-krca-lux__insights {
  margin: 0 0 0.35rem !important;
}
.lux-ticket-lux__content,
.lux-krca-lux__content {
  gap: 0.55rem !important;
}

/* Bootstrap alert-danger → luxury when inside lux modules */
.lux-register-page .alert.alert-danger,
.lux-register-page .alert-danger {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 0 0 0.45rem;
  padding: 0.65rem 0.75rem;
  border-radius: 14px;
  border: 1px solid rgba(244, 63, 94, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 241, 242, 0.88)),
    radial-gradient(120% 100% at 0% 0%, rgba(244, 63, 94, 0.08), transparent 55%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 10px 24px rgba(190, 18, 60, 0.06);
  color: #9f1239;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.4;
}

/* ========== Page alignment standard (V6 shell consistency) ========== */

/* Register pages without __body still get consistent gutters (skip full-bleed header + module hero) */
.lux-register-page:not(:has(> .lux-register-page__body)) > *:not(.lux-page-header):not(.lux-module-hero):not(.lux-appconfig-hero):not(.lux-register-page__body):not(.lux-admin-lux__ambient):not([class*="__ambient"]) {
  margin-left: var(--lux-page-gutter-x);
  margin-right: var(--lux-page-gutter-x);
  margin-bottom: var(--lux-page-block-gap-y);
}

/* Leave gutters live at .lux-leave-page > * (earlier) — do not duplicate here */

.lux-people-page.lux-register-page:not(:has(> .lux-register-page__body)) > *:not(.lux-page-header):not(.lux-module-hero):not(.lux-appconfig-hero) {
  margin-left: var(--lux-page-gutter-x);
  margin-right: var(--lux-page-gutter-x);
  margin-bottom: var(--lux-page-block-gap-y);
}

/* Admin lux ambient (matches finance/dev shells) */
.lux-admin-lux {
  position: relative;
  isolation: isolate;
}
.lux-admin-lux__ambient {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
.lux-admin-lux__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(52px);
  opacity: 0.32;
}
.lux-admin-lux__orb--a {
  width: 240px;
  height: 240px;
  top: -48px;
  right: 6%;
  background: rgba(99, 102, 241, 0.28);
}
.lux-admin-lux__orb--b {
  width: 180px;
  height: 180px;
  bottom: 12%;
  left: -36px;
  background: rgba(14, 165, 233, 0.18);
}
.lux-admin-lux__content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: var(--lux-page-block-gap-y);
}

/* Bootstrap outline buttons → luxury pills on lux surfaces */
.lux-register-page .btn.btn-sm.btn-outline-primary,
.lux-register-page .btn.btn-outline-primary.btn-sm,
.lux-admin-page .btn.btn-sm.btn-outline-primary,
.lux-admin-page .btn.btn-outline-primary.btn-sm {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-height: var(--lux-action-compact-min-height);
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
  color: var(--lux-primary-dark, #3730a3);
  font-size: var(--lux-action-font-size);
  font-weight: 700;
  box-shadow: none;
  line-height: 1.2;
}
.lux-register-page .btn.btn-sm.btn-outline-primary:hover,
.lux-admin-page .btn.btn-sm.btn-outline-primary:hover {
  background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
  border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.42);
  color: var(--lux-primary, #5b5ff4);
}

.lux-register-page .btn.btn-sm.btn-outline-secondary,
.lux-register-page .btn.btn-outline-secondary.btn-sm,
.lux-admin-page .btn.btn-sm.btn-outline-secondary,
.lux-admin-page .btn.btn-outline-secondary,
.lux-admin-page .btn.btn-outline-secondary.btn-sm {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-height: 1.85rem;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.4);
  background: rgba(248, 250, 252, 0.95);
  color: #475569;
  font-size: 0.6875rem;
  font-weight: 700;
  box-shadow: none;
}

.lux-register-page .btn.btn-primary.btn-sm,
.lux-admin-page .btn.btn-primary.btn-sm {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-height: 1.85rem;
  padding: 0.28rem 0.75rem;
  border-radius: 999px;
  border: 0;
  background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 700;
  box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}

/* Create panel — single padding layer (header-main + scroll own the pads; body stays flex shell) */
.right_sidebar.lux-create-panel .lux-create-panel__header {
  padding: 0;
}
.right_sidebar.lux-create-panel .lux-create-panel__body {
  padding: 0;
}

/* Inline doc/people KPI cards pick up rich treatment when using lux-hrms-dash__kpi alone */
.lux-people-page .lux-hrms-dash__kpi-strip .lux-hrms-dash__kpi,
.lux-doc-page .lux-hrms-dash__kpi-strip .lux-hrms-dash__kpi {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: var(--lux-kpi-min-height);
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(99, 102, 241, 0.1), transparent 56%),
    linear-gradient(165deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.9));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.96) inset,
    0 14px 32px rgba(15, 23, 42, 0.07);
}

/* Wave A — module content + admin content gap + page bottom padding */
.lux-admin-lux__content,
.lux-gov-lux__content,
.lux-finance-lux__content,
.lux-expense-lux__content,
.lux-analytics-lux__content,
.lux-ai-intel-lux__content,
.lux-integ-lux__content,
.lux-empfin-lux__content,
.lux-portfolio-lux__content {
  gap: var(--lux-module-section-gap);
}

.lux-payroll-page,
.lux-policy-page,
.lux-fflag-page,
.lux-compliance-page,
.lux-admin-insights-page,
.lux-hrms-settings,
.lux-workspace-home-page,
.lux-skills-page,
.lux-bench-page,
.lux-staffing-page,
.lux-simulation-page,
.lux-resource-analytics-page {
  padding-bottom: var(--lux-page-block-bottom);
}

/* Ticket/knowledge KPI strip margins → shared token */
.lux-ticket-lux__kpi-strip,
.lux-krca-lux__kpi-strip {
  margin: var(--lux-kpi-strip-margin) !important;
}

/* ========== Wave B — drawer width contracts + create size variants ========== */
.right_sidebar.lux-create-panel.lux-create-panel--size-sm {
  width: min(var(--lux-drawer-width-sm), 94vw) !important;
  right: calc(-1 * min(var(--lux-drawer-width-sm), 94vw) - 20px) !important;
}
.right_sidebar.lux-create-panel.lux-create-panel--size-sm.open {
  right: 0 !important;
}
.right_sidebar.lux-create-panel.lux-create-panel--size-md {
  width: min(var(--lux-drawer-width-md), 95vw) !important;
  right: calc(-1 * min(var(--lux-drawer-width-md), 95vw) - 20px) !important;
}
.right_sidebar.lux-create-panel.lux-create-panel--size-md.open {
  right: 0 !important;
}
.right_sidebar.lux-create-panel.lux-create-panel--size-lg {
  width: min(var(--lux-drawer-width-lg), 96vw) !important;
  right: calc(-1 * min(var(--lux-drawer-width-lg), 96vw) - 20px) !important;
}
.right_sidebar.lux-create-panel.lux-create-panel--size-lg.open {
  right: 0 !important;
}

/* Narrow workflow drawers — map wide variants to sm token; default onb keeps its own width */
.lux-onb-drawer.lux-gov-drawer.lux-gov-drawer--wide {
  width: min(var(--lux-drawer-width-sm), 100vw);
  max-width: min(var(--lux-drawer-width-sm), 100vw);
}

/* Task completion modal — luxury footer sits cleanly in modal chrome */
.modal .lux-create-footer {
  margin: 0;
  border-radius: 0 0 12px 12px;
}
.modal .lux-create-footer__bar {
  padding: 0.55rem 0.85rem;
}

/* Wave C — leave summary KPIs align to shared KPI density */
.lux-leave-summary__kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(158px, 1fr));
  gap: var(--lux-kpi-strip-grid-gap, 0.55rem);
  margin: var(--lux-kpi-strip-margin, 0.3rem 0 0.45rem);
}
.lux-leave-summary__kpi {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: var(--lux-kpi-min-height, 6.75rem);
  padding: 0.95rem 1rem 1rem;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.78);
  background:
    radial-gradient(circle at 100% 0%, rgba(217, 119, 6, 0.1), transparent 56%),
    linear-gradient(165deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.9));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.96) inset,
    0 14px 32px rgba(15, 23, 42, 0.07);
}
.lux-leave-summary__kpi-label {
  font-size: 0.6875rem;
  letter-spacing: 0.02em;
}
.lux-leave-summary__kpi-value {
  font-size: 1.42rem;
  letter-spacing: -0.02em;
}
.lux-leave-kpi-strip {
  margin: var(--lux-kpi-strip-margin);
}

/* Client portal luxury panels */
.lux-client-portal-toolbar__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
}
.lux-client-portal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--lux-module-section-gap, 0.65rem);
}
.lux-client-portal-list {
  list-style: none;
  margin: 0.65rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.lux-client-portal-list > li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  min-height: 2rem;
}
.lux-client-portal-list--plain > li {
  justify-content: flex-start;
}
@media (max-width: 960px) {
  .lux-client-portal-grid {
    grid-template-columns: 1fr;
  }
}

/* —— Unified luxury pending approval inboxes (leave / timesheet / attendance) —— */
.lux-ts-pending,
.lux-att-pending {
    margin: var(--lux-page-block-gap-y) var(--lux-page-gutter-x);
    padding: 1.1rem 1.2rem;
    border-radius: 18px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    background:
        radial-gradient(circle at 0% 0%, rgba(251, 191, 36, 0.16), transparent 46%),
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 40%),
        linear-gradient(180deg, rgba(255, 251, 235, 0.98), rgba(255, 255, 255, 0.94));
    box-shadow: 0 12px 32px rgba(245, 158, 11, 0.12);
}

.lux-ts-pending--collapsed,
.lux-att-pending--collapsed,
.lux-leave-pending--collapsed,
.lux-att-reg-pending--collapsed {
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
}

.lux-ts-pending__collapsed-bar,
.lux-att-pending__collapsed-bar,
.lux-leave-pending__collapsed-bar,
.lux-att-reg-pending__collapsed-bar {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    width: 100%;
    padding: 0.95rem 1.1rem;
    border-radius: 16px;
    border: 1px solid rgba(245, 158, 11, 0.3);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.99), rgba(254, 243, 199, 0.78));
    box-shadow: 0 10px 28px rgba(245, 158, 11, 0.14);
    cursor: pointer;
    text-align: left;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lux-ts-pending__collapsed-bar:hover,
.lux-att-pending__collapsed-bar:hover,
.lux-leave-pending__collapsed-bar:hover,
.lux-att-reg-pending__collapsed-bar:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(245, 158, 11, 0.18);
}

.lux-ts-pending__collapsed-icon,
.lux-att-pending__collapsed-icon,
.lux-leave-pending__collapsed-icon,
.lux-att-reg-pending__collapsed-icon {
    display: inline-grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 12px;
    background: rgba(245, 158, 11, 0.18);
    color: #d97706;
    flex-shrink: 0;
    font-size: 1.05rem;
    animation: none;
}

.lux-ts-pending__collapsed-copy,
.lux-att-pending__collapsed-copy,
.lux-leave-pending__collapsed-copy,
.lux-att-reg-pending__collapsed-copy {
    display: grid;
    gap: 0.2rem;
    flex: 1;
    min-width: 0;
}

.lux-ts-pending__collapsed-copy strong,
.lux-att-pending__collapsed-copy strong,
.lux-leave-pending__collapsed-copy strong,
.lux-att-reg-pending__collapsed-copy strong {
    color: #78350f;
    font-size: 0.9rem;
    font-weight: 800;
}

.lux-ts-pending__collapsed-copy em,
.lux-att-pending__collapsed-copy em,
.lux-leave-pending__collapsed-copy em,
.lux-att-reg-pending__collapsed-copy em {
    font-style: normal;
    font-size: 0.78rem;
    color: #92400e;
}

.lux-ts-pending__collapsed-expand,
.lux-att-pending__collapsed-expand,
.lux-leave-pending__collapsed-expand,
.lux-att-reg-pending__collapsed-expand {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 800;
    color: #b45309;
    flex-shrink: 0;
}

.lux-ts-pending__head,
.lux-att-pending__head,
.lux-leave-pending__head,
.lux-att-reg-pending__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.lux-ts-pending__eyebrow,
.lux-att-pending__eyebrow,
.lux-leave-pending__eyebrow,
.lux-att-reg-pending__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b45309;
    margin-bottom: 0.25rem;
}

.lux-ts-pending__head h3,
.lux-att-pending__head h3,
.lux-leave-pending__head h3,
.lux-att-reg-pending__head h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: #78350f;
    letter-spacing: -0.01em;
}

.lux-ts-pending__head p,
.lux-att-pending__head p,
.lux-leave-pending__head p,
.lux-att-reg-pending__head p {
    margin: 0.3rem 0 0;
    font-size: 0.8125rem;
    color: #92400e;
    max-width: 42rem;
}

.lux-ts-pending__head-actions,
.lux-att-pending__head-actions,
.lux-leave-pending__head-actions,
.lux-att-reg-pending__head-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-shrink: 0;
}

.lux-ts-pending__count,
.lux-att-pending__count,
.lux-leave-pending__count,
.lux-att-reg-pending__count {
    display: inline-grid;
    place-items: center;
    min-width: 2.15rem;
    height: 2.15rem;
    padding: 0 0.55rem;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.2);
    color: #b45309;
    font-size: 0.8125rem;
    font-weight: 800;
}

.lux-ts-pending__toggle,
.lux-att-pending__toggle,
.lux-leave-pending__toggle,
.lux-att-reg-pending__toggle {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    color: #b45309;
    cursor: pointer;
    padding: 0.35rem 0.2rem;
}

.lux-ts-compliance__toggle,
.lux-ts-lock-banner__toggle {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 800;
    cursor: pointer;
    padding: 0.35rem 0.2rem;
}

.lux-ts-compliance.is-warning .lux-ts-compliance__toggle {
    color: #b45309;
}

.lux-ts-compliance.is-ok .lux-ts-compliance__toggle {
    color: #15803d;
}

.lux-ts-lock-banner__toggle {
    color: #047857;
}

.lux-ts-lock-banner.is-reopened .lux-ts-lock-banner__toggle {
    color: #6d28d9;
}

.lux-ts-pending__summary-chips,
.lux-att-pending__summary-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.65rem;
}

.lux-att-pending__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
}

.lux-att-pending__chip.is-approval {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
}

.lux-att-pending__chip.is-removal {
    background: rgba(244, 63, 94, 0.12);
    color: #be123c;
}

.lux-ts-pending__list,
.lux-att-pending__list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.lux-ts-pending__group,
.lux-att-pending__group {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-ts-pending__employee,
.lux-att-pending__employee {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0;
    min-width: 0;
}

.lux-ts-pending__employee-avatar,
.lux-att-pending__employee-avatar {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.28), rgba(251, 191, 36, 0.18));
    color: #92400e;
    font-size: 0.8rem;
    font-weight: 800;
    flex-shrink: 0;
}

.lux-ts-pending__employee-copy,
.lux-att-pending__employee-copy {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
    flex: 1;
}

.lux-ts-pending__employee-copy strong,
.lux-att-pending__employee-copy strong {
    font-size: 0.875rem;
    color: #78350f;
}

.lux-ts-pending__employee-copy em,
.lux-att-pending__employee-copy em {
    font-style: normal;
    font-size: 0.72rem;
    color: #a16207;
}

.lux-ts-pending__card,
.lux-att-pending__card {
    display: grid;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.lux-ts-pending__card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.lux-ts-pending__card-main,
.lux-att-pending__card-main {
    display: grid;
    gap: 0.2rem;
}

.lux-ts-pending__card-title-row,
.lux-att-pending__card-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.lux-ts-pending__card-main strong,
.lux-att-pending__card-main strong {
    font-size: 0.9rem;
    color: #0f172a;
}

.lux-ts-pending__card-main span,
.lux-ts-pending__card-main em,
.lux-att-pending__card-main span,
.lux-att-pending__card-main em {
    font-size: 0.75rem;
    color: #64748b;
    font-style: normal;
}

.lux-ts-pending__card-warn {
    color: #b91c1c !important;
    font-weight: 700;
}

.lux-ts-pending__conflict-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 800;
    background: rgba(254, 226, 226, 0.9);
    border: 1px solid rgba(220, 38, 38, 0.24);
    color: #b91c1c;
}

.lux-ts-pending__row-actions,
.lux-ts-pending__actions,
.lux-att-pending__actions,
.lux-att-pending__date-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.lux-ts-pending__actions,
.lux-att-pending__actions {
    justify-content: flex-end;
}

.lux-ts-pending__btn,
.lux-att-pending__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-width: 0;
    min-height: 2.15rem;
    padding: 0.45rem 0.9rem;
    border-radius: 10px;
    font-size: 0.75rem;
    font-weight: 800;
    border: 1px solid transparent;
    cursor: pointer;
}

.lux-ts-pending__btn.is-compact,
.lux-att-pending__btn.is-compact {
    min-height: 1.9rem;
    padding: 0.35rem 0.7rem;
    font-size: 0.7rem;
}

.lux-ts-pending__btn.is-ghost,
.lux-att-pending__btn.is-ghost {
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(148, 163, 184, 0.35);
    color: #475569;
}

.lux-ts-pending__btn.is-ghost.is-warning {
    border-color: rgba(245, 158, 11, 0.45);
    color: #b45309;
    background: rgba(255, 251, 235, 0.95);
}

.lux-ts-pending__btn.is-primary,
.lux-att-pending__btn.is-primary {
    background: #059669;
    color: #fff;
    box-shadow: 0 6px 14px rgba(5, 150, 105, 0.22);
}

.lux-ts-pending__btn.is-danger,
.lux-att-pending__btn.is-danger {
    background: #dc2626;
    color: #fff;
    box-shadow: 0 6px 14px rgba(220, 38, 38, 0.18);
}

.lux-ts-pending__btn:disabled,
.lux-att-pending__btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    box-shadow: none;
}

.lux-att-pending__dates {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-att-pending__date-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.7rem;
    align-items: center;
    padding: 0.7rem 0.8rem;
    border-radius: 12px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.98));
    animation: none;
}

.lux-att-pending__date-row.is-pending {
    border-style: solid;
    border-color: rgba(245, 158, 11, 0.28);
    background: linear-gradient(180deg, rgba(255, 251, 235, 0.75), rgba(255, 255, 255, 0.98));
    animation: none;
}

.lux-att-pending__date-row.is-pending-removal {
    border-style: solid;
    border-color: rgba(244, 63, 94, 0.22);
    background: linear-gradient(180deg, rgba(255, 241, 242, 0.8), rgba(255, 255, 255, 0.98));
    animation: none;
}

.lux-att-pending__date-type {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    background: rgba(148, 163, 184, 0.14);
    color: #64748b;
    animation: none;
}

.lux-att-pending__date-row.is-pending .lux-att-pending__date-type {
    background: rgba(245, 158, 11, 0.16);
    color: #d97706;
    animation: none;
}

.lux-att-pending__date-row.is-pending-removal .lux-att-pending__date-type {
    background: rgba(244, 63, 94, 0.12);
    color: #e11d48;
    animation: none;
}

.lux-att-pending__date-copy {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
}

.lux-att-pending__date-copy strong {
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-att-pending__date-copy span {
    font-size: 0.72rem;
    color: #64748b;
}

.lux-att-pending__date-error {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.7rem;
    font-style: normal;
    color: #b91c1c;
    font-weight: 700;
}

.lux-ts-approval-comment,
.lux-att-approval-comment {
    display: grid;
    gap: 0.35rem;
}

.lux-ts-approval-comment span,
.lux-att-approval-comment span:first-child {
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
}

.lux-ts-approval-comment__input,
.lux-att-approval-comment__input {
    width: 100%;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #fff;
    padding: 0.55rem 0.7rem;
    font-size: 0.8125rem;
    color: #0f172a;
    resize: vertical;
    min-height: 2.75rem;
}

.lux-ts-approval-comment.has-error .lux-ts-approval-comment__input,
.lux-att-approval-comment.has-error .lux-att-approval-comment__input {
    border-color: rgba(220, 38, 38, 0.45);
    background: rgba(254, 242, 242, 0.55);
}

.lux-ts-approval-comment__error,
.lux-att-approval-comment__error {
    font-size: 0.72rem;
    color: #b91c1c;
    font-weight: 700;
}

@media (max-width: 720px) {
    .lux-att-pending__date-row {
        grid-template-columns: auto 1fr;
    }

    .lux-att-pending__date-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .lux-ts-pending__actions,
    .lux-att-pending__actions {
        justify-content: stretch;
    }

    .lux-ts-pending__btn,
    .lux-att-pending__btn {
        flex: 1 1 auto;
    }
}


/* —— Payroll config readiness console —— */
.lux-payroll-config-page .lux-payroll-config__score {
    display: grid;
    grid-template-columns: 1.4fr 1fr auto;
    gap: 1rem;
    align-items: center;
    margin: 0 0 1rem;
    padding: 1rem 1.1rem;
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.05);
}

.lux-payroll-config__score.is-green {
    border-color: rgba(16, 185, 129, 0.28);
    background: linear-gradient(135deg, rgba(236, 253, 245, 0.95), rgba(255, 255, 255, 0.98));
}
.lux-payroll-config__score.is-amber {
    border-color: rgba(245, 158, 11, 0.28);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.95), rgba(255, 255, 255, 0.98));
}
.lux-payroll-config__score.is-rose {
    border-color: rgba(244, 63, 94, 0.22);
    background: linear-gradient(135deg, rgba(255, 241, 242, 0.95), rgba(255, 255, 255, 0.98));
}

.lux-payroll-config__score-eyebrow {
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-payroll-config__score-value {
    display: block;
    margin-top: 0.15rem;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #0f172a;
    line-height: 1.1;
}

.lux-payroll-config__score-copy {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
    color: #64748b;
    line-height: 1.45;
    max-width: 28rem;
}

.lux-payroll-config__score-meter {
    height: 0.55rem;
    border-radius: 999px;
    background: rgba(226, 232, 240, 0.9);
    overflow: hidden;
}

.lux-payroll-config__score-meter > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--lux-primary, #5b5ff4), #34d399);
}

.lux-payroll-config__score.is-amber .lux-payroll-config__score-meter > span {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}
.lux-payroll-config__score.is-rose .lux-payroll-config__score-meter > span {
    background: linear-gradient(90deg, #f43f5e, #fb7185);
}

.lux-payroll-config__score-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

.lux-payroll-config__insights {
    margin-bottom: 1rem;
}

.lux-payroll-config__setup {
    margin-bottom: 1rem;
}

.lux-payroll-config__checks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
}

.lux-payroll-config__check {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.7rem;
    align-items: center;
    padding: 0.7rem 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.96);
}

.lux-payroll-config__check.is-pass {
    border-color: rgba(16, 185, 129, 0.22);
    background: rgba(236, 253, 245, 0.45);
}

.lux-payroll-config__check.is-fail {
    border-color: rgba(245, 158, 11, 0.28);
    background: rgba(255, 251, 235, 0.55);
}

.lux-payroll-config__check-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 11px;
    display: grid;
    place-items: center;
    font-size: 0.95rem;
}

.lux-payroll-config__check.is-pass .lux-payroll-config__check-icon {
    background: rgba(16, 185, 129, 0.14);
    color: #047857;
}

.lux-payroll-config__check.is-fail .lux-payroll-config__check-icon {
    background: rgba(245, 158, 11, 0.16);
    color: #b45309;
}

.lux-payroll-config__check-copy {
    min-width: 0;
}

.lux-payroll-config__check-copy strong {
    display: block;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-payroll-config__check-copy span {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.68rem;
    color: #64748b;
}

.lux-payroll-config__check-fix {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    font-weight: 750;
    color: var(--lux-primary-dark, #3730a3);
    text-decoration: none;
    white-space: nowrap;
}

.lux-payroll-config__check-fix:hover {
    text-decoration: underline;
}

.lux-payroll-config__check-ok {
    font-size: 0.68rem;
    font-weight: 750;
    color: #047857;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lux-payroll-config__group-name {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.lux-payroll-config__group-name strong {
    font-size: 0.8125rem;
    color: #0f172a;
}


.lux-payroll-config__empty-actions {
    display: flex;
    justify-content: center;
    margin-top: 0.75rem;
}

.lux-payroll-config__group-name span {
    font-size: 0.68rem;
    color: #94a3b8;
    font-weight: 700;
    letter-spacing: 0.04em;
}

@media (max-width: 991px) {
    .lux-payroll-config-page .lux-payroll-config__score {
        grid-template-columns: 1fr;
    }
    .lux-payroll-config__score-actions {
        justify-content: flex-start;
    }
    .lux-payroll-config__check {
        grid-template-columns: auto 1fr;
    }
    .lux-payroll-config__check-fix,
    .lux-payroll-config__check-ok {
        grid-column: 2;
    }
}


/* —— Payroll groups luxury console —— */
.lux-payroll-groups-page .lux-payroll-groups__insights {
    margin: 0 0 1rem;
}

.lux-payroll-groups-page .lux-payroll-groups__cards {
    margin-bottom: 1rem;
}

.lux-payroll-summary-card--group {
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.35));
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
}

.lux-payroll-summary-card--group.is-inactive {
    opacity: 0.82;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
}

.lux-payroll-groups__empty-actions {
    display: flex;
    justify-content: center;
    margin-top: 0.75rem;
}

.lux-payroll-register button.lux-payroll-register__inline-link {
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    font: inherit;
}


/* —— Benefits module luxury console —— */
.lux-benefits-lux {
    position: relative;
}

.lux-benefits-lux__ambient {
    pointer-events: none;
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
}

.lux-benefits-lux__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(42px);
    opacity: 0.55;
}

.lux-benefits-lux__orb--a {
    width: 220px;
    height: 220px;
    top: -40px;
    right: 8%;
    background: rgba(16, 185, 129, 0.28);
}

.lux-benefits-lux__orb--b {
    width: 180px;
    height: 180px;
    top: 120px;
    left: -30px;
    background: rgba(99, 102, 241, 0.18);
}

.lux-benefits-lux.is-indigo .lux-benefits-lux__orb--a { background: rgba(99, 102, 241, 0.3); }
.lux-benefits-lux.is-amber .lux-benefits-lux__orb--a { background: rgba(245, 158, 11, 0.3); }
.lux-benefits-lux.is-blue .lux-benefits-lux__orb--a { background: rgba(14, 165, 233, 0.28); }
.lux-benefits-lux.is-green .lux-benefits-lux__orb--a { background: rgba(16, 185, 129, 0.28); }

.lux-benefits-lux .lux-register-page__body,
.lux-benefits-lux__kpi-strip,
.lux-benefits-lux__insights,
.lux-benefits-lux__quick-nav,
.lux-benefits-lux__content {
    position: relative;
    z-index: 1;
}

.lux-benefits-lux__kpi-strip { margin: 0 0 1rem; }
.lux-benefits-lux__insights { margin: 0 0 1rem; }
.lux-benefits-lux__quick-nav { margin-bottom: 1rem; }
.lux-benefits-lux__content {
    display: grid;
    gap: 1rem;
}

.lux-benefits-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    margin: 0 0 0.65rem;
    padding: 0.15rem 0;
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    background: transparent;
}

.lux-benefits-tabs__item {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 750;
    color: #64748b;
    text-decoration: none;
}

.lux-benefits-tabs__item:hover {
    background: rgba(248, 250, 252, 0.98);
    color: #0f172a;
}

.lux-benefits-tabs__item.is-active {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.lux-benefits-lux.is-indigo .lux-benefits-tabs__item.is-active {
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}
.lux-benefits-lux.is-amber .lux-benefits-tabs__item.is-active {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}
.lux-benefits-lux.is-blue .lux-benefits-tabs__item.is-active {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}

.lux-benefits-lux__panel {
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.lux-benefits-lux__panel.is-green { border-top: 3px solid rgba(16, 185, 129, 0.55); }
.lux-benefits-lux__panel.is-indigo { border-top: 3px solid rgba(99, 102, 241, 0.55); }
.lux-benefits-lux__panel.is-amber { border-top: 3px solid rgba(245, 158, 11, 0.55); }
.lux-benefits-lux__panel.is-blue { border-top: 3px solid rgba(14, 165, 233, 0.55); }
.lux-benefits-lux__panel.is-violet { border-top: 3px solid rgba(139, 92, 246, 0.5); }

.lux-benefits-lux__panel-head { align-items: center; }

.lux-benefits-lux__panel-head-main {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-width: 0;
}

.lux-benefits-lux__panel-head-main > i {
    width: 2rem;
    height: 2rem;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
    flex-shrink: 0;
}

.lux-benefits-lux__panel.is-indigo .lux-benefits-lux__panel-head-main > i {
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}
.lux-benefits-lux__panel.is-amber .lux-benefits-lux__panel-head-main > i {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}
.lux-benefits-lux__panel.is-blue .lux-benefits-lux__panel-head-main > i {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}
.lux-benefits-lux__panel.is-violet .lux-benefits-lux__panel-head-main > i {
    background: rgba(139, 92, 246, 0.12);
    color: #6d28d9;
}

.lux-benefits-lux__panel-body {
    padding-top: 0.35rem;
}

.lux-benefits-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.lux-benefits-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem 0.85rem;
}

.lux-benefits-form-grid.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lux-benefits-form-grid.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.lux-benefits-field {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    min-width: 0;
    margin: 0;
}

.lux-benefits-field.is-span-2 { grid-column: span 2; }

.lux-benefits-field__label {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-benefits-field__hint {
    font-size: 0.65rem;
    color: #94a3b8;
}

.lux-benefits-field .form-control,
.lux-benefits-field select,
.lux-benefits-field input[type="text"],
.lux-benefits-field input[type="search"],
.lux-benefits-field input[type="number"] {
    border-radius: 10px;
    border-color: #e2e8f0;
    min-height: 2.25rem;
}

.lux-benefits-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.9rem;
}

.lux-benefits-switch {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.25rem;
    font-size: 0.78rem;
    font-weight: 650;
    color: #475569;
    margin: 0;
}

.lux-benefits-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
}

.lux-benefits-toolbar .lux-appr-toolbar__search {
    flex: 1 1 14rem;
    min-width: 12rem;
}

.lux-benefits-register-wrap {
    overflow: auto;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
}

.lux-benefits-register {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    background: #fff;
}

.lux-benefits-register th,
.lux-benefits-register td {
    padding: 0.7rem 0.75rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.98);
    vertical-align: middle;
    font-size: 0.8125rem;
}

.lux-benefits-register th {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
    background: rgba(248, 250, 252, 0.98);
}

.lux-benefits-register tr:last-child td { border-bottom: 0; }

.lux-benefits-register__primary {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}

.lux-benefits-register__avatar {
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.lux-benefits-register__avatar.is-indigo {
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}
.lux-benefits-register__avatar.is-amber {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.lux-benefits-register__copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.lux-benefits-register__copy strong {
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-benefits-register__copy span {
    font-size: 0.68rem;
    color: #94a3b8;
}

.lux-benefits-code {
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
    background: rgba(241, 245, 249, 0.95);
    padding: 0.15rem 0.4rem;
    border-radius: 6px;
}

.lux-benefits-chip {
    display: inline-flex;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 750;
    background: rgba(241, 245, 249, 0.95);
    color: #475569;
}

.lux-benefits-muted {
    color: #94a3b8;
    font-size: 0.75rem;
}

.lux-benefits-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-benefits-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.lux-benefits-metric-card {
    padding: 0.85rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
}

.lux-benefits-metric-card.is-green { border-color: rgba(16, 185, 129, 0.25); background: rgba(236, 253, 245, 0.45); }
.lux-benefits-metric-card.is-indigo { border-color: rgba(99, 102, 241, 0.25); background: rgba(238, 242, 255, 0.45); }
.lux-benefits-metric-card.is-amber { border-color: rgba(245, 158, 11, 0.28); background: rgba(255, 251, 235, 0.55); }
.lux-benefits-metric-card.is-violet { border-color: rgba(139, 92, 246, 0.25); background: rgba(245, 243, 255, 0.5); }

.lux-benefits-metric-card__label {
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-benefits-metric-card__value {
    display: block;
    margin-top: 0.2rem;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-benefits-metric-card small {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.68rem;
    color: #64748b;
}

.lux-benefits-report-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.lux-benefits-report-card {
    padding: 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(248, 250, 252, 0.65);
}

.lux-benefits-report-card header h3 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-benefits-report-card header p {
    margin: 0.15rem 0 0.7rem;
    font-size: 0.68rem;
    color: #64748b;
}

.lux-benefits-status-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.45rem;
}

.lux-benefits-status-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.lux-benefits-meta-list {
    margin: 0;
    display: grid;
    gap: 0.65rem;
}

.lux-benefits-meta-list dt {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-benefits-meta-list dd {
    margin: 0.15rem 0 0;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
}

@media (max-width: 1100px) {
    .lux-benefits-split,
    .lux-benefits-report-grid,
    .lux-benefits-metric-grid {
        grid-template-columns: 1fr 1fr;
    }
    .lux-benefits-form-grid,
    .lux-benefits-form-grid.is-3,
    .lux-benefits-form-grid.is-2 {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .lux-benefits-split,
    .lux-benefits-report-grid,
    .lux-benefits-metric-grid,
    .lux-benefits-form-grid,
    .lux-benefits-form-grid.is-3,
    .lux-benefits-form-grid.is-2 {
        grid-template-columns: 1fr;
    }
    .lux-benefits-field.is-span-2 { grid-column: auto; }
}

/* Payroll hub nav inside module hero — keep compact chip wrap */
.lux-payroll-hub-nav.lux-admin-hub-tabs,
.lux-module-hero__nav .lux-payroll-hub-nav {
  flex-wrap: wrap;
  row-gap: 0.15rem;
}
.lux-payroll-lux .lux-register-page__body {
  position: relative;
  z-index: 1;
  display: grid;
  gap: var(--lux-module-section-gap, 1rem);
}


/* Feedback template configure — richer shell (1.9.256) */
.right_sidebar.lux-create-panel--feedback-template {
    width: min(1180px, 97vw) !important;
    right: calc(-1 * min(1180px, 97vw) - 24px) !important;
}
.right_sidebar.lux-create-panel--feedback-template .lux-create-panel__header {
    background:
        linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12) 0%, rgba(20, 184, 166, 0.07) 45%, rgba(255, 255, 255, 0.98) 100%),
        #fff;
}

.lux-feedback-template-editor {
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(circle at 12% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.07), transparent 38%),
        linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}
.lux-feedback-template-editor__ambient {
    pointer-events: none;
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
}
.lux-feedback-template-editor__orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(48px);
    opacity: 0.45;
}
.lux-feedback-template-editor__orb--a {
    width: 240px;
    height: 240px;
    top: -60px;
    right: 8%;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}
.lux-feedback-template-editor__orb--b {
    width: 180px;
    height: 180px;
    bottom: 12%;
    left: -30px;
    background: rgba(20, 184, 166, 0.18);
}

.lux-ft-shell-toolbar {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
    margin: 0.7rem 0.85rem 0.65rem;
}
.lux-ft-shell-toolbar__chip {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.55rem 0.65rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}
.lux-ft-shell-toolbar__icon {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 11px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary-dark, #3730a3);
}
.lux-ft-shell-toolbar__copy { min-width: 0; }
.lux-ft-shell-toolbar__label {
    display: block;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #94a3b8;
}
.lux-ft-shell-toolbar__value {
    display: block;
    margin-top: 0.05rem;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-feedback-template-editor__list-lede {
    margin: 0.35rem 0 0;
    font-size: 0.625rem;
    line-height: 1.4;
    color: #94a3b8;
}
.lux-feedback-template-editor__list-empty-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 14px;
    display: grid;
    place-items: center;
    margin-bottom: 0.15rem;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
    color: var(--lux-primary, #5b5ff4);
    font-size: 1.1rem;
}

.lux-feedback-template-editor__item:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}
.lux-feedback-template-editor__item.is-selected {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.45);
    box-shadow: 0 12px 28px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
    background: linear-gradient(180deg, #fff, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04));
}
.lux-feedback-template-editor__item-select {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
}
.lux-feedback-template-editor__item-mark {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 11px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.8rem;
}
.lux-feedback-template-editor__item-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}
.lux-feedback-template-editor__item-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.15rem;
}
.lux-feedback-template-editor__item-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.18rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: 0.58rem;
    font-weight: 800;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}
.lux-feedback-template-editor__item-tag.is-amber {
    color: #b45309;
    background: #fffbeb;
    border-color: #fde68a;
}

.lux-ft-steps {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.7rem;
    padding: 0.45rem 0.55rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.9);
}
.lux-ft-steps__item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    position: relative;
}
.lux-ft-steps__marker {
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: 0.7rem;
    color: #64748b;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}
.lux-ft-steps__label {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #64748b;
}
.lux-ft-steps__connector {
    width: 1.1rem;
    height: 2px;
    margin: 0 0.15rem 0 0.25rem;
    border-radius: 999px;
    background: #e2e8f0;
}
.lux-ft-steps__item.is-done .lux-ft-steps__marker {
    color: #0f766e;
    background: #ccfbf1;
    border-color: #99f6e4;
}
.lux-ft-steps__item.is-done .lux-ft-steps__label { color: #0f766e; }
.lux-ft-steps__item.is-active .lux-ft-steps__marker {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.3);
}
.lux-ft-steps__item.is-active .lux-ft-steps__label {
    color: var(--lux-primary-dark, #3730a3);
}

.lux-ft-hero__orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(36px);
    opacity: 0.5;
    pointer-events: none;
}
.lux-ft-hero__orb--a {
    width: 140px;
    height: 140px;
    top: -40px;
    right: 18%;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
}
.lux-ft-hero__orb--b {
    width: 110px;
    height: 110px;
    bottom: -35px;
    left: 8%;
    background: rgba(20, 184, 166, 0.16);
}
.lux-ft-hero__ready-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.lux-ft-hero__ready-pill.is-ready {
    color: #0f766e;
    background: #ccfbf1;
    border: 1px solid #99f6e4;
}
.lux-ft-hero__ready-pill.is-draft {
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fde68a;
}
.lux-ft-hero__checklist {
    width: min(13rem, 100%);
    padding: 0.5rem 0.55rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.88);
}
.lux-ft-hero__checklist-meter {
    height: 4px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    margin-bottom: 0.4rem;
}
.lux-ft-hero__checklist-meter > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #14b8a6, var(--lux-primary, #5b5ff4));
    transition: width 0.2s ease;
}
.lux-ft-hero__checklist-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.lux-ft-hero__check {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    font-size: 0.625rem;
    font-weight: 700;
    color: #94a3b8;
}
.lux-ft-hero__check.is-done { color: #0f766e; }
.lux-ft-hero__check.is-soft { opacity: 0.85; }
.lux-ft-hero__action {
    border: 1px solid #e2e8f0;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.04);
}

.lux-feedback-template-editor__card-head-main {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
}
.lux-feedback-template-editor__card-icon {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 12px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    color: var(--lux-primary, #5b5ff4);
}
.lux-feedback-template-editor__card-head--tools {
    padding: 0.7rem 0.85rem;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.7));
}
.lux-feedback-template-editor__foot {
    position: relative;
    z-index: 1;
    margin: 0.65rem 0.85rem 0.85rem;
    padding: 0.75rem 0.9rem;
    border-radius: 16px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.lux-feedback-template-editor__foot-copy {
    min-width: 0;
}
.lux-feedback-template-editor__foot-copy strong {
    display: block;
    font-size: 0.75rem;
    color: #0f172a;
}
.lux-feedback-template-editor__btn.is-primary {
    box-shadow: 0 10px 22px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}
.lux-feedback-template-editor__btn.is-secondary {
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}
.lux-feedback-template-editor__btn.is-ghost {
    border: 1px solid #e2e8f0;
}
.lux-ft-field__control .form-group.mb-2 { margin-bottom: 0 !important; }

@media (max-width: 960px) {
    .lux-ft-shell-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .lux-ft-shell-toolbar { grid-template-columns: 1fr; }
    .lux-ft-hero__checklist { width: 100%; }
}

/* —— Revenue recognition / finance form luxury —— */
.lux-finance-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    margin: 0 0 0.65rem;
    padding: 0.15rem 0;
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    background: transparent;
    position: relative;
    z-index: 1;
}

.lux-finance-tabs__item {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 750;
    color: #64748b;
    text-decoration: none;
}

.lux-finance-tabs__item:hover {
    background: rgba(248, 250, 252, 0.98);
    color: #0f172a;
}

.lux-finance-tabs__item.is-active {
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}

.lux-finance-lux.is-violet .lux-finance-tabs__item.is-active {
    background: rgba(139, 92, 246, 0.12);
    color: #6d28d9;
}
.lux-finance-lux.is-green .lux-finance-tabs__item.is-active {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}
.lux-finance-lux.is-amber .lux-finance-tabs__item.is-active {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}
.lux-finance-lux.is-rose .lux-finance-tabs__item.is-active {
    background: rgba(244, 63, 94, 0.12);
    color: #be123c;
}

.lux-finance-form {
    display: grid;
    gap: 0.85rem;
}

.lux-finance-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem 0.85rem;
}
.lux-finance-form-grid.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lux-finance-form-grid.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.lux-finance-field {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}
.lux-finance-field.is-span-2 { grid-column: span 2; }

.lux-finance-field__label {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-finance-field__hint {
    font-size: 0.7rem;
    color: #94a3b8;
}

.lux-finance-field .form-control,
.lux-finance-field select,
.lux-finance-field input[type="text"],
.lux-finance-field input[type="search"],
.lux-finance-field input[type="number"] {
    border: 1px solid rgba(203, 213, 225, 0.95);
    border-radius: 0.65rem;
    padding: 0.5rem 0.7rem;
    font-size: 0.875rem;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lux-finance-check {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.35rem;
    font-size: 0.8125rem;
    font-weight: 650;
    color: #334155;
}

.lux-finance-form__actions,
.lux-finance-form__inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.lux-finance-form__inline-actions {
    min-height: 2.35rem;
}

.lux-finance-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    background: linear-gradient(135deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.88));
}

.lux-finance-register__primary {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.lux-finance-register__avatar {
    width: 2rem;
    height: 2rem;
    border-radius: 0.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
}
.lux-finance-register__avatar.is-violet { background: rgba(139, 92, 246, 0.12); color: #6d28d9; }
.lux-finance-register__avatar.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-finance-register__avatar.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-finance-register__avatar.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-finance-register__copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 0.1rem;
}
.lux-finance-register__copy strong {
    font-size: 0.875rem;
    color: #0f172a;
}
.lux-finance-register__copy span {
    font-size: 0.75rem;
    color: #64748b;
}

.lux-finance-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    background: rgba(241, 245, 249, 0.95);
    color: #475569;
}

.lux-finance-code {
    font-size: 0.75rem;
    font-weight: 650;
    color: #4338ca;
    background: rgba(238, 242, 255, 0.7);
    padding: 0.15rem 0.4rem;
    border-radius: 0.4rem;
}

.lux-finance-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-finance-metric-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.lux-finance-metric-card {
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 14px;
    padding: 0.9rem 1rem;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 252, 0.8));
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}
.lux-finance-metric-card.is-green { border-color: rgba(16, 185, 129, 0.25); background: rgba(236, 253, 245, 0.45); }
.lux-finance-metric-card.is-indigo { border-color: rgba(99, 102, 241, 0.25); background: rgba(238, 242, 255, 0.45); }
.lux-finance-metric-card.is-amber { border-color: rgba(245, 158, 11, 0.28); background: rgba(255, 251, 235, 0.55); }
.lux-finance-metric-card.is-violet { border-color: rgba(139, 92, 246, 0.25); background: rgba(245, 243, 255, 0.5); }
.lux-finance-metric-card.is-rose { border-color: rgba(244, 63, 94, 0.25); background: rgba(255, 241, 242, 0.55); }

.lux-finance-metric-card__label {
    display: block;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0.35rem;
}

.lux-finance-metric-card__value {
    display: block;
    font-size: 1.25rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.lux-finance-metric-card small {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: #64748b;
}

.lux-finance-pipeline {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.75rem;
    counter-reset: revrec-step;
}

.lux-finance-pipeline li {
    counter-increment: revrec-step;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem 0.9rem;
    align-items: start;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.75));
}

.lux-finance-pipeline li::before {
    content: counter(revrec-step);
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: 0.75rem;
    font-weight: 800;
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
    grid-row: 1 / span 2;
}

.lux-finance-pipeline strong {
    font-size: 0.875rem;
    color: #0f172a;
}

.lux-finance-pipeline span {
    grid-column: 2;
    font-size: 0.8125rem;
    color: #64748b;
    line-height: 1.45;
}

@media (max-width: 1100px) {
    .lux-finance-form-grid,
    .lux-finance-form-grid.is-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lux-finance-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .lux-finance-form-grid,
    .lux-finance-form-grid.is-3,
    .lux-finance-form-grid.is-2,
    .lux-finance-metric-grid {
        grid-template-columns: 1fr;
    }
    .lux-finance-field.is-span-2 { grid-column: auto; }
}

/* —— Invoice document JSON App Config editor —— */
.lux-appconfig-editor-section--invoice-json .lux-appconfig-invoice-json__textarea,
.lux-ac-config-block--invoice-json .lux-appconfig-invoice-json__textarea {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.78rem;
  line-height: 1.45;
  min-height: 18rem;
  border-radius: 12px;
  border: 1px solid rgba(203, 213, 225, 0.95);
  background: rgba(248, 250, 252, 0.95);
  color: #0f172a;
  white-space: pre;
}
.lux-appconfig-invoice-json__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

/* ========== Notification templates admin (luxury) ========== */
.lux-ntpl-page {
  padding-bottom: var(--lux-page-block-bottom);
}

.lux-ntpl-page .lux-module-hero {
  position: relative;
  overflow: hidden;
}

.lux-ntpl-page .lux-module-hero::after {
  content: "";
  position: absolute;
  right: -4%;
  top: -30%;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.22), transparent 68%);
  pointer-events: none;
}

.lux-ntpl-editor-banner {
  margin-bottom: 1rem;
}

.lux-ntpl-panel.lux-hrms-dash__panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background:
    linear-gradient(165deg, rgba(56, 189, 248, 0.06), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 18px 42px rgba(15, 23, 42, 0.06);
}

.lux-ntpl-panel::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #38bdf8, var(--lux-primary, #5b5ff4), #14b8a6);
  opacity: 0.9;
  pointer-events: none;
}

.lux-ntpl-panel__toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0 1.1rem 0.95rem;
  border-bottom: 1px solid rgba(241, 245, 249, 0.98);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.65), transparent);
}

.lux-ntpl-toolbar__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.lux-ntpl-toolbar__search {
  position: relative;
  flex: 1 1 16rem;
  min-width: 12rem;
}

.lux-ntpl-toolbar__search > i {
  position: absolute;
  left: 0.9rem;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  pointer-events: none;
}

.lux-ntpl-toolbar__search-input {
  width: 100%;
  min-height: 2.65rem;
  padding: 0.55rem 0.95rem 0.55rem 2.45rem;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.95);
  font-size: 0.875rem;
  font-weight: 600;
  color: #0f172a;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lux-ntpl-toolbar__search-input:focus {
  outline: none;
  border-color: rgba(56, 189, 248, 0.55);
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.16);
}

.lux-ntpl-toolbar__count {
  color: #64748b;
  font-size: 0.8125rem;
  font-weight: 600;
}

.lux-ntpl-toolbar__count strong {
  color: #0f172a;
  font-weight: 800;
}

.lux-ntpl-panel__filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1.25rem;
}

.lux-ntpl-toolbar__group {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.lux-ntpl-toolbar__label {
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94a3b8;
}

@media (max-width: 720px) {
  .lux-ntpl-panel__filters {
    grid-template-columns: 1fr;
  }
}

.lux-ntpl-register-wrap {
  margin: 0.15rem;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.lux-ntpl-page .lux-ntpl-panel,
.lux-ntpl-page .lux-ntpl-panel .lux-hrms-dash__panel-body,
.lux-ntpl-page .lux-admin-lux__content {
  min-width: 0;
  max-width: 100%;
}

.lux-ntpl-register {
  width: 100%;
  table-layout: fixed;
}

.lux-ntpl-register th:nth-child(1),
.lux-ntpl-register td:nth-child(1) { width: 26%; }
.lux-ntpl-register th:nth-child(2),
.lux-ntpl-register td:nth-child(2) { width: 12%; }
.lux-ntpl-register th:nth-child(3),
.lux-ntpl-register td:nth-child(3) { width: 24%; }
.lux-ntpl-register th:nth-child(4),
.lux-ntpl-register td:nth-child(4) { width: 12%; }
.lux-ntpl-register th:nth-child(5),
.lux-ntpl-register td:nth-child(5) { width: 10%; }
.lux-ntpl-register th:nth-child(6),
.lux-ntpl-register td:nth-child(6) { width: 16%; }

.lux-ntpl-register__subject,
.lux-ntpl-register .lux-appr-policy-register__primary-meta,
.lux-ntpl-register .lux-appr-policy-register__primary-title {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lux-ntpl-register__actions {
  flex-wrap: wrap;
}

.lux-ntpl-register__primary-btn {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.lux-ntpl-register__primary-btn:hover .lux-appr-policy-register__primary-title {
  color: var(--lux-primary-dark, #3730a3);
}

.lux-ntpl-register__row.is-override {
  background: linear-gradient(90deg, rgba(91, 95, 244, 0.05), transparent 55%);
}

.lux-ntpl-register__row.is-disabled {
  background: linear-gradient(90deg, rgba(254, 243, 199, 0.45), transparent 58%);
}

.lux-ntpl-register__subject {
  display: inline-block;
  max-width: 18rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  color: #334155;
}

.lux-ntpl-register__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.lux-ntpl-register__action.is-secondary {
  color: #0f766e;
}

.lux-ntpl-register__action.is-secondary:hover {
  background: rgba(20, 184, 166, 0.08);
  border-color: rgba(20, 184, 166, 0.3);
}

/* Drawer popup */
.lux-ntpl-drawer.lux-onb-drawer {
  position: relative;
  width: min(48rem, 100vw);
  max-width: 100%;
  overflow: hidden;
  box-shadow:
    -28px 0 70px rgba(15, 23, 42, 0.32),
    0 0 0 1px rgba(255, 255, 255, 0.1) inset;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.98));
}

.lux-ntpl-drawer .lux-onb-drawer__accent {
  background: linear-gradient(180deg, #38bdf8, var(--lux-primary, #5b5ff4), #14b8a6);
}

.lux-ntpl-drawer .lux-leave-drawer__scroll {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}

.lux-ntpl-drawer__hero {
  display: flex;
  gap: 0.95rem;
  align-items: flex-start;
  padding: 1rem 1.05rem;
  border-radius: 16px;
  border: 1px solid rgba(56, 189, 248, 0.22);
  background:
    linear-gradient(135deg, rgba(56, 189, 248, 0.14), rgba(91, 95, 244, 0.08) 48%, rgba(20, 184, 166, 0.08)),
    #fff;
  box-shadow: 0 10px 28px rgba(14, 165, 233, 0.08);
}

.lux-ntpl-drawer__hero-icon {
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(145deg, #38bdf8, #0284c7);
  color: #fff;
  font-size: 1.2rem;
  box-shadow: 0 10px 22px rgba(2, 132, 199, 0.28);
}

.lux-ntpl-drawer__hero strong {
  display: block;
  color: #0c4a6e;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.3;
}

.lux-ntpl-drawer__hero p {
  margin: 0.3rem 0 0;
  color: #64748b;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.45;
}

.lux-ntpl-drawer__code {
  display: inline-block;
  margin-top: 0.45rem;
  padding: 0.28rem 0.55rem;
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.06);
  color: #334155;
  font-size: 0.75rem;
  font-weight: 700;
  word-break: break-all;
}

.lux-ntpl-drawer__html {
  min-height: 13rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.78rem;
  line-height: 1.5;
  background: linear-gradient(180deg, #0f172a, #111827) !important;
  color: #e2e8f0 !important;
  border-color: rgba(15, 23, 42, 0.55) !important;
}

.lux-ntpl-drawer__send {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.65rem;
  align-items: end;
}

@media (max-width: 560px) {
  .lux-ntpl-drawer__send {
    grid-template-columns: 1fr;
  }
}

.lux-ntpl-drawer__status {
  margin: 0.45rem 0 0;
  padding: 0.55rem 0.75rem;
  border-radius: 12px;
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.22);
  font-size: 0.8125rem;
  font-weight: 700;
  color: #047857;
}

.lux-ntpl-drawer__confirm {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1rem 1.05rem;
  border-radius: 16px;
  border: 1px solid rgba(239, 68, 68, 0.24);
  background: linear-gradient(180deg, #fef2f2, #fff);
  box-shadow: 0 12px 28px rgba(220, 38, 38, 0.08);
}

.lux-ntpl-drawer__confirm strong {
  color: #991b1b;
  font-size: 0.9rem;
  font-weight: 800;
}

.lux-ntpl-drawer__confirm p {
  margin: 0;
  color: #7f1d1d;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.45;
}

.lux-ntpl-drawer__confirm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lux-ntpl-drawer .lux-leave-drawer__btn.is-danger {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: #fff;
  border: none;
  box-shadow: 0 8px 20px rgba(220, 38, 38, 0.28);
}

.lux-ntpl-preview-overlay {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: flex;
  flex-direction: column;
  background: rgba(8, 15, 30, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  animation: lux-ntpl-fade-in 0.18s ease;
}

@keyframes lux-ntpl-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.lux-ntpl-preview-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0.85rem;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.35);
}

.lux-ntpl-preview-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.95rem 1.1rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  background:
    linear-gradient(135deg, rgba(56, 189, 248, 0.1), rgba(91, 95, 244, 0.06)),
    linear-gradient(180deg, #f8fafc, #fff);
}

.lux-ntpl-preview-panel__head h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: #0f172a;
}

.lux-ntpl-preview-panel__head p {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
}

.lux-ntpl-preview-panel__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 1.1rem;
  background:
    radial-gradient(ellipse 70% 40% at 50% 0%, rgba(56, 189, 248, 0.08), transparent 60%),
    #f1f5f9;
}

.lux-ntpl-preview-panel__frame {
  min-height: 100%;
  padding: 1.15rem 1.25rem;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}

.lux-ntpl-drawer-backdrop.lux-onb-drawer-backdrop {
  background: rgba(8, 15, 30, 0.58);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
