/* Modern workflow layer: page-level polish, action menus, dense data safety. */

:root {
    --gy-focus-ring: 0 0 0 3px rgba(37, 99, 235, .12);
    --gy-panel-shadow: 0 14px 34px rgba(15, 23, 42, .07);
    --gy-panel-shadow-soft: 0 8px 20px rgba(15, 23, 42, .045);
}

.fd-page,
.fd-follow-page,
.fd-dashboard {
    animation: gy-page-enter .18s cubic-bezier(.16, 1, .3, 1);
}

@keyframes gy-page-enter {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.gy-section-nav {
    position: sticky;
    top: 0;
    z-index: 12;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    padding: 10px 12px;
    border: 1px solid rgba(215, 225, 237, .9);
    border-radius: 10px;
    background: rgba(255, 255, 255, .9);
    box-shadow: var(--gy-panel-shadow-soft);
    backdrop-filter: blur(10px);
}

.gy-section-nav a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 6px 12px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #526274;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.gy-section-nav a:before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #cbd5e1;
}

.gy-section-nav a:hover {
    border-color: var(--gy-primary-line);
    background: var(--gy-primary-soft);
    color: var(--gy-primary);
    transform: translateY(-1px);
}

.gy-section-nav a.active {
    border-color: var(--gy-primary-line);
    background: var(--gy-primary-soft);
    color: var(--gy-primary);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .52);
}

.gy-section-nav a.active:before {
    background: var(--gy-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.gy-section-nav-spacer {
    flex: 1;
}

.gy-section-nav-meta {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.gy-section {
    scroll-margin-top: 84px;
}

.gy-section.is-active {
    border-color: rgba(37, 99, 235, .24) !important;
    box-shadow: 0 14px 34px rgba(37, 99, 235, .08) !important;
}

.fd-page > .fd-toolbar.gy-sticky-actions {
    position: sticky;
    bottom: 0;
    z-index: 11;
    margin-right: -2px;
    margin-left: -2px;
    padding: 12px 14px;
    border: 1px solid rgba(215, 225, 237, .92);
    border-radius: 10px 10px 0 0;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 -12px 28px rgba(15, 23, 42, .08);
    backdrop-filter: blur(10px);
}

.btn {
    position: relative;
}

.btn.is-loading,
.btn[aria-busy="true"] {
    pointer-events: none;
    opacity: .86;
}

.btn.is-loading:before,
.btn[aria-busy="true"]:before {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    margin: -2px 7px 0 0;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    vertical-align: middle;
    animation: gy-spin .72s linear infinite;
}

.btn-xs.is-loading:before,
.btn-xs[aria-busy="true"]:before {
    width: 11px;
    height: 11px;
    margin-right: 5px;
    border-width: 1.5px;
}

@keyframes gy-spin {
    to {
        transform: rotate(360deg);
    }
}

.gy-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 126px;
}

.gy-row-actions .btn {
    margin: 0;
}

.gy-action-menu {
    display: inline-flex;
}

.gy-action-toggle {
    min-width: 34px;
}

.gy-action-list {
    position: fixed;
    z-index: 9999;
    display: none;
    min-width: 148px;
    max-width: 220px;
    padding: 6px;
    border: 1px solid #dbe5ef;
    border-radius: 10px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 18px 44px rgba(15, 23, 42, .18);
    backdrop-filter: blur(8px);
}

.gy-action-menu.open .gy-action-list {
    display: block;
    animation: gy-menu-in .12s ease-out;
}

@keyframes gy-menu-in {
    from {
        opacity: 0;
        transform: translateY(-4px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.gy-action-list a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    padding: 7px 9px;
    border-radius: 8px;
    color: #334155;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

.gy-action-list a:hover {
    background: #f1f5f9;
    color: var(--gy-primary);
    text-decoration: none;
}

.gy-action-list a.text-danger,
.gy-action-list a.danger {
    color: var(--gy-danger);
}

.gy-action-list a.text-danger:hover,
.gy-action-list a.danger:hover {
    background: var(--gy-danger-soft);
}

.gy-action-list a.hidden {
    display: none;
}

.bootstrap-table .table td {
    max-width: 360px;
    word-break: break-word;
}

.bootstrap-table .table td .gy-ellipsis,
.gy-ellipsis {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
}

.bootstrap-table .table td .gy-nowrap,
.gy-nowrap {
    white-space: nowrap;
}

.bootstrap-table .table td:last-child {
    max-width: none;
}

.bootstrap-table .fixed-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.bootstrap-table .fixed-table-toolbar:before,
.bootstrap-table .fixed-table-toolbar:after {
    display: none;
}

.bootstrap-table .fixed-table-toolbar .bs-bars,
.bootstrap-table .fixed-table-toolbar #toolbar {
    float: none !important;
    order: 1;
    margin: 0 !important;
}

.bootstrap-table .fixed-table-toolbar .columns,
.bootstrap-table .fixed-table-toolbar .search,
.bootstrap-table .fixed-table-toolbar .keep-open {
    float: none !important;
    order: 2;
    margin: 0 !important;
}

.project-products-detail {
    border-radius: 10px;
}

.project-products-detail .table {
    table-layout: auto;
}

.project-products-detail td,
.project-products-detail th {
    vertical-align: middle !important;
}

.fd-dashboard .fd-hero,
.fd-follow-head,
.fd-products,
.fd-shell,
.fd-section,
.fd-kpi,
.fd-summary-card,
.fd-order-row,
.fd-task-item,
.fd-chart-card {
    box-shadow: var(--gy-panel-shadow-soft);
}

.fd-dashboard .fd-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.fd-dashboard .fd-hero:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .10) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .08) 1px, transparent 1px);
    background-size: 26px 26px;
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .72));
}

.fd-dashboard .fd-summary-card,
.fd-dashboard .fd-order-row,
.fd-dashboard .fd-task-item,
.fd-follow-page .fd-kpi,
.fd-follow-page .fd-status-column,
.fd-follow-page .fd-process-node,
.fd-product-card {
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.fd-dashboard .fd-summary-card:hover,
.fd-dashboard .fd-order-row:hover,
.fd-dashboard .fd-task-item:hover,
.fd-follow-page .fd-process-node:hover,
.fd-product-card:hover {
    border-color: rgba(37, 99, 235, .22) !important;
    box-shadow: var(--gy-panel-shadow) !important;
}

.fd-follow-page .fd-product-img {
    object-fit: contain;
    background: #fff;
}

.fd-follow-page .fd-status-column {
    min-width: 0;
}

.fd-follow-page .fd-process-name,
.fd-follow-page .fd-node-line,
.fd-dashboard .fd-order-title,
.fd-dashboard .fd-task-title {
    overflow-wrap: anywhere;
}

.fd-uploader:focus-within,
.gy-image-uploader:focus-within,
.form-control:focus,
.select2-container--bootstrap.select2-container--focus .select2-selection,
.select2-container--bootstrap.select2-container--open .select2-selection {
    border-color: var(--gy-primary) !important;
    box-shadow: var(--gy-focus-ring) !important;
}

@media (max-width: 768px) {
    .gy-section-nav {
        top: 0;
        overflow-x: auto;
        padding: 8px;
    }

    .gy-section-nav a,
    .gy-section-nav-meta {
        flex: 0 0 auto;
    }

    .fd-page > .fd-toolbar.gy-sticky-actions {
        align-items: stretch;
    }

    .fd-page > .fd-toolbar.gy-sticky-actions .btn,
    .fd-page > .fd-toolbar.gy-sticky-actions .form-control {
        width: 100%;
    }

    .gy-action-list {
        right: 8px !important;
        left: auto !important;
        max-width: calc(100vw - 16px);
    }
}

/* Theme-aware navigation shell. Keeps the existing skin/theme switcher, updates the finish. */
body {
    --gy-primary: #2563eb;
    --gy-primary-hover: #1d4ed8;
    --gy-primary-soft: #eff6ff;
    --gy-primary-line: #bfdbfe;
    --gy-accent-rgb: 37, 99, 235;
    --gy-glass-accent-2: #60a5fa;
    --gy-glass-accent-2-rgb: 96, 165, 250;
    --gy-shell-top: rgba(255, 255, 255, .96);
    --gy-shell-top-border: rgba(215, 225, 237, .9);
    --gy-shell-sidebar: #111827;
    --gy-shell-sidebar-strong: #0b1220;
    --gy-shell-sidebar-card: rgba(255, 255, 255, .055);
    --gy-shell-sidebar-card-line: rgba(255, 255, 255, .10);
    --gy-shell-sidebar-text: #cbd5e1;
    --gy-shell-sidebar-muted: #8fa0b4;
    --gy-shell-active-text: #ffffff;
    --gy-shell-menu-hover: rgba(255, 255, 255, .07);
    --gy-shell-menu-active: rgba(var(--gy-accent-rgb), .20);
    --gy-shell-menu-active-line: rgba(var(--gy-accent-rgb), .95);
    --gy-shell-logo-text: #ffffff;
    --gy-shell-logo-mark: rgba(var(--gy-accent-rgb), .18);
    --gy-shell-shadow: 8px 0 28px rgba(15, 23, 42, .14);
    --gy-shell-top-shadow: 0 8px 24px rgba(15, 23, 42, .045);
}

body.skin-blue {
    --gy-primary: #2563eb;
    --gy-primary-hover: #1d4ed8;
    --gy-primary-soft: #eff6ff;
    --gy-primary-line: #bfdbfe;
    --gy-focus-ring: 0 0 0 3px rgba(37, 99, 235, .13);
    --gy-accent-rgb: 37, 99, 235;
}

body.skin-green {
    --gy-primary: #059669;
    --gy-primary-hover: #047857;
    --gy-primary-soft: #ecfdf5;
    --gy-primary-line: #bbf7d0;
    --gy-focus-ring: 0 0 0 3px rgba(5, 150, 105, .13);
    --gy-accent-rgb: 5, 150, 105;
}

body.skin-purple {
    --gy-primary: #7c3aed;
    --gy-primary-hover: #6d28d9;
    --gy-primary-soft: #f5f3ff;
    --gy-primary-line: #ddd6fe;
    --gy-focus-ring: 0 0 0 3px rgba(124, 58, 237, .13);
    --gy-accent-rgb: 124, 58, 237;
}

body.skin-red {
    --gy-primary: #dc2626;
    --gy-primary-hover: #b91c1c;
    --gy-primary-soft: #fff1f2;
    --gy-primary-line: #fecdd3;
    --gy-focus-ring: 0 0 0 3px rgba(220, 38, 38, .12);
    --gy-accent-rgb: 220, 38, 38;
}

body.skin-yellow {
    --gy-primary: #d97706;
    --gy-primary-hover: #b45309;
    --gy-primary-soft: #fffbeb;
    --gy-primary-line: #fed7aa;
    --gy-focus-ring: 0 0 0 3px rgba(217, 119, 6, .14);
    --gy-accent-rgb: 217, 119, 6;
}

body.theme-dark {
    --gy-shell-sidebar: #111827;
    --gy-shell-sidebar-strong: #0b1220;
    --gy-shell-sidebar-card: rgba(255, 255, 255, .055);
    --gy-shell-sidebar-card-line: rgba(255, 255, 255, .10);
    --gy-shell-sidebar-text: #cbd5e1;
    --gy-shell-sidebar-muted: #8fa0b4;
    --gy-shell-active-text: #ffffff;
    --gy-shell-menu-hover: rgba(255, 255, 255, .07);
    --gy-shell-menu-active: rgba(var(--gy-accent-rgb), .20);
    --gy-shell-logo-text: #ffffff;
    --gy-shell-shadow: 8px 0 28px rgba(15, 23, 42, .16);
}

body.theme-light {
    --gy-shell-sidebar: #f8fafc;
    --gy-shell-sidebar-strong: #eef4fb;
    --gy-shell-sidebar-card: rgba(255, 255, 255, .82);
    --gy-shell-sidebar-card-line: rgba(203, 213, 225, .82);
    --gy-shell-sidebar-text: #475569;
    --gy-shell-sidebar-muted: #7b8aa0;
    --gy-shell-active-text: var(--gy-primary);
    --gy-shell-menu-hover: rgba(var(--gy-accent-rgb), .075);
    --gy-shell-menu-active: rgba(var(--gy-accent-rgb), .115);
    --gy-shell-logo-text: #0f172a;
    --gy-shell-shadow: 8px 0 26px rgba(15, 23, 42, .07);
}

body.theme-blue {
    --gy-shell-sidebar: #081a33;
    --gy-shell-sidebar-strong: #061226;
    --gy-shell-sidebar-card: rgba(96, 165, 250, .08);
    --gy-shell-sidebar-card-line: rgba(147, 197, 253, .13);
    --gy-shell-sidebar-text: #bdd0e7;
    --gy-shell-sidebar-muted: #8da7c8;
    --gy-shell-active-text: #ffffff;
    --gy-shell-menu-hover: rgba(147, 197, 253, .08);
    --gy-shell-menu-active: rgba(var(--gy-accent-rgb), .22);
    --gy-shell-logo-text: #ffffff;
    --gy-shell-shadow: 8px 0 30px rgba(8, 26, 51, .22);
}

body.theme-blue.skin-purple,
body.theme-blue.skin-red,
body.theme-blue.skin-yellow {
    --gy-shell-top: rgba(255, 255, 255, .76);
    --gy-shell-top-border: rgba(255, 255, 255, .45);
    --gy-shell-sidebar-card: rgba(255, 255, 255, .12);
    --gy-shell-sidebar-card-line: rgba(255, 255, 255, .20);
    --gy-shell-sidebar-text: rgba(255, 255, 255, .84);
    --gy-shell-sidebar-muted: rgba(226, 232, 240, .68);
    --gy-shell-menu-hover: rgba(255, 255, 255, .12);
    --gy-shell-menu-active: rgba(255, 255, 255, .18);
    --gy-shell-menu-active-line: var(--gy-primary);
    --gy-shell-shadow: 14px 0 42px rgba(15, 23, 42, .22);
    --gy-glass-card: rgba(255, 255, 255, .78);
    --gy-glass-card-strong: rgba(255, 255, 255, .88);
    --gy-glass-line: rgba(255, 255, 255, .36);
    --gy-glass-shadow: 0 26px 72px rgba(15, 23, 42, .20);
}

body.theme-blue.skin-purple {
    --gy-primary: #8b5cf6;
    --gy-primary-hover: #7c3aed;
    --gy-primary-soft: #f4f0ff;
    --gy-primary-line: #ddd6fe;
    --gy-accent-rgb: 139, 92, 246;
    --gy-glass-accent-2: #22d3ee;
    --gy-glass-accent-2-rgb: 34, 211, 238;
    --gy-shell-sidebar: rgba(29, 18, 69, .86);
    --gy-shell-sidebar-strong: rgba(7, 10, 27, .94);
}

body.theme-blue.skin-red {
    --gy-primary: #ef4444;
    --gy-primary-hover: #dc2626;
    --gy-primary-soft: #fff1f2;
    --gy-primary-line: #fecdd3;
    --gy-accent-rgb: 239, 68, 68;
    --gy-glass-accent-2: #f97316;
    --gy-glass-accent-2-rgb: 249, 115, 22;
    --gy-shell-sidebar: rgba(57, 12, 32, .86);
    --gy-shell-sidebar-strong: rgba(22, 6, 20, .94);
}

body.theme-blue.skin-yellow {
    --gy-primary: #f59e0b;
    --gy-primary-hover: #d97706;
    --gy-primary-soft: #fffbeb;
    --gy-primary-line: #fed7aa;
    --gy-accent-rgb: 245, 158, 11;
    --gy-glass-accent-2: #fde047;
    --gy-glass-accent-2-rgb: 253, 224, 71;
    --gy-shell-sidebar: rgba(57, 35, 11, .86);
    --gy-shell-sidebar-strong: rgba(24, 17, 6, .94);
}

body.fixed-sidebar #wrapper,
body.canvas-menu #wrapper {
    background: var(--gy-shell-sidebar) !important;
}

body.fixed-sidebar .navbar-static-side,
body.canvas-menu nav.navbar-static-side,
body .navbar-default.navbar-static-side {
    background:
        radial-gradient(circle at top left, rgba(var(--gy-accent-rgb), .15), transparent 30%),
        linear-gradient(180deg, var(--gy-shell-sidebar), var(--gy-shell-sidebar-strong)) !important;
    border-right: 1px solid rgba(148, 163, 184, .12);
    box-shadow: var(--gy-shell-shadow);
}

body.theme-light.fixed-sidebar .navbar-static-side,
body.theme-light.canvas-menu nav.navbar-static-side,
body.theme-light .navbar-default.navbar-static-side {
    background:
        linear-gradient(180deg, rgba(var(--gy-accent-rgb), .035), transparent 210px),
        linear-gradient(180deg, var(--gy-shell-sidebar), var(--gy-shell-sidebar-strong)) !important;
    border-right-color: rgba(203, 213, 225, .9);
}

body.theme-blue.skin-purple.fixed-sidebar .navbar-static-side,
body.theme-blue.skin-red.fixed-sidebar .navbar-static-side,
body.theme-blue.skin-yellow.fixed-sidebar .navbar-static-side,
body.theme-blue.skin-purple.canvas-menu nav.navbar-static-side,
body.theme-blue.skin-red.canvas-menu nav.navbar-static-side,
body.theme-blue.skin-yellow.canvas-menu nav.navbar-static-side,
body.theme-blue.skin-purple .navbar-default.navbar-static-side,
body.theme-blue.skin-red .navbar-default.navbar-static-side,
body.theme-blue.skin-yellow .navbar-default.navbar-static-side {
    background:
        radial-gradient(circle at 8% 0, rgba(var(--gy-accent-rgb), .38), transparent 34%),
        radial-gradient(circle at 100% 82%, rgba(var(--gy-glass-accent-2-rgb), .24), transparent 38%),
        linear-gradient(150deg, rgba(255, 255, 255, .10), transparent 32%),
        linear-gradient(180deg, var(--gy-shell-sidebar), var(--gy-shell-sidebar-strong)) !important;
    border-right-color: rgba(255, 255, 255, .18);
    box-shadow: var(--gy-shell-shadow), inset -1px 0 0 rgba(255, 255, 255, .14);
    backdrop-filter: blur(22px) saturate(135%);
    -webkit-backdrop-filter: blur(22px) saturate(135%);
}

body .navbar-static-side .logo,
body .navbar-static-side .logo:hover {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    height: 56px;
    padding: 0 18px;
    background: transparent !important;
    border-bottom: 1px solid var(--gy-shell-sidebar-card-line);
    color: var(--gy-shell-logo-text) !important;
    font-size: 17px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

body .navbar-static-side .logo:before {
    content: "";
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 8px;
    background:
        radial-gradient(circle at 68% 30%, rgba(255, 255, 255, .88) 0 2px, transparent 3px),
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .92), rgba(var(--gy-accent-rgb), .58));
    box-shadow: 0 10px 24px rgba(var(--gy-accent-rgb), .24);
}

body.theme-light .navbar-static-side .logo:before {
    border-color: rgba(var(--gy-accent-rgb), .18);
    box-shadow: 0 10px 22px rgba(var(--gy-accent-rgb), .13);
}

body .navbar-static-side .logo .logo-lg {
    display: inline-block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body .sidebar-collapse .user-panel {
    display: flex;
    align-items: center;
    width: auto;
    min-height: 58px;
    margin: 10px 12px 12px;
    padding: 9px 10px;
    border: 1px solid var(--gy-shell-sidebar-card-line);
    border-radius: 10px;
    background: rgba(255, 255, 255, .035) !important;
    box-shadow: none;
    overflow: hidden;
}

body.theme-light .sidebar-collapse .user-panel {
    background: rgba(255, 255, 255, .68) !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
}

body.theme-blue.skin-purple .sidebar-collapse .user-panel,
body.theme-blue.skin-red .sidebar-collapse .user-panel,
body.theme-blue.skin-yellow .sidebar-collapse .user-panel {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .06)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 16px 34px rgba(0, 0, 0, .14);
    backdrop-filter: blur(16px) saturate(135%);
    -webkit-backdrop-filter: blur(16px) saturate(135%);
}

body .sidebar-collapse .user-panel > a {
    display: inline-flex;
    flex: 0 0 auto;
}

body .sidebar-collapse .user-panel .image > img {
    width: 36px;
    max-width: 36px;
    height: 36px;
    border: 2px solid rgba(255, 255, 255, .30);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .18);
    object-fit: cover;
}

body.theme-light .sidebar-collapse .user-panel .image > img {
    border-color: rgba(var(--gy-accent-rgb), .18);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}

body .sidebar-collapse .user-panel > .info {
    position: static;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 0 0 10px;
    line-height: 1.25;
}

body .sidebar-collapse .user-panel > .info > p {
    margin: 0 0 7px;
    color: var(--gy-shell-logo-text) !important;
    font-size: 13px;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
}

body .sidebar-collapse .user-panel > .info a {
    color: var(--gy-shell-sidebar-muted) !important;
    font-size: 12px;
    font-weight: 700;
}

body .sidebar-collapse .user-panel > .info a:hover {
    color: var(--gy-primary) !important;
}

body .sidebar-collapse .user-panel .text-success {
    color: #22c55e;
}

body .navbar-static-side .nav:not(.navbar-toolbar) {
    padding: 4px 0 12px;
}

body .navbar-static-side .nav:not(.navbar-toolbar) > li {
    margin: 1px 10px;
    border: 0 !important;
    border-radius: 10px;
    background: transparent !important;
    overflow: hidden;
}

body .navbar-static-side .nav:not(.navbar-toolbar) > li > a,
body .navbar-static-side .menu-content {
    position: relative;
    min-height: 40px;
    padding: 10px 13px 10px 16px;
    border-radius: 10px;
    color: var(--gy-shell-sidebar-text) !important;
    font-weight: 750;
    line-height: 20px;
    transition: background .16s ease, color .16s ease, transform .16s ease;
}

body .navbar-static-side .nav:not(.navbar-toolbar) > li > a > i,
body .navbar-static-side .menu-content > i {
    width: 18px;
    margin-right: 9px;
    color: var(--gy-shell-sidebar-muted);
    text-align: center;
    transition: color .16s ease, transform .16s ease;
}

body .navbar-static-side .nav:not(.navbar-toolbar) > li > a:hover,
body .navbar-static-side .nav:not(.navbar-toolbar) > li > a:focus,
body .navbar-static-side .menu-content:hover,
body .navbar-static-side .menu-content:focus {
    background: var(--gy-shell-menu-hover) !important;
    color: var(--gy-shell-active-text) !important;
    transform: translateX(1px);
}

body .navbar-static-side .nav:not(.navbar-toolbar) > li > a:hover > i,
body .navbar-static-side .nav:not(.navbar-toolbar) > li > a:focus > i,
body .navbar-static-side .menu-content:hover > i,
body .navbar-static-side .menu-content:focus > i {
    color: var(--gy-primary);
}

body .navbar-static-side .nav:not(.navbar-toolbar) > li.active > a,
body .navbar-static-side .nav:not(.navbar-toolbar) > li.selected > a,
body .navbar-static-side .nav:not(.navbar-toolbar) > li.active > a:hover,
body .navbar-static-side .nav:not(.navbar-toolbar) > li.selected > a:hover,
body .navbar-static-side .nav:not(.navbar-toolbar) > li.active > a:focus,
body .navbar-static-side .nav:not(.navbar-toolbar) > li.selected > a:focus {
    background: var(--gy-shell-menu-active) !important;
    color: var(--gy-shell-active-text) !important;
    box-shadow: inset 0 0 0 1px rgba(var(--gy-accent-rgb), .12);
}

body .navbar-static-side .nav:not(.navbar-toolbar) > li.active > a:before,
body .navbar-static-side .nav:not(.navbar-toolbar) > li.selected > a:before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    bottom: 9px;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: var(--gy-shell-menu-active-line);
}

body .navbar-static-side .nav:not(.navbar-toolbar) > li.active > a > i,
body .navbar-static-side .nav:not(.navbar-toolbar) > li.selected > a > i {
    color: var(--gy-primary);
}

body.theme-light .navbar-static-side .nav:not(.navbar-toolbar) > li.active > a,
body.theme-light .navbar-static-side .nav:not(.navbar-toolbar) > li.selected > a {
    box-shadow: inset 0 0 0 1px rgba(var(--gy-accent-rgb), .10);
}

body .navbar-static-side .nav-second-level,
body .navbar-static-side .nav-third-level,
body .navbar-static-side .nav-four-level {
    padding: 3px 0 8px;
    background: transparent !important;
}

body .navbar-static-side .nav-second-level li,
body .navbar-static-side .nav-third-level li,
body .navbar-static-side .nav-four-level li {
    margin: 2px 0;
    padding: 0 0 0 13px;
}

body .navbar-static-side .nav-second-level li a,
body .navbar-static-side .nav-third-level li a,
body .navbar-static-side .nav-four-level li a {
    min-height: 34px;
    padding: 8px 12px 8px 22px;
    border-radius: 9px;
    color: var(--gy-shell-sidebar-muted) !important;
    font-size: 13px;
    font-weight: 650;
    line-height: 18px;
    transition: background .16s ease, color .16s ease;
}

body .navbar-static-side .nav-second-level li a:hover,
body .navbar-static-side .nav-third-level li a:hover,
body .navbar-static-side .nav-four-level li a:hover,
body .navbar-static-side .nav-second-level li.active > a,
body .navbar-static-side .nav-third-level li.active > a,
body .navbar-static-side .nav-four-level li.active > a {
    background: var(--gy-shell-menu-hover) !important;
    color: var(--gy-shell-active-text) !important;
}

body .navbar.navbar-static-top {
    position: relative;
    min-height: 52px;
    background: var(--gy-shell-top) !important;
    border: 0;
    border-bottom: 1px solid var(--gy-shell-top-border);
    box-shadow: var(--gy-shell-top-shadow);
    backdrop-filter: saturate(130%) blur(12px);
}

body.theme-blue.skin-purple .navbar.navbar-static-top,
body.theme-blue.skin-red .navbar.navbar-static-top,
body.theme-blue.skin-yellow .navbar.navbar-static-top,
body.theme-blue.skin-purple .content-tabs,
body.theme-blue.skin-red .content-tabs,
body.theme-blue.skin-yellow .content-tabs {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .58)),
        radial-gradient(circle at 84% 0, rgba(var(--gy-accent-rgb), .14), transparent 36%) !important;
    border-color: var(--gy-glass-line);
    box-shadow: 0 12px 34px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255, 255, 255, .64);
    backdrop-filter: blur(18px) saturate(135%);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
}

body .navbar.navbar-static-top:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(var(--gy-accent-rgb), .26), transparent);
    pointer-events: none;
}

body .navbar.navbar-static-top .navbar-header {
    display: flex;
    align-items: center;
    height: 52px;
}

body .navbar-minimalize.minimalize-styl-2,
body .minimalize-styl-2 {
    width: 34px;
    height: 34px;
    margin: 0 8px 0 16px;
    padding: 0;
    border: 1px solid rgba(203, 213, 225, .78);
    border-radius: 9px;
    background: #ffffff;
    color: #526274 !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, .055);
}

body .navbar-minimalize.minimalize-styl-2:hover,
body .minimalize-styl-2:hover,
body .navbar-minimalize.minimalize-styl-2:focus,
body .minimalize-styl-2:focus {
    border-color: var(--gy-primary-line);
    background: var(--gy-primary-soft);
    color: var(--gy-primary) !important;
}

body .navbar.navbar-static-top .nav > li > a {
    color: #475569 !important;
}

body .nav.navbar-top-links,
body .navbar.navbar-static-top .navbar-toolbar {
    display: flex;
    align-items: center;
    height: 52px;
    margin-top: 0;
    margin-bottom: 0;
}

body .nav.navbar-top-links {
    margin-right: 12px;
}

body .nav.navbar-top-links > li,
body .navbar.navbar-static-top .navbar-toolbar > li {
    display: flex;
    align-items: center;
    height: 52px;
}

body .nav.navbar-top-links > li > a,
body .navbar.navbar-static-top .navbar-toolbar > li > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 34px;
    min-height: 34px;
    margin: 0 4px;
    padding: 0 12px;
    border: 1px solid transparent !important;
    border-radius: 999px;
    background: transparent;
    color: #475569 !important;
    font-size: 13px;
    font-weight: 760;
    line-height: 1;
    transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

body .nav.navbar-top-links > li > a:hover,
body .nav.navbar-top-links > li > a:focus,
body .navbar.navbar-static-top .navbar-toolbar > li > a:hover,
body .navbar.navbar-static-top .navbar-toolbar > li > a:focus {
    border-color: var(--gy-primary-line) !important;
    background: var(--gy-primary-soft) !important;
    color: var(--gy-primary) !important;
    box-shadow: 0 6px 16px rgba(var(--gy-accent-rgb), .08);
}

body .navbar.navbar-static-top .navbar-toolbar > li.active > a,
body .navbar.navbar-static-top .navbar-toolbar > li.selected > a {
    border-color: rgba(var(--gy-accent-rgb), .22) !important;
    background: var(--gy-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(var(--gy-accent-rgb), .20);
}

body .navbar.navbar-static-top .nav > li.open > a,
body .navbar.navbar-static-top .nav > li.open > a:hover,
body .navbar.navbar-static-top .nav > li.open > a:focus {
    border-color: var(--gy-primary-line) !important;
    background: var(--gy-primary-soft) !important;
    color: var(--gy-primary) !important;
}

body .navbar.navbar-static-top .nav > li > a > i {
    margin-right: 0;
    color: inherit !important;
}

body .navbar-right > .user-menu .user-image {
    width: 26px;
    height: 26px;
    margin: 0;
    border: 2px solid rgba(var(--gy-accent-rgb), .16);
    box-shadow: none;
    object-fit: cover;
}

body .navbar-right > .user-menu > a.dropdown-toggle {
    align-items: center;
    gap: 7px;
}

body .navbar-right > .user-menu > a.dropdown-toggle .hidden-xs {
    display: inline-flex !important;
    align-items: center;
    line-height: 1;
}

body .navbar-right > .user-menu {
    position: relative;
}

body .navbar-right > .user-menu > .dropdown-menu {
    right: 0;
    left: auto;
    top: 100%;
    display: block;
    min-width: 184px;
    margin-top: 0;
    padding: 8px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

body .navbar-right > .user-menu.open > .dropdown-menu,
body .navbar-right > .user-menu:hover > .dropdown-menu,
body .navbar-right > .user-menu:focus-within > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

body .navbar-right > .user-menu > .dropdown-menu > li > a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 36px;
    padding: 8px 10px;
    border-radius: 8px;
    color: #475569;
    font-size: 13px;
    font-weight: 680;
    line-height: 1.35;
}

body .navbar-right > .user-menu > .dropdown-menu > li > a:hover,
body .navbar-right > .user-menu > .dropdown-menu > li > a:focus {
    background: var(--gy-primary-soft);
    color: var(--gy-primary);
}

body .navbar-right > .user-menu > .dropdown-menu > li > a > i {
    width: 15px;
    margin-right: 0;
    color: inherit;
    text-align: center;
}

body .navbar-top-links .dropdown-menu,
body .dropdown-menu {
    margin-top: 9px;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 12px;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .14);
}

body .content-tabs {
    height: 44px;
    padding: 5px 10px;
    background: #f8fafc !important;
    border-bottom: 1px solid rgba(218, 226, 236, .92) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
    line-height: 34px;
}

body .content-tabs .roll-nav,
body .content-tabs button {
    width: 34px;
    height: 34px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: #64748b;
    line-height: 32px;
    transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

body .content-tabs .roll-nav:hover,
body .content-tabs button:hover {
    border-color: var(--gy-primary-line);
    background: #ffffff;
    color: var(--gy-primary);
    box-shadow: 0 6px 16px rgba(15, 23, 42, .055);
}

body nav.page-tabs {
    height: 34px;
    margin-left: 38px;
}

body .page-tabs a {
    height: 32px;
    margin: 1px 5px 0 0;
    padding: 0 13px;
    border: 1px solid rgba(218, 226, 236, .88);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: #64748b !important;
    font-size: 13px;
    font-weight: 760;
    line-height: 30px;
    box-shadow: none;
}

body .page-tabs a:hover {
    border-color: var(--gy-primary-line);
    background: var(--gy-primary-soft) !important;
    color: var(--gy-primary) !important;
}

body .page-tabs a.active,
body .page-tabs a.active:hover,
body .page-tabs a.active:focus {
    border-color: rgba(var(--gy-accent-rgb), .24) !important;
    background: var(--gy-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(var(--gy-accent-rgb), .18);
}

body .page-tabs a i {
    margin-left: 6px;
    color: inherit !important;
    opacity: .72;
}

body .page-tabs a i:hover {
    opacity: 1;
    color: #ffffff !important;
}

body.theme-blue.skin-purple .content-tabs,
body.theme-blue.skin-red .content-tabs,
body.theme-blue.skin-yellow .content-tabs {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .58)),
        radial-gradient(circle at 84% 0, rgba(var(--gy-accent-rgb), .14), transparent 36%) !important;
    border-bottom-color: var(--gy-glass-line) !important;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255, 255, 255, .64);
    backdrop-filter: blur(18px) saturate(135%);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
}

body.theme-blue.skin-purple .content-tabs .roll-nav,
body.theme-blue.skin-purple .content-tabs button,
body.theme-blue.skin-red .content-tabs .roll-nav,
body.theme-blue.skin-red .content-tabs button,
body.theme-blue.skin-yellow .content-tabs .roll-nav,
body.theme-blue.skin-yellow .content-tabs button {
    background: rgba(255, 255, 255, .40);
    border-color: rgba(255, 255, 255, .42);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .52);
}

body.theme-blue.skin-purple .page-tabs a,
body.theme-blue.skin-red .page-tabs a,
body.theme-blue.skin-yellow .page-tabs a {
    border-color: rgba(255, 255, 255, .55);
    background: rgba(255, 255, 255, .58);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .62);
    backdrop-filter: blur(14px) saturate(132%);
    -webkit-backdrop-filter: blur(14px) saturate(132%);
}

body.theme-blue.skin-purple .page-tabs a:hover,
body.theme-blue.skin-red .page-tabs a:hover,
body.theme-blue.skin-yellow .page-tabs a:hover {
    border-color: rgba(var(--gy-accent-rgb), .32);
    background: rgba(255, 255, 255, .82) !important;
    box-shadow: 0 10px 24px rgba(var(--gy-accent-rgb), .10);
}

body.theme-blue.skin-purple .page-tabs a.active,
body.theme-blue.skin-purple .page-tabs a.active:hover,
body.theme-blue.skin-purple .page-tabs a.active:focus,
body.theme-blue.skin-red .page-tabs a.active,
body.theme-blue.skin-red .page-tabs a.active:hover,
body.theme-blue.skin-red .page-tabs a.active:focus,
body.theme-blue.skin-yellow .page-tabs a.active,
body.theme-blue.skin-yellow .page-tabs a.active:hover,
body.theme-blue.skin-yellow .page-tabs a.active:focus {
    border-color: rgba(255, 255, 255, .56) !important;
    background:
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .96), rgba(var(--gy-glass-accent-2-rgb), .78)) !important;
    box-shadow: 0 12px 28px rgba(var(--gy-accent-rgb), .26), inset 0 1px 0 rgba(255, 255, 255, .42);
}

body .content-tabs .roll-nav.tabReload,
body .content-tabs a.roll-nav.tabReload {
    right: 0;
    width: 68px;
    height: 34px;
    padding: 0 10px;
    border-radius: 9px;
    line-height: 32px;
}

body .content-tabs .roll-right.tabRight {
    right: 74px;
}

body.mini-navbar .sidebar-collapse .user-panel {
    display: none;
}

body.mini-navbar .navbar-static-side .logo {
    width: 70px;
    padding: 0;
    font-size: 0;
    justify-content: center;
}

body.mini-navbar .navbar-static-side .logo:before {
    margin-right: 0;
}

body.mini-navbar .navbar-static-side .nav:not(.navbar-toolbar) > li {
    margin-right: 8px;
    margin-left: 8px;
}

body.mini-navbar .navbar-static-side .nav:not(.navbar-toolbar) > li > a {
    padding-right: 0;
    padding-left: 0;
    text-align: center;
}

body.mini-navbar .navbar-static-side .nav:not(.navbar-toolbar) > li > a > i {
    margin-right: 0;
}

body.fixed-sidebar.mini-navbar .nav li:hover > a > span.nav-label,
body.fixed-sidebar.mini-navbar .nav li:hover > .nav-second-level,
body.canvas-menu.mini-navbar .nav li:hover > a > span.nav-label,
body.canvas-menu.mini-navbar .nav li:hover > .nav-second-level {
    border: 1px solid var(--gy-shell-sidebar-card-line);
    background:
        radial-gradient(circle at top left, rgba(var(--gy-accent-rgb), .12), transparent 36%),
        var(--gy-shell-sidebar) !important;
    color: var(--gy-shell-active-text) !important;
    box-shadow: 12px 16px 34px rgba(15, 23, 42, .18);
}

body.theme-light.fixed-sidebar.mini-navbar .nav li:hover > a > span.nav-label,
body.theme-light.fixed-sidebar.mini-navbar .nav li:hover > .nav-second-level,
body.theme-light.canvas-menu.mini-navbar .nav li:hover > a > span.nav-label,
body.theme-light.canvas-menu.mini-navbar .nav li:hover > .nav-second-level {
    background: #ffffff !important;
    color: var(--gy-text) !important;
}

@media (max-width: 1000px) {
    body .nav.navbar-top-links > li > a {
        padding: 0 10px;
    }

    body .navbar.navbar-static-top .navbar-toolbar > li > a {
        padding: 0 10px;
    }
}

@media (max-width: 768px) {
    body .navbar.navbar-static-top,
    body .navbar.navbar-static-top .navbar-header {
        min-height: 52px;
    }

    body .navbar-minimalize.minimalize-styl-2,
    body .minimalize-styl-2 {
        margin-top: 8px;
    }

    body .navbar-static-side .logo {
        height: 52px;
        line-height: 52px;
    }
}

/* Dashboard refinement: quieter hierarchy and less saturated hero. */
.fd-dashboard {
    background: #f7f9fc;
}

.fd-dashboard .fd-hero {
    border: 1px solid rgba(148, 163, 184, .22);
    background:
        radial-gradient(circle at 100% 0, rgba(var(--gy-accent-rgb), .18), transparent 34%),
        linear-gradient(135deg, #123247 0%, #174356 52%, #263f55 100%) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .085);
}

.fd-dashboard .fd-hero h2 {
    font-size: 26px;
    font-weight: 820;
}

.fd-dashboard .fd-hero p {
    color: rgba(255, 255, 255, .78);
}

.fd-dashboard .fd-hero-pill {
    border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .10);
    backdrop-filter: blur(8px);
}

.fd-dashboard .fd-hero .btn {
    border-color: rgba(255, 255, 255, .42);
    background: rgba(255, 255, 255, .92);
    color: #21313f;
    box-shadow: none;
}

.fd-dashboard .fd-toolbar {
    margin-bottom: 12px;
}

.fd-dashboard .fd-view-switch {
    border-color: rgba(203, 213, 225, .78);
    border-radius: 10px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, .045);
}

.fd-dashboard .fd-view-switch button {
    border-radius: 8px;
}

.fd-dashboard .fd-view-switch button.active {
    background: var(--gy-primary-soft);
    color: var(--gy-primary);
}

.fd-dashboard .fd-shell,
.fd-dashboard .fd-section,
.fd-dashboard .fd-summary-card,
.fd-dashboard .fd-order-mix-card,
.fd-dashboard .fd-order-row,
.fd-dashboard .fd-focus-card,
.fd-dashboard .fd-metric,
.fd-dashboard .fd-chart-card,
.fd-dashboard .fd-priority-list,
.fd-dashboard .fd-risk-list,
.fd-dashboard .fd-type-summary-card {
    border-color: rgba(218, 226, 236, .82);
    box-shadow: 0 6px 18px rgba(15, 23, 42, .035);
}

.fd-dashboard .fd-shell,
.fd-dashboard .fd-section {
    border-radius: 10px;
}

.fd-dashboard .fd-section-head {
    background: #fbfdff;
}

.fd-dashboard .fd-summary-card,
.fd-dashboard .fd-order-mix-card,
.fd-dashboard .fd-focus-card,
.fd-dashboard .fd-metric {
    background: #ffffff !important;
}

.fd-dashboard .fd-summary-card.danger,
.fd-dashboard .fd-focus-card.danger,
.fd-dashboard .fd-metric.danger {
    background: linear-gradient(180deg, #fff, #fff8f8) !important;
}

.fd-dashboard .fd-summary-card.warning,
.fd-dashboard .fd-focus-card.warning,
.fd-dashboard .fd-metric.warning {
    background: linear-gradient(180deg, #fff, #fffaf2) !important;
}

.fd-dashboard .fd-summary-card.info,
.fd-dashboard .fd-focus-card.info {
    background: linear-gradient(180deg, #fff, #f8fbff) !important;
}

.fd-dashboard .fd-order-mix-item,
.fd-dashboard .fd-order-section {
    border-color: rgba(226, 232, 240, .82);
    background: #ffffff;
}

.fd-dashboard .fd-summary-value,
.fd-dashboard .fd-focus-value,
.fd-dashboard .fd-metric .value {
    color: #1e293b;
}

.fd-dashboard .fd-summary-label,
.fd-dashboard .fd-focus-top,
.fd-dashboard .fd-metric .label,
.fd-dashboard .fd-order-col-label {
    color: #718096;
}

.fd-dashboard .fd-summary-actions a,
.fd-dashboard .fd-order-mix-link,
.fd-dashboard .fd-task-action a,
.fd-dashboard .fd-order-side a,
.fd-dashboard .fd-link-action {
    color: var(--gy-primary);
}

/* Professional refinement layer: shared business components, data pages, forms and dialogs. */
body.gy-themed-page,
body {
    --gy-page-bg: #f5f7fb;
    --gy-card-bg: #ffffff;
    --gy-card-bg-soft: #fbfdff;
    --gy-card-line: #dde6f0;
    --gy-card-line-soft: #edf2f7;
    --gy-text: #1f2a3a;
    --gy-text-soft: #4b5d73;
    --gy-text-muted: #758499;
    --gy-danger: #dc2626;
    --gy-danger-soft: #fff1f2;
    --gy-warning: #d97706;
    --gy-warning-soft: #fff7ed;
    --gy-success: #059669;
    --gy-success-soft: #ecfdf5;
    --gy-info: #0ea5e9;
    --gy-info-soft: #f0f9ff;
    --gy-radius: 10px;
    --gy-radius-sm: 8px;
    --gy-control-height: 36px;
}

body.gy-themed-page {
    --fd-bg: var(--gy-page-bg) !important;
    --fd-card: var(--gy-card-bg) !important;
    --fd-line: var(--gy-card-line) !important;
    --fd-ink: var(--gy-text) !important;
    --fd-muted: var(--gy-text-muted) !important;
    --fd-green: var(--gy-success) !important;
    --fd-cyan: var(--gy-info) !important;
    --fd-blue: var(--gy-primary) !important;
    --fd-amber: var(--gy-warning) !important;
    --fd-red: var(--gy-danger) !important;
}

html {
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, .55) transparent;
}

body.gray-bg,
body.white-bg,
body.gy-themed-page {
    background:
        linear-gradient(180deg, rgba(var(--gy-accent-rgb), .025), transparent 280px),
        var(--gy-page-bg) !important;
    color: var(--gy-text);
}

::-webkit-scrollbar {
    width: 9px;
    height: 9px;
}

::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: rgba(148, 163, 184, .54);
    background-clip: padding-box;
}

::-webkit-scrollbar-track {
    background: transparent;
}

.container-div,
.wrapper.wrapper-content {
    padding: 16px 18px 24px !important;
}

.ibox,
.box,
.search-collapse,
.select-table,
.project-view-heading,
.fd-shell,
.fd-section,
.fd-follow-head,
.fd-products,
.fd-side,
.fd-chart-card,
.fd-priority-list,
.fd-risk-list,
.fd-summary-card,
.fd-order-mix-card,
.fd-focus-card,
.fd-metric,
.fd-product-card,
.gy-data-page-head,
.gy-form-card {
    border: 1px solid var(--gy-card-line) !important;
    border-radius: var(--gy-radius) !important;
    background: var(--gy-card-bg) !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .045) !important;
}

.ibox-title,
.box-header,
.fd-section-head,
.fd-shell-head {
    border-color: var(--gy-card-line-soft) !important;
    background: linear-gradient(180deg, #ffffff, #fbfdff) !important;
}

.fd-page,
.fd-dashboard,
.fd-follow-page {
    max-width: none !important;
    padding: 16px 18px 28px !important;
}

.fd-dashboard .fd-hero {
    min-height: 120px;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: var(--gy-radius) !important;
    background:
        radial-gradient(circle at 98% 8%, rgba(255, 255, 255, .18), transparent 22%),
        linear-gradient(135deg, #123247 0%, #16445b 44%, var(--gy-primary) 100%) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .14) !important;
}

.fd-dashboard .fd-hero h2 {
    font-size: 26px !important;
    font-weight: 820 !important;
    letter-spacing: 0 !important;
}

.fd-dashboard .fd-hero p {
    max-width: 900px !important;
    color: rgba(255, 255, 255, .80) !important;
}

.fd-dashboard .fd-hero-pill {
    border: 1px solid rgba(255, 255, 255, .20) !important;
    background: rgba(255, 255, 255, .12) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14);
}

.fd-dashboard .fd-toolbar {
    align-items: center !important;
    margin-bottom: 12px !important;
}

.fd-dashboard .fd-view-switch {
    border-radius: var(--gy-radius) !important;
    background: #ffffff !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, .035);
}

.fd-dashboard .fd-view-switch button {
    min-height: 34px !important;
    border-radius: 8px !important;
    font-weight: 780 !important;
}

.fd-dashboard .fd-view-switch button.active {
    background: var(--gy-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(var(--gy-accent-rgb), .16);
}

.fd-workbench-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 14px;
    align-items: start;
}

.fd-workbench-main {
    min-width: 0;
}

.fd-workbench-side {
    position: sticky;
    top: 12px;
    display: grid;
    gap: 12px;
}

.fd-side-panel {
    border: 1px solid var(--gy-card-line);
    border-radius: var(--gy-radius);
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
    overflow: hidden;
}

.fd-side-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--gy-card-line-soft);
    background: #fbfdff;
}

.fd-side-panel-title {
    margin: 0;
    color: var(--gy-text);
    font-size: 14px;
    font-weight: 820;
}

.fd-side-panel-sub {
    color: var(--gy-text-muted);
    font-size: 12px;
    font-weight: 700;
}

.fd-side-panel-body {
    padding: 12px 14px 14px;
}

.fd-priority-stack,
.fd-quick-actions,
.fd-insight-list {
    display: grid;
    gap: 8px;
}

.fd-priority-stack-item,
.fd-insight-item {
    display: grid;
    gap: 4px;
    padding: 10px 11px;
    border: 1px solid var(--gy-card-line-soft);
    border-radius: 8px;
    background: #ffffff;
}

.fd-priority-stack-item strong,
.fd-insight-item strong {
    color: var(--gy-text);
    font-size: 13px;
    line-height: 1.45;
}

.fd-priority-stack-item span,
.fd-insight-item span {
    color: var(--gy-text-muted);
    font-size: 12px;
    line-height: 1.55;
}

.fd-priority-stack-item.danger {
    border-color: rgba(220, 38, 38, .18);
    background: linear-gradient(180deg, #fff, var(--gy-danger-soft));
}

.fd-priority-stack-item.warning {
    border-color: rgba(217, 119, 6, .18);
    background: linear-gradient(180deg, #fff, var(--gy-warning-soft));
}

.fd-priority-stack-item.info {
    border-color: rgba(var(--gy-accent-rgb), .18);
    background: linear-gradient(180deg, #fff, var(--gy-primary-soft));
}

.fd-quick-actions a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 36px;
    padding: 8px 10px;
    border: 1px solid var(--gy-card-line-soft);
    border-radius: 8px;
    background: #ffffff;
    color: var(--gy-text-soft);
    font-weight: 760;
    text-decoration: none;
}

.fd-quick-actions a:hover {
    border-color: var(--gy-primary-line);
    background: var(--gy-primary-soft);
    color: var(--gy-primary);
    text-decoration: none;
}

.fd-dashboard .fd-summary-strip {
    grid-template-columns: repeat(3, minmax(170px, 1fr)) !important;
}

.fd-dashboard .fd-summary-card,
.fd-dashboard .fd-order-mix-card,
.fd-dashboard .fd-order-row,
.fd-dashboard .fd-order-section,
.fd-dashboard .fd-chart-card,
.fd-dashboard .fd-metric,
.fd-dashboard .fd-focus-card,
.fd-dashboard .fd-type-summary-card {
    border-radius: var(--gy-radius) !important;
}

.fd-dashboard .fd-summary-card,
.fd-dashboard .fd-order-mix-card {
    background: linear-gradient(180deg, #fff, #fbfdff) !important;
}

.fd-dashboard .fd-summary-card.danger,
.fd-dashboard .fd-focus-card.danger,
.fd-dashboard .fd-metric.danger {
    border-color: rgba(220, 38, 38, .22) !important;
    background: linear-gradient(180deg, #fff, var(--gy-danger-soft)) !important;
}

.fd-dashboard .fd-summary-card.warning,
.fd-dashboard .fd-focus-card.warning,
.fd-dashboard .fd-metric.warning {
    border-color: rgba(217, 119, 6, .22) !important;
    background: linear-gradient(180deg, #fff, var(--gy-warning-soft)) !important;
}

.fd-dashboard .fd-summary-card.active,
.fd-dashboard .fd-order-mix-card.active,
.fd-dashboard .fd-order-type-tab.active,
.fd-dashboard .fd-order-filter.active {
    border-color: var(--gy-primary-line) !important;
    background: var(--gy-primary-soft) !important;
    box-shadow: 0 0 0 3px rgba(var(--gy-accent-rgb), .08) !important;
}

.fd-dashboard .fd-order-head {
    grid-template-columns: minmax(300px, 1.35fr) repeat(4, minmax(120px, .85fr)) 92px !important;
}

.fd-dashboard .fd-order-row:hover {
    transform: translateY(-1px);
}

.fd-dashboard .fd-order-row.expanded .fd-order-head {
    background: #fbfdff !important;
}

.fd-dashboard .fd-order-tag.info,
.fd-dashboard .fd-risk-badge {
    border-color: var(--gy-primary-line) !important;
    background: var(--gy-primary-soft) !important;
    color: var(--gy-primary) !important;
}

.fd-dashboard .fd-order-tag.danger,
.fd-dashboard .fd-risk-badge.danger,
.fd-task-badge.danger {
    border-color: rgba(220, 38, 38, .18) !important;
    background: var(--gy-danger-soft) !important;
    color: var(--gy-danger) !important;
}

.fd-dashboard .fd-order-tag.warning,
.fd-dashboard .fd-risk-badge.warning,
.fd-task-badge.warning {
    border-color: rgba(217, 119, 6, .20) !important;
    background: var(--gy-warning-soft) !important;
    color: var(--gy-warning) !important;
}

.fd-follow-page {
    display: grid;
    gap: 14px;
}

.fd-follow-page .fd-follow-head {
    position: sticky;
    top: 0;
    z-index: 8;
    background: rgba(255, 255, 255, .94) !important;
    backdrop-filter: blur(10px);
}

.fd-follow-page .fd-title-row h3 {
    color: var(--gy-text) !important;
    font-size: 22px !important;
    font-weight: 820 !important;
}

.fd-follow-page .fd-meta,
.fd-follow-page .fd-meta span,
.fd-follow-page .fd-kpi span,
.fd-follow-page .fd-node-line,
.fd-follow-page .fd-side-row,
.fd-follow-page .fd-track-time {
    color: var(--gy-text-muted) !important;
}

.fd-follow-page .fd-kpis {
    grid-template-columns: repeat(4, minmax(140px, 1fr)) !important;
}

.fd-follow-page .fd-kpi {
    border-color: var(--gy-card-line-soft) !important;
    border-radius: var(--gy-radius-sm) !important;
    background: linear-gradient(180deg, #fff, #fbfdff) !important;
}

.fd-follow-page .fd-kpi strong {
    color: var(--gy-primary) !important;
}

.fd-follow-page .fd-product-tab {
    border-radius: var(--gy-radius-sm) !important;
    color: var(--gy-text-soft) !important;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.fd-follow-page .fd-product-tab.active {
    border-color: var(--gy-primary-line) !important;
    background: var(--gy-primary-soft) !important;
    box-shadow: inset 0 0 0 1px var(--gy-primary-line) !important;
}

.fd-follow-page .fd-product-body {
    grid-template-columns: minmax(0, 1fr) 360px !important;
}

.fd-follow-page .fd-product-img {
    width: 104px !important;
    height: auto !important;
    max-height: 128px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    background: #ffffff !important;
}

.fd-follow-page .fd-paper-panel,
.fd-follow-page .fd-process-timeline,
.fd-follow-page .fd-status-column,
.fd-follow-page .fd-timeline-card,
.fd-follow-page .fd-process-node {
    border-radius: var(--gy-radius-sm) !important;
    border-color: var(--gy-card-line) !important;
    background: #ffffff !important;
}

.fd-follow-page .fd-side {
    top: 14px !important;
    max-height: calc(100vh - 28px);
    overflow: auto;
}

.fd-follow-page .fd-side h4,
.fd-follow-page .fd-section-head h5,
.fd-follow-page .fd-status-title h5,
.fd-follow-page .fd-process-name {
    color: var(--gy-text) !important;
}

.fd-follow-page .fd-process-node.active {
    border-color: var(--gy-primary-line) !important;
    border-left-color: var(--gy-primary) !important;
    box-shadow: 0 8px 22px rgba(var(--gy-accent-rgb), .13) !important;
}

.fd-follow-page .fd-process-node.done {
    border-left-color: var(--gy-success) !important;
}

.fd-follow-page .fd-process-node.processing {
    border-left-color: var(--gy-primary) !important;
}

.fd-follow-page .fd-process-node.exception {
    border-left-color: var(--gy-danger) !important;
}

body.white-bg .wrapper.wrapper-content.ibox-content {
    background: transparent !important;
    box-shadow: none !important;
}

body.white-bg .form-horizontal.m,
body.white-bg .wrapper.wrapper-content.ibox-content > .form-horizontal,
.gy-modern-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 14px 18px;
    margin: 0 !important;
    padding: 18px 20px 20px;
    border: 1px solid var(--gy-card-line);
    border-radius: var(--gy-radius);
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
}

body.white-bg .form-horizontal.m > input[type="hidden"],
body.white-bg .wrapper.wrapper-content.ibox-content > .form-horizontal > input[type="hidden"] {
    display: none;
}

body.white-bg .form-horizontal.m > .form-group,
body.white-bg .wrapper.wrapper-content.ibox-content > .form-horizontal > .form-group {
    display: grid;
    grid-template-columns: minmax(108px, 148px) minmax(0, 1fr);
    gap: 8px 12px;
    align-items: start;
    min-width: 0;
    margin: 0 !important;
}

body.white-bg .form-horizontal.m > .form-group:has(textarea),
body.white-bg .form-horizontal.m > .form-group:has(.gy-image-uploader),
body.white-bg .form-horizontal.m > .form-group:has(input[type="file"]),
body.white-bg .wrapper.wrapper-content.ibox-content > .form-horizontal > .form-group:has(textarea),
body.white-bg .wrapper.wrapper-content.ibox-content > .form-horizontal > .form-group:has(.gy-image-uploader),
body.white-bg .wrapper.wrapper-content.ibox-content > .form-horizontal > .form-group:has(input[type="file"]) {
    grid-column: 1 / -1;
}

body.white-bg .form-horizontal .control-label,
body.white-bg .form-horizontal .control-label[class*="col-sm-"] {
    width: auto !important;
    padding: 8px 0 0 !important;
    color: var(--gy-text-soft);
    font-size: 13px;
    font-weight: 760;
    text-align: left !important;
}

body.white-bg .form-horizontal .form-group > [class*="col-sm-"] {
    width: auto !important;
    min-width: 0;
    padding-right: 0 !important;
    padding-left: 0 !important;
    float: none !important;
}

.form-control,
.select2-container--bootstrap .select2-selection {
    min-height: var(--gy-control-height);
    border-color: #d8e2ed !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

textarea.form-control {
    min-height: 92px;
    resize: vertical;
}

.form-control:hover,
.select2-container--bootstrap .select2-selection:hover {
    border-color: #c5d2df !important;
}

.help-block,
.text-muted {
    color: var(--gy-text-muted) !important;
}

body.white-bg .form-horizontal .form-group img:not(.gy-image-preview) {
    width: auto !important;
    max-width: 220px !important;
    height: auto !important;
    max-height: 180px !important;
    padding: 6px !important;
    border: 1px solid var(--gy-card-line) !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    object-fit: contain !important;
}

.is-required:before,
.form-group .is-required:before {
    color: var(--gy-danger) !important;
}

.btn {
    border-radius: 8px !important;
    font-weight: 720;
    transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.btn:hover,
.btn:focus {
    transform: translateY(-1px);
}

.btn-primary,
.btn-success,
.btn-info {
    border-color: var(--gy-primary) !important;
    background: var(--gy-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(var(--gy-accent-rgb), .14);
}

.btn-primary:hover,
.btn-success:hover,
.btn-info:hover,
.btn-primary:focus,
.btn-success:focus,
.btn-info:focus {
    border-color: var(--gy-primary-hover) !important;
    background: var(--gy-primary-hover) !important;
}

body.theme-blue.skin-purple .btn-primary,
body.theme-blue.skin-purple .btn-success,
body.theme-blue.skin-purple .btn-info,
body.theme-blue.skin-red .btn-primary,
body.theme-blue.skin-red .btn-success,
body.theme-blue.skin-red .btn-info,
body.theme-blue.skin-yellow .btn-primary,
body.theme-blue.skin-yellow .btn-success,
body.theme-blue.skin-yellow .btn-info {
    border-color: rgba(255, 255, 255, .28) !important;
    background:
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .98), rgba(var(--gy-glass-accent-2-rgb), .84)) !important;
    box-shadow: 0 12px 26px rgba(var(--gy-accent-rgb), .24), inset 0 1px 0 rgba(255, 255, 255, .38);
}

body.theme-blue.skin-purple .btn-primary:hover,
body.theme-blue.skin-purple .btn-success:hover,
body.theme-blue.skin-purple .btn-info:hover,
body.theme-blue.skin-red .btn-primary:hover,
body.theme-blue.skin-red .btn-success:hover,
body.theme-blue.skin-red .btn-info:hover,
body.theme-blue.skin-yellow .btn-primary:hover,
body.theme-blue.skin-yellow .btn-success:hover,
body.theme-blue.skin-yellow .btn-info:hover {
    background:
        linear-gradient(135deg, var(--gy-primary-hover), var(--gy-glass-accent-2)) !important;
    box-shadow: 0 16px 32px rgba(var(--gy-accent-rgb), .30), inset 0 1px 0 rgba(255, 255, 255, .46);
}

.btn-warning {
    border-color: var(--gy-warning) !important;
    background: var(--gy-warning) !important;
    color: #ffffff !important;
}

.btn-danger {
    border-color: var(--gy-danger) !important;
    background: var(--gy-danger) !important;
    color: #ffffff !important;
}

.btn-default,
.btn-white {
    border-color: var(--gy-card-line) !important;
    background: #ffffff !important;
    color: var(--gy-text-soft) !important;
}

.btn-default:hover,
.btn-white:hover,
.btn-default:focus,
.btn-white:focus {
    border-color: var(--gy-primary-line) !important;
    background: var(--gy-primary-soft) !important;
    color: var(--gy-primary) !important;
}

.search-collapse {
    margin-bottom: 12px !important;
    padding: 14px 16px 8px !important;
}

.select-list ul {
    display: flex;
    align-items: center;
    gap: 10px 12px;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.select-list li {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 0 8px !important;
    color: var(--gy-text-soft);
    font-weight: 700;
}

.select-list input,
.select-list select {
    height: var(--gy-control-height) !important;
    min-width: 138px;
    border: 1px solid #d8e2ed !important;
    border-radius: 8px !important;
    background: #ffffff;
    color: var(--gy-text);
}

@media (min-width: 769px) {
    .search-collapse .select-list li,
    .gy-page-modernized .select-list li {
        flex: 0 1 auto;
        flex-wrap: nowrap;
        min-width: max-content;
        overflow: visible;
        white-space: nowrap;
    }

    .search-collapse .select-list .select-list-label,
    .gy-page-modernized .select-list .select-list-label {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .search-collapse .select-list li input,
    .search-collapse .select-list li select,
    .search-collapse .select-list .select2-container,
    .gy-page-modernized .select-list li input,
    .gy-page-modernized .select-list li select,
    .gy-page-modernized .select-list .select2-container {
        flex: 0 1 auto;
    }
}

#toolbar.btn-group-sm,
.fixed-table-toolbar #toolbar {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.fixed-table-container {
    border: 1px solid var(--gy-card-line) !important;
    border-radius: var(--gy-radius) !important;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .035);
}

.bootstrap-table .fixed-table-container .table thead th,
.bootstrap-table .fixed-table-header table thead th {
    border-color: var(--gy-card-line-soft) !important;
    background: #f8fafc !important;
    color: var(--gy-text-soft) !important;
    font-size: 12px;
    font-weight: 820;
}

.bootstrap-table .table > tbody > tr > td {
    border-color: var(--gy-card-line-soft) !important;
    color: var(--gy-text);
    vertical-align: middle !important;
}

.bootstrap-table .table-hover > tbody > tr:hover,
.bootstrap-table .table-hover > tbody > tr.hover,
.bootstrap-table .table-striped > tbody > tr:nth-of-type(odd):hover {
    background: linear-gradient(90deg, rgba(var(--gy-accent-rgb), .095), rgba(var(--gy-accent-rgb), .055) 34%, #f8fbff 100%) !important;
}

.bootstrap-table .table-hover > tbody > tr:hover > td,
.bootstrap-table .table-hover > tbody > tr.hover > td,
.bootstrap-table .table-striped > tbody > tr:nth-of-type(odd):hover > td {
    background: transparent !important;
}

.fixed-table-pagination {
    padding: 10px 2px 0;
    color: var(--gy-text-muted);
}

.gy-status-badge,
.label,
.badge {
    border-radius: 999px !important;
    font-weight: 760;
}

.gy-layer.layui-layer,
.layui-layer {
    border-radius: 12px !important;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(15, 23, 42, .22) !important;
}

.layui-layer-title {
    height: 48px !important;
    border-bottom: 1px solid var(--gy-card-line-soft) !important;
    background: linear-gradient(180deg, #fff, #fbfdff) !important;
    color: var(--gy-text) !important;
    font-size: 14px !important;
    font-weight: 820 !important;
    line-height: 48px !important;
}

.layui-layer-setwin {
    top: 15px !important;
}

.layui-layer-content {
    background: var(--gy-page-bg);
}

.layui-layer-btn {
    padding: 12px 16px !important;
    border-top: 1px solid var(--gy-card-line-soft);
    background: #ffffff;
}

.layui-layer-btn a {
    height: 34px !important;
    min-width: 74px;
    margin: 0 0 0 8px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    font-weight: 760 !important;
    line-height: 34px !important;
}

.layui-layer-btn .layui-layer-btn0 {
    border-color: var(--gy-primary) !important;
    background: var(--gy-primary) !important;
    color: #ffffff !important;
}

.modal-content {
    border: 1px solid var(--gy-card-line);
    border-radius: 12px;
    box-shadow: 0 24px 64px rgba(15, 23, 42, .18);
    overflow: hidden;
}

.modal-header,
.modal-footer {
    border-color: var(--gy-card-line-soft);
    background: #fbfdff;
}

.modal-title {
    color: var(--gy-text);
    font-weight: 820;
}

.gy-pre-dialog {
    padding: 16px;
    background: var(--gy-page-bg);
}

.gy-pre-block {
    max-height: 348px;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--gy-card-line);
    border-radius: 10px;
    background: #ffffff;
    color: var(--gy-text);
    font-family: Menlo, Monaco, Consolas, monospace;
    font-size: 12px;
    line-height: 1.7;
    white-space: pre-wrap;
    word-break: break-word;
    overflow: auto;
}

.gy-image-gallery-dialog {
    max-height: 580px;
    padding: 16px;
    overflow: auto;
    background: var(--gy-page-bg);
}

.gy-image-gallery-group {
    margin-bottom: 18px;
}

.gy-image-gallery-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.gy-image-gallery-title {
    color: var(--gy-text);
    font-size: 13px;
    font-weight: 820;
}

.gy-image-gallery-count {
    color: var(--gy-text-muted);
    font-size: 12px;
}

.gy-image-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
}

.gy-image-gallery-card {
    position: relative;
    border: 1px solid var(--gy-card-line);
    border-radius: 10px;
    background: #ffffff;
    padding: 8px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, .035);
}

.gy-image-gallery-card img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 180px;
    object-fit: contain;
    border-radius: 8px;
    background: #f1f5f9;
}

.gy-image-gallery-card a {
    display: block;
    text-decoration: none;
}

.gy-image-gallery-name {
    margin-top: 8px;
    color: var(--gy-text-soft);
    font-size: 12px;
    line-height: 1.5;
    word-break: break-all;
}

.gy-image-gallery-note {
    margin-top: 4px;
    color: var(--gy-danger);
    font-size: 12px;
}

.gy-image-gallery-delete {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(220, 38, 38, .95);
    color: #ffffff;
    line-height: 26px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(220, 38, 38, .20);
}

.gy-image-gallery-lock {
    position: absolute;
    top: 8px;
    right: 8px;
    border-radius: 999px;
    background: rgba(220, 38, 38, .95);
    color: #ffffff;
    font-size: 12px;
    padding: 3px 8px;
}

@media (max-width: 1280px) {
    .fd-workbench-grid,
    .fd-follow-page .fd-product-body {
        grid-template-columns: 1fr !important;
    }

    .fd-workbench-side,
    .fd-follow-page .fd-side,
    .fd-follow-page .fd-follow-head {
        position: static !important;
        max-height: none;
    }
}

@media (max-width: 860px) {
    .container-div,
    .wrapper.wrapper-content,
    .fd-page,
    .fd-dashboard,
    .fd-follow-page {
        padding: 12px !important;
    }

    body.white-bg .form-horizontal.m,
    body.white-bg .wrapper.wrapper-content.ibox-content > .form-horizontal {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    body.white-bg .form-horizontal.m > .form-group,
    body.white-bg .wrapper.wrapper-content.ibox-content > .form-horizontal > .form-group {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    body.white-bg .form-horizontal .control-label,
    body.white-bg .form-horizontal .control-label[class*="col-sm-"] {
        padding-top: 0 !important;
    }

    .fd-dashboard .fd-summary-strip,
    .fd-follow-page .fd-kpis {
        grid-template-columns: 1fr !important;
    }
}

/* Full legacy-page refresh. This layer removes the old RuoYi CRM feel across business,
   system and monitor screens while keeping the existing markup and behavior intact. */
.gy-page-modernized {
    min-height: 100vh;
    background:
        radial-gradient(circle at 96% -80px, rgba(var(--gy-accent-rgb), .105), transparent 310px),
        linear-gradient(180deg, rgba(248, 250, 252, .92), var(--gy-page-bg) 320px) !important;
    color: var(--gy-text);
    font-size: 13px;
}

.gy-page-modernized a {
    color: var(--gy-primary);
}

.gy-page-modernized .gy-modern-container,
.gy-page-modernized .wrapper.wrapper-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 18px 20px 26px !important;
}

.gy-page-modernized .gy-modern-container > .row {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
}

.gy-page-modernized .gy-modern-container > .row > [class*="col-"],
.gy-page-modernized .gy-modern-container > .row > .gy-modern-toolbar {
    width: 100%;
    min-width: 0;
    padding-right: 0;
    padding-left: 0;
    float: none;
}

.gy-page-modernized .gy-modern-search {
    position: relative;
    margin: 0 !important;
    padding: 16px 16px 8px !important;
    border: 1px solid rgba(218, 226, 236, .92) !important;
    border-radius: 12px !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(251, 253, 255, .94)) !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .045) !important;
    overflow: visible;
}

.gy-page-modernized .gy-modern-search:before {
    content: "";
    position: absolute;
    top: 14px;
    bottom: 14px;
    left: 0;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: linear-gradient(180deg, var(--gy-primary), rgba(var(--gy-accent-rgb), .35));
}

.gy-page-modernized .select-list ul {
    align-items: flex-end;
    gap: 10px 14px;
}

.gy-page-modernized .select-list li {
    min-height: 36px;
    color: var(--gy-text-soft);
    font-size: 13px;
    font-weight: 760;
}

.gy-page-modernized .select-list li label {
    margin: 0;
    color: var(--gy-text-soft);
    font-weight: 760;
}

.gy-page-modernized .select-list input,
.gy-page-modernized .select-list select,
.gy-page-modernized .select-list .select2-container {
    min-width: 148px;
}

.gy-page-modernized .gy-modern-toolbar,
.gy-page-modernized #toolbar.btn-group-sm {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    min-height: 42px;
    margin: 0 !important;
    padding: 2px 0 !important;
    float: none !important;
    flex-wrap: wrap;
}

.gy-page-modernized .gy-modern-toolbar .btn,
.gy-page-modernized #toolbar .btn {
    margin: 0 !important;
}

.gy-page-modernized .gy-modern-table-shell {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.gy-page-modernized .bootstrap-table {
    border: 1px solid var(--gy-card-line);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
    overflow: hidden;
}

.gy-page-modernized .bootstrap-table .fixed-table-toolbar {
    min-height: 48px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--gy-card-line-soft);
    background: linear-gradient(180deg, #ffffff, #fbfdff);
}

.gy-page-modernized .bootstrap-table .fixed-table-container {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.gy-page-modernized .bootstrap-table .table {
    margin-bottom: 0 !important;
}

.gy-page-modernized .bootstrap-table .table > thead > tr > th {
    height: 42px;
    border-bottom: 1px solid var(--gy-card-line-soft) !important;
    background: #f7f9fc !important;
    color: #5c6b7d !important;
    letter-spacing: 0;
}

.gy-page-modernized .bootstrap-table .table > tbody > tr > td {
    min-height: 42px;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.gy-page-modernized .bootstrap-table .fixed-table-pagination {
    padding: 10px 12px 12px;
    border-top: 1px solid var(--gy-card-line-soft);
    background: #ffffff;
}

.gy-page-modernized .fixed-table-pagination .pagination-detail,
.gy-page-modernized .fixed-table-pagination div.pagination {
    margin-top: 0;
    margin-bottom: 0;
}

.gy-page-modernized .pagination > li > a,
.gy-page-modernized .pagination > li > span {
    margin: 0 2px;
    border-color: var(--gy-card-line);
    border-radius: 8px !important;
    color: var(--gy-text-soft);
}

.gy-page-modernized .pagination > .active > a,
.gy-page-modernized .pagination > .active > span {
    border-color: var(--gy-primary) !important;
    background: var(--gy-primary) !important;
    color: #ffffff !important;
}

.gy-page-modernized .gy-modern-panel,
.gy-page-modernized .ibox,
.gy-page-modernized .box {
    margin-bottom: 14px;
    border: 1px solid rgba(218, 226, 236, .94) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .05) !important;
    overflow: hidden;
}

.gy-page-modernized .gy-modern-panel-head,
.gy-page-modernized .ibox-title,
.gy-page-modernized .box-header {
    min-height: 48px;
    padding: 13px 16px !important;
    border-bottom: 1px solid var(--gy-card-line-soft) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 251, 255, .96)) !important;
    color: var(--gy-text);
}

.gy-page-modernized .ibox-title h5,
.gy-page-modernized .box-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--gy-text);
    font-size: 14px;
    font-weight: 820;
    line-height: 1.4;
}

.gy-page-modernized .ibox-title h5:before,
.gy-page-modernized .box-title:before {
    content: "";
    width: 7px;
    height: 18px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--gy-primary), rgba(var(--gy-accent-rgb), .38));
}

.gy-page-modernized .ibox-title h5 i,
.gy-page-modernized .box-title i {
    color: var(--gy-primary);
}

.gy-page-modernized .gy-modern-panel-body,
.gy-page-modernized .ibox-content,
.gy-page-modernized .box-body {
    padding: 16px !important;
    border-color: var(--gy-card-line-soft) !important;
    background: #ffffff !important;
}

.gy-page-monitor .wrapper.wrapper-content > .col-sm-12,
.gy-page-monitor .wrapper.wrapper-content > .row > [class*="col-"] {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    float: none;
}

.gy-page-monitor .wrapper.wrapper-content .row {
    margin-right: -7px;
    margin-left: -7px;
}

.gy-page-monitor .wrapper.wrapper-content [class*="col-"] {
    padding-right: 7px;
    padding-left: 7px;
}

.gy-page-monitor .table,
.gy-page-system .table,
.gy-page-business .table {
    color: var(--gy-text);
}

.gy-page-modernized .table > thead > tr > th {
    border-bottom-color: var(--gy-card-line-soft);
    color: var(--gy-text-soft);
    font-size: 12px;
    font-weight: 820;
}

.gy-page-modernized .table > tbody > tr > td,
.gy-page-modernized .table > tbody > tr > th,
.gy-page-modernized .table > tfoot > tr > td {
    border-top-color: var(--gy-card-line-soft);
}

.gy-page-modernized .table-hover > tbody > tr:hover {
    background: linear-gradient(90deg, rgba(var(--gy-accent-rgb), .095), rgba(var(--gy-accent-rgb), .055) 34%, #f8fbff 100%);
}

.gy-tree-layout-page .ui-layout-west,
.gy-tree-layout-page .ui-layout-center {
    background: var(--gy-page-bg) !important;
}

.gy-tree-layout-page .ui-layout-resizer {
    background: transparent !important;
}

.gy-tree-layout-page .ui-layout-toggler {
    border-radius: 999px;
    background: var(--gy-card-line) !important;
}

.gy-tree-layout-page .ui-layout-west .box-main {
    height: calc(100vh - 20px);
    margin: 10px;
}

.gy-tree-layout-page .ztree {
    padding: 10px;
    border-radius: 10px;
    background: #fbfdff;
}

.gy-tree-layout-page .ztree li a {
    min-height: 26px;
    border-radius: 7px;
    color: var(--gy-text-soft);
}

.gy-tree-layout-page .ztree li a.curSelectedNode,
.gy-tree-layout-page .ztree li a:hover {
    border: 0;
    background: var(--gy-primary-soft);
    color: var(--gy-primary);
}

.gy-legacy-form-page .gy-modern-main-content,
.gy-legacy-form-page .main-content {
    min-height: 100vh;
    padding: 18px 20px 26px !important;
    background: var(--gy-page-bg);
}

.gy-legacy-form-page .gy-modern-horizontal-form,
.gy-legacy-form-page .main-content > .form-horizontal {
    width: 100%;
    max-width: none !important;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 18px 20px 22px;
    border: 1px solid var(--gy-card-line);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
}

.ibox-content > form.form-horizontal,
.box-body > form.form-horizontal,
.default-body > form.form-horizontal,
.single-handover > form.form-horizontal,
.gy-dialog > form.form-horizontal {
    width: 100%;
    max-width: none;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.gy-legacy-form-page .main-content > .form-horizontal > .row {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 14px 18px;
    margin: 0;
}

.gy-legacy-form-page .main-content > .form-horizontal > .row + .row {
    margin-top: 0;
}

.gy-legacy-form-page .main-content > .form-horizontal > .row > [class*="col-"] {
    width: auto;
    min-width: 0;
    padding-right: 0;
    padding-left: 0;
    float: none;
}

.gy-legacy-form-page .main-content > .form-horizontal > .row > .col-sm-12 {
    grid-column: 1 / -1;
}

.gy-legacy-form-page .main-content .form-group,
.gy-legacy-form-page .gy-modern-horizontal-form .form-group {
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
}

.gy-legacy-form-page .main-content .form-group:after,
.gy-legacy-form-page .main-content .form-group:before,
.gy-legacy-form-page .gy-modern-horizontal-form .form-group:after,
.gy-legacy-form-page .gy-modern-horizontal-form .form-group:before {
    display: none;
}

.gy-legacy-form-page .main-content .form-group > .control-label,
.gy-legacy-form-page .main-content .form-group > label[class*="col-sm-"],
.gy-legacy-form-page .gy-modern-horizontal-form .form-group > .control-label,
.gy-legacy-form-page .gy-modern-horizontal-form .form-group > label[class*="col-sm-"] {
    width: auto !important;
    padding: 0 0 7px !important;
    color: var(--gy-text-soft);
    font-size: 13px;
    font-weight: 780;
    text-align: left !important;
    float: none !important;
}

.gy-legacy-form-page .main-content .form-group > [class*="col-sm-"],
.gy-legacy-form-page .gy-modern-horizontal-form .form-group > [class*="col-sm-"] {
    width: auto !important;
    min-width: 0;
    padding-right: 0 !important;
    padding-left: 0 !important;
    float: none !important;
}

.gy-legacy-form-page .main-content > .form-horizontal > .row {
    display: block;
    margin-right: -15px;
    margin-left: -15px;
}

.gy-legacy-form-page .main-content > .form-horizontal > .row:before,
.gy-legacy-form-page .main-content > .form-horizontal > .row:after,
.gy-legacy-form-page .main-content .form-group:before,
.gy-legacy-form-page .main-content .form-group:after {
    display: table;
    content: " ";
}

.gy-legacy-form-page .main-content > .form-horizontal > .row:after,
.gy-legacy-form-page .main-content .form-group:after {
    clear: both;
}

.gy-legacy-form-page .main-content > .form-horizontal > .row > [class*="col-"] {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.gy-legacy-form-page .main-content .form-group {
    margin-right: -15px;
    margin-bottom: 16px;
    margin-left: -15px;
}

.gy-legacy-form-page .main-content .form-group > .control-label,
.gy-legacy-form-page .main-content .form-group > label[class*="col-"] {
    padding: 7px 15px 0 !important;
    text-align: right !important;
    float: left !important;
}

.gy-legacy-form-page .main-content .form-group > [class*="col-"] {
    min-width: 0;
    padding-right: 15px !important;
    padding-left: 15px !important;
    float: left !important;
}

.gy-legacy-form-page .main-content > .form-horizontal > .row > .col-xs-12,
.gy-legacy-form-page .main-content .form-group > .col-xs-12 {
    width: 100% !important;
}

.gy-legacy-form-page .main-content .form-group > .col-xs-10 {
    width: 83.33333333% !important;
}

.gy-legacy-form-page .main-content .form-group > .col-xs-4 {
    width: 33.33333333% !important;
}

.gy-legacy-form-page .main-content .form-group > .col-xs-2,
.gy-legacy-form-page .main-content .form-group > label.col-xs-2 {
    width: 16.66666667% !important;
}

@media (min-width: 768px) {
    .gy-legacy-form-page .main-content > .form-horizontal > .row > .col-sm-12 {
        width: 100% !important;
        float: left;
    }

    .gy-legacy-form-page .main-content > .form-horizontal > .row > .col-sm-6 {
        width: 50% !important;
        float: left;
    }

    .gy-legacy-form-page .main-content .form-group > .col-sm-8 {
        width: 66.66666667% !important;
    }

    .gy-legacy-form-page .main-content .form-group > .col-sm-4,
    .gy-legacy-form-page .main-content .form-group > label.col-sm-4 {
        width: 33.33333333% !important;
    }
}

.gy-legacy-form-page .gy-modern-form-header,
.gy-legacy-form-page .form-header {
    grid-column: 1 / -1;
    margin: 0 0 14px !important;
    padding: 0 0 11px !important;
    border-bottom: 1px solid var(--gy-card-line-soft) !important;
    color: var(--gy-text);
    font-size: 15px;
    font-weight: 840;
}

.gy-legacy-form-page .gy-modern-form-header:before,
.gy-legacy-form-page .form-header:before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 18px;
    margin-right: 8px;
    border-radius: 999px;
    background: var(--gy-primary);
    vertical-align: -3px;
}

.gy-legacy-form-page .input-group-addon {
    border-color: #d8e2ed;
    border-radius: 8px;
    background: #f8fafc;
    color: var(--gy-text-muted);
}

.gy-legacy-form-page .input-group .form-control:first-child {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.gy-legacy-form-page .input-group-addon:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.gy-legacy-form-page .radio-box,
.gy-legacy-form-page .check-box,
.gy-legacy-form-page .checkbox-custom {
    color: var(--gy-text-soft);
    font-weight: 700;
}

.gy-page-declaration .sheet-card,
.gy-page-declaration .default-wrap .ibox,
.gy-page-declaration .material-card {
    border: 1px solid var(--gy-card-line) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .05) !important;
}

.gy-page-declaration .sheet-head {
    border-bottom-color: var(--gy-card-line-soft) !important;
    background: linear-gradient(180deg, #ffffff, #fbfdff) !important;
    color: var(--gy-text) !important;
    font-weight: 840 !important;
}

.gy-page-declaration .sheet-table td {
    border-color: var(--gy-card-line-soft) !important;
}

.gy-page-declaration .sheet-table .label-cell {
    background: #f8fafc !important;
    color: var(--gy-text-soft) !important;
    font-weight: 780;
}

.gy-page-declaration .item-table {
    border-radius: 10px;
    overflow: hidden;
}

.gy-page-declaration .item-table th {
    background: #f8fafc !important;
    color: var(--gy-text-soft);
}

.gy-page-notify .notify-page {
    padding: 18px 20px 26px !important;
}

.gy-page-notify .notify-page > .row {
    margin-right: -7px;
    margin-left: -7px;
}

.gy-page-notify .notify-page > .row > [class*="col-"] {
    padding-right: 7px;
    padding-left: 7px;
}

.gy-page-role .perm-tree,
.gy-page-role .user-card,
.gy-page-dict .drawer-panel,
.gy-page-dict .dict-card-wrap {
    border-color: var(--gy-card-line) !important;
    border-radius: 10px !important;
}

.gy-page-role .tree-group-title {
    border-radius: 8px 8px 0 0 !important;
    background: var(--gy-primary) !important;
}

.gy-page-role .tree-group-body,
.gy-page-role .user-card,
.gy-page-dict .dict-card-key,
.gy-page-dict .drawer-head {
    background: #f8fafc !important;
}

.gy-page-user .profile-user-img,
.gy-page-user .img-circle,
.gy-page-modernized .img-circle {
    border: 2px solid rgba(var(--gy-accent-rgb), .14);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
}

.gy-static-modern {
    min-height: 100vh;
    background:
        radial-gradient(circle at 92% -120px, rgba(var(--gy-accent-rgb), .13), transparent 330px),
        var(--gy-page-bg) !important;
    color: var(--gy-text);
}

.gy-static-modern .dashboard-header {
    margin: 16px 20px 0;
    border: 1px solid var(--gy-card-line);
    border-radius: 14px;
    background:
        radial-gradient(circle at 100% 0, rgba(var(--gy-accent-rgb), .12), transparent 240px),
        #ffffff !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.gy-static-modern .dashboard-header h2 {
    color: var(--gy-text);
    font-weight: 860;
}

.gy-static-modern .dashboard-header p,
.gy-static-modern .dashboard-header li,
.gy-static-modern .dashboard-header small {
    color: var(--gy-text-soft);
    line-height: 1.75;
}

.gy-static-modern .wrapper.wrapper-content {
    padding: 16px 20px 26px !important;
}

.gy-stats-page .no-margins {
    color: var(--gy-text);
    font-weight: 860;
}

.gy-auth-modern {
    min-height: 100vh;
    background:
        radial-gradient(circle at 0 0, rgba(var(--gy-accent-rgb), .16), transparent 330px),
        radial-gradient(circle at 100% 100%, rgba(14, 165, 233, .12), transparent 340px),
        #0f172a !important;
    color: #e5edf7;
}

.gy-auth-modern .signinpanel {
    width: min(980px, calc(100vw - 32px));
    margin: 7vh auto 0;
    padding: 0;
}

.gy-auth-modern .signinpanel > .row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 390px;
    gap: 18px;
    margin: 0;
    align-items: stretch;
}

.gy-auth-modern .signinpanel [class*="col-"] {
    width: auto;
    padding: 0;
    float: none;
}

.gy-auth-modern .signin-info,
.gy-auth-modern #registerForm {
    height: 100%;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 16px;
    background: rgba(255, 255, 255, .08);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
    backdrop-filter: blur(16px);
}

.gy-auth-modern .signin-info {
    padding: 34px;
}

.gy-auth-modern #registerForm {
    padding: 30px;
    background: rgba(255, 255, 255, .94);
    color: var(--gy-text);
}

.gy-auth-modern .signin-info h4,
.gy-auth-modern .signin-info strong,
.gy-auth-modern .signin-info li {
    color: #e5edf7;
}

.gy-auth-modern .signin-info li {
    margin-bottom: 10px;
}

.gy-auth-modern .signin-info li i {
    color: #60a5fa;
}

.gy-auth-modern #registerForm h4 {
    color: var(--gy-text);
    font-size: 22px;
    font-weight: 860;
}

.gy-auth-modern #registerForm p {
    color: var(--gy-text-muted);
}

.gy-auth-modern #registerForm .form-control {
    margin-bottom: 12px;
    background: #f8fafc;
}

.gy-auth-modern .signup-footer {
    margin-top: 16px;
    color: rgba(226, 232, 240, .74);
}

.gy-lock-modern {
    min-height: 100vh;
    background:
        radial-gradient(circle at 20% 10%, rgba(var(--gy-accent-rgb), .20), transparent 300px),
        radial-gradient(circle at 80% 80%, rgba(14, 165, 233, .14), transparent 320px),
        #0f172a !important;
    color: #e5edf7;
}

.gy-lock-modern .lockscreen-wrapper {
    width: min(420px, calc(100vw - 32px));
    max-width: none;
    margin: 10vh auto 0;
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    background: rgba(255, 255, 255, .08);
    box-shadow: 0 26px 76px rgba(0, 0, 0, .32);
    backdrop-filter: blur(16px);
}

.gy-lock-modern .lockscreen-time {
    color: #ffffff;
    font-size: 48px;
    font-weight: 760;
}

.gy-lock-modern .lockscreen-name {
    margin: 18px 0 26px;
    color: rgba(226, 232, 240, .88);
}

.gy-lock-modern .lockscreen-item {
    width: 100%;
    margin: 0 0 18px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 14px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .22);
}

.gy-lock-modern .lockscreen-image {
    left: 18px;
    top: -24px;
    padding: 4px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .20);
}

.gy-lock-modern .lockscreen-credentials {
    margin-left: 96px;
}

.gy-lock-modern .lockscreen-credentials .form-control {
    height: 48px;
    background: transparent;
}

.gy-lock-modern .lockscreen-credentials .btn {
    height: 48px;
    color: var(--gy-primary) !important;
}

.gy-lock-modern .help-block,
.gy-lock-modern a {
    color: rgba(226, 232, 240, .82) !important;
}

.gy-error-page,
.gy-error-static {
    min-height: 100vh;
    background:
        radial-gradient(circle at 50% -100px, rgba(var(--gy-accent-rgb), .16), transparent 320px),
        var(--gy-page-bg) !important;
}

.gy-error-page .gy-modern-error-box,
.gy-error-page .middle-box,
.gy-error-static .middle-box {
    width: min(520px, calc(100vw - 32px));
    max-width: none;
    margin: 11vh auto 0;
    padding: 34px 34px 32px;
    border: 1px solid var(--gy-card-line);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 20px 60px rgba(15, 23, 42, .10);
}

.gy-error-page .middle-box h1,
.gy-error-static .middle-box h1 {
    margin: 0 0 10px;
    color: var(--gy-primary);
    font-size: 82px;
    font-weight: 860;
    line-height: .95;
}

.gy-error-page .middle-box h3,
.gy-error-static .middle-box h3 {
    color: var(--gy-text);
    font-size: 20px;
    font-weight: 840;
}

.gy-error-page .error-desc,
.gy-error-static .error-desc {
    color: var(--gy-text-soft);
    line-height: 1.8;
}

@media (max-width: 960px) {
    .gy-auth-modern .signinpanel > .row,
    .gy-legacy-form-page .main-content > .form-horizontal > .row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .gy-page-modernized .gy-modern-container,
    .gy-page-modernized .wrapper.wrapper-content,
    .gy-legacy-form-page .gy-modern-main-content,
    .gy-legacy-form-page .main-content {
        padding: 12px !important;
    }

    .gy-page-modernized .select-list ul {
        align-items: stretch;
    }

    .gy-page-modernized .select-list li,
    .gy-page-modernized .select-list input,
    .gy-page-modernized .select-list select,
    .gy-page-modernized .select-list .select2-container {
        width: 100% !important;
        min-width: 0;
    }

    .gy-auth-modern .signinpanel {
        margin-top: 16px;
    }

    .gy-auth-modern .signin-info,
    .gy-auth-modern #registerForm,
    .gy-lock-modern .lockscreen-wrapper,
    .gy-error-page .middle-box,
    .gy-error-static .middle-box {
        padding: 22px;
        border-radius: 14px;
    }
}

/* Interaction layer: dirty forms, filter chips, command palette, drawers and upload feedback. */
.gy-unsaved-pill {
    display: none;
    grid-column: 1 / -1;
    align-items: center;
    gap: 8px;
    width: max-content;
    max-width: 100%;
    margin: 0 0 12px;
    padding: 6px 10px;
    border: 1px solid rgba(217, 119, 6, .22);
    border-radius: 999px;
    background: var(--gy-warning-soft);
    color: var(--gy-warning);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.gy-unsaved-pill i {
    font-size: 8px;
}

.gy-form-dirty > .gy-unsaved-pill {
    display: inline-flex;
}

.gy-form-dirty {
    border-color: rgba(217, 119, 6, .30) !important;
    box-shadow: 0 12px 30px rgba(217, 119, 6, .08) !important;
}

.gy-filter-chips {
    display: none;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 4px 0 4px;
    padding-left: 2px;
}

.gy-filter-chips.has-filters {
    display: flex;
}

.gy-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 320px;
    min-height: 30px;
    padding: 5px 7px 5px 10px;
    border: 1px solid var(--gy-primary-line);
    border-radius: 999px;
    background: var(--gy-primary-soft);
    color: var(--gy-primary);
    font-size: 12px;
    line-height: 1.2;
}

.gy-filter-chip strong {
    font-weight: 850;
    white-space: nowrap;
}

.gy-filter-chip span {
    min-width: 0;
    overflow: hidden;
    color: var(--gy-text-soft);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-filter-chip button,
.gy-filter-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: inherit;
    font-weight: 800;
}

.gy-filter-chip button {
    width: 20px;
    height: 20px;
    border-radius: 999px;
}

.gy-filter-chip button:hover,
.gy-filter-clear:hover {
    background: rgba(var(--gy-accent-rgb), .10);
}

.gy-filter-clear {
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    color: var(--gy-text-muted);
}

.gy-bulk-bar {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 10px 12px;
    border-bottom: 1px solid var(--gy-card-line-soft);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 251, 255, .96));
}

.gy-bulk-bar.show {
    display: flex;
    animation: gy-menu-in .14s ease-out;
}

.gy-bulk-info {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--gy-text-soft);
    font-weight: 800;
}

.gy-bulk-info i {
    color: var(--gy-primary);
}

.gy-bulk-info strong {
    color: var(--gy-primary);
}

.gy-bulk-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.gy-bulk-actions button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 5px 10px;
    border: 1px solid var(--gy-card-line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--gy-text-soft);
    font-size: 12px;
    font-weight: 800;
}

.gy-bulk-actions button:hover {
    border-color: var(--gy-primary-line);
    background: var(--gy-primary-soft);
    color: var(--gy-primary);
}

.gy-bulk-actions button.hidden {
    display: none;
}

.gy-bulk-actions button:disabled,
.gy-bulk-actions button.disabled {
    cursor: not-allowed;
    opacity: .45;
    transform: none;
}

.gy-bulk-actions button[data-action="remove"]:hover {
    border-color: rgba(220, 38, 38, .25);
    background: var(--gy-danger-soft);
    color: var(--gy-danger);
}

.gy-bulk-actions button.ghost {
    color: var(--gy-text-muted);
}

.gy-top-progress {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 100000;
    height: 3px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .16s ease;
}

.gy-top-progress.show {
    opacity: 1;
}

.gy-top-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: 0 999px 999px 0;
    background: linear-gradient(90deg, var(--gy-primary), #22c55e);
    box-shadow: 0 0 14px rgba(var(--gy-accent-rgb), .42);
    transition: width .28s ease;
}

.gy-upload-queue {
    display: none;
    gap: 6px;
    margin-top: 8px;
}

.gy-upload-queue.show {
    display: grid;
}

.gy-upload-file {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 9px;
    border: 1px solid var(--gy-card-line-soft);
    border-radius: 8px;
    background: #fbfdff;
    color: var(--gy-text-soft);
    font-size: 12px;
}

.gy-upload-file i {
    color: var(--gy-primary);
}

.gy-upload-file span {
    min-width: 0;
    overflow: hidden;
    color: var(--gy-text);
    font-weight: 760;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-upload-file small {
    color: var(--gy-text-muted);
}

.gy-upload-file em {
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--gy-primary-soft);
    color: var(--gy-primary);
    font-style: normal;
    font-weight: 800;
}

body.gy-uploading .gy-upload-file em {
    background: var(--gy-warning-soft);
    color: var(--gy-warning);
}

.gy-upload-file.is-done em {
    background: var(--gy-success-soft);
    color: var(--gy-success);
}

.gy-upload-file.is-error em {
    background: var(--gy-danger-soft);
    color: var(--gy-danger);
}

.gy-command-palette {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 9vh 18px 18px;
    background: rgba(15, 23, 42, .38);
    backdrop-filter: blur(8px);
}

.gy-command-palette.open {
    display: flex;
}

.gy-command-panel {
    width: min(720px, 100%);
    border: 1px solid rgba(226, 232, 240, .94);
    border-radius: 14px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 28px 80px rgba(15, 23, 42, .24);
    overflow: hidden;
    animation: gy-menu-in .14s ease-out;
}

.gy-command-search {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--gy-card-line-soft);
    color: var(--gy-text-muted);
}

.gy-command-search input {
    width: 100%;
    height: 38px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--gy-text);
    font-size: 15px;
    font-weight: 760;
}

.gy-command-list {
    max-height: min(520px, 62vh);
    padding: 8px;
    overflow: auto;
}

.gy-command-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--gy-text);
    text-align: left;
}

.gy-command-item:hover,
.gy-command-item:focus {
    background: var(--gy-primary-soft);
    color: var(--gy-primary);
    outline: 0;
}

.gy-command-item span {
    min-width: 0;
    overflow: hidden;
    font-weight: 820;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gy-command-item small {
    flex: 0 0 auto;
    color: var(--gy-text-muted);
    font-weight: 760;
}

.gy-command-empty {
    padding: 28px 10px;
    color: var(--gy-text-muted);
    text-align: center;
}

.gy-drawer-layer.layui-layer {
    border-radius: 14px 0 0 14px !important;
    box-shadow: -28px 0 72px rgba(15, 23, 42, .22) !important;
}

.gy-drawer-layer .layui-layer-title {
    height: 54px !important;
    padding-right: 52px !important;
    padding-left: 18px !important;
    line-height: 54px !important;
}

.gy-drawer-layer iframe {
    background: var(--gy-page-bg);
}

.bootstrap-table .no-records-found td,
.bootstrap-table.gy-table-empty .no-records-found td {
    position: relative;
    height: 150px !important;
    padding: 34px 16px !important;
    border-bottom: 0 !important;
    background: linear-gradient(180deg, #fff, #fbfdff) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-align: center;
    vertical-align: middle !important;
}

.bootstrap-table .no-records-found td:before,
.bootstrap-table.gy-table-empty .no-records-found td:before {
    content: "";
    display: block;
    width: 46px;
    height: 46px;
    margin: 0 auto 10px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background:
        linear-gradient(#cbd5e1, #cbd5e1) center 14px / 24px 3px no-repeat,
        linear-gradient(#dbe3ee, #dbe3ee) center 23px / 18px 3px no-repeat,
        linear-gradient(#e6edf5, #e6edf5) center 32px / 12px 3px no-repeat,
        linear-gradient(180deg, #f8fafc, #eef3f8);
    box-shadow: 0 14px 28px rgba(31, 45, 61, .08);
}

.bootstrap-table .no-records-found td:after,
.bootstrap-table.gy-table-empty .no-records-found td:after {
    content: "\6682\65e0\6570\636e";
    display: block;
    color: var(--gy-text-muted);
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    font-weight: 800;
    line-height: 18px;
}

.bootstrap-table .no-records-found:hover td {
    background: linear-gradient(180deg, #fff, #fbfdff) !important;
}

.fixed-table-loading {
    border-radius: 10px;
    background: rgba(255, 255, 255, .88) !important;
    backdrop-filter: blur(6px);
}

.fixed-table-loading .loading-wrap {
    color: var(--gy-primary) !important;
    font-weight: 820;
}

.gy-icon-picker-page {
    min-height: 100vh;
    padding: 14px;
    background: var(--gy-page-bg);
}

.gy-icon-picker-shell {
    display: grid;
    gap: 12px;
}

.gy-icon-picker-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--gy-card-line);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .045);
}

.gy-icon-search {
    position: relative;
}

.gy-icon-search i {
    position: absolute;
    top: 50%;
    left: 11px;
    color: var(--gy-text-muted);
    transform: translateY(-50%);
}

.gy-icon-search input {
    width: 100%;
    height: 38px;
    padding: 0 12px 0 34px;
    border: 1px solid var(--gy-card-line);
    border-radius: 10px;
    outline: 0;
    color: var(--gy-text);
    font-weight: 760;
}

.gy-icon-search input:focus {
    border-color: var(--gy-primary);
    box-shadow: var(--gy-focus-ring);
}

.gy-icon-count {
    color: var(--gy-text-muted);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.gy-icon-picker-page .ico-list,
.gy-icon-picker-shell .ico-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(52px, 1fr));
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--gy-card-line);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .045);
}

.gy-icon-picker-page .ico-list .fa,
.gy-icon-picker-shell .ico-list .fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--gy-text-soft);
    cursor: pointer;
    font-size: 18px;
    transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.gy-icon-picker-page .ico-list .fa:hover,
.gy-icon-picker-page .ico-list .fa.active,
.gy-icon-picker-shell .ico-list .fa:hover,
.gy-icon-picker-shell .ico-list .fa.active {
    border-color: var(--gy-primary-line);
    background: var(--gy-primary-soft);
    color: var(--gy-primary);
    transform: translateY(-1px);
}

.gy-icon-picker-page .ico-list .is-hidden,
.gy-icon-picker-shell .ico-list .is-hidden {
    display: none;
}

@media (max-width: 768px) {
    .gy-bulk-bar,
    .gy-icon-picker-head {
        align-items: stretch;
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .gy-bulk-bar.show {
        display: grid;
    }

    .gy-bulk-actions {
        width: 100%;
    }

    .gy-bulk-actions button {
        flex: 1 1 auto;
    }
}

/* Business-surface visual refinement: denser scanning, clearer state and safer narrow layouts. */
:root {
    --gy-card-shadow-flat: 0 1px 2px rgba(15, 23, 42, .035);
    --gy-card-shadow-lift: 0 14px 34px rgba(15, 23, 42, .075);
    --gy-row-hover: #f7fbff;
    --gy-row-selected: #eef6ff;
}

.gy-page-modernized .gy-modern-search {
    box-shadow: var(--gy-card-shadow-flat), 0 12px 30px rgba(15, 23, 42, .035) !important;
}

.gy-page-modernized .gy-modern-search:hover {
    border-color: rgba(var(--gy-accent-rgb), .18) !important;
}

.gy-page-modernized .select-list ul {
    display: flex;
    flex-wrap: wrap;
}

.gy-page-modernized .select-list li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.gy-page-modernized .select-list input,
.gy-page-modernized .select-list select,
.gy-page-modernized .select-list .select2-container {
    width: min(188px, 100%) !important;
}

.gy-page-modernized .gy-modern-toolbar,
.gy-page-modernized #toolbar.btn-group-sm {
    padding-top: 4px !important;
}

.gy-page-modernized .gy-modern-toolbar .btn,
.gy-page-modernized #toolbar .btn {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.gy-page-modernized .bootstrap-table {
    box-shadow: var(--gy-card-shadow-flat), 0 16px 36px rgba(15, 23, 42, .04);
}

.gy-page-modernized .bootstrap-table .table > thead > tr > th {
    box-shadow: inset 0 -1px 0 var(--gy-card-line-soft);
    white-space: nowrap;
}

.gy-page-modernized .bootstrap-table .table > tbody > tr {
    transition: background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.gy-page-modernized .bootstrap-table .table > tbody > tr:hover {
    background: linear-gradient(90deg, rgba(var(--gy-accent-rgb), .105), rgba(var(--gy-accent-rgb), .062) 36%, var(--gy-row-hover) 100%) !important;
}

.gy-page-modernized .bootstrap-table .table > tbody > tr:hover > td {
    background: transparent !important;
    box-shadow: none;
}

.gy-page-modernized .bootstrap-table .table > tbody > tr.selected {
    background: linear-gradient(90deg, rgba(var(--gy-accent-rgb), .14), var(--gy-row-selected) 44%, #f7fbff 100%) !important;
}

.gy-page-modernized .bootstrap-table .table > tbody > tr.selected > td {
    background: transparent !important;
    box-shadow: none;
}

.gy-page-modernized .bootstrap-table .fixed-table-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.fd-dashboard .fd-hero {
    overflow: hidden;
}

.fd-dashboard .fd-hero:before {
    content: "";
    position: absolute;
    top: -70px;
    right: -90px;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    pointer-events: none;
}

.fd-dashboard .fd-hero > * {
    position: relative;
    z-index: 1;
}

.fd-dashboard .fd-summary-card,
.fd-dashboard .fd-order-mix-card,
.fd-dashboard .fd-order-row,
.fd-dashboard .fd-task-item,
.fd-dashboard .fd-focus-card,
.fd-dashboard .fd-metric,
.fd-follow-page .fd-kpi,
.fd-follow-page .fd-process-node,
.fd-follow-page .fd-status-column,
.fd-follow-page .fd-timeline-card,
.fd-product-card {
    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        transform .16s ease,
        background .16s ease;
}

.fd-dashboard .fd-summary-card:hover,
.fd-dashboard .fd-order-mix-card:hover,
.fd-dashboard .fd-order-row:hover,
.fd-dashboard .fd-task-item:hover,
.fd-dashboard .fd-focus-card:hover,
.fd-dashboard .fd-metric:hover,
.fd-follow-page .fd-kpi:hover,
.fd-follow-page .fd-process-node:hover,
.fd-follow-page .fd-timeline-card:hover,
.fd-product-card:hover {
    transform: translateY(-1px);
    box-shadow: var(--gy-card-shadow-lift) !important;
}

.fd-follow-page .fd-process-node {
    position: relative;
}

.fd-follow-page .fd-process-node:before {
    content: "";
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: -1px;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: currentColor;
    opacity: .42;
    pointer-events: none;
}

.fd-follow-page .fd-process-node.done:before {
    color: var(--gy-success);
}

.fd-follow-page .fd-process-node.processing:before,
.fd-follow-page .fd-process-node.active:before {
    color: var(--gy-primary);
    opacity: .88;
}

.fd-follow-page .fd-process-node.exception:before {
    color: var(--gy-danger);
    opacity: .88;
}

.fd-follow-page .fd-product-tabs {
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, .5) transparent;
}

.fd-follow-page .fd-product-tab {
    min-height: 52px;
}

.fd-follow-page .fd-product-tab:hover {
    border-color: var(--gy-primary-line) !important;
    background: #fbfdff !important;
}

.fd-follow-page .fd-product-tab.active:hover {
    background: var(--gy-primary-soft) !important;
}

.fd-follow-page .fd-node-actions .btn,
.fd-follow-page .fd-paper-actions .btn,
.fd-follow-page .fd-head-actions .btn,
.fd-product-title-actions .btn {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.fd-follow-page .fd-progress,
.fd-dashboard .fd-progress,
.fd-dashboard .fd-order-progress {
    background: #e8eef6;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, .035);
}

.fd-follow-page .fd-progress span,
.fd-dashboard .fd-progress span,
.fd-dashboard .fd-order-progress span {
    background: linear-gradient(90deg, var(--gy-primary), var(--gy-success));
}

.layui-layer,
.gy-layer.layui-layer {
    box-shadow: 0 28px 70px rgba(15, 23, 42, .20) !important;
}

.layui-layer-btn {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.layui-layer-btn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0 !important;
}

body.theme-blue.skin-purple .layui-layer,
body.theme-blue.skin-purple .gy-layer.layui-layer,
body.theme-blue.skin-purple .modal-content,
body.theme-blue.skin-red .layui-layer,
body.theme-blue.skin-red .gy-layer.layui-layer,
body.theme-blue.skin-red .modal-content,
body.theme-blue.skin-yellow .layui-layer,
body.theme-blue.skin-yellow .gy-layer.layui-layer,
body.theme-blue.skin-yellow .modal-content {
    border: 1px solid rgba(255, 255, 255, .42) !important;
    background:
        radial-gradient(circle at 100% 0, rgba(var(--gy-accent-rgb), .14), transparent 38%),
        linear-gradient(135deg, rgba(255, 255, 255, .88), rgba(255, 255, 255, .70)) !important;
    box-shadow: var(--gy-glass-shadow), 0 0 0 1px rgba(var(--gy-accent-rgb), .08) !important;
    backdrop-filter: blur(24px) saturate(138%);
    -webkit-backdrop-filter: blur(24px) saturate(138%);
    animation: gy-glass-layer-in .24s cubic-bezier(.16, 1, .3, 1);
}

body.theme-blue.skin-purple .layui-layer-title,
body.theme-blue.skin-purple .modal-header,
body.theme-blue.skin-red .layui-layer-title,
body.theme-blue.skin-red .modal-header,
body.theme-blue.skin-yellow .layui-layer-title,
body.theme-blue.skin-yellow .modal-header {
    border-bottom-color: rgba(255, 255, 255, .38) !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .82), rgba(var(--gy-accent-rgb), .08)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .64);
    backdrop-filter: blur(18px) saturate(136%);
    -webkit-backdrop-filter: blur(18px) saturate(136%);
}

body.theme-blue.skin-purple .layui-layer-content,
body.theme-blue.skin-red .layui-layer-content,
body.theme-blue.skin-yellow .layui-layer-content {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .62), rgba(248, 250, 252, .84)) !important;
}

body.theme-blue.skin-purple .layui-layer-btn,
body.theme-blue.skin-purple .modal-footer,
body.theme-blue.skin-red .layui-layer-btn,
body.theme-blue.skin-red .modal-footer,
body.theme-blue.skin-yellow .layui-layer-btn,
body.theme-blue.skin-yellow .modal-footer {
    border-top-color: rgba(255, 255, 255, .40) !important;
    background: rgba(255, 255, 255, .68) !important;
    backdrop-filter: blur(18px) saturate(136%);
    -webkit-backdrop-filter: blur(18px) saturate(136%);
}

body.theme-blue.skin-purple .layui-layer-btn .layui-layer-btn0,
body.theme-blue.skin-red .layui-layer-btn .layui-layer-btn0,
body.theme-blue.skin-yellow .layui-layer-btn .layui-layer-btn0 {
    border-color: rgba(255, 255, 255, .28) !important;
    background:
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .98), rgba(var(--gy-glass-accent-2-rgb), .84)) !important;
    box-shadow: 0 12px 26px rgba(var(--gy-accent-rgb), .22), inset 0 1px 0 rgba(255, 255, 255, .38);
}

body.theme-blue.skin-purple .dropdown-menu,
body.theme-blue.skin-red .dropdown-menu,
body.theme-blue.skin-yellow .dropdown-menu {
    border-color: rgba(255, 255, 255, .44);
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 22px 58px rgba(15, 23, 42, .18);
    backdrop-filter: blur(20px) saturate(136%);
    -webkit-backdrop-filter: blur(20px) saturate(136%);
}

@keyframes gy-glass-layer-in {
    from {
        opacity: 0;
        transform: translateY(12px) scale(.985);
        filter: blur(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

@media (max-width: 860px) {
    .gy-page-modernized .gy-modern-container,
    .gy-page-modernized .wrapper.wrapper-content {
        padding: 12px !important;
    }

    .gy-page-modernized .gy-modern-search {
        padding: 14px 14px 10px !important;
    }

    .gy-page-modernized .select-list li {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
        gap: 6px;
    }

    .gy-page-modernized .select-list input,
    .gy-page-modernized .select-list select,
    .gy-page-modernized .select-list .select2-container {
        width: 100% !important;
        min-width: 0;
    }

    .gy-page-modernized .gy-modern-toolbar,
    .gy-page-modernized #toolbar.btn-group-sm {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .gy-page-modernized .gy-modern-toolbar .btn,
    .gy-page-modernized #toolbar .btn {
        width: 100%;
        min-width: 0;
    }

    .gy-page-modernized .bootstrap-table .fixed-table-toolbar {
        display: grid;
        gap: 8px;
    }

    .gy-page-modernized .bootstrap-table .fixed-table-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .fd-follow-page .fd-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .fd-follow-page .fd-product-tab {
        min-width: 132px;
    }
}

@media (max-width: 520px) {
    .gy-page-modernized .gy-modern-toolbar,
    .gy-page-modernized #toolbar.btn-group-sm,
    .fd-follow-page .fd-kpis {
        grid-template-columns: 1fr !important;
    }

    .fd-follow-page .fd-title-row,
    .fd-follow-page .fd-paper-header,
    .fd-follow-page .fd-section-head {
        align-items: stretch;
    }

    .fd-follow-page .fd-head-actions,
    .fd-follow-page .fd-paper-actions,
    .fd-follow-page .fd-node-actions,
    .fd-product-title-actions {
        width: 100%;
    }

    .fd-follow-page .fd-head-actions .btn,
    .fd-follow-page .fd-paper-actions .btn,
    .fd-follow-page .fd-node-actions .btn,
    .fd-product-title-actions .btn {
        flex: 1 1 auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fd-dashboard .fd-summary-card:hover,
    .fd-dashboard .fd-order-mix-card:hover,
    .fd-dashboard .fd-order-row:hover,
    .fd-dashboard .fd-task-item:hover,
    .fd-dashboard .fd-focus-card:hover,
    .fd-dashboard .fd-metric:hover,
    .fd-follow-page .fd-kpi:hover,
    .fd-follow-page .fd-process-node:hover,
    .fd-follow-page .fd-timeline-card:hover,
    .fd-product-card:hover {
        transform: none !important;
    }
}

/* Liquid glass finish for the three glass themes. */
body.theme-blue.skin-purple,
body.theme-blue.skin-red,
body.theme-blue.skin-yellow,
body.gy-themed-page.theme-blue.skin-purple,
body.gy-themed-page.theme-blue.skin-red,
body.gy-themed-page.theme-blue.skin-yellow {
    --gy-liquid-surface: rgba(255, 255, 255, .66);
    --gy-liquid-surface-strong: rgba(255, 255, 255, .82);
    --gy-liquid-surface-soft: rgba(255, 255, 255, .46);
    --gy-liquid-edge: rgba(255, 255, 255, .68);
    --gy-liquid-inner-edge: rgba(255, 255, 255, .42);
    --gy-liquid-shadow: 0 24px 70px rgba(15, 23, 42, .18);
    --gy-liquid-highlight: linear-gradient(135deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .10) 38%, transparent 64%);
    --gy-liquid-lens: radial-gradient(circle at 18% 12%, rgba(255, 255, 255, .78), transparent 22%),
        radial-gradient(circle at 92% 8%, rgba(var(--gy-glass-accent-2-rgb), .20), transparent 26%),
        radial-gradient(circle at 78% 92%, rgba(var(--gy-accent-rgb), .18), transparent 34%);
}

body.theme-blue.skin-purple,
body.gy-themed-page.theme-blue.skin-purple {
    --gy-liquid-field-a: rgba(139, 92, 246, .24);
    --gy-liquid-field-b: rgba(34, 211, 238, .18);
    --gy-liquid-field-c: rgba(99, 102, 241, .14);
}

body.theme-blue.skin-red,
body.gy-themed-page.theme-blue.skin-red {
    --gy-liquid-field-a: rgba(239, 68, 68, .22);
    --gy-liquid-field-b: rgba(249, 115, 22, .18);
    --gy-liquid-field-c: rgba(244, 63, 94, .13);
}

body.theme-blue.skin-yellow,
body.gy-themed-page.theme-blue.skin-yellow {
    --gy-liquid-field-a: rgba(245, 158, 11, .25);
    --gy-liquid-field-b: rgba(253, 224, 71, .18);
    --gy-liquid-field-c: rgba(20, 184, 166, .12);
}

body.theme-blue.skin-purple #page-wrapper,
body.theme-blue.skin-red #page-wrapper,
body.theme-blue.skin-yellow #page-wrapper,
body.gy-themed-page.theme-blue.skin-purple,
body.gy-themed-page.theme-blue.skin-red,
body.gy-themed-page.theme-blue.skin-yellow {
    background:
        radial-gradient(circle at 14% 8%, var(--gy-liquid-field-a), transparent 30%),
        radial-gradient(circle at 92% 10%, var(--gy-liquid-field-b), transparent 34%),
        radial-gradient(circle at 68% 92%, var(--gy-liquid-field-c), transparent 38%),
        linear-gradient(180deg, #f8fbff 0%, #f3f6fb 46%, #eef3f9 100%) !important;
}

body.theme-blue.skin-purple #page-wrapper,
body.theme-blue.skin-red #page-wrapper,
body.theme-blue.skin-yellow #page-wrapper {
    position: relative;
    overflow: hidden;
}

body.theme-blue.skin-purple #page-wrapper:before,
body.theme-blue.skin-red #page-wrapper:before,
body.theme-blue.skin-yellow #page-wrapper:before,
body.gy-themed-page.theme-blue.skin-purple:before,
body.gy-themed-page.theme-blue.skin-red:before,
body.gy-themed-page.theme-blue.skin-yellow:before {
    content: "";
    position: fixed;
    inset: -18% -12%;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 22% 24%, rgba(255, 255, 255, .55), transparent 18%),
        radial-gradient(circle at 74% 16%, var(--gy-liquid-field-b), transparent 24%),
        radial-gradient(circle at 50% 78%, var(--gy-liquid-field-a), transparent 28%),
        radial-gradient(circle at 92% 88%, var(--gy-liquid-field-c), transparent 22%);
    filter: blur(16px) saturate(1.18);
    opacity: .78;
    transform: translate3d(0, 0, 0);
    animation: gy-liquid-field-drift 12s ease-in-out infinite alternate;
}

body.theme-blue.skin-purple #page-wrapper > *,
body.theme-blue.skin-red #page-wrapper > *,
body.theme-blue.skin-yellow #page-wrapper > *,
body.gy-themed-page.theme-blue.skin-purple > *,
body.gy-themed-page.theme-blue.skin-red > *,
body.gy-themed-page.theme-blue.skin-yellow > * {
    position: relative;
    z-index: 1;
}

body.theme-blue.skin-purple .navbar.navbar-static-top,
body.theme-blue.skin-red .navbar.navbar-static-top,
body.theme-blue.skin-yellow .navbar.navbar-static-top,
body.theme-blue.skin-purple .content-tabs,
body.theme-blue.skin-red .content-tabs,
body.theme-blue.skin-yellow .content-tabs,
body.theme-blue.skin-purple .sidebar-collapse .user-panel,
body.theme-blue.skin-red .sidebar-collapse .user-panel,
body.theme-blue.skin-yellow .sidebar-collapse .user-panel,
body.gy-themed-page.theme-blue.skin-purple .gy-modern-search,
body.gy-themed-page.theme-blue.skin-red .gy-modern-search,
body.gy-themed-page.theme-blue.skin-yellow .gy-modern-search,
body.gy-themed-page.theme-blue.skin-purple .bootstrap-table,
body.gy-themed-page.theme-blue.skin-red .bootstrap-table,
body.gy-themed-page.theme-blue.skin-yellow .bootstrap-table,
body.gy-themed-page.theme-blue.skin-purple .gy-modern-panel,
body.gy-themed-page.theme-blue.skin-red .gy-modern-panel,
body.gy-themed-page.theme-blue.skin-yellow .gy-modern-panel,
body.gy-themed-page.theme-blue.skin-purple .ibox,
body.gy-themed-page.theme-blue.skin-red .ibox,
body.gy-themed-page.theme-blue.skin-yellow .ibox,
body.gy-themed-page.theme-blue.skin-purple .box,
body.gy-themed-page.theme-blue.skin-red .box,
body.gy-themed-page.theme-blue.skin-yellow .box,
body.gy-themed-page.theme-blue.skin-purple .fd-follow-head,
body.gy-themed-page.theme-blue.skin-red .fd-follow-head,
body.gy-themed-page.theme-blue.skin-yellow .fd-follow-head,
body.gy-themed-page.theme-blue.skin-purple .fd-products,
body.gy-themed-page.theme-blue.skin-red .fd-products,
body.gy-themed-page.theme-blue.skin-yellow .fd-products,
body.gy-themed-page.theme-blue.skin-purple .fd-kpi,
body.gy-themed-page.theme-blue.skin-red .fd-kpi,
body.gy-themed-page.theme-blue.skin-yellow .fd-kpi,
body.gy-themed-page.theme-blue.skin-purple .fd-paper-panel,
body.gy-themed-page.theme-blue.skin-red .fd-paper-panel,
body.gy-themed-page.theme-blue.skin-yellow .fd-paper-panel,
body.gy-themed-page.theme-blue.skin-purple .fd-process-timeline,
body.gy-themed-page.theme-blue.skin-red .fd-process-timeline,
body.gy-themed-page.theme-blue.skin-yellow .fd-process-timeline {
    border-color: var(--gy-liquid-edge) !important;
    background:
        var(--gy-liquid-highlight),
        var(--gy-liquid-lens),
        linear-gradient(135deg, var(--gy-liquid-surface-strong), var(--gy-liquid-surface-soft)) !important;
    box-shadow:
        var(--gy-liquid-shadow),
        inset 0 1px 0 rgba(255, 255, 255, .86),
        inset 0 -1px 0 rgba(var(--gy-accent-rgb), .12),
        inset 1px 0 0 var(--gy-liquid-inner-edge) !important;
    backdrop-filter: blur(28px) saturate(1.55) contrast(1.03);
    -webkit-backdrop-filter: blur(28px) saturate(1.55) contrast(1.03);
}

body.theme-blue.skin-purple .navbar.navbar-static-top,
body.theme-blue.skin-red .navbar.navbar-static-top,
body.theme-blue.skin-yellow .navbar.navbar-static-top,
body.theme-blue.skin-purple .content-tabs,
body.theme-blue.skin-red .content-tabs,
body.theme-blue.skin-yellow .content-tabs,
body.theme-blue.skin-purple .navbar-default.navbar-static-side,
body.theme-blue.skin-red .navbar-default.navbar-static-side,
body.theme-blue.skin-yellow .navbar-default.navbar-static-side {
    overflow: hidden;
}

body.theme-blue.skin-purple .navbar.navbar-static-top:before,
body.theme-blue.skin-red .navbar.navbar-static-top:before,
body.theme-blue.skin-yellow .navbar.navbar-static-top:before,
body.theme-blue.skin-purple .content-tabs:before,
body.theme-blue.skin-red .content-tabs:before,
body.theme-blue.skin-yellow .content-tabs:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(120px 32px at 18% 12%, rgba(255, 255, 255, .84), transparent 68%),
        radial-gradient(160px 48px at 82% 0, rgba(var(--gy-glass-accent-2-rgb), .18), transparent 70%),
        linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, .36) 42%, transparent 74%);
    opacity: .86;
    animation: gy-liquid-sheen 5.8s ease-in-out infinite;
}

body.theme-blue.skin-purple .navbar.navbar-static-top > *,
body.theme-blue.skin-red .navbar.navbar-static-top > *,
body.theme-blue.skin-yellow .navbar.navbar-static-top > *,
body.theme-blue.skin-purple .content-tabs > *,
body.theme-blue.skin-red .content-tabs > *,
body.theme-blue.skin-yellow .content-tabs > * {
    position: relative;
    z-index: 1;
}

body.theme-blue.skin-purple .navbar-default.navbar-static-side,
body.theme-blue.skin-red .navbar-default.navbar-static-side,
body.theme-blue.skin-yellow .navbar-default.navbar-static-side {
    background:
        radial-gradient(circle at 10% 4%, rgba(255, 255, 255, .20), transparent 18%),
        radial-gradient(circle at 92% 18%, rgba(var(--gy-accent-rgb), .52), transparent 34%),
        radial-gradient(circle at 18% 86%, rgba(var(--gy-glass-accent-2-rgb), .30), transparent 38%),
        linear-gradient(160deg, rgba(255, 255, 255, .12), transparent 24%),
        linear-gradient(180deg, var(--gy-shell-sidebar), var(--gy-shell-sidebar-strong)) !important;
    box-shadow:
        18px 0 58px rgba(15, 23, 42, .28),
        inset -1px 0 0 rgba(255, 255, 255, .18),
        inset 1px 0 0 rgba(255, 255, 255, .10) !important;
    backdrop-filter: blur(32px) saturate(1.55) contrast(1.04);
    -webkit-backdrop-filter: blur(32px) saturate(1.55) contrast(1.04);
}

body.theme-blue.skin-purple .navbar-default.navbar-static-side:before,
body.theme-blue.skin-red .navbar-default.navbar-static-side:before,
body.theme-blue.skin-yellow .navbar-default.navbar-static-side:before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(112deg, rgba(255, 255, 255, .18), transparent 34%),
        radial-gradient(120px 220px at 100% 18%, rgba(255, 255, 255, .12), transparent 72%);
    mix-blend-mode: screen;
    opacity: .78;
}

body.theme-blue.skin-purple .navbar-static-side .nav:not(.navbar-toolbar) > li > a:hover,
body.theme-blue.skin-purple .navbar-static-side .nav:not(.navbar-toolbar) > li > a:focus,
body.theme-blue.skin-purple .navbar-static-side .nav:not(.navbar-toolbar) > li.active > a,
body.theme-blue.skin-purple .navbar-static-side .nav:not(.navbar-toolbar) > li.selected > a,
body.theme-blue.skin-red .navbar-static-side .nav:not(.navbar-toolbar) > li > a:hover,
body.theme-blue.skin-red .navbar-static-side .nav:not(.navbar-toolbar) > li > a:focus,
body.theme-blue.skin-red .navbar-static-side .nav:not(.navbar-toolbar) > li.active > a,
body.theme-blue.skin-red .navbar-static-side .nav:not(.navbar-toolbar) > li.selected > a,
body.theme-blue.skin-yellow .navbar-static-side .nav:not(.navbar-toolbar) > li > a:hover,
body.theme-blue.skin-yellow .navbar-static-side .nav:not(.navbar-toolbar) > li > a:focus,
body.theme-blue.skin-yellow .navbar-static-side .nav:not(.navbar-toolbar) > li.active > a,
body.theme-blue.skin-yellow .navbar-static-side .nav:not(.navbar-toolbar) > li.selected > a {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .08)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .28),
        inset 0 -1px 0 rgba(255, 255, 255, .10),
        0 10px 28px rgba(var(--gy-accent-rgb), .16) !important;
    backdrop-filter: blur(18px) saturate(1.4);
    -webkit-backdrop-filter: blur(18px) saturate(1.4);
}

body.theme-blue.skin-purple .page-tabs a,
body.theme-blue.skin-red .page-tabs a,
body.theme-blue.skin-yellow .page-tabs a,
body.theme-blue.skin-purple .content-tabs .roll-nav,
body.theme-blue.skin-purple .content-tabs button,
body.theme-blue.skin-red .content-tabs .roll-nav,
body.theme-blue.skin-red .content-tabs button,
body.theme-blue.skin-yellow .content-tabs .roll-nav,
body.theme-blue.skin-yellow .content-tabs button,
body.theme-blue.skin-purple .navbar-minimalize.minimalize-styl-2,
body.theme-blue.skin-red .navbar-minimalize.minimalize-styl-2,
body.theme-blue.skin-yellow .navbar-minimalize.minimalize-styl-2,
body.theme-blue.skin-purple .nav.navbar-top-links > li > a,
body.theme-blue.skin-red .nav.navbar-top-links > li > a,
body.theme-blue.skin-yellow .nav.navbar-top-links > li > a {
    border-color: rgba(255, 255, 255, .58) !important;
    background:
        radial-gradient(circle at 18% 8%, rgba(255, 255, 255, .72), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .70), rgba(255, 255, 255, .36)) !important;
    box-shadow:
        0 10px 26px rgba(15, 23, 42, .08),
        inset 0 1px 0 rgba(255, 255, 255, .78),
        inset 0 -1px 0 rgba(var(--gy-accent-rgb), .10) !important;
    backdrop-filter: blur(22px) saturate(1.52);
    -webkit-backdrop-filter: blur(22px) saturate(1.52);
}

body.theme-blue.skin-purple .page-tabs a.active,
body.theme-blue.skin-purple .page-tabs a.active:hover,
body.theme-blue.skin-purple .page-tabs a.active:focus,
body.theme-blue.skin-red .page-tabs a.active,
body.theme-blue.skin-red .page-tabs a.active:hover,
body.theme-blue.skin-red .page-tabs a.active:focus,
body.theme-blue.skin-yellow .page-tabs a.active,
body.theme-blue.skin-yellow .page-tabs a.active:hover,
body.theme-blue.skin-yellow .page-tabs a.active:focus,
body.theme-blue.skin-purple .btn-primary,
body.theme-blue.skin-purple .btn-success,
body.theme-blue.skin-purple .btn-info,
body.theme-blue.skin-red .btn-primary,
body.theme-blue.skin-red .btn-success,
body.theme-blue.skin-red .btn-info,
body.theme-blue.skin-yellow .btn-primary,
body.theme-blue.skin-yellow .btn-success,
body.theme-blue.skin-yellow .btn-info {
    border-color: rgba(255, 255, 255, .62) !important;
    background:
        radial-gradient(circle at 18% 8%, rgba(255, 255, 255, .86), transparent 20%),
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .98) 0%, rgba(var(--gy-glass-accent-2-rgb), .84) 68%, rgba(255, 255, 255, .44) 100%) !important;
    box-shadow:
        0 16px 36px rgba(var(--gy-accent-rgb), .28),
        inset 0 1px 0 rgba(255, 255, 255, .78),
        inset 0 -2px 0 rgba(0, 0, 0, .10) !important;
}

body.theme-blue.skin-purple .layui-layer,
body.theme-blue.skin-purple .gy-layer.layui-layer,
body.theme-blue.skin-purple .modal-content,
body.theme-blue.skin-red .layui-layer,
body.theme-blue.skin-red .gy-layer.layui-layer,
body.theme-blue.skin-red .modal-content,
body.theme-blue.skin-yellow .layui-layer,
body.theme-blue.skin-yellow .gy-layer.layui-layer,
body.theme-blue.skin-yellow .modal-content {
    position: relative;
    overflow: hidden;
    border-color: rgba(255, 255, 255, .64) !important;
    background:
        radial-gradient(circle at 14% 4%, rgba(255, 255, 255, .76), transparent 22%),
        radial-gradient(circle at 88% 0, rgba(var(--gy-accent-rgb), .20), transparent 32%),
        radial-gradient(circle at 92% 100%, rgba(var(--gy-glass-accent-2-rgb), .15), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .84), rgba(255, 255, 255, .56)) !important;
    box-shadow:
        0 36px 96px rgba(15, 23, 42, .28),
        0 0 0 1px rgba(var(--gy-accent-rgb), .08),
        inset 0 1px 0 rgba(255, 255, 255, .88),
        inset 0 -1px 0 rgba(var(--gy-accent-rgb), .12) !important;
    backdrop-filter: blur(34px) saturate(1.65) contrast(1.04);
    -webkit-backdrop-filter: blur(34px) saturate(1.65) contrast(1.04);
    animation: gy-liquid-pop .30s cubic-bezier(.16, 1, .3, 1);
}

body.theme-blue.skin-purple .layui-layer:before,
body.theme-blue.skin-purple .modal-content:before,
body.theme-blue.skin-red .layui-layer:before,
body.theme-blue.skin-red .modal-content:before,
body.theme-blue.skin-yellow .layui-layer:before,
body.theme-blue.skin-yellow .modal-content:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(110deg, rgba(255, 255, 255, .52), transparent 30%, rgba(255, 255, 255, .22) 56%, transparent 78%),
        radial-gradient(220px 72px at 18% 0, rgba(255, 255, 255, .72), transparent 68%);
    opacity: .86;
    animation: gy-liquid-sheen 6.4s ease-in-out infinite;
}

body.theme-blue.skin-purple .layui-layer > *,
body.theme-blue.skin-purple .modal-content > *,
body.theme-blue.skin-red .layui-layer > *,
body.theme-blue.skin-red .modal-content > *,
body.theme-blue.skin-yellow .layui-layer > *,
body.theme-blue.skin-yellow .modal-content > * {
    position: relative;
    z-index: 1;
}

body.theme-blue.skin-purple .layui-layer-title,
body.theme-blue.skin-purple .modal-header,
body.theme-blue.skin-red .layui-layer-title,
body.theme-blue.skin-red .modal-header,
body.theme-blue.skin-yellow .layui-layer-title,
body.theme-blue.skin-yellow .modal-header,
body.theme-blue.skin-purple .layui-layer-btn,
body.theme-blue.skin-purple .modal-footer,
body.theme-blue.skin-red .layui-layer-btn,
body.theme-blue.skin-red .modal-footer,
body.theme-blue.skin-yellow .layui-layer-btn,
body.theme-blue.skin-yellow .modal-footer {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .70), rgba(255, 255, 255, .32)) !important;
    backdrop-filter: blur(26px) saturate(1.55);
    -webkit-backdrop-filter: blur(26px) saturate(1.55);
}

@keyframes gy-liquid-field-drift {
    0% {
        transform: translate3d(-1.5%, -1%, 0) scale(1);
    }
    50% {
        transform: translate3d(1.5%, .8%, 0) scale(1.025);
    }
    100% {
        transform: translate3d(-.5%, 1.5%, 0) scale(1.015);
    }
}

@keyframes gy-liquid-sheen {
    0%,
    100% {
        opacity: .56;
        transform: translateX(-10%);
    }
    48% {
        opacity: .94;
        transform: translateX(10%);
    }
}

@keyframes gy-liquid-pop {
    from {
        opacity: 0;
        transform: translateY(16px) scale(.976);
        filter: blur(8px) saturate(1.25);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0) saturate(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.theme-blue.skin-purple #page-wrapper:before,
    body.theme-blue.skin-red #page-wrapper:before,
    body.theme-blue.skin-yellow #page-wrapper:before,
    body.gy-themed-page.theme-blue.skin-purple:before,
    body.gy-themed-page.theme-blue.skin-red:before,
    body.gy-themed-page.theme-blue.skin-yellow:before,
    body.theme-blue.skin-purple .navbar.navbar-static-top:before,
    body.theme-blue.skin-red .navbar.navbar-static-top:before,
    body.theme-blue.skin-yellow .navbar.navbar-static-top:before,
    body.theme-blue.skin-purple .content-tabs:before,
    body.theme-blue.skin-red .content-tabs:before,
    body.theme-blue.skin-yellow .content-tabs:before,
    body.theme-blue.skin-purple .layui-layer:before,
    body.theme-blue.skin-purple .modal-content:before,
    body.theme-blue.skin-red .layui-layer:before,
    body.theme-blue.skin-red .modal-content:before,
    body.theme-blue.skin-yellow .layui-layer:before,
    body.theme-blue.skin-yellow .modal-content:before {
        animation: none !important;
    }
}

/* Final liquid-glass control layer: keep semantic button colors and upgrade form controls. */
body.theme-blue.skin-purple,
body.theme-blue.skin-red,
body.theme-blue.skin-yellow,
body.gy-themed-page.theme-blue.skin-purple,
body.gy-themed-page.theme-blue.skin-red,
body.gy-themed-page.theme-blue.skin-yellow {
    --gy-liquid-control-bg: rgba(255, 255, 255, .54);
    --gy-liquid-control-bg-strong: rgba(255, 255, 255, .74);
    --gy-liquid-control-bg-soft: rgba(255, 255, 255, .38);
    --gy-liquid-control-border: rgba(255, 255, 255, .72);
    --gy-liquid-control-border-soft: rgba(255, 255, 255, .52);
    --gy-liquid-control-text: #27364a;
    --gy-liquid-control-muted: #6c7b8f;
    --gy-liquid-btn-shadow: 0 12px 28px rgba(15, 23, 42, .10), inset 0 1px 0 rgba(255, 255, 255, .68);
    --gy-liquid-success-rgb: 16, 185, 129;
    --gy-liquid-success-2-rgb: 52, 211, 153;
    --gy-liquid-info-rgb: 14, 165, 233;
    --gy-liquid-info-2-rgb: 34, 211, 238;
    --gy-liquid-warning-rgb: 245, 158, 11;
    --gy-liquid-warning-2-rgb: 253, 224, 71;
    --gy-liquid-danger-rgb: 239, 68, 68;
    --gy-liquid-danger-2-rgb: 244, 63, 94;
}

body.theme-blue.skin-purple .form-control,
body.theme-blue.skin-purple .select-list input,
body.theme-blue.skin-purple .select-list select,
body.theme-blue.skin-purple .input-group-addon,
body.theme-blue.skin-purple .select2-container--bootstrap .select2-selection,
body.theme-blue.skin-purple .select2-container--default .select2-selection--single,
body.theme-blue.skin-purple .select2-container--default .select2-selection--multiple,
body.theme-blue.skin-purple .bootstrap-select > .dropdown-toggle,
body.theme-blue.skin-red .form-control,
body.theme-blue.skin-red .select-list input,
body.theme-blue.skin-red .select-list select,
body.theme-blue.skin-red .input-group-addon,
body.theme-blue.skin-red .select2-container--bootstrap .select2-selection,
body.theme-blue.skin-red .select2-container--default .select2-selection--single,
body.theme-blue.skin-red .select2-container--default .select2-selection--multiple,
body.theme-blue.skin-red .bootstrap-select > .dropdown-toggle,
body.theme-blue.skin-yellow .form-control,
body.theme-blue.skin-yellow .select-list input,
body.theme-blue.skin-yellow .select-list select,
body.theme-blue.skin-yellow .input-group-addon,
body.theme-blue.skin-yellow .select2-container--bootstrap .select2-selection,
body.theme-blue.skin-yellow .select2-container--default .select2-selection--single,
body.theme-blue.skin-yellow .select2-container--default .select2-selection--multiple,
body.theme-blue.skin-yellow .bootstrap-select > .dropdown-toggle {
    border-color: var(--gy-liquid-control-border) !important;
    background:
        radial-gradient(circle at 16% 0, rgba(255, 255, 255, .72), transparent 32%),
        linear-gradient(135deg, var(--gy-liquid-control-bg-strong), var(--gy-liquid-control-bg-soft)) !important;
    color: var(--gy-liquid-control-text) !important;
    box-shadow:
        0 8px 20px rgba(15, 23, 42, .06),
        inset 0 1px 0 rgba(255, 255, 255, .82),
        inset 0 -1px 0 rgba(var(--gy-accent-rgb), .08) !important;
    backdrop-filter: blur(18px) saturate(1.42);
    -webkit-backdrop-filter: blur(18px) saturate(1.42);
}

body.theme-blue.skin-purple .form-control:hover,
body.theme-blue.skin-purple .select-list input:hover,
body.theme-blue.skin-purple .select-list select:hover,
body.theme-blue.skin-purple .select2-container--bootstrap .select2-selection:hover,
body.theme-blue.skin-purple .select2-container--default .select2-selection--single:hover,
body.theme-blue.skin-purple .select2-container--default .select2-selection--multiple:hover,
body.theme-blue.skin-purple .bootstrap-select > .dropdown-toggle:hover,
body.theme-blue.skin-red .form-control:hover,
body.theme-blue.skin-red .select-list input:hover,
body.theme-blue.skin-red .select-list select:hover,
body.theme-blue.skin-red .select2-container--bootstrap .select2-selection:hover,
body.theme-blue.skin-red .select2-container--default .select2-selection--single:hover,
body.theme-blue.skin-red .select2-container--default .select2-selection--multiple:hover,
body.theme-blue.skin-red .bootstrap-select > .dropdown-toggle:hover,
body.theme-blue.skin-yellow .form-control:hover,
body.theme-blue.skin-yellow .select-list input:hover,
body.theme-blue.skin-yellow .select-list select:hover,
body.theme-blue.skin-yellow .select2-container--bootstrap .select2-selection:hover,
body.theme-blue.skin-yellow .select2-container--default .select2-selection--single:hover,
body.theme-blue.skin-yellow .select2-container--default .select2-selection--multiple:hover,
body.theme-blue.skin-yellow .bootstrap-select > .dropdown-toggle:hover {
    border-color: rgba(var(--gy-accent-rgb), .32) !important;
    box-shadow:
        0 10px 24px rgba(15, 23, 42, .08),
        inset 0 1px 0 rgba(255, 255, 255, .86),
        inset 0 -1px 0 rgba(var(--gy-accent-rgb), .10) !important;
}

body.theme-blue.skin-purple .form-control:focus,
body.theme-blue.skin-purple .select-list input:focus,
body.theme-blue.skin-purple .select-list select:focus,
body.theme-blue.skin-purple .select2-container--bootstrap.select2-container--focus .select2-selection,
body.theme-blue.skin-purple .select2-container--bootstrap.select2-container--open .select2-selection,
body.theme-blue.skin-purple .select2-container--default.select2-container--focus .select2-selection--single,
body.theme-blue.skin-purple .select2-container--default.select2-container--open .select2-selection--single,
body.theme-blue.skin-purple .select2-container--default.select2-container--focus .select2-selection--multiple,
body.theme-blue.skin-purple .select2-container--default.select2-container--open .select2-selection--multiple,
body.theme-blue.skin-purple .bootstrap-select.open > .dropdown-toggle,
body.theme-blue.skin-red .form-control:focus,
body.theme-blue.skin-red .select-list input:focus,
body.theme-blue.skin-red .select-list select:focus,
body.theme-blue.skin-red .select2-container--bootstrap.select2-container--focus .select2-selection,
body.theme-blue.skin-red .select2-container--bootstrap.select2-container--open .select2-selection,
body.theme-blue.skin-red .select2-container--default.select2-container--focus .select2-selection--single,
body.theme-blue.skin-red .select2-container--default.select2-container--open .select2-selection--single,
body.theme-blue.skin-red .select2-container--default.select2-container--focus .select2-selection--multiple,
body.theme-blue.skin-red .select2-container--default.select2-container--open .select2-selection--multiple,
body.theme-blue.skin-red .bootstrap-select.open > .dropdown-toggle,
body.theme-blue.skin-yellow .form-control:focus,
body.theme-blue.skin-yellow .select-list input:focus,
body.theme-blue.skin-yellow .select-list select:focus,
body.theme-blue.skin-yellow .select2-container--bootstrap.select2-container--focus .select2-selection,
body.theme-blue.skin-yellow .select2-container--bootstrap.select2-container--open .select2-selection,
body.theme-blue.skin-yellow .select2-container--default.select2-container--focus .select2-selection--single,
body.theme-blue.skin-yellow .select2-container--default.select2-container--open .select2-selection--single,
body.theme-blue.skin-yellow .select2-container--default.select2-container--focus .select2-selection--multiple,
body.theme-blue.skin-yellow .select2-container--default.select2-container--open .select2-selection--multiple,
body.theme-blue.skin-yellow .bootstrap-select.open > .dropdown-toggle {
    border-color: rgba(var(--gy-accent-rgb), .58) !important;
    background:
        radial-gradient(circle at 14% 0, rgba(255, 255, 255, .86), transparent 28%),
        linear-gradient(135deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .46)) !important;
    box-shadow:
        0 0 0 3px rgba(var(--gy-accent-rgb), .12),
        0 14px 34px rgba(var(--gy-accent-rgb), .10),
        inset 0 1px 0 rgba(255, 255, 255, .90) !important;
}

body.theme-blue.skin-purple .form-control::placeholder,
body.theme-blue.skin-red .form-control::placeholder,
body.theme-blue.skin-yellow .form-control::placeholder {
    color: rgba(85, 100, 120, .66);
}

body.theme-blue.skin-purple select.form-control,
body.theme-blue.skin-purple .select-list select,
body.theme-blue.skin-red select.form-control,
body.theme-blue.skin-red .select-list select,
body.theme-blue.skin-yellow select.form-control,
body.theme-blue.skin-yellow .select-list select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 34px !important;
    background-image:
        linear-gradient(45deg, transparent 50%, rgba(var(--gy-accent-rgb), .72) 50%),
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .72) 50%, transparent 50%),
        radial-gradient(circle at 16% 0, rgba(255, 255, 255, .72), transparent 32%),
        linear-gradient(135deg, var(--gy-liquid-control-bg-strong), var(--gy-liquid-control-bg-soft)) !important;
    background-position:
        calc(100% - 17px) 50%,
        calc(100% - 12px) 50%,
        0 0,
        0 0 !important;
    background-size:
        5px 5px,
        5px 5px,
        auto,
        auto !important;
    background-repeat: no-repeat !important;
}

body.theme-blue.skin-purple .input-group-addon,
body.theme-blue.skin-red .input-group-addon,
body.theme-blue.skin-yellow .input-group-addon {
    color: var(--gy-liquid-control-muted) !important;
}

body.theme-blue.skin-purple .select2-container--bootstrap .select2-selection__rendered,
body.theme-blue.skin-purple .select2-container--default .select2-selection--single .select2-selection__rendered,
body.theme-blue.skin-purple .bootstrap-select .filter-option,
body.theme-blue.skin-red .select2-container--bootstrap .select2-selection__rendered,
body.theme-blue.skin-red .select2-container--default .select2-selection--single .select2-selection__rendered,
body.theme-blue.skin-red .bootstrap-select .filter-option,
body.theme-blue.skin-yellow .select2-container--bootstrap .select2-selection__rendered,
body.theme-blue.skin-yellow .select2-container--default .select2-selection--single .select2-selection__rendered,
body.theme-blue.skin-yellow .bootstrap-select .filter-option {
    color: var(--gy-liquid-control-text) !important;
}

body.theme-blue.skin-purple .select2-dropdown,
body.theme-blue.skin-purple .bootstrap-select .dropdown-menu,
body.theme-blue.skin-red .select2-dropdown,
body.theme-blue.skin-red .bootstrap-select .dropdown-menu,
body.theme-blue.skin-yellow .select2-dropdown,
body.theme-blue.skin-yellow .bootstrap-select .dropdown-menu {
    border-color: rgba(255, 255, 255, .56) !important;
    background:
        radial-gradient(circle at 12% 0, rgba(255, 255, 255, .78), transparent 28%),
        linear-gradient(135deg, rgba(255, 255, 255, .88), rgba(255, 255, 255, .68)) !important;
    box-shadow: 0 24px 64px rgba(15, 23, 42, .18), inset 0 1px 0 rgba(255, 255, 255, .72) !important;
    backdrop-filter: blur(24px) saturate(1.55);
    -webkit-backdrop-filter: blur(24px) saturate(1.55);
}

body.theme-blue.skin-purple .select2-results__option--highlighted,
body.theme-blue.skin-purple .select2-container--bootstrap .select2-results__option--highlighted[aria-selected],
body.theme-blue.skin-purple .bootstrap-select .dropdown-menu li a:hover,
body.theme-blue.skin-purple .bootstrap-select .dropdown-menu li.selected a,
body.theme-blue.skin-red .select2-results__option--highlighted,
body.theme-blue.skin-red .select2-container--bootstrap .select2-results__option--highlighted[aria-selected],
body.theme-blue.skin-red .bootstrap-select .dropdown-menu li a:hover,
body.theme-blue.skin-red .bootstrap-select .dropdown-menu li.selected a,
body.theme-blue.skin-yellow .select2-results__option--highlighted,
body.theme-blue.skin-yellow .select2-container--bootstrap .select2-results__option--highlighted[aria-selected],
body.theme-blue.skin-yellow .bootstrap-select .dropdown-menu li a:hover,
body.theme-blue.skin-yellow .bootstrap-select .dropdown-menu li.selected a {
    background:
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .16), rgba(var(--gy-glass-accent-2-rgb), .12)) !important;
    color: var(--gy-primary-hover) !important;
}

body.theme-blue.skin-purple .btn,
body.theme-blue.skin-red .btn,
body.theme-blue.skin-yellow .btn {
    border-color: var(--gy-liquid-control-border-soft) !important;
    background:
        radial-gradient(circle at 18% 8%, rgba(255, 255, 255, .74), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .38)) !important;
    color: var(--gy-liquid-control-text) !important;
    box-shadow: var(--gy-liquid-btn-shadow) !important;
    backdrop-filter: blur(18px) saturate(1.42);
    -webkit-backdrop-filter: blur(18px) saturate(1.42);
}

body.theme-blue.skin-purple .btn:hover,
body.theme-blue.skin-purple .btn:focus,
body.theme-blue.skin-red .btn:hover,
body.theme-blue.skin-red .btn:focus,
body.theme-blue.skin-yellow .btn:hover,
body.theme-blue.skin-yellow .btn:focus {
    border-color: rgba(var(--gy-accent-rgb), .34) !important;
    color: var(--gy-primary-hover) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .12), inset 0 1px 0 rgba(255, 255, 255, .76) !important;
}

body.theme-blue.skin-purple .btn-primary,
body.theme-blue.skin-red .btn-primary,
body.theme-blue.skin-yellow .btn-primary,
body.theme-blue.skin-purple .layui-layer-btn .layui-layer-btn0,
body.theme-blue.skin-red .layui-layer-btn .layui-layer-btn0,
body.theme-blue.skin-yellow .layui-layer-btn .layui-layer-btn0 {
    border-color: rgba(255, 255, 255, .44) !important;
    background:
        radial-gradient(circle at 18% 8%, rgba(255, 255, 255, .86), transparent 22%),
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .96), rgba(var(--gy-glass-accent-2-rgb), .82)) !important;
    color: #ffffff !important;
    box-shadow:
        0 16px 36px rgba(var(--gy-accent-rgb), .28),
        inset 0 1px 0 rgba(255, 255, 255, .76),
        inset 0 -2px 0 rgba(0, 0, 0, .10) !important;
}

body.theme-blue.skin-purple .btn-success,
body.theme-blue.skin-red .btn-success,
body.theme-blue.skin-yellow .btn-success {
    border-color: rgba(255, 255, 255, .44) !important;
    background:
        radial-gradient(circle at 18% 8%, rgba(255, 255, 255, .82), transparent 22%),
        linear-gradient(135deg, rgba(var(--gy-liquid-success-rgb), .96), rgba(var(--gy-liquid-success-2-rgb), .80)) !important;
    color: #ffffff !important;
    box-shadow:
        0 16px 36px rgba(var(--gy-liquid-success-rgb), .24),
        inset 0 1px 0 rgba(255, 255, 255, .72),
        inset 0 -2px 0 rgba(0, 0, 0, .10) !important;
}

body.theme-blue.skin-purple .btn-info,
body.theme-blue.skin-red .btn-info,
body.theme-blue.skin-yellow .btn-info {
    border-color: rgba(255, 255, 255, .44) !important;
    background:
        radial-gradient(circle at 18% 8%, rgba(255, 255, 255, .82), transparent 22%),
        linear-gradient(135deg, rgba(var(--gy-liquid-info-rgb), .96), rgba(var(--gy-liquid-info-2-rgb), .78)) !important;
    color: #ffffff !important;
    box-shadow:
        0 16px 36px rgba(var(--gy-liquid-info-rgb), .24),
        inset 0 1px 0 rgba(255, 255, 255, .72),
        inset 0 -2px 0 rgba(0, 0, 0, .10) !important;
}

body.theme-blue.skin-purple .btn-warning,
body.theme-blue.skin-red .btn-warning,
body.theme-blue.skin-yellow .btn-warning {
    border-color: rgba(255, 255, 255, .44) !important;
    background:
        radial-gradient(circle at 18% 8%, rgba(255, 255, 255, .82), transparent 22%),
        linear-gradient(135deg, rgba(var(--gy-liquid-warning-rgb), .98), rgba(var(--gy-liquid-warning-2-rgb), .76)) !important;
    color: #ffffff !important;
    box-shadow:
        0 16px 36px rgba(var(--gy-liquid-warning-rgb), .25),
        inset 0 1px 0 rgba(255, 255, 255, .72),
        inset 0 -2px 0 rgba(0, 0, 0, .10) !important;
}

body.theme-blue.skin-purple .btn-danger,
body.theme-blue.skin-red .btn-danger,
body.theme-blue.skin-yellow .btn-danger {
    border-color: rgba(255, 255, 255, .44) !important;
    background:
        radial-gradient(circle at 18% 8%, rgba(255, 255, 255, .80), transparent 22%),
        linear-gradient(135deg, rgba(var(--gy-liquid-danger-rgb), .97), rgba(var(--gy-liquid-danger-2-rgb), .80)) !important;
    color: #ffffff !important;
    box-shadow:
        0 16px 36px rgba(var(--gy-liquid-danger-rgb), .26),
        inset 0 1px 0 rgba(255, 255, 255, .72),
        inset 0 -2px 0 rgba(0, 0, 0, .10) !important;
}

body.theme-blue.skin-purple .btn-default,
body.theme-blue.skin-purple .btn-white,
body.theme-blue.skin-red .btn-default,
body.theme-blue.skin-red .btn-white,
body.theme-blue.skin-yellow .btn-default,
body.theme-blue.skin-yellow .btn-white {
    border-color: rgba(255, 255, 255, .62) !important;
    background:
        radial-gradient(circle at 18% 8%, rgba(255, 255, 255, .78), transparent 32%),
        linear-gradient(135deg, rgba(255, 255, 255, .68), rgba(255, 255, 255, .32)) !important;
    color: var(--gy-liquid-control-text) !important;
}

body.theme-blue.skin-purple .btn-link,
body.theme-blue.skin-red .btn-link,
body.theme-blue.skin-yellow .btn-link {
    border-color: transparent !important;
    background: transparent !important;
    color: var(--gy-primary) !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.theme-blue.skin-purple .btn[disabled],
body.theme-blue.skin-purple .btn.disabled,
body.theme-blue.skin-red .btn[disabled],
body.theme-blue.skin-red .btn.disabled,
body.theme-blue.skin-yellow .btn[disabled],
body.theme-blue.skin-yellow .btn.disabled {
    opacity: .58;
    transform: none;
    filter: saturate(.72);
}

body.theme-blue.skin-purple .gy-modern-toolbar .btn,
body.theme-blue.skin-purple #toolbar .btn,
body.theme-blue.skin-red .gy-modern-toolbar .btn,
body.theme-blue.skin-red #toolbar .btn,
body.theme-blue.skin-yellow .gy-modern-toolbar .btn,
body.theme-blue.skin-yellow #toolbar .btn {
    min-height: 36px;
}

/* Keep liquid topbar highlights without clipping the account dropdown. */
body.theme-blue.skin-purple .navbar.navbar-static-top,
body.theme-blue.skin-red .navbar.navbar-static-top,
body.theme-blue.skin-yellow .navbar.navbar-static-top {
    overflow: visible !important;
    z-index: 2200;
}

body.theme-blue.skin-purple .navbar.navbar-static-top .navbar-top-links,
body.theme-blue.skin-purple .navbar.navbar-static-top .navbar-top-links > li,
body.theme-blue.skin-purple .navbar.navbar-static-top .user-menu,
body.theme-blue.skin-red .navbar.navbar-static-top .navbar-top-links,
body.theme-blue.skin-red .navbar.navbar-static-top .navbar-top-links > li,
body.theme-blue.skin-red .navbar.navbar-static-top .user-menu,
body.theme-blue.skin-yellow .navbar.navbar-static-top .navbar-top-links,
body.theme-blue.skin-yellow .navbar.navbar-static-top .navbar-top-links > li,
body.theme-blue.skin-yellow .navbar.navbar-static-top .user-menu {
    overflow: visible !important;
}

body.theme-blue.skin-purple .navbar-right > .user-menu > .dropdown-menu,
body.theme-blue.skin-red .navbar-right > .user-menu > .dropdown-menu,
body.theme-blue.skin-yellow .navbar-right > .user-menu > .dropdown-menu {
    z-index: 2300;
}

/* Shell stacking fix: keep account dropdown above the iframe content. */
body.theme-blue.skin-purple #page-wrapper > .row.border-bottom,
body.theme-blue.skin-red #page-wrapper > .row.border-bottom,
body.theme-blue.skin-yellow #page-wrapper > .row.border-bottom {
    position: relative;
    z-index: 3200 !important;
    overflow: visible !important;
}

body.theme-blue.skin-purple #page-wrapper > .content-tabs,
body.theme-blue.skin-red #page-wrapper > .content-tabs,
body.theme-blue.skin-yellow #page-wrapper > .content-tabs {
    position: relative;
    z-index: 2100 !important;
}

body.theme-blue.skin-purple #content-main,
body.theme-blue.skin-purple .mainContent,
body.theme-blue.skin-red #content-main,
body.theme-blue.skin-red .mainContent,
body.theme-blue.skin-yellow #content-main,
body.theme-blue.skin-yellow .mainContent {
    position: relative;
    z-index: 1 !important;
}

body.theme-blue.skin-purple .navbar-right > .user-menu,
body.theme-blue.skin-red .navbar-right > .user-menu,
body.theme-blue.skin-yellow .navbar-right > .user-menu {
    position: relative;
    z-index: 3300;
}

body.theme-blue.skin-purple .navbar-right > .user-menu:after,
body.theme-blue.skin-red .navbar-right > .user-menu:after,
body.theme-blue.skin-yellow .navbar-right > .user-menu:after {
    content: "";
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    height: 10px;
}

body.theme-blue.skin-purple .navbar-right > .user-menu > .dropdown-menu,
body.theme-blue.skin-red .navbar-right > .user-menu > .dropdown-menu,
body.theme-blue.skin-yellow .navbar-right > .user-menu > .dropdown-menu {
    top: calc(100% + 4px) !important;
    right: 0 !important;
    left: auto !important;
    display: block !important;
    z-index: 3400 !important;
}

body.theme-blue.skin-purple .navbar-right > .user-menu.open > .dropdown-menu,
body.theme-blue.skin-purple .navbar-right > .user-menu:hover > .dropdown-menu,
body.theme-blue.skin-purple .navbar-right > .user-menu:focus-within > .dropdown-menu,
body.theme-blue.skin-red .navbar-right > .user-menu.open > .dropdown-menu,
body.theme-blue.skin-red .navbar-right > .user-menu:hover > .dropdown-menu,
body.theme-blue.skin-red .navbar-right > .user-menu:focus-within > .dropdown-menu,
body.theme-blue.skin-yellow .navbar-right > .user-menu.open > .dropdown-menu,
body.theme-blue.skin-yellow .navbar-right > .user-menu:hover > .dropdown-menu,
body.theme-blue.skin-yellow .navbar-right > .user-menu:focus-within > .dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

/* Dashboard configuration modal: fixed header/footer with a scrollable body. */
body.gy-themed-page #dashboardConfigModal {
    overflow: hidden !important;
}

body.gy-themed-page #dashboardConfigModal .modal-dialog {
    display: flex;
    width: min(920px, calc(100vw - 32px));
    height: min(760px, calc(100vh - 32px));
    max-height: calc(100vh - 32px);
    margin: 16px auto !important;
}

body.gy-themed-page #dashboardConfigModal .modal-content {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    max-height: calc(100vh - 32px);
    flex-direction: column;
    overflow: hidden !important;
}

body.gy-themed-page #dashboardConfigModal .modal-header,
body.gy-themed-page #dashboardConfigModal .modal-footer {
    flex: 0 0 auto;
}

body.gy-themed-page #dashboardConfigModal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

body.gy-themed-page #dashboardConfigModal #dashboardWidgetChecklist {
    padding-bottom: 2px;
}

body.gy-themed-page #dashboardConfigModal .fd-config-items {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}

@media (max-width: 760px) {
    body.gy-themed-page #dashboardConfigModal .modal-dialog {
        width: calc(100vw - 20px);
        height: calc(100vh - 20px);
        max-height: calc(100vh - 20px);
        margin: 10px auto !important;
    }
}

/* Modern native checkbox/radio controls for dynamic pages that do not use iCheck wrappers. */
body.gy-themed-page input[type="checkbox"],
body.gy-themed-page input[type="radio"] {
    width: 18px;
    height: 18px;
    margin: 0 7px 0 0;
    vertical-align: -4px;
    border: 1px solid rgba(148, 163, 184, .72);
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .92), transparent 44%),
        linear-gradient(135deg, rgba(255, 255, 255, .88), rgba(241, 245, 249, .72));
    box-shadow: 0 6px 14px rgba(15, 23, 42, .07), inset 0 1px 0 rgba(255, 255, 255, .86);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

body.gy-themed-page input[type="checkbox"] {
    border-radius: 6px;
}

body.gy-themed-page input[type="radio"] {
    border-radius: 999px;
}

body.gy-themed-page input[type="checkbox"]:hover,
body.gy-themed-page input[type="radio"]:hover {
    border-color: rgba(var(--gy-accent-rgb), .48);
    box-shadow: 0 8px 18px rgba(var(--gy-accent-rgb), .10), inset 0 1px 0 rgba(255, 255, 255, .9);
}

body.gy-themed-page input[type="checkbox"]:checked,
body.gy-themed-page input[type="radio"]:checked {
    border-color: rgba(255, 255, 255, .62);
    background:
        radial-gradient(circle at 28% 16%, rgba(255, 255, 255, .82), transparent 28%),
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .96), rgba(var(--gy-glass-accent-2-rgb), .82));
    box-shadow: 0 10px 24px rgba(var(--gy-accent-rgb), .22), inset 0 1px 0 rgba(255, 255, 255, .74);
}

body.gy-themed-page input[type="checkbox"]:checked:after {
    content: "";
    display: block;
    width: 5px;
    height: 9px;
    margin: 2px 0 0 6px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

body.gy-themed-page input[type="radio"]:checked:after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    margin: 5px;
    border-radius: 999px;
    background: #ffffff;
}

body.gy-themed-page input[type="checkbox"]:disabled,
body.gy-themed-page input[type="radio"]:disabled {
    cursor: not-allowed;
    opacity: .55;
    filter: saturate(.72);
}

body.gy-themed-page .icheckbox-blue,
body.gy-themed-page .iradio-blue {
    border: 1px solid rgba(148, 163, 184, .72);
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .92), transparent 44%),
        linear-gradient(135deg, rgba(255, 255, 255, .88), rgba(241, 245, 249, .72)) !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .07), inset 0 1px 0 rgba(255, 255, 255, .86);
}

body.gy-themed-page .icheckbox-blue.checked,
body.gy-themed-page .iradio-blue.checked {
    border-color: rgba(255, 255, 255, .62);
    background:
        radial-gradient(circle at 28% 16%, rgba(255, 255, 255, .82), transparent 28%),
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .96), rgba(var(--gy-glass-accent-2-rgb), .82)) !important;
    box-shadow: 0 10px 24px rgba(var(--gy-accent-rgb), .22), inset 0 1px 0 rgba(255, 255, 255, .74);
}

body.gy-themed-page .fd-config-items label,
body.gy-themed-page .pc-check,
body.gy-themed-page .checkbox-inline,
body.gy-themed-page .radio-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    margin: 0;
    padding: 7px 9px;
    border: 1px solid rgba(226, 232, 240, .82);
    border-radius: 8px;
    background: rgba(255, 255, 255, .54);
    color: var(--gy-text-soft, #526274);
    font-weight: 680;
}

body.gy-themed-page .fd-config-items label:hover,
body.gy-themed-page .pc-check:hover,
body.gy-themed-page .checkbox-inline:hover,
body.gy-themed-page .radio-inline:hover {
    border-color: rgba(var(--gy-accent-rgb), .28);
    background: rgba(var(--gy-accent-rgb), .07);
    color: var(--gy-primary);
}

/* Interaction hardening: shell menus must stay above iframe content in every theme. */
body #page-wrapper {
    overflow: visible !important;
}

body #page-wrapper > .row.border-bottom {
    position: relative;
    z-index: 4200 !important;
    overflow: visible !important;
}

body #page-wrapper > .content-tabs {
    position: relative;
    z-index: 2200 !important;
}

body #content-main,
body .mainContent {
    position: relative;
    z-index: 1 !important;
}

body .navbar.navbar-static-top,
body .navbar.navbar-static-top .navbar-top-links,
body .navbar.navbar-static-top .navbar-top-links > li,
body .navbar.navbar-static-top .user-menu {
    overflow: visible !important;
}

body .navbar-right > .user-menu {
    position: relative;
    z-index: 4300 !important;
}

body .navbar-right > .user-menu > .dropdown-menu {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    right: 0 !important;
    left: auto !important;
    display: block !important;
    z-index: 4400 !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

body .navbar-right > .user-menu.open > .dropdown-menu,
body .navbar-right > .user-menu:hover > .dropdown-menu,
body .navbar-right > .user-menu:focus-within > .dropdown-menu,
body .navbar-right > .user-menu > a.dropdown-toggle:hover + .dropdown-menu,
body .navbar-right > .user-menu > .dropdown-menu:hover {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

body .navbar-right > .user-menu:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -12px;
    left: 0;
    height: 12px;
}

/* Dashboard configuration modal: usable height with a real scrollable body. */
body #dashboardConfigModal.modal {
    overflow: hidden !important;
}

body #dashboardConfigModal .modal-dialog {
    display: flex !important;
    width: min(920px, calc(100vw - 32px)) !important;
    height: calc(100vh - 32px) !important;
    max-height: 760px !important;
    margin: 16px auto !important;
}

@supports (height: 100dvh) {
    body #dashboardConfigModal .modal-dialog {
        height: calc(100dvh - 32px) !important;
    }
}

body #dashboardConfigModal .modal-content {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: 100% !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

body #dashboardConfigModal .modal-header,
body #dashboardConfigModal .modal-footer {
    flex: 0 0 auto !important;
}

body #dashboardConfigModal .modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

body #dashboardConfigModal .fd-config-items {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
    align-items: stretch;
}

@media (max-width: 760px) {
    body #dashboardConfigModal .modal-dialog {
        width: calc(100vw - 20px) !important;
        height: calc(100vh - 20px) !important;
        margin: 10px auto !important;
    }
}

@supports (height: 100dvh) {
    @media (max-width: 760px) {
        body #dashboardConfigModal .modal-dialog {
            height: calc(100dvh - 20px) !important;
        }
    }
}

/* Modern checkbox treatment for dynamic configuration screens. */
body #dashboardConfigModal .fd-config-items label,
body .pc-page .pc-check {
    position: relative;
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 38px;
    margin: 0 !important;
    padding: 9px 11px;
    border: 1px solid rgba(226, 232, 240, .86);
    border-radius: 8px;
    background:
        radial-gradient(circle at 12% 0, rgba(255, 255, 255, .78), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, .76), rgba(248, 250, 252, .56));
    color: var(--gy-text-soft, #526274);
    font-weight: 680 !important;
    line-height: 1.35;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .045), inset 0 1px 0 rgba(255, 255, 255, .82);
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease;
}

body #dashboardConfigModal .fd-config-items label.panel-item {
    color: var(--gy-primary-hover);
}

body #dashboardConfigModal .fd-config-items label:hover,
body .pc-page .pc-check:hover {
    border-color: rgba(var(--gy-accent-rgb), .30);
    background:
        radial-gradient(circle at 12% 0, rgba(255, 255, 255, .84), transparent 30%),
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .10), rgba(var(--gy-glass-accent-2-rgb), .07));
    color: var(--gy-primary);
    box-shadow: 0 14px 30px rgba(var(--gy-accent-rgb), .10), inset 0 1px 0 rgba(255, 255, 255, .86);
}

body #dashboardConfigModal .fd-config-items label:has(input[type="checkbox"]:checked),
body .pc-page .pc-check:has(input[type="checkbox"]:checked) {
    border-color: rgba(var(--gy-accent-rgb), .34);
    background:
        radial-gradient(circle at 12% 0, rgba(255, 255, 255, .86), transparent 30%),
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .14), rgba(var(--gy-glass-accent-2-rgb), .10));
    color: var(--gy-primary-hover);
    box-shadow: 0 16px 34px rgba(var(--gy-accent-rgb), .13), inset 0 1px 0 rgba(255, 255, 255, .88);
}

body #dashboardConfigModal input[type="checkbox"],
body .pc-page input[type="checkbox"] {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    vertical-align: -4px;
    border: 1px solid rgba(148, 163, 184, .78) !important;
    border-radius: 7px !important;
    background:
        radial-gradient(circle at 30% 18%, rgba(255, 255, 255, .95), transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(241, 245, 249, .76)) !important;
    box-shadow: 0 7px 16px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255, 255, 255, .88) !important;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

body #dashboardConfigModal input[type="checkbox"]:hover,
body .pc-page input[type="checkbox"]:hover {
    border-color: rgba(var(--gy-accent-rgb), .46) !important;
    box-shadow: 0 10px 22px rgba(var(--gy-accent-rgb), .12), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

body #dashboardConfigModal input[type="checkbox"]:checked,
body .pc-page input[type="checkbox"]:checked {
    border-color: rgba(255, 255, 255, .66) !important;
    background:
        radial-gradient(circle at 26% 16%, rgba(255, 255, 255, .86), transparent 30%),
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .98), rgba(var(--gy-glass-accent-2-rgb), .84)) !important;
    box-shadow: 0 12px 26px rgba(var(--gy-accent-rgb), .24), inset 0 1px 0 rgba(255, 255, 255, .76) !important;
}

body #dashboardConfigModal input[type="checkbox"]:checked:after,
body .pc-page input[type="checkbox"]:checked:after {
    content: "";
    position: absolute;
    left: 6px;
    top: 3px;
    display: block;
    width: 6px;
    height: 10px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

body #dashboardConfigModal input[type="checkbox"]:disabled,
body .pc-page input[type="checkbox"]:disabled {
    cursor: not-allowed;
    opacity: .56;
    filter: saturate(.72);
}

body .icheckbox-blue input,
body .iradio-blue input {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    appearance: auto;
    -webkit-appearance: auto;
}

/* Dashboard config modal hardening: make the scroll area obvious and keep controls polished. */
body #dashboardConfigModal .modal-dialog {
    max-width: calc(100vw - 32px) !important;
}

body #dashboardConfigModal .modal-body {
    max-height: calc(100vh - 178px) !important;
    padding: 16px 18px !important;
    scrollbar-gutter: stable;
}

body #dashboardConfigModal .modal-body::-webkit-scrollbar {
    width: 10px;
}

body #dashboardConfigModal .modal-body::-webkit-scrollbar-thumb {
    border: 3px solid rgba(255, 255, 255, .72);
    border-radius: 999px;
    background: rgba(var(--gy-accent-rgb), .34);
    background-clip: padding-box;
}

body #dashboardConfigModal .modal-body::-webkit-scrollbar-track {
    background: rgba(241, 245, 249, .72);
}

body #dashboardConfigModal .form-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

body #dashboardConfigModal #dashboardConfigRole {
    min-width: 230px;
    height: 38px !important;
    border-color: rgba(var(--gy-accent-rgb), .20) !important;
    background:
        radial-gradient(circle at 12% 0, rgba(255, 255, 255, .90), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(248, 250, 252, .72)) !important;
    color: var(--gy-text, #1f2a3a);
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .055), inset 0 1px 0 rgba(255, 255, 255, .86) !important;
}

body #dashboardConfigModal #dashboardConfigRole:focus {
    border-color: rgba(var(--gy-accent-rgb), .48) !important;
    box-shadow: var(--gy-focus-ring), 0 12px 26px rgba(var(--gy-accent-rgb), .10) !important;
}

body #dashboardConfigModal .select2-container {
    min-width: 260px;
}

body #dashboardConfigModal .select2-container--bootstrap .select2-selection--single {
    height: 38px;
    padding: 8px 28px 8px 12px;
    border-color: rgba(var(--gy-accent-rgb), .20) !important;
    border-radius: 8px !important;
    background:
        radial-gradient(circle at 12% 0, rgba(255, 255, 255, .90), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(248, 250, 252, .72)) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .055), inset 0 1px 0 rgba(255, 255, 255, .86) !important;
}

body #dashboardConfigModal .select2-container--bootstrap .select2-selection--single .select2-selection__rendered {
    color: var(--gy-text, #1f2a3a);
    font-weight: 700;
    line-height: 20px;
}

body #dashboardConfigModal .select2-container--bootstrap .select2-selection--single .select2-selection__arrow {
    right: 8px;
    height: 36px;
}

body .select2-container--open {
    z-index: 200000 !important;
}

body .select2-container--bootstrap .select2-dropdown {
    border-color: rgba(var(--gy-accent-rgb), .22) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 20px 48px rgba(15, 23, 42, .18) !important;
    overflow: hidden;
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
}

body .select2-container--bootstrap .select2-results__option {
    min-height: 34px;
    padding: 8px 11px;
    color: var(--gy-text-soft, #4b5d73);
    font-weight: 700;
}

body .select2-container--bootstrap .select2-results__option--highlighted[aria-selected] {
    background: var(--gy-primary-soft, #eff6ff) !important;
    color: var(--gy-primary, #2563eb) !important;
}

body .select2-container--bootstrap .select2-results__option[aria-selected=true] {
    background: linear-gradient(135deg, rgba(var(--gy-accent-rgb), .16), rgba(var(--gy-glass-accent-2-rgb), .10)) !important;
    color: var(--gy-primary-hover, #1d4ed8) !important;
}

body #dashboardConfigModal .modal-backdrop,
body .modal-backdrop.in {
    background:
        radial-gradient(circle at 22% 18%, rgba(var(--gy-accent-rgb), .18), transparent 34%),
        radial-gradient(circle at 82% 8%, rgba(var(--gy-glass-accent-2-rgb), .16), transparent 32%),
        rgba(15, 23, 42, .54) !important;
    opacity: .58 !important;
    backdrop-filter: blur(4px) saturate(130%);
    -webkit-backdrop-filter: blur(4px) saturate(130%);
}

body #dashboardConfigModal .modal-content {
    position: relative;
    border: 1px solid rgba(255, 255, 255, .56) !important;
    background:
        radial-gradient(circle at 10% 0, rgba(255, 255, 255, .95), transparent 30%),
        radial-gradient(circle at 92% 0, rgba(var(--gy-accent-rgb), .16), transparent 32%),
        linear-gradient(135deg, rgba(255, 255, 255, .76), rgba(245, 249, 255, .58)) !important;
    box-shadow:
        0 34px 90px rgba(15, 23, 42, .30) !important,
        inset 0 1px 0 rgba(255, 255, 255, .78),
        inset 0 -1px 0 rgba(255, 255, 255, .34);
    backdrop-filter: blur(28px) saturate(168%);
    -webkit-backdrop-filter: blur(28px) saturate(168%);
}

body #dashboardConfigModal .modal-content:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(115deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, 0) 32%),
        radial-gradient(circle at 72% 18%, rgba(255, 255, 255, .48), transparent 24%);
    opacity: .72;
}

body #dashboardConfigModal .modal-header,
body #dashboardConfigModal .modal-body,
body #dashboardConfigModal .modal-footer {
    position: relative;
    z-index: 1;
    background: transparent !important;
}

body #dashboardConfigModal .modal-header {
    border-bottom-color: rgba(255, 255, 255, .42) !important;
    box-shadow: inset 0 -1px 0 rgba(148, 163, 184, .16);
}

body #dashboardConfigModal .modal-footer {
    border-top-color: rgba(255, 255, 255, .46) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .76)) !important;
    box-shadow: 0 -16px 34px rgba(15, 23, 42, .06), inset 0 1px 0 rgba(255, 255, 255, .72);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
}

body #dashboardConfigModal .fd-config-help {
    color: rgba(51, 65, 85, .72) !important;
}

body #dashboardConfigModal .fd-config-group {
    border-color: rgba(255, 255, 255, .52) !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .34)) !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .06), inset 0 1px 0 rgba(255, 255, 255, .72);
    backdrop-filter: blur(16px) saturate(148%);
    -webkit-backdrop-filter: blur(16px) saturate(148%);
}

body #dashboardConfigModal .fd-config-group h4 {
    border-bottom: 1px solid rgba(255, 255, 255, .40);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .58), rgba(var(--gy-accent-rgb), .06)) !important;
}

body #dashboardConfigModal .fd-config-items label,
body .pc-page .pc-check {
    border-color: rgba(255, 255, 255, .54) !important;
    background:
        radial-gradient(circle at 10% 0, rgba(255, 255, 255, .90), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .62), rgba(245, 249, 255, .38)) !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06), inset 0 1px 0 rgba(255, 255, 255, .78) !important;
    backdrop-filter: blur(12px) saturate(145%);
    -webkit-backdrop-filter: blur(12px) saturate(145%);
}

body #dashboardConfigModal .fd-config-items label:has(input[type="checkbox"]:checked),
body .pc-page .pc-check:has(input[type="checkbox"]:checked) {
    border-color: rgba(255, 255, 255, .70) !important;
    background:
        radial-gradient(circle at 10% 0, rgba(255, 255, 255, .94), transparent 32%),
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .22), rgba(var(--gy-glass-accent-2-rgb), .16)) !important;
    box-shadow: 0 18px 42px rgba(var(--gy-accent-rgb), .16), inset 0 1px 0 rgba(255, 255, 255, .82) !important;
}

body #dashboardConfigModal .btn-primary {
    border-color: rgba(255, 255, 255, .44) !important;
    background:
        linear-gradient(135deg, rgba(var(--gy-accent-rgb), .98), rgba(var(--gy-glass-accent-2-rgb), .82)) !important;
    box-shadow: 0 16px 34px rgba(var(--gy-accent-rgb), .24), inset 0 1px 0 rgba(255, 255, 255, .42) !important;
}

/* Unified checkbox style: match the process checkboxes used by the project add form. */
body.gy-themed-page input[type="checkbox"],
body #dashboardConfigModal input[type="checkbox"],
body .pc-page input[type="checkbox"] {
    position: relative;
    width: 16px !important;
    height: 16px !important;
    margin: 0 6px 0 0 !important;
    vertical-align: -3px;
    border: 1px solid #cbd5e1 !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

body #dashboardConfigModal input[type="checkbox"],
body .pc-page input[type="checkbox"] {
    display: inline-block;
}

body.gy-themed-page input[type="checkbox"]:hover,
body #dashboardConfigModal input[type="checkbox"]:hover,
body .pc-page input[type="checkbox"]:hover {
    border-color: #93c5fd !important;
    box-shadow: 0 0 0 3px rgba(var(--gy-accent-rgb), .08) !important;
}

body.gy-themed-page input[type="checkbox"]:checked,
body #dashboardConfigModal input[type="checkbox"]:checked,
body .pc-page input[type="checkbox"]:checked {
    border-color: var(--gy-primary) !important;
    background: var(--gy-primary) !important;
    box-shadow: none !important;
}

body.gy-themed-page input[type="checkbox"]:checked:after,
body #dashboardConfigModal input[type="checkbox"]:checked:after,
body .pc-page input[type="checkbox"]:checked:after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    display: block;
    width: 5px;
    height: 9px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

body.gy-themed-page input[type="checkbox"]:disabled,
body #dashboardConfigModal input[type="checkbox"]:disabled,
body .pc-page input[type="checkbox"]:disabled {
    cursor: not-allowed;
    opacity: .56;
    filter: saturate(.72);
}

body.gy-themed-page .icheckbox-blue,
body #dashboardConfigModal .icheckbox-blue,
body .pc-page .icheckbox-blue {
    width: 16px !important;
    height: 16px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.gy-themed-page .icheckbox-blue.checked,
body #dashboardConfigModal .icheckbox-blue.checked,
body .pc-page .icheckbox-blue.checked {
    border-color: var(--gy-primary) !important;
    background: var(--gy-primary) !important;
}

body.gy-themed-page .icheckbox-blue.checked:after,
body #dashboardConfigModal .icheckbox-blue.checked:after,
body .pc-page .icheckbox-blue.checked:after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

body .icheckbox-blue > input[type="checkbox"],
body .iradio-blue > input[type="radio"] {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.js-dashboard-widget[type="checkbox"],
body.gy-themed-page .js-dashboard-widget[type="checkbox"] {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    vertical-align: -3px;
    border: 1px solid #cbd5e1 !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    cursor: pointer;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.js-dashboard-widget[type="checkbox"]:hover,
body.gy-themed-page .js-dashboard-widget[type="checkbox"]:hover {
    border-color: #93c5fd !important;
    box-shadow: 0 0 0 3px rgba(var(--gy-accent-rgb), .08) !important;
}

.js-dashboard-widget[type="checkbox"]:checked,
body.gy-themed-page .js-dashboard-widget[type="checkbox"]:checked {
    border-color: var(--gy-primary) !important;
    background: var(--gy-primary) !important;
    box-shadow: none !important;
}

.js-dashboard-widget[type="checkbox"]:checked:after,
body.gy-themed-page .js-dashboard-widget[type="checkbox"]:checked:after {
    content: "" !important;
    position: absolute;
    left: 4px;
    top: 1px;
    display: block !important;
    width: 5px;
    height: 9px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.fd-native-checkbox[type="checkbox"],
body.gy-themed-page .fd-native-checkbox[type="checkbox"] {
    position: static !important;
    display: inline-block !important;
    flex: 0 0 auto;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: -2px !important;
    border: initial !important;
    border-radius: initial !important;
    background: initial !important;
    box-shadow: none !important;
    cursor: pointer;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    transition: none !important;
}

.fd-native-checkbox[type="checkbox"]:hover,
body.gy-themed-page .fd-native-checkbox[type="checkbox"]:hover,
.fd-native-checkbox[type="checkbox"]:checked,
body.gy-themed-page .fd-native-checkbox[type="checkbox"]:checked {
    border: initial !important;
    background: initial !important;
    box-shadow: none !important;
}

.fd-native-checkbox[type="checkbox"]:checked:after,
body.gy-themed-page .fd-native-checkbox[type="checkbox"]:checked:after {
    content: none !important;
    display: none !important;
}

.fd-process-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 24px;
    margin: 0;
    color: #475569;
    font-weight: 500;
    line-height: 1.4;
    cursor: pointer;
}

.fd-process-option .check-box {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #475569 !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.fd-process-option .check-box:hover,
.fd-process-option.active .check-box {
    border-color: transparent !important;
    background: transparent !important;
    color: #334155 !important;
}

.fd-process-option .check-box > input[type="checkbox"] {
    flex: 0 0 15px;
    width: 15px !important;
    height: 15px !important;
    margin: 0 !important;
    border-radius: 4px !important;
    vertical-align: 0 !important;
}

.fd-process-option .check-box > input[type="checkbox"]:checked:after {
    left: 4px;
    top: 1px;
    width: 4px;
    height: 8px;
}

.fd-process-option .check-box .icheckbox-blue {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    flex: 0 0 15px;
    width: 15px !important;
    height: 15px !important;
}

.fd-process-option .check-box .icheckbox-blue.checked:after {
    left: 4px;
    top: 1px;
    width: 4px;
    height: 8px;
}

@media (max-width: 760px) {
    body #dashboardConfigModal .modal-body {
        max-height: calc(100vh - 158px) !important;
        padding: 14px !important;
    }

    body #dashboardConfigModal #dashboardConfigRole {
        width: 100%;
        min-width: 0;
    }
}

/* Mobile-only layout and touch layer. Desktop rules above remain the source of truth. */
@media (max-width: 768px) {
    html {
        -webkit-text-size-adjust: 100%;
    }

    body,
    body.gray-bg,
    body.white-bg,
    body.gy-page-modernized {
        min-width: 0 !important;
        overflow-x: hidden;
        background: #f6f8fb !important;
    }

    .container-div,
    .wrapper.wrapper-content,
    .gy-page-modernized .gy-modern-container,
    .gy-page-modernized .wrapper.wrapper-content,
    .fd-page,
    .fd-dashboard,
    .fd-follow-page {
        padding: 10px !important;
    }

    .fd-page {
        padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
    }

    .fd-section,
    .fd-products,
    .fd-follow-head,
    .fd-side,
    .search-collapse,
    .select-table,
    .project-view-heading,
    .gy-modern-panel,
    .gy-form-card {
        border-radius: 8px !important;
        box-shadow: 0 6px 16px rgba(15, 23, 42, .045) !important;
    }

    .fd-section,
    .fd-products,
    .fd-follow-head,
    .fd-side {
        padding: 12px !important;
    }

    .project-view-heading,
    .fd-section-title,
    .fd-title-row,
    .fd-dashboard-source,
    .fd-paper-header,
    .fd-section-head,
    .fd-status-title {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .fd-section-title > div,
    .fd-head-actions,
    .fd-dashboard-source-actions,
    .fd-paper-actions,
    .fd-product-title-actions,
    .fd-status-title-actions,
    .fd-side-actions,
    .fd-node-actions,
    .fd-card-actions {
        width: 100%;
        gap: 8px !important;
    }

    .fd-head-actions,
    .fd-dashboard-source-actions,
    .fd-paper-actions,
    .fd-product-title-actions,
    .fd-status-title-actions,
    .fd-side-actions,
    .fd-node-actions,
    .fd-card-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fd-head-actions .btn,
    .fd-dashboard-source-actions .btn,
    .fd-paper-actions .btn,
    .fd-product-title-actions .btn,
    .fd-status-title-actions .btn,
    .fd-side-actions .btn,
    .fd-node-actions .btn,
    .fd-card-actions .btn {
        width: 100%;
        min-height: 40px;
        margin: 0 !important;
    }

    .gy-section-nav {
        top: 0;
        margin: 0 0 10px;
        padding: 8px;
        border-radius: 8px;
        gap: 7px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .gy-section-nav::-webkit-scrollbar {
        display: none;
    }

    .gy-section-nav a {
        min-height: 38px;
        padding: 8px 11px;
        scroll-snap-align: start;
    }

    .gy-section-nav-meta {
        min-height: 34px;
    }

    .form-horizontal .form-group,
    .fd-page .form-horizontal .form-group,
    .gy-modern-horizontal-form .form-group {
        display: block !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .form-horizontal .control-label,
    .form-horizontal .control-label[class*="col-sm-"],
    .form-horizontal [class*="col-sm-"] {
        float: none !important;
        width: 100% !important;
        min-height: 0;
        padding-right: 0 !important;
        padding-left: 0 !important;
        text-align: left !important;
    }

    .form-horizontal .control-label,
    .form-horizontal .control-label[class*="col-sm-"] {
        padding-top: 0 !important;
        margin-bottom: 6px;
        color: #40566f;
        font-weight: 700;
    }

    .form-control,
    select.form-control,
    input.form-control,
    .select2-container--bootstrap .select2-selection--single,
    .select2-container--bootstrap .select2-selection--multiple {
        min-height: 42px !important;
        font-size: 14px !important;
    }

    textarea.form-control {
        min-height: 96px !important;
    }

    .select2-container {
        width: 100% !important;
    }

    .gy-modern-search .select-list ul,
    .search-collapse .select-list ul {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 8px;
        width: 100%;
    }

    .gy-modern-search .select-list li,
    .search-collapse .select-list li {
        width: 100%;
        margin: 0 !important;
        align-items: stretch !important;
    }

    .gy-modern-search .select-list li:last-child,
    .search-collapse .select-list li:last-child {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .gy-modern-search .select-list li:last-child .btn,
    .search-collapse .select-list li:last-child .btn {
        width: 100%;
        min-height: 40px;
        margin: 0 !important;
    }

    .fd-product-card {
        margin-bottom: 12px !important;
        border-radius: 8px !important;
    }

    .fd-product-card-head {
        align-items: stretch !important;
        flex-direction: column !important;
        padding: 12px !important;
    }

    .fd-product-card-body {
        padding: 12px 12px 2px !important;
    }

    .fd-uploader,
    .gy-image-uploader,
    .gy-upload-drop {
        min-height: 184px !important;
        border-radius: 8px !important;
    }

    .fd-uploader-actions {
        gap: 8px;
        padding: 9px;
    }

    .fd-uploader-actions .btn {
        min-height: 36px;
    }

    .fd-process-list {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 8px !important;
    }

    .fd-process-option {
        width: 100%;
        min-width: 0 !important;
        justify-content: space-between;
        padding: 10px !important;
    }

    .fd-process-option .check-box {
        flex: 1 1 auto;
        min-width: 0 !important;
    }

    .fd-process-switch {
        flex: 0 0 auto;
    }

    .fd-page > .fd-toolbar.gy-sticky-actions {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1200;
        display: flex !important;
        align-items: center !important;
        gap: 8px;
        width: 100%;
        margin: 0 !important;
        padding: 10px max(10px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)) !important;
        overflow-x: auto;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        border-radius: 12px 12px 0 0 !important;
        background: rgba(255, 255, 255, .96) !important;
        box-shadow: 0 -16px 34px rgba(15, 23, 42, .14) !important;
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        scrollbar-width: none;
    }

    .fd-page > .fd-toolbar.gy-sticky-actions::-webkit-scrollbar {
        display: none;
    }

    .fd-page > .fd-toolbar.gy-sticky-actions .fd-toolbar-left,
    .fd-page > .fd-toolbar.gy-sticky-actions .fd-toolbar-right {
        display: flex !important;
        flex: 0 0 auto;
        flex-wrap: nowrap !important;
        gap: 8px;
        width: auto !important;
    }

    .fd-page > .fd-toolbar.gy-sticky-actions .btn {
        flex: 0 0 auto;
        width: auto !important;
        min-width: 112px;
        min-height: 42px;
        margin: 0 !important;
        white-space: nowrap;
    }

    .fd-page > .fd-toolbar.gy-sticky-actions .form-control {
        flex: 0 0 150px;
        width: 150px !important;
        min-height: 42px;
    }

    .fd-follow-page {
        display: block !important;
    }

    .fd-follow-page .fd-follow-head {
        position: static !important;
        margin-bottom: 10px !important;
    }

    .fd-follow-page .fd-title-row h3 {
        font-size: 19px !important;
        line-height: 1.25;
    }

    .fd-follow-page .fd-meta {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px 10px !important;
    }

    .fd-follow-page .fd-meta span {
        min-width: 0;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .fd-follow-page .fd-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .fd-follow-page .fd-kpi {
        padding: 10px !important;
    }

    .fd-follow-page .fd-kpi strong {
        font-size: 19px !important;
    }

    .fd-follow-page .fd-product-tabs {
        margin: 0 -2px;
        padding-bottom: 8px;
        gap: 8px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .fd-follow-page .fd-product-tabs::-webkit-scrollbar {
        display: none;
    }

    .fd-follow-page .fd-product-tab {
        flex: 0 0 78vw;
        min-width: 0 !important;
        min-height: 58px;
        padding: 10px 12px !important;
        scroll-snap-align: start;
    }

    .fd-follow-page .fd-product-body,
    .fd-follow-page .fd-product-top {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .fd-follow-page .fd-product-summary {
        align-items: flex-start !important;
        gap: 10px !important;
    }

    .fd-follow-page .fd-product-img {
        flex: 0 0 84px;
        width: 84px !important;
        max-height: 104px !important;
    }

    .fd-follow-page .fd-product-title {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .fd-follow-page .fd-status-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .fd-follow-page .fd-status-column {
        min-height: 0 !important;
        padding: 10px !important;
    }

    .fd-follow-page .fd-process-node {
        padding: 11px 10px 10px !important;
        margin-bottom: 10px !important;
    }

    .fd-follow-page .fd-process-name {
        align-items: flex-start !important;
    }

    .fd-follow-page .fd-node-line {
        line-height: 1.65 !important;
    }

    .fd-follow-page .fd-side {
        position: static !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .fd-follow-page .fd-timeline-list {
        padding-left: 24px !important;
    }

    .fd-follow-page .fd-timeline-icon {
        left: -26px !important;
    }

    .fd-sync-dialog {
        padding: 10px !important;
    }

    .fd-sync-grid,
    .fd-sync-options {
        grid-template-columns: 1fr !important;
    }

    .project-products-detail {
        padding: 10px !important;
        overflow-x: auto;
    }

    .project-products-detail table {
        min-width: 720px;
    }

    .gy-action-menu.open .gy-action-list {
        position: fixed !important;
        top: auto !important;
        right: 10px !important;
        bottom: calc(10px + env(safe-area-inset-bottom)) !important;
        left: 10px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        padding: 8px;
        border-radius: 12px;
        box-shadow: 0 22px 54px rgba(15, 23, 42, .24);
    }

    .gy-action-list a {
        min-height: 44px;
        font-size: 14px;
    }

    .gy-mobile-card-table .fixed-table-container {
        height: auto !important;
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
    }

    .gy-mobile-card-table .fixed-table-header {
        display: none !important;
    }

    .gy-mobile-card-table .fixed-table-body {
        height: auto !important;
        overflow: visible !important;
    }

    .gy-mobile-card-table table,
    .gy-mobile-card-table thead,
    .gy-mobile-card-table tbody,
    .gy-mobile-card-table tr,
    .gy-mobile-card-table td {
        display: block;
        width: 100% !important;
    }

    .gy-mobile-card-table thead {
        display: none !important;
    }

    .gy-mobile-card-table tbody tr {
        margin-bottom: 10px;
        padding: 10px 12px;
        border: 1px solid var(--gy-card-line, #dbe5ef);
        border-radius: 10px;
        background: #ffffff;
        box-shadow: 0 6px 16px rgba(15, 23, 42, .045);
    }

    .gy-mobile-card-table tbody tr.detail-view,
    .gy-mobile-card-table tbody tr.no-records-found {
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .gy-mobile-card-table tbody tr > td {
        display: grid;
        grid-template-columns: minmax(76px, .34fr) minmax(0, 1fr);
        gap: 8px;
        min-height: 32px;
        padding: 7px 0 !important;
        border: 0 !important;
        background: transparent !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: break-word;
    }

    .gy-mobile-card-table tbody tr > td[data-gy-label]:before {
        content: attr(data-gy-label);
        color: #7b8a9a;
        font-size: 12px;
        font-weight: 800;
        line-height: 1.6;
    }

    .gy-mobile-card-table tbody tr > td[data-gy-label=""]:before {
        display: none;
    }

    .gy-mobile-card-table tbody tr > td[data-gy-label=""] {
        display: block;
        width: auto !important;
        min-height: 0;
        padding: 4px 0 !important;
    }

    .gy-mobile-card-table tbody tr > td.gy-mobile-check-cell {
        display: inline-flex !important;
        align-items: center;
        width: auto !important;
        padding: 4px 12px 6px 0 !important;
    }

    .gy-mobile-card-table tbody tr > td.gy-mobile-action-cell {
        display: block;
        margin-top: 5px;
        padding-top: 10px !important;
        border-top: 1px solid #edf2f7 !important;
    }

    .gy-mobile-card-table tbody tr > td.gy-mobile-action-cell:before {
        display: block;
        margin-bottom: 8px;
    }

    .gy-mobile-card-table .gy-row-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
        min-width: 0;
    }

    .gy-mobile-card-table .gy-row-actions .btn,
    .gy-mobile-card-table td.gy-mobile-action-cell > .btn,
    .gy-mobile-card-table td.gy-mobile-action-cell > a.btn {
        width: 100%;
        min-height: 38px;
        margin: 0 !important;
    }

    .gy-mobile-card-table .fixed-table-pagination {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .gy-mobile-card-table .fixed-table-pagination .pagination-detail,
    .gy-mobile-card-table .fixed-table-pagination .pagination {
        float: none !important;
        text-align: center;
    }

    .layui-layer-iframe.gy-mobile-layer {
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: calc(var(--gy-vh, 1vh) * 100) !important;
        max-width: none !important;
        border-radius: 0 !important;
    }

    .layui-layer-iframe.gy-mobile-layer .layui-layer-title {
        height: 44px !important;
        padding-right: 54px !important;
        padding-left: 12px !important;
        line-height: 44px !important;
        font-size: 15px !important;
    }

    .layui-layer-iframe.gy-mobile-layer .layui-layer-setwin {
        top: 13px !important;
        right: 12px !important;
    }

    .layui-layer-iframe.gy-mobile-layer .layui-layer-content {
        height: calc((var(--gy-vh, 1vh) * 100) - 98px) !important;
        overflow: hidden !important;
        -webkit-overflow-scrolling: touch;
    }

    .layui-layer-iframe.gy-mobile-layer.gy-mobile-layer-no-btn .layui-layer-content {
        height: calc((var(--gy-vh, 1vh) * 100) - 44px) !important;
    }

    .layui-layer-iframe.gy-mobile-layer iframe {
        height: 100% !important;
    }

    .layui-layer-iframe.gy-mobile-layer .layui-layer-btn {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        min-height: 54px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
        border-top: 1px solid #e2e8f0;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 -12px 26px rgba(15, 23, 42, .10);
    }

    .layui-layer-iframe.gy-mobile-layer .layui-layer-btn a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 38px;
        margin: 0 !important;
    }
}

@media (max-width: 520px) {
    .fd-head-actions,
    .fd-dashboard-source-actions,
    .fd-paper-actions,
    .fd-product-title-actions,
    .fd-status-title-actions,
    .fd-side-actions,
    .fd-node-actions,
    .fd-card-actions,
    .gy-mobile-card-table .gy-row-actions {
        grid-template-columns: 1fr !important;
    }

    .fd-follow-page .fd-meta,
    .fd-follow-page .fd-kpis {
        grid-template-columns: 1fr !important;
    }

    .fd-follow-page .fd-product-tab {
        flex-basis: 86vw;
    }

    .gy-modern-search .select-list li:last-child,
    .search-collapse .select-list li:last-child {
        grid-template-columns: 1fr;
    }
}

/* Mobile table repair: keep desktop unchanged, avoid card-mode collisions with bootstrap-table. */
@media (max-width: 768px) {
    .gy-page-modernized .gy-modern-toolbar,
    .gy-page-modernized #toolbar.btn-group-sm,
    .gy-modern-toolbar,
    #toolbar.btn-group-sm {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 6px !important;
        width: 100%;
        margin: 0 0 8px !important;
        padding: 2px 0 6px !important;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .gy-page-modernized .gy-modern-toolbar::-webkit-scrollbar,
    .gy-page-modernized #toolbar.btn-group-sm::-webkit-scrollbar,
    .gy-modern-toolbar::-webkit-scrollbar,
    #toolbar.btn-group-sm::-webkit-scrollbar {
        display: none;
    }

    .gy-page-modernized .gy-modern-toolbar .btn,
    .gy-page-modernized #toolbar .btn,
    .gy-modern-toolbar .btn,
    #toolbar.btn-group-sm .btn {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 72px !important;
        min-height: 32px !important;
        padding: 6px 10px !important;
        border-radius: 8px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    .gy-page-modernized .gy-modern-table-shell,
    .gy-page-modernized .select-table {
        padding: 8px !important;
    }

    .gy-mobile-card-table .fixed-table-container {
        height: auto !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        border: 1px solid var(--gy-card-line, #dbe5ef) !important;
        border-radius: 8px !important;
        background: #fff !important;
        -webkit-overflow-scrolling: touch;
    }

    .gy-mobile-card-table .fixed-table-header {
        display: none !important;
    }

    .gy-mobile-card-table .fixed-table-body {
        height: auto !important;
        overflow: visible !important;
    }

    .gy-mobile-card-table table {
        display: table !important;
        width: max-content !important;
        min-width: 860px !important;
        table-layout: auto !important;
        border-collapse: collapse !important;
    }

    .gy-mobile-card-table thead {
        display: table-header-group !important;
    }

    .gy-mobile-card-table tbody {
        display: table-row-group !important;
    }

    .gy-mobile-card-table tr {
        display: table-row !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .gy-mobile-card-table th,
    .gy-mobile-card-table td {
        display: table-cell !important;
        width: auto !important;
        min-width: 72px;
        min-height: 0 !important;
        padding: 8px 10px !important;
        border-top: 1px solid #eef2f7 !important;
        text-align: left !important;
        vertical-align: middle !important;
        white-space: nowrap !important;
        word-break: normal !important;
    }

    .gy-mobile-card-table th {
        position: sticky;
        top: 0;
        z-index: 2;
        border-top: 0 !important;
        background: #f8fafc !important;
        color: #475569 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
    }

    .gy-mobile-card-table td[data-gy-label]:before,
    .gy-mobile-card-table td.gy-mobile-action-cell:before {
        display: none !important;
        content: none !important;
    }

    .gy-mobile-card-table td.gy-mobile-check-cell,
    .gy-mobile-card-table td.gy-mobile-action-cell {
        display: table-cell !important;
        width: auto !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        border-top: 1px solid #eef2f7 !important;
    }

    .gy-mobile-card-table td.bs-checkbox,
    .gy-mobile-card-table th.bs-checkbox {
        min-width: 42px;
        width: 42px !important;
        text-align: center !important;
    }

    .gy-mobile-card-table .gy-row-actions {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 5px !important;
        width: auto !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    .gy-mobile-card-table .gy-row-actions .btn,
    .gy-mobile-card-table td.gy-mobile-action-cell > .btn,
    .gy-mobile-card-table td.gy-mobile-action-cell > a.btn {
        display: inline-flex !important;
        width: auto !important;
        min-width: 54px !important;
        min-height: 28px !important;
        margin: 0 4px 0 0 !important;
        padding: 4px 8px !important;
        border-radius: 6px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    .gy-mobile-card-table .fixed-table-pagination {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        padding: 8px 2px 0 !important;
        overflow-x: auto;
    }

    .gy-mobile-card-table .fixed-table-pagination .pagination-detail,
    .gy-mobile-card-table .fixed-table-pagination .pagination {
        float: none !important;
        flex: 0 0 auto;
        margin: 0 !important;
        white-space: nowrap;
        text-align: left !important;
    }
}

@media (max-width: 520px) {
    .gy-mobile-card-table table {
        min-width: 780px !important;
    }

    .gy-page-modernized .gy-modern-toolbar .btn,
    .gy-page-modernized #toolbar .btn,
    .gy-modern-toolbar .btn,
    #toolbar.btn-group-sm .btn {
        min-width: 64px !important;
        padding-right: 8px !important;
        padding-left: 8px !important;
    }
}

/* Mobile table final override: restore real table cells after the earlier card experiment. */
@media (max-width: 768px) {
    .gy-mobile-card-table.gy-mobile-card-table .fixed-table-container {
        overflow: hidden !important;
    }

    .gy-mobile-card-table.gy-mobile-card-table .fixed-table-body {
        width: 100% !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch;
    }

    .gy-mobile-card-table.gy-mobile-card-table table.table {
        display: table !important;
        width: 1320px !important;
        min-width: 1320px !important;
        max-width: none !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }

    .gy-mobile-card-table.gy-mobile-card-table table.table thead {
        display: table-header-group !important;
    }

    .gy-mobile-card-table.gy-mobile-card-table table.table tbody {
        display: table-row-group !important;
    }

    .gy-mobile-card-table.gy-mobile-card-table table.table thead > tr,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr.detail-view,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr.no-records-found {
        display: table-row !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .gy-mobile-card-table.gy-mobile-card-table table.table thead > tr > th,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td[data-gy-label],
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td[data-gy-label=""],
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td.gy-mobile-check-cell,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td.gy-mobile-action-cell {
        display: table-cell !important;
        width: 120px !important;
        min-width: 120px !important;
        max-width: 120px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        border-top: 1px solid #eef2f7 !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        background: transparent !important;
        text-align: left !important;
        vertical-align: middle !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .gy-mobile-card-table.gy-mobile-card-table table.table thead > tr > th {
        border-top: 0 !important;
        background: #f8fafc !important;
        color: #475569 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
    }

    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td[data-gy-label]:before,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td[data-gy-label=""]:before,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td.gy-mobile-action-cell:before {
        display: none !important;
        content: none !important;
    }

    .gy-mobile-card-table.gy-mobile-card-table table.table thead > tr > th.bs-checkbox,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td.bs-checkbox,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td.gy-mobile-check-cell {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        padding-right: 8px !important;
        padding-left: 8px !important;
        text-align: center !important;
    }

    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td.gy-mobile-action-cell,
    .gy-mobile-card-table.gy-mobile-card-table table.table thead > tr > th:last-child,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td:last-child {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .gy-mobile-card-table.gy-mobile-card-table .gy-row-actions {
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 5px !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .gy-mobile-card-table.gy-mobile-card-table .gy-row-actions .btn,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td.gy-mobile-action-cell > .btn,
    .gy-mobile-card-table.gy-mobile-card-table table.table tbody > tr > td.gy-mobile-action-cell > a.btn {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 52px !important;
        min-height: 28px !important;
        margin: 0 4px 0 0 !important;
        padding: 4px 8px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }
}

/* Native browser checkbox/radio controls. Keep this block last so static and dynamic inputs are not themed. */
input[type="checkbox"],
input[type="checkbox"]:hover,
input[type="checkbox"]:checked,
input[type="checkbox"]:disabled,
input[type="radio"],
input[type="radio"]:hover,
input[type="radio"]:checked,
input[type="radio"]:disabled,
body.gy-themed-page input[type="checkbox"],
body.gy-themed-page input[type="checkbox"]:hover,
body.gy-themed-page input[type="checkbox"]:checked,
body.gy-themed-page input[type="checkbox"]:disabled,
body.gy-themed-page input[type="radio"],
body.gy-themed-page input[type="radio"]:hover,
body.gy-themed-page input[type="radio"]:checked,
body.gy-themed-page input[type="radio"]:disabled,
body #dashboardConfigModal input[type="checkbox"],
body #dashboardConfigModal input[type="checkbox"]:hover,
body #dashboardConfigModal input[type="checkbox"]:checked,
body #dashboardConfigModal input[type="checkbox"]:disabled,
body #dashboardConfigModal input[type="radio"],
body #dashboardConfigModal input[type="radio"]:hover,
body #dashboardConfigModal input[type="radio"]:checked,
body #dashboardConfigModal input[type="radio"]:disabled,
body .pc-page input[type="checkbox"],
body .pc-page input[type="checkbox"]:hover,
body .pc-page input[type="checkbox"]:checked,
body .pc-page input[type="checkbox"]:disabled,
body .pc-page input[type="radio"],
body .pc-page input[type="radio"]:hover,
body .pc-page input[type="radio"]:checked,
body .pc-page input[type="radio"]:disabled,
.js-dashboard-widget[type="checkbox"],
.js-dashboard-widget[type="checkbox"]:hover,
.js-dashboard-widget[type="checkbox"]:checked,
.js-dashboard-widget[type="checkbox"]:disabled,
body.gy-themed-page .js-dashboard-widget[type="checkbox"],
body.gy-themed-page .js-dashboard-widget[type="checkbox"]:hover,
body.gy-themed-page .js-dashboard-widget[type="checkbox"]:checked,
body.gy-themed-page .js-dashboard-widget[type="checkbox"]:disabled,
.fd-native-checkbox[type="checkbox"],
.fd-native-checkbox[type="checkbox"]:hover,
.fd-native-checkbox[type="checkbox"]:checked,
.fd-native-checkbox[type="checkbox"]:disabled,
body.gy-themed-page .fd-native-checkbox[type="checkbox"],
body.gy-themed-page .fd-native-checkbox[type="checkbox"]:hover,
body.gy-themed-page .fd-native-checkbox[type="checkbox"]:checked,
body.gy-themed-page .fd-native-checkbox[type="checkbox"]:disabled,
.fd-process-option .check-box > input[type="checkbox"],
.fd-process-option .check-box > input[type="checkbox"]:hover,
.fd-process-option .check-box > input[type="checkbox"]:checked,
.fd-process-option .check-box > input[type="checkbox"]:disabled,
body .icheckbox-blue > input[type="checkbox"],
body .iradio-blue > input[type="radio"] {
    all: revert !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
}

input[type="checkbox"]::before,
input[type="checkbox"]::after,
input[type="checkbox"]:checked::before,
input[type="checkbox"]:checked::after,
input[type="radio"]::before,
input[type="radio"]::after,
input[type="radio"]:checked::before,
input[type="radio"]:checked::after,
body.gy-themed-page input[type="checkbox"]::before,
body.gy-themed-page input[type="checkbox"]::after,
body.gy-themed-page input[type="checkbox"]:checked::before,
body.gy-themed-page input[type="checkbox"]:checked::after,
body.gy-themed-page input[type="radio"]::before,
body.gy-themed-page input[type="radio"]::after,
body.gy-themed-page input[type="radio"]:checked::before,
body.gy-themed-page input[type="radio"]:checked::after,
body #dashboardConfigModal input[type="checkbox"]::before,
body #dashboardConfigModal input[type="checkbox"]::after,
body #dashboardConfigModal input[type="checkbox"]:checked::before,
body #dashboardConfigModal input[type="checkbox"]:checked::after,
body #dashboardConfigModal input[type="radio"]::before,
body #dashboardConfigModal input[type="radio"]::after,
body #dashboardConfigModal input[type="radio"]:checked::before,
body #dashboardConfigModal input[type="radio"]:checked::after,
body .pc-page input[type="checkbox"]::before,
body .pc-page input[type="checkbox"]::after,
body .pc-page input[type="checkbox"]:checked::before,
body .pc-page input[type="checkbox"]:checked::after,
body .pc-page input[type="radio"]::before,
body .pc-page input[type="radio"]::after,
body .pc-page input[type="radio"]:checked::before,
body .pc-page input[type="radio"]:checked::after,
.js-dashboard-widget[type="checkbox"]::before,
.js-dashboard-widget[type="checkbox"]::after,
.js-dashboard-widget[type="checkbox"]:checked::before,
.js-dashboard-widget[type="checkbox"]:checked::after,
body.gy-themed-page .js-dashboard-widget[type="checkbox"]::before,
body.gy-themed-page .js-dashboard-widget[type="checkbox"]::after,
body.gy-themed-page .js-dashboard-widget[type="checkbox"]:checked::before,
body.gy-themed-page .js-dashboard-widget[type="checkbox"]:checked::after,
.fd-native-checkbox[type="checkbox"]::before,
.fd-native-checkbox[type="checkbox"]::after,
.fd-native-checkbox[type="checkbox"]:checked::before,
.fd-native-checkbox[type="checkbox"]:checked::after,
body.gy-themed-page .fd-native-checkbox[type="checkbox"]::before,
body.gy-themed-page .fd-native-checkbox[type="checkbox"]::after,
body.gy-themed-page .fd-native-checkbox[type="checkbox"]:checked::before,
body.gy-themed-page .fd-native-checkbox[type="checkbox"]:checked::after,
.fd-process-option .check-box > input[type="checkbox"]::before,
.fd-process-option .check-box > input[type="checkbox"]::after,
.fd-process-option .check-box > input[type="checkbox"]:checked::before,
.fd-process-option .check-box > input[type="checkbox"]:checked::after,
.checkbox-custom label::before,
.checkbox-custom label::after,
.icheckbox-blue::before,
.icheckbox-blue::after,
.iradio-blue::before,
.iradio-blue::after {
    content: none !important;
    display: none !important;
}

/* Unified glass popup polish */
:root {
    --gy-popup-glass: rgba(255, 255, 255, .78);
    --gy-popup-glass-strong: rgba(255, 255, 255, .9);
    --gy-popup-glass-soft: rgba(248, 250, 252, .68);
    --gy-popup-line: rgba(226, 232, 240, .72);
    --gy-popup-shadow: 0 28px 76px rgba(15, 23, 42, .24);
}

body .layui-layer-shade {
    background:
        radial-gradient(circle at 24% 16%, rgba(var(--gy-accent-rgb, 37, 99, 235), .16), transparent 34%),
        radial-gradient(circle at 78% 8%, rgba(var(--gy-glass-accent-2-rgb, 8, 145, 178), .14), transparent 32%),
        rgba(15, 23, 42, .42) !important;
    opacity: 1 !important;
    backdrop-filter: blur(6px) saturate(132%);
    -webkit-backdrop-filter: blur(6px) saturate(132%);
}

body .layui-layer:not(.layui-layer-loading):not(.layui-layer-tips) {
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .62) !important;
    border-radius: 14px !important;
    background:
        radial-gradient(circle at 12% 0, rgba(255, 255, 255, .96), transparent 34%),
        radial-gradient(circle at 92% 0, rgba(var(--gy-accent-rgb, 37, 99, 235), .14), transparent 32%),
        linear-gradient(135deg, rgba(255, 255, 255, .78), rgba(245, 249, 255, .58)) !important;
    box-shadow:
        var(--gy-popup-shadow),
        inset 0 1px 0 rgba(255, 255, 255, .82),
        inset 0 -1px 0 rgba(255, 255, 255, .3) !important;
    backdrop-filter: blur(24px) saturate(158%);
    -webkit-backdrop-filter: blur(24px) saturate(158%);
}

body .layui-layer-title {
    border-bottom: 1px solid rgba(255, 255, 255, .48) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .76), rgba(255, 255, 255, .5)) !important;
    color: var(--gy-text, #1f2937) !important;
    box-shadow: inset 0 -1px 0 rgba(148, 163, 184, .16);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
}

body .layui-layer-content {
    background: transparent !important;
}

body .layui-layer-iframe .layui-layer-content,
body .layui-layer-page .layui-layer-content {
    background: var(--gy-popup-glass-soft) !important;
}

body .layui-layer-iframe iframe {
    background: rgba(246, 248, 251, .78);
}

body .layui-layer-dialog .layui-layer-content,
body .layui-layer-prompt .layui-layer-content {
    color: #273244 !important;
    background: transparent !important;
}

body .layui-layer-btn {
    border-top: 1px solid rgba(255, 255, 255, .5) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .48), rgba(255, 255, 255, .72)) !important;
    box-shadow: inset 0 1px 0 rgba(148, 163, 184, .14);
    backdrop-filter: blur(16px) saturate(145%);
    -webkit-backdrop-filter: blur(16px) saturate(145%);
}

body .layui-layer-btn a {
    border-color: rgba(203, 213, 225, .88) !important;
    background: rgba(255, 255, 255, .72) !important;
    color: var(--gy-text, #1f2937) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .76), 0 8px 18px rgba(15, 23, 42, .08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

body .layui-layer-btn .layui-layer-btn0 {
    border-color: rgba(var(--gy-accent-rgb, 37, 99, 235), .82) !important;
    background: linear-gradient(135deg, rgba(var(--gy-accent-rgb, 37, 99, 235), .98), rgba(var(--gy-glass-accent-2-rgb, 8, 145, 178), .86)) !important;
    color: #fff !important;
}

body .layui-layer-msg,
body .layui-layer-hui {
    min-width: 150px;
    border: 1px solid rgba(255, 255, 255, .62) !important;
    border-radius: 14px !important;
    background: var(--gy-popup-glass) !important;
    color: #243044 !important;
    box-shadow: 0 20px 52px rgba(15, 23, 42, .22), inset 0 1px 0 rgba(255, 255, 255, .8) !important;
    backdrop-filter: blur(22px) saturate(160%);
    -webkit-backdrop-filter: blur(22px) saturate(160%);
    filter: none !important;
}

body .layui-layer-msg .layui-layer-content,
body .layui-layer-hui .layui-layer-content {
    padding: 12px 22px !important;
    color: #243044 !important;
    font-weight: 800;
    line-height: 1.55 !important;
}

body .layui-layer-tips .layui-layer-content {
    border: 1px solid rgba(255, 255, 255, .2) !important;
    border-radius: 10px !important;
    background: rgba(31, 41, 55, .78) !important;
    color: #fff !important;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .28) !important;
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
}

body .layui-layer-tips i.layui-layer-TipsT,
body .layui-layer-tips i.layui-layer-TipsB {
    border-right-color: rgba(31, 41, 55, .78) !important;
}

body .layui-layer-tips i.layui-layer-TipsR,
body .layui-layer-tips i.layui-layer-TipsL {
    border-bottom-color: rgba(31, 41, 55, .78) !important;
}

body .layui-layer-loading .layui-layer-content {
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 16px;
    background: var(--gy-popup-glass-strong);
    box-shadow: 0 18px 48px rgba(15, 23, 42, .18);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
}

body .modal-backdrop.in {
    background:
        radial-gradient(circle at 24% 16%, rgba(var(--gy-accent-rgb, 37, 99, 235), .16), transparent 34%),
        radial-gradient(circle at 78% 8%, rgba(var(--gy-glass-accent-2-rgb, 8, 145, 178), .14), transparent 32%),
        rgba(15, 23, 42, .46) !important;
    opacity: .78 !important;
    backdrop-filter: blur(6px) saturate(132%);
    -webkit-backdrop-filter: blur(6px) saturate(132%);
}

body .modal-content {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .62) !important;
    border-radius: 14px !important;
    background:
        radial-gradient(circle at 12% 0, rgba(255, 255, 255, .96), transparent 34%),
        radial-gradient(circle at 92% 0, rgba(var(--gy-accent-rgb, 37, 99, 235), .14), transparent 32%),
        linear-gradient(135deg, rgba(255, 255, 255, .78), rgba(245, 249, 255, .58)) !important;
    box-shadow: var(--gy-popup-shadow) !important;
    backdrop-filter: blur(24px) saturate(158%);
    -webkit-backdrop-filter: blur(24px) saturate(158%);
}

body .modal-header,
body .modal-footer {
    border-color: rgba(255, 255, 255, .5) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .48), rgba(255, 255, 255, .68)) !important;
    backdrop-filter: blur(16px) saturate(145%);
    -webkit-backdrop-filter: blur(16px) saturate(145%);
}

body .modal-body {
    background: transparent !important;
}

body .handover-modal {
    background: var(--gy-popup-glass-soft) !important;
    backdrop-filter: blur(18px) saturate(145%);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
}

body .blockOverlay {
    background:
        radial-gradient(circle at 26% 18%, rgba(var(--gy-accent-rgb, 37, 99, 235), .12), transparent 34%),
        rgba(15, 23, 42, .24) !important;
    opacity: 1 !important;
    backdrop-filter: blur(5px) saturate(128%);
    -webkit-backdrop-filter: blur(5px) saturate(128%);
}

body .loaderbox {
    border: 1px solid rgba(255, 255, 255, .62) !important;
    background: var(--gy-popup-glass) !important;
    box-shadow: 0 20px 52px rgba(15, 23, 42, .2), inset 0 1px 0 rgba(255, 255, 255, .8) !important;
    backdrop-filter: blur(22px) saturate(156%);
    -webkit-backdrop-filter: blur(22px) saturate(156%);
}
