/*
 * 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="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="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="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-rail-padding-y: 12px;
    --lux-rail-padding-x: 12px;
    --lux-sidebar-padding: 12px 14px 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: "Plus Jakarta Sans", -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;
}

[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;
}

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;
}

/* ========== 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-c5i {
    width: 40px;
    display: block;
}

#header_top.lux-rail .header-brand .lux-rail-brand-favicon {
    width: 30px;
}

/* Menu expanded (desktop): C5i only */
@media screen and (min-width: 1201px) {
    body:not(.offcanvas-active) #header_top.lux-rail .header-brand .lux-rail-brand-favicon {
        display: none;
    }
}

/* Menu collapsed on desktop — show favicon + C5i */
@media screen and (min-width: 1201px) {
    body.offcanvas-active #header_top.lux-rail .header-brand .lux-rail-brand-favicon {
        display: block;
    }
}

/* Tablet: menu hidden by default — show favicon + C5i */
@media screen and (max-width: 1200px) {
    body:not(.offcanvas-active) #header_top.lux-rail .header-brand .lux-rail-brand-favicon {
        display: block;
    }

    body.offcanvas-active #header_top.lux-rail .header-brand .lux-rail-brand-favicon {
        display: none;
    }
}

/* 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: 1px 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: 11rem;
}

.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;
}

.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: 1.5rem;
    height: 1px;
    margin-bottom: 0.24rem;
    border-radius: 1px;
    background: linear-gradient(
        90deg,
        rgba(var(--lux-primary-rgb, 91, 95, 244), 0.55) 0%,
        #06b6d4 42%,
        #10b981 78%,
        transparent 100%
    );
    opacity: 0.85;
}

.app-brand-tagline {
    margin: 0;
    padding: 0;
    font-family: var(--lux-brand-font);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    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-block--wordmark {
    width: 100%;
}

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

.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 {
    max-width: 14rem;
    text-align: left;
    white-space: normal;
}

.app-brand-tagline--card {
    text-align: center;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    white-space: normal;
}

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

body.lux-shell-dark .app-brand-tagline {
    background: linear-gradient(92deg, #94a3b8 0%, #22d3ee 40%, #34d399 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: 1px 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__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;
}

#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;
}

#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.active > .lux-nav__parent,
#left-sidebar.lux-sidebar .lux-nav__group > .lux-nav__parent:hover {
    background: linear-gradient(90deg, rgba(var(--lux-primary-rgb), 0.13), rgba(var(--lux-accent-rgb), 0.07));
    color: var(--lux-primary-dark) !important;
    box-shadow: inset 3px 0 0 var(--lux-primary);
}

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

#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;
}

#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: block;
    border-radius: 12px;
    padding: 8px 12px !important;
    font-weight: 500;
    font-size: 13px;
    color: var(--lux-muted) !important;
    transition: 0.16s ease;
}

#left-sidebar.lux-sidebar .lux-nav__child span {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

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

#left-sidebar.lux-sidebar .lux-nav__child.active,
#left-sidebar.lux-sidebar .metismenu ul li.active > .lux-nav__child {
    color: var(--lux-primary) !important;
    font-weight: 800;
    background: rgba(var(--lux-primary-rgb), 0.1);
    box-shadow: inset 2px 0 0 var(--lux-primary);
}

#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;
}

#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: 1px 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: 11px;
    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: 17px;
    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: 1px 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: 1px 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 {
    position: relative;
}

#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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
}

.theme_div.lux-theme-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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
}

.right_sidebar.lux-settings-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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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--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: 1px 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: 1px 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: 1px 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: 1px 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;
}

/* ========== 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;
}

.lux-bid-requests,
.lux-attendance,
.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 {
    padding-bottom: var(--lux-page-block-bottom);
}

.lux-register-shell,
.lux-planner-shell {
    margin: 0 var(--lux-page-gutter-x) var(--lux-page-block-bottom);
    border: 1px 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: 1px 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: 0.85rem 1rem 1rem;
}

.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 1rem 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: 1rem;
    padding-right: 1rem;
}

.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: 1px 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: 1px 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: 1px 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--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;
    }
}

@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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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 {
    padding: 0.35rem 0.65rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 9911px;
    background: #fff;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #1e40af;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.lux-assist-panel__quick-chip:hover {
    background: rgba(30, 64, 175, 0.06);
    border-color: rgba(30, 64, 175, 0.22);
    transform: translateY(-1px);
}

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.72);
    border-color: rgba(51, 65, 85, 0.95);
    color: #93c5fd;
}

/* ========== 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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;
}

.lux-activity-panel {
    border: 1px 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: 1px 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.22);
    color: #dc2626;
}

.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: 1px 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: 1px 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: 1px 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.is-collapsed .lux-activity-summary__body {
    display: none;
}

.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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, 64rem);
    height: min(88vh, 44rem);
    max-height: min(88vh, 44rem);
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), transparent 44%),
        radial-gradient(circle at 0% 100%, rgba(16, 185, 129, 0.05), transparent 40%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
    box-shadow: 0 32px 80px rgba(15, 23, 42, 0.22);
    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.65rem;
    padding: 0.72rem 0.9rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(248, 250, 252, 0.96);
    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.625rem;
}

.lux-activity-detail-popover__status {
    display: inline-grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 12px;
    flex-shrink: 0;
    font-size: 0.8125rem;
}

.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: 0.875rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.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: 1px 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.45rem;
    padding: 0.55rem 0.9rem 0.65rem;
    overflow: hidden;
}

.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: 1px 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: 1px 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: 1px 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__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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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.3rem;
    padding: 0.42rem 0.625rem 0.48rem;
    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: 1px 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: 1px 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: 1px 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 {
        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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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 6px;
    border-radius: var(--lux-ac-radius);
    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 8px 24px rgba(15, 23, 42, 0.05);
    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.65rem;
    padding: 12px 12px;
    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: 1px 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__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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px solid rgba(20, 184, 166, 0.18);
}

.lux-appconfig-hero__pill--muted {
    color: #64748b;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}

.lux-appconfig-hero__pill--current {
    color: #047857;
    background: #d1fae5;
    border: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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--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--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--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: 1px 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--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: 1px 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 {
    padding: 0.65rem 0.75rem;
    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;
}

.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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.35rem;
    padding: 0.35rem 0.55rem;
    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__filters {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem;
    border-radius: 11px;
    border: 1px 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: 1px 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--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: min(100%, 180px);
    max-width: 320px;
    height: 32px;
    padding: 0 0.625rem;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
    transition: border-color 0.12s ease, box-shadow 0.12s ease;
    margin-bottom: 0px;
}

.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;
    margin-left: auto;
    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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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__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: 1px 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__label {
    flex: 1;
    min-width: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #334155;
    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: 1px 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: 1px 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: 1px 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: center;
    gap: 0.35rem;
    min-width: 0;
}

.lux-ac-config-block__label {
    font-size: 0.75rem;
    font-weight: 700;
    color: #334155;
    line-height: 1.3;
}

.lux-ac-config-block__count {
    flex-shrink: 0;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.35rem;
    border-radius: 9911px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 800;
    color: #64748b;
    background: #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: 1px 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-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: 1px 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: 1px 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: 1px 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-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: 1px 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: 1px solid #e2e8f0 !important;
    font-size: 0.8125rem !important;
    padding: 0 0.65rem;
}

/* Permission tables */
.lux-appconfig-panel .table-responsive {
    border-radius: 12px;
    border: 1px 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--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 ========== */

.auth .auth-screen {
    position: relative;
    min-height: 100vh;
    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;
    transform: scale(1.03);
}

.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, 1.05fr) minmax(0, 0.95fr);
    width: 100%;
    height: 100vh;
    max-height: 100vh;
    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;
    padding: 4px 12px;
    border-radius: 9911px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    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 {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(226, 232, 240, 0.85);
}

.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: 1px 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);
}

/* —— Form column —— */
.auth-screen__form {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    max-height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    padding: clamp(1.25rem, 3vh, 2.5rem) clamp(1.5rem, 4vw, 3rem);
}

.auth-screen__form-inner {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 0;
}

@media (min-width: 992px) {
    .auth-screen__form {
        align-items: center;
        justify-content: center;
        padding-left: clamp(1.5rem, 4vw, 3rem);
        padding-right: clamp(2rem, 5vw, 4rem);
        padding-top: clamp(2rem, 5vh, 3.5rem);
        padding-bottom: clamp(1.5rem, 3vh, 2.5rem);
    }

    .auth-screen__form-inner {
        max-width: 392px;
        margin-left: clamp(0.625rem, 4vw, 2.5rem);
        margin-right: auto;
        transform: translateY(2.5vh);
    }

    .auth-screen__footer {
        max-width: 392px;
        margin-left: clamp(0.625rem, 4vw, 2.5rem);
        margin-right: auto;
        text-align: left;
    }

    .auth-screen__footer-brand,
    .auth-screen__footer-nav {
        justify-content: flex-start;
    }
}

/* —— Luxury login card —— */
.auth .auth-screen .auth-login__card {
    position: relative;
    margin: 0;
    width: 100%;
    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;
    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: 1.75rem 2rem 0.25rem;
}

.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-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 .brand-logo-wrapper,
.auth-login__brand .brand-logo-wrapper--image {
    justify-content: left;
    width: 100%;
}

.auth-login__brand .app-brand-wordmark__rule {
    align-self: flex-start;
}

.auth-login__brand .app-brand-tagline--card {
    align-self: center;
}

.auth-login__brand .app-brand-logo--card {
    max-height: 1.625rem;
    max-width: 9.5rem;
}

.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: 1.25rem 2rem 1.5rem;
}

.auth-login__foot {
    padding: 0 2rem 1.5rem;
    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: 1.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: 48px;
    border-radius: 14px;
    border: 1px 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: 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;
}

.auth .auth-screen .auth-login__or {
    color: #94a3b8;
    margin: 1.15rem 0 1rem;
}

.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: 1px 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: 1rem auto 0;
    padding: 0 0.25rem 0.625rem;
    text-align: center;
}

.auth-screen__footer-divider {
    height: 1px;
    margin: 0 0 0.875rem;
    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.625rem 0.65rem;
    margin-bottom: 0.625rem;
}

.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: 1px solid rgba(255, 255, 255, 0.12);
}

.auth-screen__footer-legal {
    margin: 0 0 0.625rem;
    max-width: none;
    font-size: 0.75rem;
    line-height: 1.5;
    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: 1px 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 {
        padding: 1.5rem 1.25rem 1.25rem;
        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: 56px;
        height: 56px;
    }

    .auth-screen__brand-mark-icon {
        width: 32px;
        height: 32px;
    }

    .auth-screen__brand-name {
        font-size: 1.375rem;
    }

    .auth-screen__brand-tagline {
        font-size: 12px;
    }

    .auth-screen__form {
        align-items: flex-start;
        justify-content: flex-start;
        padding: 0 1.25rem 1.5rem;
    }

    .auth-screen__form-inner {
        transform: none;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .auth-screen__footer {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .auth-screen__footer-brand {
        flex-direction: column;
    }

    .auth-screen__footer {
        margin-top: 1.125rem;
        padding-bottom: 0.625rem;
    }

    .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%
            );
    }
}

@media (max-width: 767px) {
    .auth-login__head {
        padding: 1.5rem 1.35rem 0.15rem;
    }

    .auth .auth-screen .auth-login__body.card-body,
    .auth-login__foot {
        padding-left: 1.35rem;
        padding-right: 1.35rem;
    }

    .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 20px 28px;
}

.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 0.65rem 1rem;
}

.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__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: 1px 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.75rem;
}

.lux-project-details-page .pd-nav {
    margin-bottom: 0.75rem;
}

.lux-project-details-page .pd-overview {
    margin: 0;
}

/* Deliverable details — same shell as project details */
.lux-deliverable-details-page.pd-page {
    --pd-gap: 14px;
    padding: 0 0.65rem 1rem;
}

.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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 — deliverable register layout */
.lux-workitem-requests {
    padding: 0 0.65rem 1rem;
}

.lux-workitem-requests .lux-deliverable-context {
    margin-bottom: 0.65rem;
}

.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.5rem 0 0.65rem;
}

/* Work items — date toolbar */
.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.65rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    box-shadow: 0 4px 14px 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: 1px 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 */
.lux-workitem-list {
    --lux-bid-list-cols:
        2.75rem 5.25rem minmax(11rem, 1.45fr) minmax(4.5rem, 0.7fr) minmax(6.5rem, 0.85fr)
        minmax(7.5rem, 0.95fr) minmax(4.25rem, 0.55fr) minmax(5.5rem, 0.7fr) minmax(6.5rem, 0.75fr) 2.5rem;
}

.lux-workitem-list-shell .lux-bid-list__head,
.lux-workitem-list-shell .lux-bid-list__item {
    min-width: 58rem;
}

.lux-workitem-row__index {
    font-size: 0.6875rem;
    font-weight: 800;
    color: #94a3b8;
}

.lux-workitem-row__name-col.is-clickable {
    cursor: pointer;
}

.lux-workitem-row__name {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 100%;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    text-decoration: none;
}

.lux-workitem-row__name-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.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 i,
.lux-workitem-row.is-menu-open .lux-workitem-row__name i {
    opacity: 1;
}

.lux-workitem-row__tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.2rem;
}

.lux-workitem-row__prio {
    display: inline-flex;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    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__category {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
}

.lux-workitem-row__owner {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.lux-workitem-row__owner-avatar {
    width: 1.5rem;
    height: 1.5rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2), rgba(14, 165, 233, 0.15));
    font-size: 0.625rem;
    font-weight: 800;
    color: var(--lux-primary-dark, #3730a3);
    flex-shrink: 0;
}

.lux-workitem-row__owner-name {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-row__dates {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.lux-workitem-row__date {
    display: flex;
    flex-direction: column;
    font-size: 0.625rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}

.lux-workitem-row__date em {
    font-style: normal;
    font-size: 0.5rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-workitem-row__date.is-due {
    color: #b45309;
}

.lux-workitem-row__hours {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
}

.lux-workitem-row__hours-label {
    font-size: 0.5rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
}

.lux-workitem-row__hours strong {
    font-size: 0.75rem;
    font-weight: 800;
}

.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__checklist {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    font-size: 0.5625rem;
    font-weight: 800;
    white-space: nowrap;
}

.lux-workitem-row__checklist.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-workitem-row__checklist.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-workitem-row__checklist.is-slate { background: rgba(100, 116, 139, 0.1); color: #475569; }
.lux-workitem-row__checklist.is-muted { background: #f1f5f9; color: #94a3b8; }

.lux-workitem-row__status {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.22rem 0.5rem;
    border-radius: 999px;
    font-size: 0.5625rem;
    font-weight: 800;
    white-space: nowrap;
}

.lux-workitem-row__status.is-sky { background: rgba(14, 165, 233, 0.12); color: #0369a1; }
.lux-workitem-row__status.is-indigo { background: rgba(99, 102, 241, 0.12); color: #4338ca; }
.lux-workitem-row__status.is-amber { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.lux-workitem-row__status.is-green { background: rgba(16, 185, 129, 0.12); color: #047857; }
.lux-workitem-row__status.is-slate { background: rgba(100, 116, 139, 0.1); color: #475569; }
.lux-workitem-row__status.is-rose { background: rgba(244, 63, 94, 0.12); color: #be123c; }

.lux-workitem-row__status .spin {
    animation: lux-spin 1s linear infinite;
}

@media (max-width: 1100px) {
    .lux-workitem-date-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-workitem-date-toolbar__presets {
        justify-content: flex-start;
    }
}

/* 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;
}

.lux-workitem-create-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1;
}

.lux-workitem-create-context {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
    padding: 0.85rem 1rem 0.5rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04), transparent);
}

.lux-workitem-create-context__card {
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
    padding: 0.65rem 0.7rem;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    min-width: 0;
}

.lux-workitem-create-context__card.is-deliverable {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.lux-workitem-create-context__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-dark, #3730a3);
    flex-shrink: 0;
}

.lux-workitem-create-context__copy {
    min-width: 0;
    flex: 1;
}

.lux-workitem-create-context__eyebrow {
    display: block;
    font-size: 0.5625rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 0.15rem;
}

.lux-workitem-create-context__title {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
    text-decoration: none;
    line-height: 1.25;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-workitem-create-context__title:hover {
    color: var(--lux-primary, #5b5ff4);
}

.lux-workitem-create-context__title.is-static {
    cursor: default;
}

.lux-workitem-create-context__title i {
    font-size: 0.6875rem;
    opacity: 0.55;
}

.lux-workitem-create-context__meta {
    margin: 0.2rem 0 0;
    font-size: 0.625rem;
    font-weight: 600;
    color: #64748b;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem;
}

.lux-workitem-create-context__dot {
    opacity: 0.5;
}

.lux-workitem-create-context__status {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.5625rem;
}

.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-panel__form {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.lux-workitem-create-panel__form .lux-planner-assign-form {
    min-height: 0;
}

.lux-workitem-create-footer__keep {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.35rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
}

.lux-workitem-create-footer__keep input {
    margin: 0;
}

@media (max-width: 900px) {
    .lux-workitem-create-context {
        grid-template-columns: 1fr;
    }
}

/* File manager — luxury workspace */
.lux-file-manager {
    padding-bottom: 2rem;
}

.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 2rem; }
.lux-hrms-settings__hero {
    margin-bottom: 0.85rem; padding: 1rem 1.1rem; border-radius: 16px;
    border: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px solid rgba(245, 158, 11, 0.2);
}

.lux-hrms-settings__note.is-success {
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
    border: 1px solid rgba(16, 185, 129, 0.2);
}

/* Schedulers register */
.lux-schedule-register {
    border-radius: 14px;
    border: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px solid #e2e8f0;
}

.pd-chip--accent {
    color: var(--lux-primary-dark, #3730a3);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.pd-hero__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.pd-icon-btn {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 1px 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--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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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;
}

.lux-create-panel--deliverable .lux-create-panel__body {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.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 ========== */

.pd-estimates {
    padding: 18px 20px;
    border-radius: var(--pd-radius);
    border: 1px 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-estimates__head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}

.pd-estimates__icon {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(245, 158, 11, 0.12);
    color: #d97706;
    flex-shrink: 0;
}

.pd-estimates__titles {
    flex: 1;
    min-width: 0;
}

.pd-estimates__title {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: #1e293b;
}

.pd-estimates__subtitle {
    margin: 2px 0 0;
    font-size: 12px;
    color: #94a3b8;
}

.pd-estimates__hero-stat {
    text-align: center;
    padding: 16px;
    margin-bottom: 14px;
    border-radius: var(--pd-radius-sm);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08), rgba(20, 184, 166, 0.08));
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.pd-estimates__hero-value {
    display: block;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -1px;
    color: var(--lux-primary-dark, #3730a3);
    line-height: 1;
}

.pd-estimates__hero-label {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.pd-estimates__teams {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pd-estimates__team-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 12px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    transition: 0.15s ease;
}

.pd-estimates__team-row:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25);
}

.pd-estimates__team-name {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #1e293b;
}

.pd-estimates__team-meta {
    display: block;
    font-size: 12px;
    color: #94a3b8;
}

.pd-estimates__team-hours {
    font-size: 15px;
    font-weight: 800;
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.pd-estimates__extra {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed #e2e8f0;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}

.pd-estimates__empty {
    text-align: center;
    padding: 20px 12px;
    color: #94a3b8;
}

.pd-estimates__empty i {
    display: block;
    font-size: 28px;
    margin-bottom: 8px;
    opacity: 0.5;
}

.pd-estimates__empty p {
    margin: 0 0 12px;
    font-size: 13px;
}

.pd-estimates__empty--sidebar {
    padding: 32px 16px;
}

/* Buttons */
.lux-estimate-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 18px;
    border-radius: 9911px;
    border: none;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: 0.18s ease;
}

.lux-estimate-btn--sm {
    padding: 7px 14px;
    font-size: 12px;
}

.lux-estimate-btn--primary {
    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.3);
}

.lux-estimate-btn--primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
}

.lux-estimate-btn--ghost {
    color: #64748b;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}

.lux-estimate-btn--ghost:hover {
    background: #e2e8f0;
    color: #334155;
}

.pd-estimates__head .lux-estimate-btn--sm {
    flex-shrink: 0;
    margin-top: 2px;
}

/* Editor sidebar */
.lux-estimate-sidebar {
    width: min(560px, 92vw) !important;
    z-index: 1000001;
}

.lux-estimate-sidebar__shell {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: #fff;
}

.lux-estimate-sidebar__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent);
}

.lux-estimate-sidebar__kicker {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-estimate-sidebar__title {
    margin: 4px 0 0;
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
}

.lux-estimate-sidebar__body {
    flex: 1;
    overflow-y: auto;
    padding: 18px 22px;
}

.lux-estimate-sidebar__foot {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 16px 22px;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

/* Team cards in editor */
.lux-estimate-team-card {
    margin-bottom: 16px;
    padding: 16px;
    border-radius: var(--pd-radius-sm);
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.lux-estimate-team-card__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
}

.lux-estimate-team-card__icon {
    width: 36px;
    height: 36px;
    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__name {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
    color: #1e293b;
}

.lux-estimate-team-card__types {
    font-size: 12px;
    color: #94a3b8;
}

.lux-estimate-team-card__remove {
    margin-left: auto;
    color: #ef4444 !important;
    opacity: 0.7;
}

.lux-estimate-team-card__remove:hover {
    opacity: 1;
}

.lux-estimate-month-block {
    margin-bottom: 12px;
    border-radius: 12px;
    border: 1px solid #f1f5f9;
    overflow: hidden;
}

.lux-estimate-month-block__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    background: #f8fafc;
    font-size: 12px;
    font-weight: 700;
    color: #475569;
}

.lux-estimate-month-block__remove {
    color: #ef4444 !important;
    font-size: 14px;
}

.lux-estimate-type-block {
    padding: 8px 12px 12px;
}

.lux-estimate-type-block__label {
    display: inline-block;
    margin-bottom: 6px;
    padding: 2px 8px;
    border-radius: 9911px;
    font-size: 12px;
    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-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: 12px;
    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: 12px;
    padding-top: 12px;
    border-top: 1px dashed #e2e8f0;
}

.lux-estimate-team-card__totals-label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 6px;
}

.lux-estimate-team-card__totals-vals {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.lux-estimate-team-card__total-chip {
    padding: 4px 12px;
    border-radius: 9911px;
    font-size: 12px;
    font-weight: 700;
    background: #f1f5f9;
    color: #475569;
}

.lux-estimate-add-line-btn,
.lux-estimate-add-team-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px;
    margin-top: 12px;
    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: 12px;
    font-weight: 700;
    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: 16px;
    border-radius: var(--pd-radius-sm);
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    margin-top: 8px;
}

.lux-estimate-add-team__actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

/* Add line modal */
.lux-estimate-line-modal {
    position: fixed;
    inset: 0;
    z-index: 1000002;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.lux-estimate-line-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(4px);
}

.lux-estimate-line-modal__panel {
    position: relative;
    width: min(520px, 100%);
    max-height: 90vh;
    overflow-y: auto;
    border-radius: var(--pd-radius);
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    box-shadow: 0 32px 80px rgba(15, 23, 42, 0.2);
}

.lux-estimate-line-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 22px 0;
}

.lux-estimate-line-modal__kicker {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-estimate-line-modal__title {
    margin: 4px 0 0;
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
}

.lux-estimate-line-modal__form {
    padding: 18px 22px 22px;
}

.lux-estimate-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.lux-estimate-field--wide {
    grid-column: 1 / -1;
}

.lux-estimate-field__label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    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: 12px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
}

@media (max-width: 767px) {
    .lux-estimate-form-grid {
        grid-template-columns: 1fr;
    }

    .lux-estimate-line {
        grid-template-columns: 1fr repeat(3, 48px);
        font-size: 12px;
    }
}

/* ========== Checklist — luxury panel & editor ========== */

.pd-checklist {
    padding: 18px 20px;
    border-radius: var(--pd-radius);
    border: 1px 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-checklist__head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}

.pd-checklist__icon {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(16, 185, 129, 0.12);
    color: #059669;
    flex-shrink: 0;
}

.pd-checklist__titles {
    flex: 1;
    min-width: 0;
}

.pd-checklist__title {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: #1e293b;
}

.pd-checklist__subtitle {
    margin: 2px 0 0;
    font-size: 12px;
    color: #94a3b8;
}

.pd-checklist__stats {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    margin-bottom: 12px;
    border-radius: var(--pd-radius-sm);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.06), rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06));
    border: 1px solid rgba(16, 185, 129, 0.15);
}

.pd-checklist__ring {
    position: relative;
    width: 52px;
    height: 52px;
    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: 12px;
    font-weight: 800;
    color: #334155;
}

.pd-checklist__stat-copy strong {
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: #1e293b;
}

.pd-checklist__stat-copy span {
    display: block;
    font-size: 12px;
    color: #64748b;
}

.pd-checklist__mandatory {
    margin-top: 4px;
    font-weight: 600;
    color: #d97706 !important;
}

.pd-checklist__empty {
    text-align: center;
    padding: 16px 8px;
    color: #94a3b8;
}

.pd-checklist__empty i {
    display: block;
    font-size: 26px;
    margin-bottom: 8px;
    opacity: 0.5;
}

.pd-checklist__empty p {
    margin: 0 0 12px;
    font-size: 13px;
}

.pd-checklist__preview {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
}

.pd-checklist__preview-item {
    display: grid;
    grid-template-columns: 18px 1fr auto;
    gap: 8px;
    align-items: start;
    padding: 8px 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 12px;
}

.pd-checklist__preview-item i {
    color: #cbd5e1;
    margin-top: 2px;
}

.pd-checklist__preview-item.is-done i {
    color: #10b981;
}

.pd-checklist__preview-q {
    color: #475569;
    font-weight: 600;
    line-height: 1.35;
}

.pd-checklist__preview-a {
    color: #94a3b8;
    font-size: 12px;
    font-weight: 600;
    text-align: right;
    max-width: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pd-checklist__preview-more {
    padding: 8px 0 0;
    font-size: 12px;
    font-weight: 700;
    color: var(--lux-primary, #5b5ff4);
}

.pd-checklist__configure {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 700;
    color: #64748b !important;
}

.pd-checklist__configure:hover {
    color: var(--lux-primary, #5b5ff4) !important;
}

.pd-checklist__status-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 9911px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #d97706;
    background: #fffbeb;
    border: 1px solid #fde68a;
}

.pd-checklist__status-badge.is-complete {
    color: #059669;
    background: #ecfdf5;
    border-color: #a7f3d0;
}

/* Checklist editor sidebar */
.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(960px, 96vw) !important;
    right: calc(-1 * min(960px, 96vw) - 24px) !important;
}

.lux-create-panel--checklist .lux-checklist-editor__layout {
    min-height: min(72vh, 680px);
}

.lux-checklist-questions__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-left: auto;
    flex-shrink: 0;
}

.lux-checklist-questions__action {
    display: inline-grid;
    place-items: center;
    width: 1.85rem;
    height: 1.85rem;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 10px;
    background: #fff;
    color: #475569;
    cursor: pointer;
}

.lux-checklist-questions__action:hover {
    color: #0f172a;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-checklist-sidebar {
    width: min(520px, 92vw) !important;
    z-index: 1000001;
}

.lux-checklist-sidebar--wide {
    width: min(960px, 96vw) !important;
}

.lux-checklist-sidebar__shell {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: #fff;
}

.lux-checklist-sidebar__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.06), transparent);
}

.lux-checklist-sidebar__kicker {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-checklist-sidebar__title {
    margin: 4px 0 0;
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
}

.lux-checklist-sidebar__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
    transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}

.lux-checklist-sidebar__close:hover {
    color: #0f172a;
    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__fill {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
}

.lux-checklist-editor {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
}

.lux-checklist-editor__layout {
    display: grid;
    grid-template-columns: minmax(14rem, 17rem) minmax(0, 1fr);
    gap: 0;
    min-height: calc(100vh - 5.5rem);
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}

.lux-checklist-editor__list-pane {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-right: 1px solid #e2e8f0;
    background: #f8fafc;
}

.lux-checklist-editor__list-head {
    padding: 0.85rem 0.75rem 0.65rem;
    border-bottom: 1px solid #e2e8f0;
}

.lux-checklist-editor__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-checklist-editor__filter {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.55rem;
    padding: 0.42rem 0.55rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    color: #94a3b8;
}

.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__list-body {
    flex: 1;
    overflow: auto;
    padding: 0.45rem 0.55rem 0.65rem;
}

.lux-checklist-editor__list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lux-checklist-editor__item {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-checklist-editor__item.is-selected {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    box-shadow: 0 6px 16px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
}

.lux-checklist-editor__item-main {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.42rem 0.45rem;
}

.lux-checklist-editor__item-select {
    flex: 1;
    min-width: 0;
    padding: 0;
    border: none;
    background: transparent;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0f172a;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-checklist-editor__item-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    flex-shrink: 0;
}

.lux-checklist-editor__item-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    cursor: pointer;
}

.lux-checklist-editor__item-action:hover {
    color: var(--lux-primary-dark, #3730a3);
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-checklist-editor__item-action.is-danger:hover {
    color: #be123c;
    border-color: rgba(244, 63, 94, 0.28);
}

.lux-checklist-editor__form-pane {
    min-width: 0;
    padding: 0.85rem 0.95rem 0.75rem;
    overflow: auto;
    background: #fff;
}

.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: var(--pd-radius-sm);
    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-checklist-questions .d-flex.justify-content-between {
    flex-direction: column;
    align-items: stretch !important;
    gap: 12px;
    padding: 14px !important;
    margin-bottom: 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #fff;
    transition: 0.15s ease;
}

.lux-checklist-questions .d-flex.justify-content-between:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.25) !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
}

.lux-checklist-questions .bid-question-div {
    width: 100%;
}

.lux-checklist-questions .mx-w-500 {
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    line-height: 1.45;
}

.lux-checklist-questions .form-required {
    color: #ef4444;
}

.lux-checklist-questions .form-control {
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    font-weight: 600;
}

.lux-checklist-editor__error {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    font-size: 12px;
    font-weight: 600;
}

/* Change template modal */
.lux-checklist-change-modal {
    position: fixed;
    inset: 0;
    z-index: 1000003;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.lux-checklist-change-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(4px);
}

.lux-checklist-change-modal__panel {
    position: relative;
    width: min(440px, 100%);
    border-radius: var(--pd-radius);
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #fff;
    box-shadow: 0 32px 80px rgba(15, 23, 42, 0.2);
}

.lux-checklist-change-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 22px 0;
}

.lux-checklist-change-modal__kicker {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #94a3b8;
}

.lux-checklist-change-modal__title {
    margin: 4px 0 0;
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
}

.lux-checklist-change-modal__body {
    padding: 18px 22px;
}

.lux-checklist-change-modal__hint {
    margin: 12px 0 0;
    font-size: 12px;
    color: #94a3b8;
    line-height: 1.5;
}

.lux-checklist-change-modal__foot {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 0 22px 22px;
}

/* Inline mode (ConfigureChecklistSidebar) */
.lux-checklist-inline {
    padding: 16px;
    border-radius: var(--pd-radius-sm);
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.lux-checklist-inline__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.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: var(--lux-primary, #5b5ff4) !important;
}

.lux-checklist-inline__foot {
    display: flex;
    gap: 8px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e2e8f0;
}

/* ========== Service lines — luxury panel ========== */

.pd-service-lines {
    padding: 18px 20px;
    border-radius: var(--pd-radius);
    border: 1px 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: 1px 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: 1px 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 0.75rem 0.85rem;
}

.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px solid rgba(5, 150, 105, 0.25);
}

.profile-hero__status--inline.is-rose {
    color: #dc2626;
    background: rgba(220, 38, 38, 0.1);
    border: 1px solid rgba(220, 38, 38, 0.25);
}

.profile-hero__status--inline.is-slate {
    color: #475569;
    background: rgba(100, 116, 139, 0.12);
    border: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px solid rgba(5, 150, 105, 0.22);
}

.profile-security__alert.is-error {
    color: #b91c1c;
    background: rgba(220, 38, 38, 0.08);
    border: 1px solid rgba(220, 38, 38, 0.2);
}

.profile-security__alert.is-warning {
    color: #b45309;
    background: rgba(251, 191, 36, 0.12);
    border: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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__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 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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-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 {
    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 {
    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: 1px 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: 1px 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);
}

@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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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;
}

.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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 — single luxury toolbar ========== */

.lux-page-header--timesheet {
    padding: 0.625rem 0.85rem;
    z-index: 18;
}

.lux-page-header--timesheet .lux-page-header__toolbar {
    align-items: center;
}

/* —— 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: 1px 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 week summary panel ========== */

.lux-ts-summary {
    border: 1px 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__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: 1px 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: 1px 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: 1px 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: 1px 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 {
    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 {
    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 {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
}

.lux-ts-summary__body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    overflow: hidden;
    transition: max-height 0.28s ease, opacity 0.22s ease;
    max-height: 3200px;
    opacity: 1;
}

.lux-ts-summary.is-collapsed .lux-ts-summary__body {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
}

.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__attention {
    padding: 0.65rem 0.75rem;
    border: 1px 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: 1px 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: 1px 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: 1px 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;
    contain: strict;
    transform: translateZ(0);
}

.lux-ts-add-entry__backdrop {
    position: absolute;
    inset: 0;
    padding: 0;
    border: none;
    background: rgba(8, 12, 28, 0.48);
    cursor: pointer;
}

body.lux-ts-add-entry-open {
    overflow: hidden;
}

.lux-page-header__create-btn.is-busy {
    opacity: 0.72;
    cursor: default;
}

.lux-ts-add-entry__panel {
    position: relative;
    width: min(560px, 100%);
    max-height: min(90vh, 720px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 20px;
    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.08), transparent 42%),
        linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.75) inset,
        0 32px 80px rgba(15, 23, 42, 0.22);
    animation: lux-ts-add-entry-in 0.22s ease;
}

@keyframes lux-ts-add-entry-in {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.98);
    }
    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.75rem;
    padding: 1.15rem 1.25rem 0.85rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.lux-ts-add-entry__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-add-entry__kicker i {
    color: var(--lux-primary, #5b5ff4);
}

.lux-ts-add-entry__title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.lux-ts-add-entry__sub {
    margin: 0.28rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
}

.lux-ts-add-entry__sub strong {
    color: #334155;
}

.lux-ts-add-entry__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 9911px;
    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-ts-add-entry__close: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-add-entry__body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.lux-ts-add-entry__section {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.lux-ts-add-entry__step {
    display: inline-block;
    width: fit-content;
    padding: 0.12rem 0.42rem;
    border-radius: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    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;
}

.lux-ts-add-entry__type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.lux-ts-add-entry__type-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.22rem;
    min-height: 6.5rem;
    padding: 0.75rem 0.8rem;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    text-align: left;
    cursor: pointer;
    transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.lux-ts-add-entry__type-card:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
    transform: translateY(-1px);
}

.lux-ts-add-entry__type-card.is-active {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.32);
    box-shadow:
        0 0 0 1px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12) inset,
        0 12px 24px 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.32);
    box-shadow:
        0 0 0 1px rgba(5, 150, 105, 0.12) inset,
        0 12px 24px rgba(5, 150, 105, 0.12);
}

.lux-ts-add-entry__type-card.is-blue.is-active {
    border-color: rgba(37, 99, 235, 0.32);
    box-shadow:
        0 0 0 1px rgba(37, 99, 235, 0.12) inset,
        0 12px 24px rgba(37, 99, 235, 0.12);
}

.lux-ts-add-entry__type-icon {
    display: inline-flex;
    align-items: center;
    justify-content: 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;
}

.lux-ts-add-entry__type-card.is-green .lux-ts-add-entry__type-icon {
    background: rgba(5, 150, 105, 0.12);
    color: #047857;
}

.lux-ts-add-entry__type-card.is-blue .lux-ts-add-entry__type-icon {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
}

.lux-ts-add-entry__type-card strong {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-ts-add-entry__type-card span:last-child {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.4;
}

.lux-ts-add-entry__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-ts-add-entry__label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.lux-ts-add-entry__hint {
    margin: 0.15rem 0 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
}

.lux-ts-add-entry__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.85rem 1.25rem 1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    background: rgba(248, 250, 252, 0.92);
}

.lux-ts-add-entry__foot-note {
    margin: 0;
    flex: 1;
    min-width: 12rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.45;
}

.lux-ts-add-entry__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

.lux-ts-add-entry__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;
    transition: border-color 0.14s ease, background 0.14s ease, opacity 0.14s ease;
}

.lux-ts-add-entry__btn--ghost {
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #64748b;
}

.lux-ts-add-entry__btn--ghost:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    color: var(--lux-primary-dark, #3730a3);
}

.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 8px 20px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.28);
}

.lux-ts-add-entry__btn--primary:hover:not(:disabled) {
    filter: brightness(1.03);
}

.lux-ts-add-entry__btn--primary:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: 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.12), transparent 42%),
        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__title,
body.lux-shell-dark .lux-ts-add-entry__section-title,
body.lux-shell-dark .lux-ts-add-entry__type-card strong {
    color: #e2e8f0;
}

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__foot {
    background: rgba(2, 6, 23, 0.65);
    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: 1px 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);
}

.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) ========== */

.lux-ts-board {
    position: relative;
    overflow: visible;
    border-radius: 12px;
    --lux-ts-col-meta: minmax(10.625rem, 1.15fr);
    --lux-ts-col-day: minmax(2.35rem, 1fr);
    --lux-ts-col-tools: 2.85rem;
    --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.2rem;
}

.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.25rem;
    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__col-meta,
.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: 1;
}

.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.45rem;
    padding: 0.35rem 0.35rem 0.4rem;
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    border-radius: 14px;
    background:
        radial-gradient(circle at 0% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), transparent 50%),
        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 16px rgba(15, 23, 42, 0.04);
}

.lux-ts-board__week-rail.is-sticky {
    position: sticky;
    top: 35px;
    z-index: 9;
    backdrop-filter: blur(8px);
}

.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.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.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;
    padding: 0.22rem 0.08rem;
    border-radius: 12px;
    border: 1px solid transparent;
    text-align: center;
    margin: 0;
    font: inherit;
    color: inherit;
    background: transparent;
    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;
}

.lux-ts-board__week-day.is-clickable:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.22);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    transform: translateY(-1px);
}

.lux-ts-board__week-day.is-today {
    border-color: rgba(5, 150, 105, 0.28);
    background: linear-gradient(180deg, rgba(5, 150, 105, 0.12), rgba(5, 150, 105, 0.04));
}

.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: 800;
    line-height: 1.05;
    color: #0f172a;
}

.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.45rem;
    padding: 0.45rem 0.35rem;
    border: 1px 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);
}

.lux-ts-board__footer-totals > * {
    grid-row: 1;
}

.lux-ts-board__footer-meta-label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.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.45rem;
}

/* Board empty state — see luxury-register-empty.css (.lux-register-empty--compact) */
.lux-ts-board__empty {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
}

/* Group sections */
.lux-ts-board__group {
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.03);
}

.lux-ts-board__group.is-project {
    border-top: 2px solid rgba(5, 150, 105, 0.5);
}

.lux-ts-board__group.is-non-project {
    border-top: 2px solid rgba(37, 99, 235, 0.4);
}

.lux-ts-board__group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    padding: 0.4rem 0.55rem;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    background: rgba(248, 250, 252, 0.88);
}

.lux-ts-board__group-id {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem;
    min-width: 0;
}

.lux-ts-board__group-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.35rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.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;
}

.lux-ts-board__group-name {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.lux-ts-board__group-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    flex-shrink: 0;
}

.lux-ts-board__group-body {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.25rem 0.35rem;
}

/* Entry rows — aligned to week rail grid */
.lux-ts-board__entry {
    padding: 0.3rem 0;
    border: 1px solid rgba(241, 245, 249, 0.95);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.98);
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.lux-ts-board__entry:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-ts-board__entry.is-editing {
    padding: 0.45rem 0;
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    background:
        radial-gradient(circle at 100% 0%, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05), transparent 55%),
        rgba(255, 255, 255, 0.99);
}

.lux-ts-board__entry.is-editing .lux-ts-board__entry-meta {
    grid-column: 1 / -1;
    grid-row: 1;
    padding: 0 0.35rem;
}

.lux-ts-board__entry.is-editing .lux-ts-board__hours-row-label {
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding-left: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.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 {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.04);
    border: 1px dashed rgba(var(--lux-primary-rgb, 91, 95, 244), 0.18);
}

.lux-ts-board__entry.needs-hours .lux-ts-board__day-slot.is-editable-empty {
    animation: lux-ts-hours-glow 2.2s ease-in-out infinite;
}

@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: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.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.35rem;
}

.lux-ts-board__entry-tools {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    flex-shrink: 0;
    padding-right: 0.15rem;
}

.lux-ts-board__section-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    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);
}

.lux-ts-board__section-hint {
    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__entry.is-editing .lux-ts-board__entry-tools {
    justify-content: center;
}

.lux-ts-board__entry-total {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.35rem;
    padding: 0.14rem 0.45rem;
    border-radius: 9911px;
    background: rgba(241, 245, 249, 0.95);
    font-size: 0.75rem;
    font-weight: 800;
    color: #64748b;
    white-space: nowrap;
}

.lux-ts-board__entry-total.has-value {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

/* Compact inline readout */
.lux-ts-board__line {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.35;
    color: #334155;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.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.2rem 0.35rem;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.lux-ts-board__line-btn:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    box-shadow: 0 4px 12px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.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: pointer;
    border-radius: 12px;
    transition: background 0.15s ease;
}

.lux-ts-board__footer-day.is-clickable:hover {
    background: rgba(255, 255, 255, 0.55);
}

/* 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(5, minmax(0, 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.85rem;
    padding: 0.12rem 0.08rem;
    border-radius: 8px;
    border: 1px solid transparent;
    background: rgba(248, 250, 252, 0.8);
    transition: background 0.12s ease, border-color 0.12s ease;
}

.lux-ts-board__day-slot.is-today {
    border-color: rgba(5, 150, 105, 0.22);
    background: rgba(5, 150, 105, 0.05);
}

.lux-ts-board__field--wide {
    grid-column: span 2;
}

.lux-ts-board__day-slot.is-editable-empty {
    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-ts-board__entry--leave .lux-ts-board__day-slot.has-value,
.lux-ts-board__entry--leave .lux-ts-board__day-slot.is-editable-empty {
    border-color: rgba(234, 88, 12, 0.3);
    background: rgba(255, 237, 213, 0.45);
}

.lux-ts-board__entry--holiday .lux-ts-board__day-slot.has-value,
.lux-ts-board__entry--holiday .lux-ts-board__day-slot.is-editable-empty {
    border-color: rgba(220, 38, 38, 0.28);
    background: rgba(254, 226, 226, 0.45);
}

.lux-ts-board__day-slot.is-disabled {
    opacity: 0.45;
}

.lux-ts-board__day-slot.has-value.is-level-1 {
    background: rgba(5, 150, 105, 0.08);
}

.lux-ts-board__day-slot.has-value.is-level-2 {
    background: rgba(5, 150, 105, 0.11);
}

.lux-ts-board__day-slot.has-value.is-level-3 {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.09);
}

.lux-ts-board__day-slot.has-value.is-level-4 {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.14);
}

.lux-ts-board__day-slot-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    width: 100%;
}

.lux-ts-board__hour-input {
    width: 100% !important;
    max-width: 2.75rem;
    height: 1.75rem !important;
    padding: 0.1rem 0.15rem !important;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    text-align: center !important;
    color: #0f172a !important;
}

.lux-ts-board__hour-input:focus {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.4) !important;
    box-shadow: 0 0 0 2px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1) !important;
    outline: none;
}

.lux-ts-board__hour-readonly {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    min-height: 1.75rem;
    padding: 0 0.2rem;
    border-radius: 8px;
    background: rgba(226, 232, 240, 0.5);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #334155;
}

.lux-ts-board__hour-empty {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #e2e8f0;
    line-height: 1.75rem;
}

.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.5rem;
    height: 1.5rem;
    padding: 0;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 9911px;
    background: #fff;
    color: var(--lux-primary-dark, #3730a3);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease;
}

.lux-ts-board__icon-btn:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.08);
}

.lux-ts-board__icon-btn.is-danger {
    color: #dc2626;
}

.lux-ts-board__icon-btn.is-danger:hover {
    border-color: rgba(220, 38, 38, 0.24);
    background: rgba(220, 38, 38, 0.08);
}

/* Save bar */
.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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__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__line strong {
    color: #e2e8f0;
}

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) {
    .lux-ts-board {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .lux-ts-board__grid-row {
        min-width: 40rem;
    }

    .lux-ts-board__fields--non-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 {
        flex-direction: column;
        align-items: stretch;
    }

    .lux-ts-board__save-actions {
        width: 100%;
        justify-content: stretch;
    }

    .lux-ts-board__save-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: 1px 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__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: 1px 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: 1px 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__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__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px 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__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: 1px 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: 1px 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: 1px 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: 1px 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.is-collapsed {
    padding: 0.65rem 0.85rem;
}

.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 {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex-shrink: 0;
    min-height: 1.875rem;
    padding: 0 0.65rem;
    border: 1px solid #e2e8f0;
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
    cursor: pointer;
    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__body {
    overflow: hidden;
    transition: max-height 0.28s ease, opacity 0.22s ease;
}

.lux-emp-summary.is-collapsed .lux-emp-summary__body {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
}

.lux-emp-summary:not(.is-collapsed) .lux-emp-summary__body {
    max-height: 2000px;
    opacity: 1;
}

.lux-emp-summary__collapsed-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem 0.65rem;
}

.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: 1px 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: 1px 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__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.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;
    border: 1px solid #e2e8f0;
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.85);
    font-size: 0.75rem;
    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-emp-summary__filter-chip:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    color: #334155;
}

.lux-emp-summary__filter-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-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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px solid rgba(59, 130, 246, 0.16);
}

.lux-emp-list__type.is-amber {
    color: #b45309;
    background: rgba(245, 158, 11, 0.14);
    border: 1px solid rgba(245, 158, 11, 0.18);
}

.lux-emp-list__type.is-teal {
    color: #0f766e;
    background: rgba(20, 184, 166, 0.14);
    border: 1px solid rgba(20, 184, 166, 0.18);
}

.lux-emp-list__type.is-violet {
    color: #6d28d9;
    background: rgba(139, 92, 246, 0.14);
    border: 1px solid rgba(139, 92, 246, 0.18);
}

.lux-emp-list__type.is-slate {
    color: #475569;
    background: rgba(148, 163, 184, 0.18);
    border: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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.is-collapsed { padding: 0.65rem 0.85rem; }

.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 {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 1.875rem;
    padding: 0 0.65rem;
    border: 1px solid #e2e8f0;
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
    cursor: pointer;
}

.lux-bid-summary__body {
    overflow: hidden;
    transition: max-height 0.28s ease, opacity 0.22s ease;
}

.lux-bid-summary.is-collapsed .lux-bid-summary__body {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
}

.lux-bid-summary:not(.is-collapsed) .lux-bid-summary__body {
    max-height: 2400px;
    opacity: 1;
}

.lux-bid-pipeline-summary:not(.is-collapsed) .lux-bid-summary__body {
    max-height: 5600px;
}

.lux-bid-summary__collapsed-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    margin-top: 0.45rem;
}

.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: 1px 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__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lux-bid-summary__filter-chip {
    min-height: 1.625rem;
    padding: 0 0.55rem;
    border: 1px solid #e2e8f0;
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.9);
    font-size: 0.6875rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
}

.lux-bid-summary__filter-chip.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-summary__insights {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 0.65rem;
}

.lux-bid-summary__insight {
    padding: 0.65rem;
    border: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 0;
}

.lux-bid-list__head,
.lux-bid-list__item {
    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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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__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: 1px 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: 1px 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;
}

.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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;
}

/* 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 {
    z-index: 50;
}

.lux-po-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: 1px 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;
    padding: 0.25rem 0.65rem;
    border: 1px 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: 1px 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: 1px 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: 1px 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;
}

/* 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 {
    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 {
    align-items: center;
    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 {
    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: 1px 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-requests .lux-bid-list__item.is-menu-open {
    z-index: 50;
}

.lux-project-requests .lux-bid-list__menu-panel {
    z-index: 60;
}

.lux-project-list__fav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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;
}

.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%;
}

@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(1180px, 96vw) !important;
    right: calc(-1 * min(1180px, 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: 0.7rem 1rem 0.55rem;
}

.lux-create-panel__header-toolbar {
    padding: 0 1rem 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: 1px 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: 0.85rem 1rem 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 0.55rem;
    margin-bottom: 0.85rem;
}

.lux-hrms-dash__kpi {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
    min-height: 6.5rem;
    padding: 0.75rem 0.8rem;
    border: 1px 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: 1px 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: 1px 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-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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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);
}

.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: 1px 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: 1px 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: 1px 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__month-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    height: 2rem;
    padding: 0 0.75rem;
    border: 1px 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: 1px 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: 1px 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: 1px 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__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-att-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-att-summary__collapsed-strip {
    padding-top: 0.15rem;
}

.lux-att-summary__collapsed-line {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-att-summary__body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

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

/* 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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-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 {
    background: rgba(226, 232, 240, 0.6);
    border-radius: 4px;
    width: 0.625rem;
    height: 0.625rem;
}

.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: 1px 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-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: 1px solid var(--lux-att-optional-sat-border);
}

.lux-att-matrix__legend-swatch.is-sun {
    background: var(--lux-att-optional-sun-bg);
    border: 1px solid var(--lux-att-optional-sun-border);
}

.lux-att-matrix__legend-item.is-future {
    opacity: 0.75;
}

.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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-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: rgba(248, 250, 252, 0.5);
}

.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-block;
    width: 0.35rem;
    height: 0.35rem;
    border-radius: 9911px;
    background: rgba(203, 213, 225, 0.8);
}

.lux-att-day__btn {
    display: inline-grid;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    padding: 0;
    border: 1px 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-absent {
    background: rgba(239, 68, 68, 0.06);
    border-color: rgba(239, 68, 68, 0.12);
    color: #dc2626;
}

.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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__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-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-inv-summary__collapsed-line,
.lux-inv-summary__context {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: #64748b;
}

.lux-inv-summary__body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

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

.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: 1px 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: 1px 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: 1px 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.2fr) minmax(0, 0.8fr);
    gap: 0.55rem;
}

.lux-inv-summary__panel {
    padding: 0.65rem;
    border: 1px 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 {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
}

.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;
    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__filter-chip:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.24);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-inv-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);
}

.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 {
    margin-top: 0;
}

.lux-inv-summary__panel-hint {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #94a3b8;
}

.lux-inv-summary__monthly {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lux-inv-summary__monthly-row {
    display: grid;
    grid-template-columns: 4.5rem 1fr auto auto;
    align-items: center;
    gap: 0.45rem;
}

.lux-inv-summary__monthly-label {
    font-size: 0.75rem;
    font-weight: 800;
    color: #475569;
}

.lux-inv-summary__monthly-bar-wrap {
    height: 0.45rem;
    border-radius: 9911px;
    background: #e2e8f0;
    overflow: hidden;
}

.lux-inv-summary__monthly-bar {
    display: block;
    height: 100%;
    border-radius: 9911px;
    background: linear-gradient(90deg, #34d399, #059669);
}

.lux-inv-summary__monthly-row strong {
    min-width: 1.25rem;
    font-size: 0.6875rem;
    font-weight: 900;
    color: #0f172a;
    text-align: right;
}

.lux-inv-summary__monthly-row em {
    min-width: 3.5rem;
    font-style: normal;
    font-size: 0.75rem;
    font-weight: 800;
    color: #047857;
    text-align: right;
}

.lux-inv-summary__monthly-empty {
    margin: 0;
    font-size: 0.75rem;
    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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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;
}

/* 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, 3.25rem) + 0.35rem);
    z-index: 2;
    padding: 0.35rem 0.65rem;
    margin-bottom: 0.35rem;
    border: 1px 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: 1px 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: 1px 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: 1px 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__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-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;
}

/* 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(226, 232, 240, 0.95);
    border-bottom: none;
    border-radius: 18px 18px 0 0;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(14px);
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05);
}

.lux-inv-detail__toolbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.65rem 1.25rem;
}

.lux-inv-detail__toolbar-start {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    min-width: 0;
}

.lux-inv-detail__back-btn {
    min-height: 1.65rem;
}

.lux-inv-detail__toolbar-title {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-inv-detail__status {
    display: inline-flex;
    align-items: center;
    min-height: 1.35rem;
    padding: 0 0.45rem;
    border-radius: 9911px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.lux-inv-detail__status.is-slate { background: rgba(100, 116, 139, 0.12); color: #475569; }
.lux-inv-detail__status.is-blue { background: rgba(37, 99, 235, 0.12); color: #1d4ed8; }
.lux-inv-detail__status.is-amber { background: rgba(217, 119, 6, 0.12); color: #b45309; }
.lux-inv-detail__status.is-green { background: rgba(5, 150, 105, 0.12); color: #047857; }
.lux-inv-detail__status.is-violet { background: rgba(124, 58, 237, 0.12); color: #6d28d9; }

.lux-inv-detail__toolbar-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.lux-inv-detail__action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    min-height: 2rem;
    padding: 0 0.65rem;
    border: 1px solid #e2e8f0;
    border-radius: 9911px;
    background: rgba(255, 255, 255, 0.95);
    font-size: 0.6875rem;
    font-weight: 800;
    color: #475569;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.14s ease;
}

.lux-inv-detail__action-btn: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-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(var(--lux-primary-rgb, 91, 95, 244), 0.28);
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12), rgba(16, 185, 129, 0.1));
    color: var(--lux-primary-dark, #3730a3);
}

.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: 9911px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.16);
    font-size: 0.6875rem;
    font-weight: 900;
}

.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: 1px 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: 1px 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 12px 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: 9911px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.625rem;
    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__subsidiary-note {
    margin: 0.2rem 0 0;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.4;
    color: rgba(203, 213, 225, 0.65);
}

.lux-inv-detail__supplier-reg {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    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: 9911px;
    background: rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(8px);
    font-size: 0.75rem;
    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.6875rem;
    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.6875rem;
    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: 1px 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.625rem;
    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.6875rem;
    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__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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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.65rem 0.85rem;
    }

    .lux-inv-detail__toolbar-actions {
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    .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,
    .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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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--insights.is-collapsed .lux-acct-summary__body {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
}

.lux-acct-summary--insights:not(.is-collapsed) .lux-acct-summary__body {
    max-height: none;
    opacity: 1;
    overflow: visible;
}

.lux-acct-summary.is-collapsed .lux-acct-summary__body {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
}

.lux-acct-summary:not(.is-collapsed) .lux-acct-summary__body {
    max-height: none;
    opacity: 1;
}

.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 {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0 0.65rem;
    min-height: 1.875rem;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #475569;
    cursor: pointer;
}

.lux-acct-summary__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.65rem;
}

.lux-acct-summary__filters--compact {
    margin-bottom: 0;
}

.lux-acct-summary__filter-chip {
    padding: 0.3rem 0.65rem;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
}

.lux-acct-summary__filter-chip.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__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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1040;
    border: none;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(10px);
}

.lux-acct-popover {
    position: fixed;
    z-index: 1050;
    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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px solid rgba(139, 92, 246, 0.22);
}

.lux-acct-dir-row__chip.is-violet {
    background: rgba(139, 92, 246, 0.1);
    color: #6d28d9;
    border: 1px 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: 1px 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: 1px 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: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.lux-acct-create-modal__close {
    width: 2rem;
    height: 2rem;
    border: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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 */
.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: 1px 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;
}

@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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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.75rem;
    align-items: center;
    margin-bottom: 1rem;
}

.lux-planner-roster__search {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.65rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.3);
    background: #fff;
    min-width: 200px;
}

.lux-planner-roster__search input {
    border: none;
    outline: none;
    font-size: 0.8125rem;
    width: 160px;
}

.lux-planner-heatmap-wrap {
    overflow: auto;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.lux-planner-heatmap {
    min-width: 720px;
}

.lux-planner-heatmap__head-days {
    display: grid;
    gap: 3px;
    padding: 3px 4px 0;
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8fafc;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}

.lux-planner-heatmap__head-corner {
    padding: 0.35rem 0.5rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #64748b;
    display: flex;
    align-items: flex-end;
}

.lux-planner-heatmap__head-day {
    text-align: center;
    padding: 0.35rem 0.15rem;
    font-size: 0.625rem;
    color: #64748b;
    border-radius: 6px;
}

.lux-planner-heatmap__head-day strong {
    display: block;
    font-size: 0.75rem;
    color: #334155;
}

.lux-planner-heatmap__head-day.is-today {
    background: rgba(91, 95, 244, 0.08);
}

.lux-planner-heatmap__head-day.is-holiday {
    background: repeating-linear-gradient(-45deg, rgba(251, 191, 36, 0.15), rgba(251, 191, 36, 0.15) 4px, transparent 4px, transparent 8px);
}

.lux-planner-heatmap__row {
    display: grid;
    gap: 3px;
    padding: 3px 4px;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    align-items: stretch;
}

.lux-planner-heatmap__person {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.5rem;
    border: none;
    background: transparent;
    text-align: left;
    width: 100%;
    cursor: pointer;
}

.lux-planner-heatmap__person:hover {
    background: rgba(91, 95, 244, 0.04);
}

.lux-planner-heatmap__avatar {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-accent, #14b8a6));
    color: #fff;
    font-weight: 700;
    font-size: 0.8125rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lux-planner-heatmap__person-text strong {
    display: block;
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-planner-heatmap__person-text span {
    font-size: 0.6875rem;
    color: #94a3b8;
}

.lux-planner-util-ring {
    position: relative;
    width: 40px;
    height: 40px;
    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: var(--lux-primary, #5b5ff4);
    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 span {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.5625rem;
    font-weight: 700;
    color: #334155;
}

.lux-planner-heatmap__cell {
    position: relative;
    min-height: 40px;
    margin: 0;
    padding: 0;
    border: 2px solid #e2e8f0;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    transition: box-shadow 0.15s ease, transform 0.12s 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: 1px 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: 1px 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: 1px solid rgba(148, 163, 184, 0.3);
    font-size: 0.8125rem;
}

.lux-planner-timeline__board {
    border-radius: 16px;
    border: 1px 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: 1px 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: 1px 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: 1050;
    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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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(135deg, #5b5ff4, #14b8a6);
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 0.625rem;
    z-index: 2;
    box-shadow: 0 4px 10px rgba(91, 95, 244, 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 {
    outline: 2px solid var(--lux-primary, #5b5ff4);
    outline-offset: -2px;
}

.lux-planner-heatmap__cell.is-focus {
    outline: 2px solid var(--lux-primary, #5b5ff4);
}

/* Hourly grid */
.lux-planner-hourly-wrap {
    border-radius: 16px;
    border: 1px 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: 1px 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: 220px 1fr;
    grid-template-rows: auto 1fr;
    width: 100%;
    max-height: min(72vh, 720px);
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    overflow: hidden;
}

.lux-planner-gantt__timeline-head--fluid {
    grid-column: 2;
    overflow: hidden;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}

.lux-planner-gantt__timeline-inner {
    display: flex;
    min-width: 100%;
}

.lux-planner-gantt__day {
    flex-shrink: 0;
    text-align: center;
    padding: 0.35rem 0.15rem;
    font-size: 0.625rem;
    border-right: 1px solid rgba(241, 245, 249, 0.95);
}

.lux-planner-gantt__day strong {
    display: block;
    font-size: 0.6875rem;
}

.lux-planner-gantt__body--fluid {
    display: contents;
}

.lux-planner-gantt__tracks-scroll {
    grid-column: 2;
    overflow: auto;
}

.lux-planner-gantt__grid-cols {
    display: flex;
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.lux-planner-timeline__chart-card {
    margin-bottom: 1rem;
    padding: 0.85rem;
    border-radius: 14px;
    background: #fff;
    border: 1px 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-gantt__day--hour {
    font-size: 0.625rem;
}

.lux-planner-gantt__day--hour strong {
    display: none;
}

.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: 1px 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: 1px 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.42);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    cursor: pointer;
    pointer-events: auto;
}

.lux-planner-capacity-panel {
    position: fixed;
    right: 0;
    width: min(400px, 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.18);
    transform: translateX(100%);
    transition: transform 0.22s ease;
    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 1rem 0.85rem;
    color: #fff;
    overflow: hidden;
}

.lux-planner-capacity-panel__hero-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #5b5ff4 0%, #14b8a6 55%, #0f172a 120%);
    opacity: 0.95;
}

.lux-planner-capacity-panel__hero h2,
.lux-planner-capacity-panel__hero p,
.lux-planner-capacity-panel__eyebrow,
.lux-planner-capacity-panel__search {
    position: relative;
    z-index: 1;
}

.lux-planner-capacity-panel__eyebrow {
    display: block;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.9;
    margin-bottom: 0.2rem;
}

.lux-planner-capacity-panel__hero h2 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
}

.lux-planner-capacity-panel__hero p {
    margin: 0.3rem 0 0.65rem;
    font-size: 0.75rem;
    opacity: 0.92;
    line-height: 1.4;
}

.lux-planner-capacity-panel__close {
    position: absolute;
    top: 0.65rem;
    right: 0.65rem;
    z-index: 2;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    cursor: pointer;
}

.lux-planner-capacity-panel__search {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.55rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.lux-planner-capacity-panel__search input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    color: #fff;
    font-size: 0.8125rem;
}

.lux-planner-capacity-panel__search input::placeholder {
    color: rgba(255, 255, 255, 0.75);
}

.lux-planner-capacity-panel__body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0.75rem 0.85rem 1rem;
    -webkit-overflow-scrolling: touch;
}

.lux-planner-capacity-intro {
    display: flex;
    gap: 0.45rem;
    align-items: flex-start;
    padding: 0.55rem 0.65rem;
    margin-bottom: 0.75rem;
    border-radius: 12px;
    background: rgba(91, 95, 244, 0.08);
    color: #475569;
    font-size: 0.75rem;
    line-height: 1.4;
}

.lux-planner-capacity-intro i {
    color: var(--lux-primary, #5b5ff4);
    margin-top: 0.1rem;
}

.lux-planner-capacity-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lux-planner-capacity-list__empty {
    padding: 1.5rem 1rem;
    text-align: center;
    color: #64748b;
    font-size: 0.8125rem;
}

.lux-planner-capacity-card {
    padding: 0.65rem 0.75rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: linear-gradient(160deg, #fff, #f8fafc);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.lux-planner-capacity-card.has-override {
    border-color: rgba(91, 95, 244, 0.35);
    box-shadow: 0 6px 18px rgba(91, 95, 244, 0.1);
}

.lux-planner-capacity-card__person {
    display: flex;
    gap: 0.55rem;
    align-items: center;
    margin-bottom: 0.5rem;
}

.lux-planner-capacity-card__avatar {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.875rem;
    color: #fff;
    background: linear-gradient(135deg, #5b5ff4, #14b8a6);
    flex-shrink: 0;
}

.lux-planner-capacity-card__person strong {
    display: block;
    font-size: 0.8125rem;
    color: #0f172a;
}

.lux-planner-capacity-card__person span {
    font-size: 0.6875rem;
    color: #64748b;
}

.lux-planner-capacity-card__control {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
}

.lux-planner-capacity-card__control label {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
}

.lux-planner-capacity-card__control input {
    padding: 0.4rem 0.5rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
    background: #fff;
}

.lux-planner-capacity-card__reset {
    border: none;
    background: transparent;
    color: var(--lux-primary, #5b5ff4);
    font-size: 0.6875rem;
    font-weight: 700;
    cursor: pointer;
    padding: 0.35rem 0;
}

.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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 {
    padding-bottom: 1.5rem;
}

/* 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-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: 1px 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: 1px 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: 1px 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: 1px 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(var(--lux-primary-rgb, 91, 95, 244), 0.2);
    border-radius: 14px;
    background: linear-gradient(180deg, #fff 0%, rgba(248, 250, 252, 0.95) 100%);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.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.5rem;
    padding: 0.6rem 0.7rem;
    border-bottom: 1px solid #e2e8f0;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
}

.lux-fb-recipients__head-icon {
    width: 1.85rem;
    height: 1.85rem;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary, #5b5ff4);
    flex-shrink: 0;
}

.lux-fb-recipients__head h4 {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-fb-recipients__head p {
    margin: 0.08rem 0 0;
    font-size: 0.625rem;
    color: #64748b;
    line-height: 1.35;
}

.lux-fb-recipients__count {
    margin-left: auto;
    min-width: 1.5rem;
    height: 1.5rem;
    display: grid;
    place-items: center;
    padding: 0 0.35rem;
    border-radius: 999px;
    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-fb-recipients__body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin: 0.5rem 0.6rem 0;
    overflow: hidden;
}

.lux-fb-recipients__list-wrap {
    flex: 1;
    min-height: 0;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: auto;
    background: #fff;
}

.lux-fb-recipients__footer {
    flex-shrink: 0;
    padding: 0.5rem 0.6rem 0.6rem;
    border-top: 1px solid #e2e8f0;
    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: 1px 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.25rem;
    list-style: none;
}

.lux-fb-recipients__row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.45rem;
    border-radius: 10px;
}

.lux-fb-recipients__row:hover {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.05);
}

.lux-fb-recipients__index {
    width: 1.25rem;
    font-size: 0.625rem;
    font-weight: 800;
    color: #94a3b8;
    text-align: center;
}

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

.lux-fb-recipients__identity strong {
    font-size: 0.75rem;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-fb-recipients__identity span {
    font-size: 0.6875rem;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-fb-recipients__remove {
    display: grid;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    padding: 0;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #fff;
    color: #dc2626;
    cursor: pointer;
}

.lux-fb-recipients__remove:hover {
    background: #fef2f2;
}

.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.15rem;
    margin: 0;
    padding: 0 0.85rem;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--lux-primary, #5b5ff4), var(--lux-primary-dark, #3730a3));
    font-size: 0.625rem;
    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.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 10px 22px rgba(var(--lux-primary-rgb, 91, 95, 244), 0.34);
}

.lux-fb-recipients__add-panel {
    flex-shrink: 0;
    margin: 0 0.6rem 0.65rem;
    padding: 0.55rem 0.6rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
}

.lux-fb-recipients__add-title {
    margin: 0 0 0.4rem;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    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: 1px 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: 1px 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: 1px 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: 1px 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 */
.lux-feedback-list-section {
    padding: 0 0.65rem 1rem;
}

.lux-feedback-pagination {
    margin: 0 0.65rem 1.25rem;
    padding-top: 0.35rem;
}

.lux-feedback-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.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-group {
    margin-bottom: 0.65rem;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.lux-feedback-group__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.55rem 0.85rem;
    cursor: pointer;
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06), rgba(255, 255, 255, 0.98));
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.lux-feedback-group__header:hover {
    background: linear-gradient(135deg, rgba(var(--lux-primary-rgb, 91, 95, 244), 0.1), rgba(255, 255, 255, 0.98));
}

.lux-feedback-group__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    flex: 1;
    border: none;
    background: none;
    padding: 0;
    text-align: left;
    cursor: pointer;
    color: inherit;
}

.lux-feedback-group__id {
    font-size: 0.6875rem;
    font-weight: 800;
    color: var(--lux-primary, #5b5ff4);
}

.lux-feedback-group__name {
    font-size: 0.875rem;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-feedback-group__open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 9px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    color: #475569;
    flex-shrink: 0;
}

.lux-feedback-group__open:hover {
    border-color: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.35);
    color: var(--lux-primary, #5b5ff4);
}

.lux-feedback-group__body {
    padding: 0.55rem 0.65rem 0.65rem;
}

/* Campaign card */
.lux-feedback-card {
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.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: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.55rem 0.75rem;
    cursor: pointer;
}

.lux-feedback-card__main {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    flex: 1;
}

.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 {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-feedback-card__actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.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__icon-btn {
    width: 2rem;
    height: 2rem;
    border: 1px 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-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: 1px 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 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.45rem 0.55rem;
    margin-bottom: 0.35rem;
    border-radius: 10px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: #f8fafc;
}

.lux-feedback-recipient:last-child {
    margin-bottom: 0;
}

.lux-feedback-recipient__main {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    flex: 1;
}

.lux-feedback-recipient__icon {
    font-size: 0.9rem;
    flex-shrink: 0;
}

.lux-feedback-recipient__name {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lux-feedback-recipient__email {
    font-size: 0.6875rem;
    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;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.lux-feedback-status-pill.is-draft {
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
}

.lux-feedback-status-pill.is-requested {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-feedback-status-pill.is-received {
    background: rgba(245, 158, 11, 0.15);
    color: #b45309;
}

.lux-feedback-status-pill.is-reviewed {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.lux-feedback-status-pill.is-closed {
    background: rgba(15, 23, 42, 0.08);
    color: #334155;
}

/* 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(15rem, 18rem) minmax(0, 1fr);
    flex: 1;
    min-height: 0;
    margin: 0.75rem 0.85rem 0;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

.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: 1px 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.55rem;
    padding: 0.42rem 0.55rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    color: #94a3b8;
}

.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.45rem 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.05);
    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;
}

.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: 12px;
    background: #fff;
    transition: border-color 0.14s ease, box-shadow 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.65rem;
    height: 1.65rem;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    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.75rem;
    background: #fff;
}

.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: 1px 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: 1px 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.85rem 0.95rem;
    border-radius: 16px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.9));
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
    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: 1px 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: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.2);
}

.lux-ft-hero__mode-pill.is-preview {
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}

.lux-ft-hero__mode-pill.is-idle {
    color: #64748b;
    background: #f8fafc;
    border: 1px 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: 1px 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: 16px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04);
    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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 14px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.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.28rem 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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);
}

.lux-feedback-card__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    min-width: 0;
}

.lux-feedback-card__status-pill {
    display: inline-flex;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.lux-feedback-card__status-pill.is-recurring {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}

.lux-feedback-card__status-pill.is-off {
    background: rgba(148, 163, 184, 0.2);
    color: #475569;
}

.lux-feedback-card__status-pill.is-draft {
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
}

.lux-feedback-card__status-pill.is-requested {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-feedback-card__status-pill.is-received,
.lux-feedback-card__status-pill.is-reviewed {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.lux-feedback-card__status-pill.is-closed {
    background: rgba(15, 23, 42, 0.08);
    color: #334155;
}

.lux-feedback-card__status-pill.is-default {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.lux-feedback-card__open-hint {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.5rem;
    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.85;
}

.lux-feedback-card:hover .lux-feedback-card__open-hint {
    opacity: 1;
}

.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: 1px 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-recurring {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}

.lux-feedback-popover__status.is-off {
    background: rgba(148, 163, 184, 0.2);
    color: #475569;
}

.lux-feedback-popover__status.is-draft {
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
}

.lux-feedback-popover__status.is-requested {
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
    color: var(--lux-primary-dark, #3730a3);
}

.lux-feedback-popover__status.is-received,
.lux-feedback-popover__status.is-reviewed,
.lux-feedback-popover__status.is-closed {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.lux-feedback-popover__status.is-default {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px solid rgba(239, 68, 68, 0.25);
    color: #b91c1c;
}

.lux-fb-alert--success {
    background: rgba(22, 163, 74, 0.1);
    border: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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 {
    align-items: center;
    gap: 0.55rem;
}

.lux-deliverable-requests .lux-bid-list__item {
    min-height: 4.1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.lux-deliverable-requests .lux-bid-list__col--actions {
    overflow: visible;
}

.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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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: 1px 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;
}

.lux-pd-calendar__timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.5rem;
}

.lux-pd-calendar__event {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.07);
    background: #fff;
}

.lux-pd-calendar__event-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-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-body strong {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: #0f172a;
}

.lux-pd-calendar__event-body time {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #64748b;
}

.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__banner {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.7rem;
    border-radius: 10px;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #475569;
    background: rgba(var(--lux-primary-rgb, 91, 95, 244), 0.06);
    border: 1px solid rgba(var(--lux-primary-rgb, 91, 95, 244), 0.12);
}

.lux-pd-notifications__grid {
    display: grid;
    gap: 0.45rem;
}

@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;
    }
}
