:root {
    --luxury-black: #0b1437;
    --luxury-white: #ffffff;
    --luxury-primary: #635bff;
    --luxury-primary-light: #8b86ff;
    --luxury-primary-dark: #4f46e5;
    --luxury-accent: #7c6ff6;
    --luxury-accent-light: #ecebff;
    --luxury-accent-dark: #5b50d8;
    --luxury-gray-50: #f6f7ff;
    --luxury-gray-100: #eef1fb;
    --luxury-gray-200: #dfe4f3;
    --luxury-gray-400: #98a2b3;
    --luxury-gray-700: #344054;
    --luxury-text-primary: #101636;
    --luxury-text-secondary: #667085;
    --luxury-text-muted: #8a94ad;
    --luxury-bg-primary: #ffffff;
    --luxury-bg-secondary: #f7f8ff;
    --luxury-bg-dark: #0b1437;
    --luxury-border-light: #e8ebf5;
    --luxury-border-medium: #d6dbea;
    --luxury-border-subtle: #edf0f8;
    --luxury-shadow-sm: 0 8px 24px rgba(77, 88, 142, 0.07);
    --luxury-shadow-md: 0 18px 44px rgba(77, 88, 142, 0.11);
    --luxury-shadow-xl: 0 28px 80px rgba(77, 88, 142, 0.18);
    --luxury-font-primary: "Poppins", sans-serif;
    --luxury-font-secondary: "Inter", sans-serif;
    --ease-out-luxury: cubic-bezier(0.2, 0.8, 0.2, 1);
    --template-radius-sm: 6px;
    --template-radius-md: 8px;
    --template-radius-lg: 8px;
    --sidebar-width: 280px;
    --sidebar-collapsed-width: 76px;
    --navbar-height: 86px;
    --template-page-padding-x: 1.5rem;
    --template-scrollbar-size: 0.55rem;
    --template-scrollbar-track: transparent;
    --template-scrollbar-thumb: rgba(102, 112, 133, 0.24);
    --template-scrollbar-thumb-hover: rgba(99, 91, 255, 0.42);
    --bs-body-font-family: var(--luxury-font-secondary);
    --bs-primary: var(--luxury-primary);
    --bs-body-bg: var(--luxury-bg-secondary);
    --bs-body-color: var(--luxury-text-primary);
}

[data-theme="dark"] {
    color-scheme: dark;
    --luxury-black: #f7f8ff;
    --luxury-white: #111827;
    --luxury-primary: #94a3b8;
    --luxury-primary-light: #cbd5e1;
    --luxury-primary-dark: #f1f5f9;
    --luxury-accent: #aeb8c6;
    --luxury-accent-light: rgba(148, 163, 184, 0.16);
    --luxury-accent-dark: #d6dde7;
    --luxury-gray-50: #0f1722;
    --luxury-gray-100: #182231;
    --luxury-gray-200: #273244;
    --luxury-gray-400: #9aa6b8;
    --luxury-gray-700: #f3f6fb;
    --luxury-text-primary: #f8fafc;
    --luxury-text-secondary: #d4dbe6;
    --luxury-text-muted: #9aa6b8;
    --luxury-bg-primary: #111827;
    --luxury-bg-secondary: #070a0f;
    --luxury-bg-dark: #050814;
    --luxury-border-light: rgba(148, 163, 184, 0.22);
    --luxury-border-medium: rgba(203, 213, 225, 0.34);
    --luxury-border-subtle: rgba(148, 163, 184, 0.14);
    --luxury-shadow-sm: 0 18px 44px rgba(0, 0, 0, 0.18);
    --luxury-shadow-md: 0 24px 58px rgba(0, 0, 0, 0.26);
    --luxury-shadow-xl: 0 34px 90px rgba(0, 0, 0, 0.36);
    --template-scrollbar-thumb: rgba(148, 163, 184, 0.28);
    --template-scrollbar-thumb-hover: rgba(203, 213, 225, 0.44);
    --bs-body-bg: var(--luxury-bg-secondary);
    --bs-body-color: var(--luxury-text-primary);
}

[data-theme="dark"] body,
[data-theme="dark"] .template-shell {
    background:
        linear-gradient(135deg, #05070b 0%, #080c12 46%, #0d1118 100%);
}

[data-theme="dark"] .template-sidebar {
    background: rgba(8, 13, 24, 0.88);
    border-color: var(--luxury-border-light);
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(18px);
}

[data-theme="dark"] .luxury-navbar {
    background: rgba(8, 13, 24, 0.88);
    border-color: var(--luxury-border-light);
    box-shadow: none;
    backdrop-filter: blur(18px);
}

[data-theme="dark"] .template-sidebar .nav-link:hover,
[data-theme="dark"] .template-sidebar .nav-link.active {
    background: rgba(148, 163, 184, 0.14);
}

[data-theme="dark"] .template-sidebar-panel {
    background: rgba(15, 23, 42, 0.64);
}

.card,
.btn,
.form-control,
.form-select,
.alert,
.badge,
.dropdown-menu,
.modal-content,
.list-group-item,
.form-check-input {
    border-radius: var(--template-radius-md) !important;
}

body {
    background: linear-gradient(135deg, #f9fbff 0%, #f6f7ff 58%, #fff7fb 100%);
    color: var(--luxury-text-primary);
    overflow-x: hidden;
}

html {
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--template-scrollbar-thumb) var(--template-scrollbar-track);
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--template-scrollbar-thumb) var(--template-scrollbar-track);
}

::-webkit-scrollbar {
    width: var(--template-scrollbar-size);
    height: var(--template-scrollbar-size);
}

::-webkit-scrollbar-track {
    background: var(--template-scrollbar-track);
}

::-webkit-scrollbar-thumb {
    min-height: 3rem;
    background: var(--template-scrollbar-thumb);
    background-clip: padding-box;
    border: 2px solid transparent;
    border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--template-scrollbar-thumb-hover);
    background-clip: padding-box;
}

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

@media (min-width: 992px) {
    :root {
        --template-page-padding-x: 1.5rem;
    }

    .template-navbar {
        position: relative;
    }

    .template-navbar-page {
        padding-left: 2.7rem;
    }

    .template-navbar [data-sidebar-toggle] {
        position: absolute;
        top: 50%;
        left: 0.75rem;
        margin-right: 0 !important;
        transform: translateY(-50%);
    }
}

.font-heading {
    font-family: var(--luxury-font-primary);
}

.text-luxury-primary { color: var(--luxury-text-primary) !important; }
.text-luxury-secondary { color: var(--luxury-text-secondary) !important; }
.text-luxury-muted { color: var(--luxury-text-muted) !important; }
.text-luxury-accent { color: var(--luxury-accent) !important; }
.bg-luxury-white { background: var(--luxury-bg-primary) !important; }
.bg-luxury-gray-50 { background: var(--luxury-gray-50) !important; }
.border-luxury-light { border-color: var(--luxury-border-light) !important; }

.template-shell {
    min-height: 100vh;
    display: flex;
    background: linear-gradient(135deg, #f9fbff 0%, #f6f7ff 58%, #fff7fb 100%);
    max-width: 100%;
    overflow-x: hidden;
}

.template-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1050;
    width: var(--sidebar-width);
    min-height: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.96);
    border: 0;
    border-right: 1px solid var(--luxury-border-light);
    border-radius: 0;
    box-shadow: none;
    padding: 0 0.75rem 1rem;
    backdrop-filter: blur(18px);
}

.sidebar-ready .template-sidebar {
    transition:
        width 0.25s var(--ease-out-luxury),
        transform 0.25s var(--ease-out-luxury);
}

.sidebar-collapsed .template-sidebar {
    width: var(--sidebar-collapsed-width);
    padding-inline: 0.5rem;
}

.template-sidebar-brand {
    min-height: var(--navbar-height);
    gap: 0.75rem;
    padding: 0 0.75rem;
    border-bottom: 1px solid var(--luxury-border-light);
}

.template-sidebar-logo-mark {
    width: 2.4rem;
    height: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.4rem;
    color: #ffffff;
    background:
        radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.32), transparent 36%),
        linear-gradient(145deg, #7c75ff 0%, #4f46e5 82%);
    border-radius: 0.85rem;
    box-shadow: 0 12px 24px rgba(99, 91, 255, 0.2);
    font-size: 1rem;
}

.template-sidebar-brand-text {
    color: var(--luxury-text-primary);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.template-sidebar-nav {
    --sidebar-scroll-fade-size: 1rem;
    min-height: 0;
    padding: 1rem 0 0.75rem;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.template-sidebar-nav.can-scroll-down:not(.can-scroll-up) {
    -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - var(--sidebar-scroll-fade-size)), transparent);
    mask-image: linear-gradient(to bottom, #000 calc(100% - var(--sidebar-scroll-fade-size)), transparent);
}

.template-sidebar-nav.can-scroll-up:not(.can-scroll-down) {
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 var(--sidebar-scroll-fade-size));
    mask-image: linear-gradient(to bottom, transparent, #000 var(--sidebar-scroll-fade-size));
}

.template-sidebar-nav.can-scroll-up.can-scroll-down {
    -webkit-mask-image: linear-gradient(
        to bottom,
        transparent,
        #000 var(--sidebar-scroll-fade-size),
        #000 calc(100% - var(--sidebar-scroll-fade-size)),
        transparent
    );
    mask-image: linear-gradient(
        to bottom,
        transparent,
        #000 var(--sidebar-scroll-fade-size),
        #000 calc(100% - var(--sidebar-scroll-fade-size)),
        transparent
    );
}

.template-sidebar-nav::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.template-sidebar-nav .nav {
    gap: 0.25rem;
}

.template-sidebar .nav-link {
    position: relative;
    min-height: 3rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--luxury-text-secondary) !important;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    padding: 0.78rem 1rem !important;
    margin: 0;
    border-radius: var(--template-radius-md) !important;
    transition:
        background-color 0.2s var(--ease-out-luxury),
        color 0.2s var(--ease-out-luxury);
}

.template-sidebar .nav-link::after {
    content: none;
}

.template-sidebar .nav-link:hover,
.template-sidebar .nav-link.active {
    color: var(--luxury-primary-dark) !important;
    background: linear-gradient(90deg, rgba(99, 91, 255, 0.12), rgba(99, 91, 255, 0.06));
    box-shadow: none;
}

.template-sidebar .nav-link:hover {
    transform: none;
}

.template-sidebar .sidebar-parent-link.active::before {
    content: "";
    position: absolute;
    top: 0.7rem;
    bottom: 0.7rem;
    left: -0.42rem;
    width: 3px;
    background: var(--luxury-primary);
    border-radius: 999px;
}

.template-sidebar .sidebar-icon {
    width: 1.15rem;
    flex: 0 0 1.15rem;
    color: currentColor;
    font-size: 1rem;
    opacity: 0.78;
    text-align: center;
}

.template-sidebar .sidebar-collapse-indicator {
    width: 1rem;
    flex: 0 0 1rem;
    margin-left: auto;
    color: currentColor;
    font-size: 0.86rem;
    opacity: 0.92;
    transition: transform 0.2s var(--ease-out-luxury);
}

.template-sidebar .sidebar-parent-link.collapsed .sidebar-collapse-indicator {
    transform: rotate(180deg);
}

.template-sidebar .sidebar-child-list {
    position: relative;
    margin: 0.2rem 0 0.35rem 1.65rem;
    padding: 0.15rem 0 0.15rem 1rem;
}

.template-sidebar .sidebar-child-list::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 1.7rem;
    left: 0.38rem;
    width: 1px;
    background: var(--luxury-border-light);
}

.template-sidebar .sidebar-child-list .nav-link {
    min-height: 2.35rem;
    padding: 0.5rem 0.85rem 0.5rem 1.95rem !important;
    font-size: 0.82rem;
    font-weight: 500;
}

.template-sidebar .sidebar-child-link .sidebar-child-dot {
    position: absolute;
    top: 50%;
    left: 0.72rem;
    width: 0.46rem;
    height: 0.46rem;
    background: #cfd5ef;
    border-radius: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.template-sidebar .sidebar-child-link .sidebar-child-dot::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 100%;
    width: 1.02rem;
    height: 1px;
    background: var(--luxury-border-light);
    transform: translateY(-50%);
}

.template-sidebar .sidebar-child-link.active .sidebar-child-dot {
    background: var(--luxury-primary);
    box-shadow: 0 0 0 4px rgba(99, 91, 255, 0.1);
}

.template-sidebar-footer {
    display: grid;
    gap: 0.85rem;
    padding: 0.85rem 0.5rem 0;
    margin-top: 0.75rem;
    border-top: 1px solid var(--luxury-border-light);
    flex: 0 0 auto;
}

html:not(.sidebar-ready) .template-sidebar-footer {
    visibility: hidden;
}

.template-sidebar-panel {
    display: block;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(210, 216, 244, 0.92);
    border-radius: var(--template-radius-lg);
    box-shadow: 0 14px 34px rgba(77, 88, 142, 0.06);
}

.template-sidebar-panel-title {
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-primary);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.template-sidebar-usage-bar {
    height: 0.35rem;
    overflow: hidden;
    background: var(--luxury-gray-100);
    border-radius: 999px;
    margin: 0.85rem 0 0.7rem;
}

.template-sidebar-usage-bar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--luxury-primary), var(--luxury-primary-dark));
    border-radius: inherit;
}

.template-sidebar-usage-value {
    color: var(--luxury-text-secondary);
    font-size: 0.84rem;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.template-sidebar-upgrade {
    min-height: 2.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin-top: 0.85rem;
    font-size: 0.84rem;
    font-weight: 500;
    min-width: 0;
    white-space: nowrap;
}

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

.template-sidebar-help {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    color: inherit;
    padding: 0.9rem;
}

.template-sidebar-help > div {
    min-width: 0;
}

.template-sidebar-help-title {
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-primary);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.template-sidebar-help-text {
    color: var(--luxury-text-secondary);
    font-size: 0.82rem;
    line-height: 1.45;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.template-sidebar-help:hover .template-sidebar-help-title {
    color: var(--luxury-primary-dark) !important;
}

.template-sidebar-help-icon {
    width: 2.4rem;
    height: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.4rem;
    color: var(--luxury-primary);
    background: var(--luxury-accent-light);
    border-radius: 50%;
    font-size: 1rem;
    transition:
        color 0.18s ease,
        transform 0.18s ease;
}

.template-sidebar-help-arrow {
    color: var(--luxury-text-secondary);
    font-size: 1.2rem;
    transition:
        color 0.18s ease,
        transform 0.18s ease;
}

.template-sidebar-help:hover .template-sidebar-help-icon,
.template-sidebar-help:hover .template-sidebar-help-arrow {
    color: var(--luxury-primary-dark);
    transform: translateX(2px);
}

.sidebar-collapsed .sidebar-label,
.sidebar-collapsed .sidebar-child-list,
.sidebar-collapsed .template-sidebar-brand-text,
.sidebar-collapsed .template-sidebar-footer,
.sidebar-collapsed .sidebar-collapse-indicator {
    display: none !important;
}

.sidebar-collapsed .template-sidebar-brand {
    justify-content: center;
    padding-inline: 0;
}

.sidebar-collapsed .template-sidebar .nav-link {
    justify-content: center;
    padding-inline: 0 !important;
}

.template-main {
    min-height: 100vh;
    min-width: 0;
    margin-left: var(--sidebar-width);
    padding-top: var(--navbar-height);
    max-width: calc(100vw - var(--sidebar-width));
    width: calc(100vw - var(--sidebar-width));
    overflow-x: clip;
}

.sidebar-ready .template-main {
    transition: margin-left 0.25s var(--ease-out-luxury), width 0.25s var(--ease-out-luxury);
}

.template-content,
.template-navbar {
    padding-right: var(--template-page-padding-x);
    padding-left: var(--template-page-padding-x);
}

.template-content {
    padding-top: 1.25rem !important;
    padding-bottom: 2rem !important;
}

.sidebar-collapsed .template-main {
    margin-left: var(--sidebar-collapsed-width);
    max-width: calc(100vw - var(--sidebar-collapsed-width));
    width: calc(100vw - var(--sidebar-collapsed-width));
}

.luxury-navbar {
    position: fixed;
    top: 0;
    right: 0;
    left: var(--sidebar-width);
    z-index: 1030;
    isolation: isolate;
    min-height: 86px;
    max-width: none;
    width: auto;
    background: rgba(255, 255, 255, 0.76);
    border-bottom: 0;
    box-shadow: none;
    backdrop-filter: blur(16px);
    transition: left 0.25s var(--ease-out-luxury);
}

.sidebar-collapsed .luxury-navbar {
    left: var(--sidebar-collapsed-width);
}

.luxury-navbar::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1.5rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0));
    pointer-events: none;
    transform: translateY(100%);
    z-index: -1;
}

.template-navbar {
    gap: 0.75rem;
    padding-inline: 1rem;
}

.template-navbar-page {
    min-width: 0;
}

.template-navbar-context {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.2rem;
    font-family: var(--luxury-font-primary);
    font-size: 0.72rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--luxury-text-muted);
}

.template-navbar-context strong {
    color: var(--luxury-text-primary);
    font-size: 0.78rem;
    letter-spacing: 0;
    text-transform: none;
}

.template-navbar-token-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.65rem;
    padding: 0.25rem 0.55rem;
    border: 1px solid rgba(98, 91, 255, 0.18);
    border-radius: 999px;
    background: rgba(98, 91, 255, 0.08);
    color: var(--luxury-primary);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1;
    text-transform: none;
    white-space: nowrap;
}

.template-navbar-token-pill-lg {
    min-height: 2.25rem;
    padding-inline: 0.75rem;
    font-size: 0.86rem;
}

.template-swagger-shell {
    overflow: clip;
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-lg);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: var(--luxury-shadow-md);
}

.template-swagger-shell .swagger-ui {
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-secondary);
}

.template-swagger-shell .swagger-ui .topbar {
    display: none;
}

.template-swagger-shell .swagger-ui .info {
    margin: 0;
    padding: 1.5rem 2rem 1.25rem;
    border-bottom: 1px solid var(--luxury-border-subtle);
}

.template-swagger-shell .swagger-ui .info .title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-primary);
    font-size: clamp(1.45rem, 2vw, 2rem);
    font-weight: 700;
    letter-spacing: 0;
}

.template-swagger-shell .swagger-ui .info .title small {
    top: auto;
    margin: 0;
    border-radius: 999px;
    background: var(--luxury-gray-100);
    color: var(--luxury-text-secondary);
    font-family: var(--luxury-font-secondary);
    font-size: 0.72rem;
    font-weight: 800;
}

.template-swagger-shell .swagger-ui .info .title small.version-stamp {
    background: var(--luxury-accent-light);
    color: var(--luxury-primary);
}

.template-swagger-shell .swagger-ui .info p,
.template-swagger-shell .swagger-ui .info li,
.template-swagger-shell .swagger-ui .info table {
    color: var(--luxury-text-secondary);
    font-family: var(--luxury-font-secondary);
    font-size: 0.9rem;
}

.template-swagger-shell .swagger-ui .info a {
    color: var(--luxury-primary);
}

.template-swagger-shell .swagger-ui .scheme-container {
    margin: 0;
    padding: 1.15rem 2rem;
    background: rgba(247, 248, 255, 0.84);
    border-bottom: 1px solid var(--luxury-border-subtle);
    box-shadow: none;
}

.template-swagger-shell .swagger-ui .scheme-container .schemes {
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.template-swagger-shell .swagger-ui .servers-title {
    color: var(--luxury-text-muted);
    font-family: var(--luxury-font-secondary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.template-swagger-shell .swagger-ui select,
.template-swagger-shell .swagger-ui input[type="text"],
.template-swagger-shell .swagger-ui input[type="password"],
.template-swagger-shell .swagger-ui input[type="search"],
.template-swagger-shell .swagger-ui textarea {
    min-height: 2.65rem;
    border: 1px solid var(--luxury-border-medium);
    border-radius: var(--template-radius-md);
    background: var(--luxury-white);
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-secondary);
    box-shadow: none;
}

.template-swagger-shell .swagger-ui select:focus,
.template-swagger-shell .swagger-ui input:focus,
.template-swagger-shell .swagger-ui textarea:focus {
    border-color: rgba(99, 91, 255, 0.42);
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(99, 91, 255, 0.12);
}

.template-swagger-shell .swagger-ui .auth-wrapper .authorize,
.template-swagger-shell .swagger-ui .btn,
.template-swagger-shell .swagger-ui .btn.authorize {
    min-height: 2.35rem;
    border-radius: var(--template-radius-md);
    font-family: var(--luxury-font-secondary);
    font-weight: 800;
    transition: transform 0.18s var(--ease-out-luxury), box-shadow 0.18s var(--ease-out-luxury), border-color 0.18s var(--ease-out-luxury);
}

.template-swagger-shell .swagger-ui .btn:hover,
.template-swagger-shell .swagger-ui .btn.authorize:hover {
    transform: translateY(-1px);
    box-shadow: var(--luxury-shadow-sm);
}

.template-swagger-shell .swagger-ui .auth-wrapper .authorize {
    border-color: rgba(34, 185, 129, 0.48);
    color: #13a970;
    background: rgba(34, 185, 129, 0.08);
}

.template-swagger-shell .swagger-ui .wrapper {
    max-width: none;
    padding: 0;
}

.template-swagger-shell .swagger-ui .filter {
    padding: 1.5rem 2rem 0.65rem;
}

.template-swagger-shell .swagger-ui .filter .operation-filter-input {
    width: 100%;
    min-height: 2.7rem;
    margin: 0;
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    background: rgba(255, 255, 255, 0.9);
    color: var(--luxury-text-primary);
}

.template-swagger-shell .swagger-ui .opblock-tag-section {
    padding-inline: 2rem;
}

.template-swagger-shell .swagger-ui .opblock-tag {
    margin: 0.75rem 0 0.55rem;
    padding: 0.85rem 0.7rem;
    border-bottom: 1px solid var(--luxury-border-subtle);
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-primary);
    font-size: 1.05rem;
    font-weight: 700;
}

.template-swagger-shell .swagger-ui .opblock {
    overflow: hidden;
    margin: 0 0 0.75rem;
    border-radius: var(--template-radius-md);
    background: rgba(255, 255, 255, 0.8);
    box-shadow: var(--luxury-shadow-sm);
}

.template-swagger-shell .swagger-ui .opblock .opblock-summary {
    min-height: 3.25rem;
    border: 0;
    padding: 0.45rem 0.7rem;
}

.template-swagger-shell .swagger-ui .opblock .opblock-summary-method {
    min-width: 5rem;
    border-radius: var(--template-radius-sm);
    font-family: var(--luxury-font-secondary);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    text-shadow: none;
}

.template-swagger-shell .swagger-ui .opblock .opblock-summary-path,
.template-swagger-shell .swagger-ui .opblock .opblock-summary-path__deprecated {
    color: var(--luxury-text-primary);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 0.9rem;
    font-weight: 800;
}

.template-swagger-shell .swagger-ui .opblock .opblock-summary-description {
    color: var(--luxury-text-secondary);
    font-family: var(--luxury-font-secondary);
    font-size: 0.86rem;
}

.template-swagger-shell .swagger-ui .opblock.opblock-get {
    border-color: rgba(51, 140, 245, 0.28);
    background: rgba(234, 244, 255, 0.68);
}

.template-swagger-shell .swagger-ui .opblock.opblock-post {
    border-color: rgba(34, 185, 129, 0.28);
    background: rgba(232, 251, 243, 0.68);
}

.template-swagger-shell .swagger-ui .opblock.opblock-put,
.template-swagger-shell .swagger-ui .opblock.opblock-patch {
    border-color: rgba(245, 158, 11, 0.32);
    background: rgba(255, 246, 223, 0.72);
}

.template-swagger-shell .swagger-ui .opblock.opblock-delete {
    border-color: rgba(239, 68, 68, 0.28);
    background: rgba(255, 240, 241, 0.7);
}

.template-swagger-shell .swagger-ui .opblock-section-header,
.template-swagger-shell .swagger-ui .responses-inner h4,
.template-swagger-shell .swagger-ui .responses-inner h5 {
    background: transparent;
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-primary);
    box-shadow: none;
}

.template-swagger-shell .swagger-ui .opblock-body,
.template-swagger-shell .swagger-ui .responses-wrapper,
.template-swagger-shell .swagger-ui .parameters-container {
    background: rgba(255, 255, 255, 0.74);
}

.template-swagger-shell .swagger-ui table thead tr td,
.template-swagger-shell .swagger-ui table thead tr th {
    border-bottom: 1px solid var(--luxury-border-subtle);
    color: var(--luxury-text-muted);
    font-family: var(--luxury-font-secondary);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.template-swagger-shell .swagger-ui table tbody tr td {
    border-bottom: 1px solid var(--luxury-border-subtle);
    color: var(--luxury-text-secondary);
    font-family: var(--luxury-font-secondary);
}

.template-swagger-shell .swagger-ui .parameter__name,
.template-swagger-shell .swagger-ui .parameter__type,
.template-swagger-shell .swagger-ui .response-col_status {
    color: var(--luxury-text-primary);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

.template-swagger-shell .swagger-ui .model,
.template-swagger-shell .swagger-ui .model-title,
.template-swagger-shell .swagger-ui .model-toggle,
.template-swagger-shell .swagger-ui .prop-type,
.template-swagger-shell .swagger-ui .prop-format,
.template-swagger-shell .swagger-ui .renderedMarkdown,
.template-swagger-shell .swagger-ui .renderedMarkdown p {
    color: var(--luxury-text-secondary);
    font-family: var(--luxury-font-secondary);
}

.template-swagger-shell .swagger-ui .highlight-code,
.template-swagger-shell .swagger-ui .microlight {
    border-radius: var(--template-radius-md);
    background: var(--luxury-bg-dark) !important;
    color: #eef4ff !important;
}

.template-swagger-shell .swagger-ui .tab li {
    color: var(--luxury-text-secondary);
    font-family: var(--luxury-font-secondary);
}

.template-swagger-shell .swagger-ui .tab li.active {
    color: var(--luxury-primary);
}

.template-swagger-shell .swagger-ui .models {
    margin: 1rem 2rem 2rem;
    border-color: var(--luxury-border-light);
    border-radius: var(--template-radius-md);
}

.template-swagger-shell .swagger-ui .models h4,
.template-swagger-shell .swagger-ui .models h5 {
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-primary);
}
}

.template-navbar-title {
    max-width: 34rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-primary);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2;
}

.template-navbar-subtitle {
    max-width: 38rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--luxury-text-muted);
    font-size: 0.86rem;
    line-height: 1.35;
}

.template-navbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 38px;
}

.template-navbar-actions:empty {
    display: none;
}

.template-navbar-actions-inner,
.template-navbar-actions-inner > .d-flex {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.template-navbar-actions .btn {
    white-space: nowrap;
}

.template-navbar-user {
    margin-left: 0.25rem;
}

.template-locale-toggle {
    min-width: 3.05rem;
}

.template-offcanvas-wide {
    width: min(1040px, calc(100vw - 48px)) !important;
}

.template-client-switcher {
    max-width: 180px;
}

@media (max-width: 575.98px) {
    .template-offcanvas-wide {
        width: 100vw !important;
    }

    .template-builder-drawer .offcanvas-body {
        padding-inline: 1rem;
    }
}

.mobile-nav-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: rgba(0, 0, 0, 0.35);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.mobile-nav-open .mobile-nav-backdrop {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 991.98px) {
    :root {
        --navbar-height: 112px;
    }

    .luxury-navbar {
        left: 0;
        align-items: flex-start !important;
        flex-wrap: wrap;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }

    .template-navbar-page {
        flex: 1 1 calc(100% - 4rem);
    }

    .template-navbar-title,
    .template-navbar-subtitle {
        max-width: 100%;
        white-space: normal;
    }

    .template-navbar-actions {
        order: 5;
        width: 100%;
        justify-content: flex-start;
        padding-left: 2.8rem;
    }

    .template-navbar-actions-inner {
        justify-content: flex-start;
    }

    .template-navbar-user {
        margin-left: auto;
    }

    .template-sidebar {
        inset: 0 auto 0 0;
        width: min(85vw, 320px);
        padding: 0 0.75rem 1rem;
        transform: translateX(-100%);
    }

    .mobile-nav-open .template-sidebar {
        transform: translateX(0);
    }

    .sidebar-collapsed .template-sidebar {
        width: min(85vw, 320px);
    }

    .template-main,
    .sidebar-collapsed .template-main {
        margin-left: 0;
        max-width: 100vw;
        width: 100%;
    }

    .sidebar-collapsed .luxury-navbar {
        left: 0;
    }
}

@media (max-width: 575.98px) {
    :root {
        --navbar-height: 104px;
    }

    .luxury-navbar.template-navbar {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 0.55rem 0.65rem;
        min-height: 0;
        padding: 0.65rem 0.75rem;
    }

    .template-navbar-menu {
        grid-column: 1;
        grid-row: 1;
        align-self: center;
    }

    .template-navbar-page {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        min-width: 0;
        padding-left: 0;
    }

    .template-navbar-context {
        display: block;
        margin-bottom: 0.05rem;
        font-size: 0.62rem;
        line-height: 1.1;
    }

    .template-navbar-context span {
        display: none;
    }

    .template-navbar-context .template-navbar-token-pill {
        display: inline-flex;
        margin-top: 0.25rem;
        max-width: max-content;
    }

    .template-navbar-context strong,
    .template-navbar-title {
        display: block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .template-navbar-title {
        font-size: 1rem;
    }

    .template-navbar-subtitle {
        display: none;
    }

    .template-navbar-user {
        grid-column: 3;
        grid-row: 1;
        align-self: center;
        gap: 0.35rem !important;
        margin-left: 0;
    }

    .template-client-switcher {
        display: none;
    }

    .template-locale-toggle {
        min-width: 2.65rem;
        padding-inline: 0.45rem;
    }

    .template-navbar-actions {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        min-height: 0;
        overflow-x: auto;
        justify-content: flex-start;
        padding-left: 0;
        padding-bottom: 0.1rem;
        scrollbar-width: none;
    }

    .template-navbar-actions::-webkit-scrollbar {
        display: none;
    }

    .template-navbar-actions-inner,
    .template-navbar-actions-inner > .d-flex {
        flex-wrap: nowrap;
        justify-content: flex-start;
        width: max-content;
        min-width: 100%;
    }

    .template-navbar-actions .btn {
        flex: 0 0 auto;
        padding: 0.45rem 0.65rem;
        font-size: 0.82rem;
    }

    .template-content {
        padding-inline: 0.75rem !important;
        padding-top: 0.85rem !important;
        padding-bottom: 1.25rem !important;
    }

    .template-sidebar {
        padding-bottom: 0.55rem;
    }

    .template-sidebar-brand {
        min-height: 4.25rem;
    }

    .template-sidebar-nav {
        padding-top: 0.7rem;
        padding-bottom: 0.45rem;
    }

    .template-sidebar-footer {
        gap: 0.45rem;
        padding: 0.5rem 0.35rem 0;
        margin-top: 0.45rem;
    }

    .template-sidebar-panel {
        padding: 0.65rem;
    }

    .template-sidebar-panel-title,
    .template-sidebar-help-title {
        font-size: 0.78rem;
        line-height: 1.2;
    }

    .template-sidebar-usage-bar {
        height: 0.28rem;
        margin: 0.45rem 0 0.35rem;
    }

    .template-sidebar-usage-value,
    .template-sidebar-help-text {
        font-size: 0.72rem;
        line-height: 1.25;
    }

    .template-sidebar-upgrade {
        min-height: 2rem;
        margin-top: 0.45rem;
        padding-block: 0.25rem;
        font-size: 0.74rem;
    }

    .template-sidebar-help {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 0.5rem;
        padding: 0.6rem;
    }

    .template-sidebar-help-icon {
        width: 1.9rem;
        height: 1.9rem;
        flex-basis: 1.9rem;
        font-size: 0.85rem;
    }

    .template-sidebar-help-arrow {
        font-size: 0.95rem;
    }
}

.card {
    background: var(--luxury-bg-primary) !important;
    border: 1px solid var(--luxury-border-subtle) !important;
    box-shadow: var(--luxury-shadow-sm);
}

.btn-primary {
    --bs-btn-bg: var(--luxury-primary);
    --bs-btn-border-color: var(--luxury-primary);
    --bs-btn-hover-bg: var(--luxury-primary-dark);
    --bs-btn-hover-border-color: var(--luxury-primary-dark);
}

.btn-outline-primary {
    --bs-btn-color: var(--luxury-primary-dark);
    --bs-btn-border-color: var(--luxury-border-medium);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: var(--luxury-primary);
    --bs-btn-hover-border-color: var(--luxury-primary);
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: var(--luxury-primary-dark);
    --bs-btn-active-border-color: var(--luxury-primary-dark);
    --bs-btn-disabled-color: var(--luxury-text-muted);
    --bs-btn-disabled-border-color: var(--luxury-border-light);
}

.btn-outline-warning {
    --bs-btn-color: #9a4b00;
    --bs-btn-border-color: #b85f00;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #a85a00;
    --bs-btn-hover-border-color: #a85a00;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #8a4500;
    --bs-btn-active-border-color: #8a4500;
    --bs-btn-disabled-color: #9a4b00;
    --bs-btn-disabled-border-color: #b85f00;
    background: rgba(184, 95, 0, 0.04);
}

.form-control,
.form-select {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid var(--luxury-border-medium) !important;
    border-radius: 0 !important;
    color: var(--luxury-text-primary);
    box-shadow: none !important;
    background-clip: padding-box;
    transition:
        background-color 0.25s var(--ease-out-luxury),
        border-color 0.25s var(--ease-out-luxury),
        padding-left 0.25s var(--ease-out-luxury);
}

.form-control:hover,
.form-select:hover {
    border-color: var(--luxury-primary-light) !important;
    box-shadow: none !important;
}

.form-control:focus,
.form-select:focus {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: var(--luxury-primary) !important;
    box-shadow: none !important;
    outline: 0;
}

.floating-group {
    position: relative;
    margin-bottom: 1.5rem;
}

.floating-group::after {
    content: "";
    position: absolute;
    top: 46px;
    left: 0;
    right: 0;
    z-index: 3;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--luxury-primary-dark), var(--luxury-primary));
    border-radius: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.35s var(--ease-out-luxury);
    pointer-events: none;
}

.floating-group:focus-within::after {
    transform: scaleX(1);
}

.floating-group:focus-within > .form-control,
.floating-group:focus-within > .form-select,
.floating-group:focus-within .ts-control {
    border-color: var(--luxury-border-medium) !important;
    box-shadow: none !important;
}

.floating-input {
    height: 48px !important;
    padding: 1.25rem 0.85rem 0.25rem 0.85rem !important;
}

.textarea-floating-group::after {
    top: auto;
    bottom: 0;
}

.floating-textarea {
    min-height: 7.5rem;
    padding: 1.85rem 0.85rem 0.75rem !important;
    resize: vertical;
}

.floating-group:not(.floating-group-icon) > .floating-input:focus {
    padding-left: 1.1rem !important;
}

.floating-group > .form-select {
    height: 48px !important;
    min-height: 48px;
    padding: 1.2rem 2.25rem 0.3rem 0.85rem !important;
    line-height: 1.35 !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--luxury-border-medium) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.floating-group > select.form-select:not(.select-search) {
    appearance: none;
    -webkit-appearance: none;
    background-position: right 0.85rem center !important;
    background-size: 0.8rem 0.65rem !important;
}

.floating-group > select.form-select:not(.select-search):focus {
    background-color: transparent !important;
    border-bottom-color: var(--luxury-border-medium) !important;
    padding-left: 1.1rem !important;
}

.floating-label {
    position: absolute;
    top: 16px;
    left: 0.85rem;
    color: var(--luxury-text-secondary);
    font-size: 0.85rem;
    font-weight: 500;
    pointer-events: none;
    transform-origin: 0 0;
    opacity: 0.82;
    transition:
        top 0.28s var(--ease-out-luxury),
        color 0.28s var(--ease-out-luxury),
        font-size 0.28s var(--ease-out-luxury),
        letter-spacing 0.28s var(--ease-out-luxury),
        opacity 0.28s var(--ease-out-luxury);
}

.floating-input:focus ~ .floating-label,
.floating-input:not(:placeholder-shown) ~ .floating-label,
.floating-textarea:focus ~ .floating-label,
.floating-textarea:not(:placeholder-shown) ~ .floating-label,
.floating-label.label-positioned {
    top: 0.35rem;
    font-size: 0.68rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--luxury-primary-dark);
    opacity: 1;
}

.floating-input:not(:placeholder-shown):not(:focus) ~ .floating-label,
.floating-textarea:not(:placeholder-shown):not(:focus) ~ .floating-label,
.floating-label.label-positioned {
    color: var(--luxury-text-secondary);
    opacity: 0.78;
}

.floating-group:focus-within .floating-label,
.ts-wrapper.select-search.focus ~ .floating-label {
    color: var(--luxury-primary-dark);
    opacity: 1;
}

.manual-password-reset .floating-group {
    margin-bottom: 0;
}

.manual-password-reset .btn {
    min-height: 38px;
}

select.select-search,
select.select-search:focus,
select.select-search:focus-visible {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--luxury-border-medium) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

select.select-search:not(.tomselected) {
    height: 48px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.ts-wrapper.select-search {
    position: relative;
    width: 100%;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.ts-wrapper.form-select {
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-image: none !important;
    box-shadow: none !important;
}

.ts-control {
    min-height: 48px !important;
    height: 48px !important;
    padding: 0.75rem 2rem 0.55rem 0.85rem !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid var(--luxury-border-medium) !important;
    border-radius: 0 !important;
    color: var(--luxury-text-primary) !important;
    box-shadow: none !important;
    outline: 0 !important;
    transition:
        background-color 0.25s var(--ease-out-luxury),
        border-color 0.25s var(--ease-out-luxury) !important;
}

.floating-group .ts-control {
    padding: 1.2rem 2.25rem 0.3rem 0.85rem !important;
}

.ts-wrapper.form-select .ts-control,
.floating-group .ts-wrapper.select-search .ts-control {
    border: 0 !important;
    border-bottom: 1px solid var(--luxury-border-medium) !important;
    border-radius: 0 !important;
}

.floating-group .ts-wrapper.select-search.focus .ts-control,
.floating-group .ts-wrapper.select-search.dropdown-active .ts-control {
    border-bottom-color: var(--luxury-border-medium) !important;
}

.ts-wrapper.focus .ts-control,
.ts-wrapper.dropdown-active .ts-control {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: var(--luxury-border-medium) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.ts-wrapper.select-search,
.ts-wrapper.select-search:focus,
.ts-wrapper.select-search:focus-within,
.ts-wrapper.select-search.focus,
.ts-wrapper.select-search.dropdown-active,
.ts-wrapper.select-search .ts-control,
.ts-wrapper.select-search .ts-control:focus,
.ts-wrapper.select-search .ts-control:focus-visible,
.ts-wrapper.select-search.focus .ts-control,
.ts-wrapper.select-search.dropdown-active .ts-control {
    box-shadow: none !important;
    outline: 0 !important;
}

.ts-control input {
    color: var(--luxury-text-primary) !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    font-size: 0.95rem !important;
    transition: transform 0.25s var(--ease-out-luxury) !important;
}

.ts-wrapper.focus .ts-control input {
    transform: translateX(4px);
}

.ts-control .item {
    color: var(--luxury-text-primary) !important;
}

.ts-wrapper.select-search.focus ~ .floating-label,
.ts-wrapper.select-search.has-items ~ .floating-label {
    top: 0.35rem;
    font-size: 0.68rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--luxury-primary-dark);
    opacity: 1;
}

@keyframes templateDropdownSlide {
    from {
        opacity: 0;
        transform: translateY(-8px) scaleY(0.98);
        transform-origin: top;
    }

    to {
        opacity: 1;
        transform: translateY(0) scaleY(1);
        transform-origin: top;
    }
}

@keyframes templateBootstrapDropdown {
    from {
        opacity: 0;
        clip-path: inset(0 0 12% 0 round var(--template-radius-md));
    }

    to {
        opacity: 1;
        clip-path: inset(0 0 0 0 round var(--template-radius-md));
    }
}

.ts-dropdown {
    margin-top: 0.35rem !important;
    background-color: var(--luxury-bg-primary) !important;
    border: 1px solid var(--luxury-border-light) !important;
    border-radius: var(--template-radius-md) !important;
    box-shadow: var(--luxury-shadow-md) !important;
    overflow: hidden;
    z-index: 2147483647 !important;
    animation: templateDropdownSlide 0.28s var(--ease-out-luxury) both;
}

.ts-dropdown.template-drop-up {
    margin-top: 0 !important;
    margin-bottom: 0.35rem !important;
}

.ts-dropdown .ts-dropdown-content {
    max-height: inherit;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.ts-dropdown .option,
.ts-dropdown .no-results,
.ts-dropdown .loading {
    padding: 0.75rem 0.9rem !important;
    color: var(--luxury-text-primary);
}

.ts-dropdown .option {
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        padding-left 0.2s ease;
}

.ts-dropdown .option:hover,
.ts-dropdown .active {
    padding-left: 1.15rem !important;
    background-color: var(--luxury-accent-light) !important;
    color: var(--luxury-primary-dark) !important;
}

.form-check-input {
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0.18rem;
    background-color: var(--luxury-bg-primary);
    border: 1px solid var(--luxury-border-medium) !important;
    box-shadow: none !important;
    cursor: pointer;
    transition:
        background-color 0.18s var(--ease-out-luxury),
        border-color 0.18s var(--ease-out-luxury);
}

.form-check-input[type="checkbox"] {
    border-radius: 0.25rem !important;
}

.form-check-input[type="radio"] {
    border-radius: 50% !important;
}

.form-check-input:hover {
    border-color: var(--luxury-primary-light) !important;
}

.form-check-input:checked {
    background-color: var(--luxury-primary) !important;
    border-color: var(--luxury-primary) !important;
}

.form-check-input:checked[type="radio"] {
    background-image: none !important;
    box-shadow: inset 0 0 0 0.25rem var(--luxury-bg-primary) !important;
}

.form-check-input:active {
    filter: none;
}

.form-check-input:focus {
    border-color: var(--luxury-primary) !important;
    box-shadow: none !important;
    outline: 2px solid var(--luxury-accent-light);
    outline-offset: 2px;
}

.form-check-label {
    color: var(--luxury-text-primary);
}

.dropdown-menu {
    padding: 0.35rem !important;
    background-color: var(--luxury-bg-primary) !important;
    border: 1px solid var(--luxury-border-light) !important;
    border-radius: var(--template-radius-md) !important;
    box-shadow: var(--luxury-shadow-md) !important;
}

.dropdown-menu.show {
    animation: templateBootstrapDropdown 0.2s var(--ease-out-luxury) both;
}

.dropdown-toggle.show,
.dropdown-toggle:active,
.dropdown-toggle:focus-visible {
    color: #ffffff !important;
    background-color: var(--luxury-primary-dark) !important;
    border-color: var(--luxury-primary-dark) !important;
    box-shadow: none !important;
}

.dropdown-item {
    display: flex;
    align-items: center;
    min-height: 2.35rem;
    padding: 0.55rem 0.7rem !important;
    color: var(--luxury-text-primary) !important;
    border-radius: var(--template-radius-sm);
    font-size: 0.9rem;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        padding-left 0.18s ease;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active {
    padding-left: 0.9rem !important;
    color: var(--luxury-primary-dark) !important;
    background-color: var(--luxury-accent-light) !important;
}

.dropdown-item.text-danger:hover,
.dropdown-item.text-danger:focus {
    color: #b42318 !important;
    background-color: #fff0f1 !important;
}

.dropdown-divider {
    border-color: var(--luxury-border-light);
}

.table,
.template-table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--luxury-text-primary);
    border-color: var(--luxury-border-light);
    margin-bottom: 0;
    width: 100%;
    vertical-align: middle;
    border-collapse: collapse;
}

.table thead th,
.template-table thead th {
    font-family: var(--luxury-font-primary);
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--luxury-text-secondary);
    background: linear-gradient(180deg, rgba(246, 247, 255, 0.98), rgba(255, 255, 255, 0.92));
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-bottom: 1px solid var(--luxury-border-light);
    white-space: nowrap;
}

.table tbody td,
.template-table tbody td {
    padding-block: 0.95rem;
    color: var(--luxury-text-primary);
    border-color: var(--luxury-border-subtle);
}

.table-row-underline {
    border-bottom: 1px solid var(--luxury-border-subtle);
}

.table-row-underline:hover td {
    background: rgba(99, 91, 255, 0.06);
}

.badge-ref {
    border: 1px solid var(--luxury-border-light);
    color: var(--luxury-primary-dark);
    padding: 0.25rem 0.5rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.75rem;
}

.luxury-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: var(--luxury-font-primary);
    font-size: 0.72rem;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.luxury-breadcrumb a {
    color: var(--luxury-text-secondary);
    text-decoration: none;
}

.luxury-breadcrumb .active {
    color: var(--luxury-primary-dark);
    font-weight: 600;
}

.luxury-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.modal-luxury .modal-content {
    background: var(--luxury-bg-primary);
    box-shadow: var(--luxury-shadow-xl);
}

.luxury-progress {
    background-color: var(--luxury-gray-100) !important;
    border: 1px solid var(--luxury-border-light);
}

.luxury-progress-bar {
    background: linear-gradient(90deg, var(--luxury-primary-dark), var(--luxury-primary), var(--luxury-primary-light));
}

.luxury-terminal {
    border-top: 0 !important;
}

.animate-entry {
    animation: luxuryReveal 0.45s var(--ease-out-luxury) both;
}

.template-search {
    width: 100%;
}

.template-search-input {
    height: 48px !important;
    padding: 1.25rem 0.85rem 0.25rem 0.85rem !important;
}

.template-search-input,
.template-search-input:hover,
.template-search-input:focus {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}



.template-search-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.template-search-label i {
    font-size: 1rem;
    line-height: 1;
    transform-origin: left center;
    transition:
        transform 0.28s var(--ease-out-luxury),
        color 0.28s var(--ease-out-luxury),
        opacity 0.28s var(--ease-out-luxury);
}

.template-search-input:focus ~ .template-search-label i,
.template-search-input:not(:placeholder-shown) ~ .template-search-label i {
    transform: scale(0.8);
}

.template-icon-bubble {
    width: 56px;
    height: 56px;
    border-radius: 50% !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-primary);
    background: #eeedff;
}

.template-icon-bubble.success {
    color: #22b981;
    background: #e8fbf3;
}

.template-icon-bubble.info {
    color: #338cf5;
    background: #eaf4ff;
}

.template-icon-bubble.warning {
    color: #f59e0b;
    background: #fff6df;
}

.template-icon-bubble.danger {
    color: #ef4444;
    background: #fff0f1;
}

.template-metric-card,
.template-soft-card {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--luxury-border-subtle);
    border-radius: var(--template-radius-lg);
    box-shadow: var(--luxury-shadow-sm);
}

.template-metric-card {
    min-height: 124px;
}

.template-dashboard-page {
    padding-block: 0.25rem 0.75rem;
}

.template-dashboard-filters {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    box-shadow: var(--luxury-shadow-sm);
}

.template-dashboard-filter-controls {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(180px, 220px);
    gap: 0.85rem;
    align-items: center;
}

.template-dashboard-kpi {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 112px;
    height: 100%;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    box-shadow: var(--luxury-shadow-sm);
}

.template-dashboard-kpi-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.75rem;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.75rem;
    color: #fff;
    font-size: 1.2rem;
}

.template-dashboard-kpi-icon.primary {
    background: var(--luxury-primary);
}

.template-dashboard-kpi-icon.success {
    background: #31c48d;
}

.template-dashboard-kpi-icon.warning {
    background: #f59e0b;
}

.template-dashboard-kpi-icon.info {
    background: #3b82f6;
}

.template-dashboard-kpi-body {
    min-width: 0;
}

.template-dashboard-kpi-body span,
.template-dashboard-kpi-body small {
    display: block;
}

.template-dashboard-kpi-body span {
    color: var(--luxury-text-muted);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.template-dashboard-kpi-body strong {
    display: block;
    color: var(--luxury-text-primary);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.1;
    margin-top: 0.25rem;
}

.template-dashboard-kpi-body small {
    color: var(--luxury-text-muted);
    margin-top: 0.2rem;
}

@media (max-width: 767.98px) {
    .template-dashboard-filters {
        align-items: stretch;
        flex-direction: column;
    }

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

.template-upload-dropzone {
    min-height: 220px;
    background: rgba(255, 255, 255, 0.62);
    border: 1px dashed var(--luxury-primary-light);
    border-radius: var(--template-radius-lg);
    transition: border-color 0.2s ease, background 0.2s ease;
}

.template-upload-dropzone:hover {
    background: rgba(255, 255, 255, 0.84);
    border-color: var(--luxury-primary);
}

.template-option-card,
.template-quick-action {
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.template-option-card.active,
.template-option-card:hover,
.template-quick-action:hover {
    border-color: var(--luxury-primary);
    box-shadow: 0 16px 34px rgba(99, 91, 255, 0.12);
    transform: translateY(-1px);
}

.template-file-icon {
    width: 34px;
    height: 34px;
    border-radius: var(--template-radius-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.template-file-icon.pdf { background: #ef4444; }
.template-file-icon.docx { background: #338cf5; }
.template-file-icon.xlsx { background: #25b77a; }
.template-file-icon.pptx { background: #f97316; }
.template-file-icon.default { background: var(--luxury-primary); }

.template-list-row {
    border-bottom: 1px solid var(--luxury-border-light);
}

.template-list-row:last-child {
    border-bottom: 0;
}

.template-chart svg {
    width: 100%;
    min-height: 210px;
}

.template-chart-grid line {
    stroke: var(--luxury-border-light);
}

.template-donut {
    --donut-value: 84%;
    width: 156px;
    height: 156px;
    border-radius: 50%;
    background: conic-gradient(#31c48d 0 var(--donut-value), var(--luxury-primary) var(--donut-value) 100%);
    display: grid;
    place-items: center;
}

.template-donut::before {
    content: "";
    width: 104px;
    height: 104px;
    border-radius: 50%;
    background: var(--luxury-bg-primary);
    position: absolute;
}

.template-donut-content {
    position: relative;
    z-index: 1;
}

.template-sidebar-panel {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-lg);
    box-shadow: var(--luxury-shadow-sm);
}

.template-components-page {
    scroll-behavior: smooth;
}

.template-component-index {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.template-component-index a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 3.25rem;
    padding: 0.85rem 1rem;
    color: var(--luxury-text-primary);
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    text-decoration: none;
    transition: border-color 0.2s var(--ease-out-luxury), background-color 0.2s var(--ease-out-luxury), transform 0.2s var(--ease-out-luxury);
}

.template-component-index a:hover {
    background: var(--luxury-bg-primary);
    border-color: var(--luxury-primary-light);
    transform: translateY(-1px);
}

.template-component-index span,
.template-section-heading > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    color: var(--luxury-primary-dark);
    background: var(--luxury-accent-light);
    border-radius: 50%;
    font-family: var(--luxury-font-primary);
    font-size: 0.75rem;
    font-weight: 600;
}

.template-showcase-section {
    margin-bottom: 7rem;
    scroll-margin-top: calc(var(--navbar-height) + 2rem);
}

.template-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.template-section-heading h2 {
    margin: 0;
    font-family: var(--luxury-font-primary);
    font-size: 1.25rem;
}

.template-section-heading p {
    max-width: 760px;
    margin: 0.3rem 0 0;
    color: var(--luxury-text-secondary);
}

.template-eyebrow {
    color: var(--luxury-text-muted);
    font-family: var(--luxury-font-primary);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.template-note,
.template-breadcrumb-panel,
.template-scroll-panel,
.template-toolbar-card,
.template-stat-tile,
.template-control-tile,
.template-chip-input {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
}

.template-note {
    padding: 1rem;
    color: var(--luxury-text-secondary);
    background: var(--luxury-gray-50);
}

.template-breadcrumb-panel,
.template-scroll-panel {
    padding: 1.25rem;
}

.luxury-breadcrumb li {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.luxury-breadcrumb li:not(:last-child)::after {
    content: "/";
    color: var(--luxury-text-muted);
}

.luxury-nav-section-h {
    display: flex;
    gap: 1.25rem;
    overflow-x: auto;
    overflow-y: hidden;
    border-bottom: 1px solid var(--luxury-border-light);
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.luxury-nav-section-h::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

.luxury-nav-section-h .nav-link {
    position: relative;
    padding: 0.9rem 0;
    color: var(--luxury-text-secondary);
    border-radius: 0 !important;
    white-space: nowrap;
}

.luxury-nav-section-h .nav-link::after {
    content: "";
    position: absolute;
    right: 50%;
    bottom: -1px;
    left: 50%;
    height: 2px;
    background: var(--luxury-primary);
    border-radius: 999px;
    transition: left 0.25s var(--ease-out-luxury), right 0.25s var(--ease-out-luxury);
}

.luxury-nav-section-h .nav-link:hover,
.luxury-nav-section-h .nav-link.active {
    color: var(--luxury-primary-dark) !important;
}

.luxury-nav-section-h .nav-link:hover::after,
.luxury-nav-section-h .nav-link.active::after {
    right: 0;
    left: 0;
}

.luxury-nav-section-v {
    display: grid;
    gap: 0.35rem;
}

.luxury-nav-section-v .nav-link {
    padding: 0.75rem 0.9rem !important;
    color: var(--luxury-text-secondary);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--template-radius-md) !important;
}

.luxury-nav-section-v .nav-link:hover,
.luxury-nav-section-v .nav-link.active {
    color: var(--luxury-primary-dark) !important;
    background: var(--luxury-accent-light);
    border-color: var(--luxury-border-light);
}

.template-offcanvas {
    width: min(480px, 100vw) !important;
    background: var(--luxury-bg-primary);
    border-left: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-lg) 0 0 var(--template-radius-lg);
    z-index: 1060;
}

.template-offcanvas.template-offcanvas-wide {
    width: min(1040px, max(50vw, 720px)) !important;
}

.offcanvas-backdrop {
    z-index: 1055;
    background: rgba(15, 23, 42, 0.5);
}

.offcanvas-backdrop.show {
    opacity: 1;
}

[x-cloak] {
    display: none !important;
}

.template-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1055;
    background: rgba(15, 23, 42, 0.5);
    opacity: 0;
    pointer-events: auto;
    transition: opacity 0.18s ease;
    will-change: opacity;
}

.template-drawer-backdrop.is-visible {
    opacity: 1;
}

.template-offcanvas .offcanvas-header {
    position: relative;
    background: linear-gradient(180deg, var(--luxury-bg-primary) 0%, var(--luxury-bg-primary) 68%, rgba(255, 255, 255, 0) 100%);
    border-bottom: 0;
    z-index: 2;
}

.template-offcanvas .offcanvas-header::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1.25rem;
    background: linear-gradient(180deg, var(--luxury-bg-primary), rgba(255, 255, 255, 0));
    pointer-events: none;
    transform: translateY(100%);
}

.template-offcanvas .offcanvas-footer {
    background: var(--luxury-bg-primary);
}

.template-builder-drawer .offcanvas-body {
    padding: 1.5rem 1.5rem 6rem;
}

.template-builder-form {
    display: grid;
    gap: 1rem;
}

.template-builder-section {
    padding: 1.15rem;
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    background: rgba(255, 255, 255, 0.72);
}

.template-icon-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(152px, 1fr));
    gap: 0.75rem;
}

.template-icon-option {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 3.25rem;
    padding: 0.75rem 0.85rem;
    color: var(--luxury-text-primary);
    text-align: left;
    background: var(--luxury-bg-primary);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.template-icon-option:hover,
.template-icon-option.active {
    border-color: var(--luxury-primary);
    box-shadow: 0 0 0 0.2rem rgba(99, 91, 255, 0.12);
    transform: translateY(-1px);
}

.template-icon-option i {
    display: grid;
    place-items: center;
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
    color: var(--luxury-primary);
    background: var(--luxury-accent-light);
    border-radius: var(--template-radius-md);
}

.template-icon-option span {
    min-width: 0;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.2;
}

.template-proof-card {
    padding: 1rem;
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    background: var(--luxury-bg-primary);
}

.template-structure-section {
    min-height: 50vh;
    padding: 0;
    border: 0;
    background: transparent;
}

.template-structure-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: start;
    margin-bottom: 0.5rem;
}

.template-steps-list,
.template-proofs-list {
    display: grid;
    gap: 1rem;
}

.template-step-card {
    padding: 1.25rem 0 0;
    border-top: 1px solid var(--luxury-border-light);
    background: transparent;
}

.template-step-card-header,
.template-proofs-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.template-step-fields {
    display: grid;
    gap: 0.75rem;
}

.template-proofs-panel {
    margin-top: 1rem;
    padding: 1rem 0 0;
    border-top: 1px solid var(--luxury-border-light);
    background: transparent;
}

.template-proof-grid {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) auto auto auto;
    gap: 0.75rem;
    align-items: center;
}

.template-proof-card {
    padding: 0.85rem 0;
    border: 0;
    border-bottom: 1px solid var(--luxury-border-light);
    border-radius: 0;
    background: transparent;
}

.template-proof-card:last-child {
    border-bottom: 0;
}

.template-proof-grid .floating-group {
    margin-bottom: 0;
}

.template-proof-grid .form-check {
    min-height: 2.5rem;
    display: flex;
    align-items: center;
    margin-bottom: 0;
}

.template-geolocation-options {
    display: grid;
    gap: 0.85rem;
    margin-top: 0.85rem;
    padding: 0.9rem;
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    background: rgba(246, 248, 252, 0.75);
}

.template-geolocation-option-block {
    display: grid;
    gap: 0.75rem;
}

.template-geolocation-option-head,
.template-geolocation-fields,
.template-geolocation-logo-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.template-geolocation-fields .form-check,
.template-geolocation-option-head .form-check {
    margin-bottom: 0;
}

.template-geolocation-upload {
    min-height: 120px;
    padding: 1rem !important;
}

.template-geolocation-upload .template-icon-bubble {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 0.5rem !important;
}

.template-geolocation-upload .h5 {
    font-size: 0.95rem;
}

.template-geolocation-logo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(110px, 1fr));
}

.template-geolocation-logo-grid .floating-group {
    margin-bottom: 0;
}

.template-logo-placement {
    display: grid;
    gap: 0.75rem;
}

.template-logo-stage {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    min-height: 190px;
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    background:
        linear-gradient(135deg, rgba(47, 75, 255, 0.06), rgba(74, 222, 128, 0.06)),
        var(--luxury-bg-primary);
    touch-action: none;
    user-select: none;
}

.template-logo-stage-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.72;
    pointer-events: none;
}

.template-logo-stage::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0.28));
    pointer-events: none;
}

.template-logo-stage-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(to right, rgba(148, 163, 184, 0.22) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(148, 163, 184, 0.22) 1px, transparent 1px);
    background-size: 10% 10%;
    z-index: 1;
}

.template-logo-rect {
    position: absolute;
    display: grid;
    place-items: center;
    min-width: 2rem;
    min-height: 1.5rem;
    border: 2px solid var(--luxury-accent);
    border-radius: 0.45rem;
    background: rgba(79, 70, 229, 0.12);
    color: var(--luxury-primary);
    font-size: 0.78rem;
    font-weight: 700;
    cursor: grab;
    box-shadow: 0 0.75rem 1.5rem rgba(15, 23, 42, 0.12);
    z-index: 2;
}

.template-logo-rect img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    display: block;
    object-fit: contain;
    padding: 0;
    box-sizing: border-box;
    pointer-events: none;
}

.template-logo-rect span {
    position: relative;
    z-index: 1;
}

.template-logo-rect:active {
    cursor: grabbing;
}

.template-logo-resize {
    position: absolute;
    right: -0.45rem;
    bottom: -0.45rem;
    width: 1rem;
    height: 1rem;
    padding: 0;
    border: 2px solid var(--luxury-bg-primary);
    border-radius: 999px;
    background: var(--luxury-accent);
    cursor: nwse-resize;
    z-index: 3;
}

@media (max-width: 991.98px) {
    .template-offcanvas.template-offcanvas-wide {
        width: 100vw !important;
    }

    .template-proof-grid {
        grid-template-columns: 1fr 1fr;
    }

    .template-geolocation-logo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .template-icon-grid {
        grid-template-columns: 1fr;
    }

    .template-structure-header {
        grid-template-columns: 1fr;
    }

    .template-step-card-header,
    .template-proofs-header,
    .template-proof-grid {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .template-geolocation-logo-grid {
        grid-template-columns: 1fr;
    }
}

.template-drawer-preview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 170px;
    gap: 1rem;
    min-height: 280px;
}

.template-drawer-preview-main,
.template-drawer-mini {
    padding: 1.25rem;
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
}

.template-drawer-preview-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--luxury-gray-50);
}

.template-drawer-mini {
    background: var(--luxury-bg-primary);
    box-shadow: var(--luxury-shadow-sm);
}

.template-drawer-mini-header,
.template-drawer-line {
    height: 0.55rem;
    background: var(--luxury-gray-100);
    border-radius: 999px;
}

.template-drawer-mini-header {
    width: 100%;
    margin-bottom: 1rem;
}

.template-drawer-line {
    margin-top: 0.7rem;
}

.template-modal-preview {
    overflow: hidden;
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    background: var(--luxury-bg-primary);
}

.template-modal-preview-header {
    display: flex;
    gap: 0.35rem;
    padding: 0.75rem;
    border-bottom: 1px solid var(--luxury-border-light);
    background: var(--luxury-gray-50);
}

.template-modal-preview-header span {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--luxury-border-medium);
}

.template-modal-preview-body {
    padding: 1.25rem;
}

.modal-luxury .modal-content {
    background: var(--luxury-bg-primary);
    border: 1px solid var(--luxury-border-light) !important;
    border-radius: var(--template-radius-lg) !important;
    box-shadow: var(--luxury-shadow-xl);
}

.modal-luxury .modal-header,
.modal-luxury .modal-footer {
    border-color: var(--luxury-border-light);
}

.template-spec-list {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--luxury-border-light);
}

.template-spec-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 0;
    border-bottom: 1px solid var(--luxury-border-light);
}

.template-spec-list > div > span {
    color: var(--luxury-text-muted);
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    line-height: 1.2;
    text-transform: uppercase;
}

.template-spec-list > div > strong {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
    line-height: 1.2;
    text-align: right;
}

.badge-ref {
    display: inline-flex;
    align-items: center;
    min-height: 1.65rem;
    padding: 0.25rem 0.55rem;
    color: var(--luxury-primary-dark);
    background: var(--luxury-gray-50);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-sm);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.72rem;
}

.template-table-card,
.template-doc-table-card,
.template-doc-detail {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-lg);
    box-shadow: 0 14px 38px rgba(77, 88, 142, 0.06);
}

.template-table-scroll,
.template-doc-table-card .template-table-scroll {
    overflow: auto;
}

.template-doc-board {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 280px);
    gap: 0.85rem;
    align-items: stretch;
}

.template-doc-table-card {
    min-width: 0;
    overflow: hidden;
}

.template-doc-table-card:has(+ .template-doc-footer) {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.template-doc-table-card:has(+ .template-doc-footer) + .template-doc-footer {
    border: 1px solid var(--luxury-border-light);
    border-top: 0;
    border-bottom-right-radius: var(--template-radius-lg);
    border-bottom-left-radius: var(--template-radius-lg);
    box-shadow: 0 14px 38px rgba(77, 88, 142, 0.06);
}

.template-doc-table-card:has(+ .template-doc-footer) .template-doc-table tbody tr:last-child td {
    border-bottom: 1px solid var(--luxury-border-subtle);
}

.template-doc-toolbar {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.5rem;
    background: rgba(255, 255, 255, 0.82);
    border-bottom: 1px solid var(--luxury-border-light);
}

.template-doc-toolbar .floating-group {
    margin-bottom: 0;
}

@media (min-width: 992px) {
    .template-content:has(.template-dossiers-page) {
        height: calc(100dvh - var(--navbar-height) - 4.5rem);
        min-height: 0;
        display: flex;
        flex-direction: column;
        padding-bottom: 1rem !important;
    }

    .template-dossiers-page {
        min-height: 0;
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        overflow: hidden;
    }

    .template-dossiers-page > .alert {
        flex: 0 0 auto;
    }

    .template-dossiers-page .template-doc-table-card {
        min-height: 0;
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
    }

    .template-dossiers-page .template-doc-toolbar,
    .template-dossiers-page .template-doc-footer {
        flex: 0 0 auto;
    }

    .template-dossiers-page .template-table-scroll {
        min-height: 0;
        flex: 1 1 auto;
        overflow: auto;
    }

    .template-dossiers-page .template-doc-table thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        background: var(--luxury-bg-primary);
    }
}

.template-doc-search {
    min-width: 240px;
    max-width: 360px;
    flex: 1 1 260px;
}

.template-doc-filter-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 auto;
    justify-content: flex-end;
}

.template-doc-filter-group .floating-group {
    min-width: 9.5rem;
    margin-bottom: 0;
}

.template-doc-filter {
    min-height: 2.35rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0 0.8rem;
    color: var(--luxury-text-secondary);
    background: var(--luxury-bg-primary);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}

.template-doc-table {
    min-width: 1040px;
}

.template-reusable-table {
    min-width: 720px;
}

.template-doc-table thead th {
    padding: 0.8rem 0.9rem;
    color: var(--luxury-text-secondary);
    background: rgba(248, 250, 255, 0.92);
    border-bottom: 1px solid var(--luxury-border-light);
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.template-doc-table tbody td {
    padding: 0.72rem 0.9rem;
    background: var(--luxury-bg-primary);
    border-bottom: 1px solid var(--luxury-border-subtle);
    color: var(--luxury-text-secondary);
    font-size: 0.78rem;
}

.template-doc-table tbody tr:hover td {
    background: rgba(246, 247, 255, 0.78);
}

.template-doc-table tbody tr.is-selected td {
    background: rgba(99, 91, 255, 0.055);
}

.template-doc-table tbody tr:last-child td {
    border-bottom: 0;
}

.template-dossier-detail,
.template-dossier-detail-scroll {
    min-width: 0;
    overflow-x: hidden;
}

.template-dossier-detail {
    height: var(--template-dossier-viewport-height, auto);
    min-height: 0;
}

.template-dossier-detail-scroll {
    overflow-y: auto;
}

.template-dossier-detail-scroll:has(.template-dossier-workspace) {
    overflow-y: hidden;
}

.template-dossier-overview-card {
    padding: 1rem;
    background: #fff;
    border-color: #dbe4f0;
}

.template-dossier-title-wrap {
    min-width: 0;
}

.template-dossier-title-wrap h2 {
    overflow-wrap: anywhere;
}

.template-dossier-structure-list {
    display: grid;
    gap: 0.65rem;
}

.template-dossier-step-block {
    overflow: hidden;
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    background: var(--luxury-bg-primary);
}

.template-dossier-step-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.58rem 0.7rem;
    background: rgba(248, 250, 255, 0.92);
    border-bottom: 1px solid var(--luxury-border-light);
    flex-wrap: wrap;
}

.template-dossier-proof-list {
    display: grid;
}

.template-dossier-workspace {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 1rem;
    align-items: stretch;
    height: 100%;
    min-height: 0;
}

.template-dossier-overview-card,
.template-dossier-document-panel {
    max-height: 100%;
    min-height: 0;
    overflow-y: auto;
}

.template-dossier-document-panel {
    display: grid;
    gap: 0.85rem;
    align-content: start;
    min-width: 0;
    padding-left: 0.15rem;
}

.template-dossier-selected-viewer {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-color: #cbd9ea;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.template-dossier-selected-viewer .template-file-viewer-head {
    background: #f8fbff;
    border-bottom-color: #dbe4f0;
}

.template-dossier-selected-viewer .template-file-viewer-meta {
    background: #ffffff;
    border-bottom-color: #dbe4f0;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.template-dossier-selected-viewer .template-file-viewer-meta > div {
    border-right-color: #e4ebf5;
    padding-inline: 0.85rem;
}

.template-dossier-selected-viewer .template-file-viewer-meta strong {
    white-space: nowrap;
    overflow-wrap: normal;
}

@media (max-width: 767.98px) {
    .template-dossier-selected-viewer .template-file-viewer-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.template-dossier-selected-viewer .template-file-viewer-body {
    height: clamp(22rem, 55vh, 34rem);
    min-height: clamp(22rem, 55vh, 34rem);
    max-height: none;
    background: #eef3f8;
}

.template-dossier-selected-viewer .template-file-viewer-frame,
.template-dossier-selected-viewer .template-file-spreadsheet-preview,
.template-dossier-selected-viewer .template-file-presentation-preview,
.template-dossier-selected-viewer .template-file-office-output,
.template-dossier-selected-viewer .docxjs-container {
    height: 100%;
    min-height: 100%;
}

.template-dossier-selected-viewer .docxjs-container,
.template-dossier-selected-viewer .docxjs-container .docx-wrapper {
    max-width: 100%;
    overflow-x: hidden;
}

.template-dossier-selected-viewer .docxjs-container .docx-wrapper {
    padding: 0.6rem !important;
    background: transparent !important;
}

.template-dossier-selected-viewer .docxjs-container .docx {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
}

.template-dossier-selected-viewer .template-file-viewer-image,
.template-dossier-selected-viewer .template-file-viewer-video {
    max-height: 100%;
}

.template-dossier-selected-viewer .template-file-viewer-head {
    padding: 0.85rem;
}

.template-dossier-selected-viewer .template-file-viewer-title h2 {
    font-size: 0.94rem;
}

.template-dossier-selected-viewer .template-file-viewer-title p {
    display: none;
}

.template-dossier-timeline {
    display: grid;
    gap: 0.9rem;
}

.template-dossier-timeline-step {
    position: relative;
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.72rem;
}

.template-dossier-timeline-step::before {
    content: "";
    position: absolute;
    top: 2.4rem;
    bottom: -0.9rem;
    left: 1rem;
    width: 1px;
    background: #cfd9e8;
}

.template-dossier-timeline-step:last-child::before {
    content: none;
}

.template-dossier-timeline-marker {
    z-index: 1;
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    color: #1d4ed8;
    background: #dbeafe;
    border: 1px solid #93c5fd;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
}

.template-dossier-timeline-step:nth-child(2n) .template-dossier-timeline-marker {
    color: #047857;
    background: #d1fae5;
    border-color: #6ee7b7;
}

.template-dossier-timeline-step:nth-child(3n) .template-dossier-timeline-marker {
    color: #b45309;
    background: #fef3c7;
    border-color: #fcd34d;
}

.template-dossier-timeline-content {
    min-width: 0;
    padding-bottom: 0.1rem;
}

.template-dossier-timeline-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.7rem;
    min-width: 0;
    margin-bottom: 0.35rem;
}

.template-dossier-timeline-title strong {
    min-width: 0;
    color: var(--luxury-text-primary);
    font-size: 0.98rem;
    overflow-wrap: anywhere;
}

.template-dossier-timeline-title span {
    flex: 0 0 auto;
    color: var(--luxury-text-muted);
    font-size: 0.74rem;
}

.template-dossier-step-tabs {
    display: flex;
    gap: 0.35rem;
    min-width: 0;
    margin-bottom: 0.85rem;
    padding-bottom: 0.2rem;
    overflow-x: auto;
}

.template-dossier-step-tab {
    display: grid;
    gap: 0.08rem;
    flex: 0 0 auto;
    max-width: 15rem;
    min-height: 3rem;
    padding: 0.48rem 0.65rem;
    color: var(--luxury-text-muted);
    text-align: left;
    background: var(--luxury-bg-primary);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-sm);
}

.template-dossier-step-tab.active {
    color: var(--luxury-primary);
    background: var(--luxury-accent-light);
    border-color: rgba(99, 91, 255, 0.24);
}

.template-dossier-step-tab span {
    color: inherit;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.template-dossier-step-tab strong {
    overflow: hidden;
    color: var(--luxury-text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.template-dossier-proof-list.is-light {
    border-top: 1px solid #dbe4f0;
}

.template-dossier-proof-row,
.template-dossier-proof-empty {
    min-width: 0;
    padding: 0.5rem 0.7rem;
    border-bottom: 1px solid #dbe4f0;
}

.template-dossier-proof-row {
    display: grid;
    gap: 0.6rem;
}

.template-dossier-proof-row.is-light {
    margin-inline: -0.35rem;
    padding: 0.72rem 0.35rem;
    background: #f8fafc;
}

.template-dossier-proof-row.is-light:nth-child(even) {
    background: #ffffff;
}

.template-dossier-proof-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    min-width: 0;
}

.template-dossier-proof-subline {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    margin-top: 0.18rem;
    color: var(--luxury-text-muted);
    font-size: 0.75rem;
    flex-wrap: wrap;
}

.template-dossier-proof-subline span + span::before {
    content: "";
    display: inline-block;
    width: 0.22rem;
    height: 0.22rem;
    margin-right: 0.55rem;
    vertical-align: middle;
    background: currentColor;
    border-radius: 999px;
    opacity: 0.45;
}

.template-dossier-proof-upload.is-compact {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex: 0 1 28rem;
    min-width: 18rem;
}

.template-dossier-proof-upload.is-compact .btn {
    flex: 0 0 auto;
}

.template-dossier-upload-picker {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.52rem;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 2.5rem;
    margin: 0;
    padding: 0.42rem 0.58rem;
    color: var(--luxury-text-primary);
    background: #fff7ed;
    border: 1px dashed #fdba74;
    border-radius: var(--template-radius-sm);
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease;
}

.template-dossier-upload-picker:hover {
    background: #ffedd5;
    border-color: #fb923c;
}

.template-dossier-upload-picker input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.template-dossier-upload-icon {
    display: grid;
    place-items: center;
    width: 1.8rem;
    height: 1.8rem;
    color: #c2410c;
    background: #ffffff;
    border: 1px solid #fed7aa;
    border-radius: var(--template-radius-sm);
}

.template-dossier-upload-copy {
    display: grid;
    gap: 0.05rem;
    min-width: 0;
}

.template-dossier-upload-copy strong,
.template-dossier-upload-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.template-dossier-upload-copy strong {
    color: var(--luxury-text-primary);
    font-size: 0.76rem;
    font-weight: 800;
}

.template-dossier-upload-copy small {
    color: var(--luxury-text-muted);
    font-size: 0.68rem;
}

.template-dossier-proof-mobile {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
    color: #0f766e;
    font-size: 0.78rem;
    font-weight: 700;
}

.template-dossier-proof-error {
    color: #dc2626;
    font-size: 0.78rem;
}

.template-dossier-document-list {
    display: grid;
    gap: 0.35rem;
}

.template-dossier-document-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    width: 100%;
    min-width: 0;
    padding: 0.42rem 0.55rem;
    color: inherit;
    text-align: left;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: var(--template-radius-sm);
}

.template-dossier-document-line.is-selected {
    background: #ecfdf5;
    border-color: #34d399;
}

.template-dossier-document-line.is-selected .badge-ref {
    color: #047857;
    background: #d1fae5;
    border-color: #6ee7b7;
}

.template-dossier-document-line:hover {
    background: #f0f9ff;
    border-color: #7dd3fc;
}

.template-dossier-status-timeline {
    display: inline-flex;
    align-items: center;
    gap: 0;
    flex: 0 0 auto;
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 800;
    white-space: nowrap;
}

.template-dossier-status-timeline span {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 1.45rem;
    padding-inline: 0.45rem;
    background: #f8fafc;
    border-block: 1px solid #e2e8f0;
}

.template-dossier-status-timeline span:first-child {
    border-left: 1px solid #e2e8f0;
    border-radius: var(--template-radius-sm) 0 0 var(--template-radius-sm);
}

.template-dossier-status-timeline span:last-child {
    border-right: 1px solid #e2e8f0;
    border-radius: 0 var(--template-radius-sm) var(--template-radius-sm) 0;
}

.template-dossier-status-timeline span.is-active {
    color: #0369a1;
    background: #e0f2fe;
    border-color: #bae6fd;
}

.template-dossier-status-timeline span.is-current {
    color: #92400e;
    background: #fef3c7;
    border-color: #fcd34d;
}

.template-dossier-status-timeline span.is-failed {
    color: #b91c1c;
    background: #fee2e2;
    border-color: #fecaca;
}

.template-dossier-document-status-timeline.luxury-timeline {
    --timeline-gutter: 0;
    --timeline-axis-x: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex: 0 0 auto;
    padding-left: 0;
}

.template-dossier-document-status-timeline.luxury-timeline::before {
    content: none;
}

.template-dossier-document-status-timeline .timeline-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.34rem;
    padding: 0;
    animation: none;
}

.template-dossier-document-status-timeline .timeline-item::before {
    content: none;
}

.template-dossier-document-status-timeline .timeline-marker {
    position: static;
    width: 0.55rem;
    height: 0.55rem;
    flex: 0 0 0.55rem;
    outline: 3px solid #fff;
    transform: none;
}

.template-dossier-document-status-timeline .timeline-marker::after {
    content: none;
}

.template-dossier-document-status-timeline .timeline-item:hover .timeline-marker,
.template-dossier-document-status-timeline .timeline-item.is-passed .timeline-marker {
    box-shadow: none;
    transform: none;
}

.template-dossier-document-status-timeline .timeline-item.is-current .timeline-marker {
    background: #f59e0b;
    border-color: #f59e0b;
}

.template-dossier-document-status-timeline .timeline-item.is-failed .timeline-marker {
    background: #dc2626;
    border-color: #dc2626;
}

.template-dossier-document-status-timeline .timeline-content {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
}

.template-dossier-document-status-timeline .timeline-item:hover .timeline-content {
    transform: none;
}

.template-dossier-document-status-timeline .timeline-date {
    color: var(--luxury-text-muted);
    font-size: 0.62rem;
    letter-spacing: 0;
}

.template-dossier-document-status-timeline .timeline-title {
    margin: 0;
    color: var(--luxury-text-secondary);
    font-size: 0.68rem;
    font-weight: 800;
    white-space: nowrap;
}

.template-dossier-document-status-timeline .timeline-item.is-current .timeline-title {
    color: #92400e;
}

.template-dossier-document-status-timeline .timeline-item.is-failed .timeline-title {
    color: #b91c1c;
}

.template-dossier-document-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-width: 5.8rem;
    min-height: 1.35rem;
    padding: 0.18rem 0.5rem;
    border: 1px solid var(--luxury-border-light);
    border-radius: 999px;
    background: var(--luxury-surface);
    color: var(--luxury-text-secondary);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.template-dossier-document-status-dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: currentColor;
    flex: 0 0 auto;
}

.template-dossier-document-status-badge.is-success {
    border-color: rgba(16, 185, 129, 0.24);
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
}

.template-dossier-document-status-badge.is-warning {
    border-color: rgba(245, 158, 11, 0.26);
    background: rgba(245, 158, 11, 0.11);
    color: #b45309;
}

.template-dossier-document-status-badge.is-danger {
    border-color: rgba(239, 68, 68, 0.24);
    background: rgba(239, 68, 68, 0.1);
    color: #dc2626;
}

.template-dossier-document-name {
    display: flex;
    align-items: center;
    gap: 0.38rem;
    min-width: 0;
    overflow: hidden;
    color: var(--luxury-text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.template-dossier-hash {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.72rem;
}

.template-dossier-history-meta {
    display: flex;
    gap: 0.45rem;
    margin-top: 0.35rem;
    color: var(--luxury-text-muted);
    font-size: 0.74rem;
    flex-wrap: wrap;
}

.template-dossier-history-meta span + span::before {
    content: "";
    display: inline-block;
    width: 0.24rem;
    height: 0.24rem;
    margin-right: 0.45rem;
    vertical-align: middle;
    background: currentColor;
    border-radius: 999px;
    opacity: 0.45;
}

.template-dossier-proof-empty {
    display: flex;
    align-items: center;
}

.template-dossier-proof-row:last-child,
.template-dossier-proof-empty:last-child {
    border-bottom: 0;
}

.template-dossier-proof-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    min-width: 0;
    flex-wrap: wrap;
}

.template-dossier-proof-meta,
.template-dossier-proof-files-summary {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    flex-wrap: wrap;
}

.template-dossier-step-title strong,
.template-dossier-proof-row strong,
.template-dossier-proof-row .badge-ref {
    min-width: 0;
    overflow-wrap: anywhere;
}

.template-dossier-file-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    gap: 0.5rem;
    min-width: 0;
    overflow-x: hidden;
}

.template-dossier-file-search {
    flex: 1 1 13rem;
    min-width: 0;
    max-width: 18rem;
    margin-bottom: 0;
}

.template-dossier-file-search::after {
    top: 2.15rem;
}

.template-dossier-file-search .template-search-input {
    height: 2.2rem !important;
    padding: 0.95rem 0.7rem 0.15rem !important;
    font-size: 0.76rem;
}

.template-dossier-file-search .template-search-label {
    top: 0.62rem;
    left: 0.7rem;
    font-size: 0.76rem;
}

.template-dossier-file-search .template-search-input:focus ~ .template-search-label,
.template-dossier-file-search .template-search-input:not(:placeholder-shown) ~ .template-search-label {
    top: 0.2rem;
    font-size: 0.6rem;
}

.template-dossier-proof-files-summary {
    margin-left: auto;
}

.template-dossier-proof-requirement {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 1.65rem;
    height: 1.65rem;
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-sm);
    font-size: 0.88rem;
}

.template-dossier-proof-requirement.is-required {
    color: #0f8a5f;
    background: #e8fbf1;
    border-color: rgba(15, 138, 95, 0.18);
}

.template-dossier-proof-requirement.is-optional {
    color: var(--luxury-text-muted);
    background: var(--luxury-gray-50);
}

.template-dossier-file-card[hidden],
.template-dossier-file-toggle[hidden],
.template-dossier-file-empty[hidden] {
    display: none !important;
}

.template-dossier-file-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.5rem;
    align-items: center;
    min-width: 0;
    padding: 0.52rem;
    background: rgba(248, 250, 255, 0.64);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-sm);
}

.template-dossier-file-icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    color: var(--luxury-primary);
    background: var(--luxury-accent-light);
    border-radius: var(--template-radius-sm);
    font-size: 1rem;
}

.template-dossier-file-content {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
}

.template-dossier-file-content strong,
.template-dossier-file-content small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.template-dossier-file-content strong {
    color: var(--luxury-text-primary);
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.2;
}

.template-dossier-file-content small {
    color: var(--luxury-text-muted);
    font-size: 0.68rem;
    line-height: 1.2;
}

.template-dossier-file-card.is-image .template-dossier-file-icon {
    color: #047857;
    background: rgba(16, 185, 129, 0.12);
}

.template-dossier-file-card.is-pdf .template-dossier-file-icon {
    color: #dc2626;
    background: rgba(239, 68, 68, 0.12);
}

.template-dossier-file-card.is-document .template-dossier-file-icon {
    color: #2563eb;
    background: rgba(59, 130, 246, 0.12);
}

.template-dossier-file-card.is-video .template-dossier-file-icon {
    color: #7c3aed;
    background: rgba(124, 58, 237, 0.12);
}

.template-dossier-file-card.is-archive .template-dossier-file-icon {
    color: #b45309;
    background: rgba(245, 158, 11, 0.14);
}

.template-dossier-file-empty {
    padding: 0.25rem 0.05rem;
    font-size: 0.76rem;
}

.template-dossier-file-toggle {
    justify-self: flex-start;
    min-height: 2rem;
    padding: 0 0.7rem;
    color: var(--luxury-primary-dark);
    background: var(--luxury-bg-primary);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-sm);
    font-size: 0.74rem;
    font-weight: 700;
}

.template-dossier-file-toggle:hover {
    border-color: var(--luxury-primary);
}

.template-table-has-actions th:last-child,
.template-table-has-actions td:last-child {
    text-align: right;
}

.template-table-has-actions td:last-child > .d-flex {
    justify-content: flex-end;
}

.template-action-placeholder {
    pointer-events: none;
}

.template-action-state {
    min-width: 7.5rem;
    justify-content: center;
}

.template-doc-check {
    width: 2.5rem;
    text-align: center;
}

.template-doc-name,
.template-doc-cert {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.template-doc-name strong,
.template-doc-cell-title,
.template-doc-cert strong {
    display: block;
    color: var(--luxury-text-primary);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.35;
}

.template-doc-name small,
.template-doc-table td small,
.template-doc-cert small,
.template-doc-detail small {
    display: block;
    color: var(--luxury-text-muted);
    font-size: 0.72rem;
    line-height: 1.45;
}

.template-doc-file-icon {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2rem;
    color: #fff;
    border-radius: var(--template-radius-sm);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.template-doc-file-icon.pdf { background: #ef4444; }
.template-doc-file-icon.doc { background: #3b82f6; }
.template-doc-file-icon.xls { background: #22a06b; }
.template-doc-file-icon.ppt { background: #f97316; }

.template-doc-cert i {
    width: 1.45rem;
    height: 1.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.45rem;
    color: #16a36a;
    background: #e8fbf1;
    border-radius: 50%;
}

.template-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.65rem;
    padding: 0.25rem 0.62rem;
    border: 1px solid transparent;
    border-radius: var(--template-radius-sm);
    font-size: 0.74rem;
    font-weight: 700;
}

.template-status-pill.success {
    color: #0f8a5f;
    background: #e8fbf1;
    border-color: rgba(15, 138, 95, 0.18);
}

.template-status-pill.warning {
    color: #b45400;
    background: #fff3e4;
    border-color: rgba(180, 84, 0, 0.18);
}

.template-status-pill.danger {
    color: #b42318;
    background: #fff0f1;
    border-color: rgba(180, 35, 24, 0.18);
}

.template-sync-state {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--luxury-text-primary);
    font-weight: 700;
}

.template-sync-state i {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: currentColor;
}

.template-sync-state.success { color: #16a36a; }
.template-sync-state.info { color: #2f6fed; }

.template-doc-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.4rem;
}

.template-doc-action {
    width: 2.1rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-text-secondary);
    background: var(--luxury-bg-primary);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-sm);
}

.template-doc-action:hover {
    color: var(--luxury-primary-dark);
    background: var(--luxury-accent-light);
}

.template-doc-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.8rem 0.9rem;
    color: var(--luxury-text-secondary);
    background: rgba(255, 255, 255, 0.82);
    border-top: 1px solid var(--luxury-border-light);
    font-size: 0.78rem;
}

.template-doc-pagination {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.template-doc-pagination button,
.template-doc-pagination .template-pagination-link {
    min-width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-text-secondary);
    text-decoration: none;
    background: transparent;
    border: 0;
    border-radius: var(--template-radius-sm);
    font-weight: 700;
    line-height: 1;
}

.template-doc-pagination button.active,
.template-doc-pagination .template-pagination-link.active {
    color: #fff;
    background: var(--luxury-primary);
}

.template-doc-pagination .template-pagination-link.disabled {
    color: var(--luxury-text-muted);
    opacity: 0.55;
    pointer-events: none;
}

.template-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.5rem;
    color: var(--luxury-text-secondary);
    font-size: 0.92rem;
}

.template-doc-footer.template-pagination {
    margin-top: 0;
}

.template-pagination-summary {
    min-width: 0;
}

.template-pagination-pages {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-left: auto;
}

.template-pagination-link,
.template-pagination-ellipsis {
    min-width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-text-secondary);
    text-decoration: none;
    background: transparent;
    border: 0;
    border-radius: var(--template-radius-sm);
    font-weight: 700;
    line-height: 1;
}

.template-pagination-link:hover {
    color: var(--luxury-primary-dark);
    background: rgba(124, 109, 255, 0.08);
}

.template-pagination-link.active {
    color: #fff;
    background: var(--luxury-primary);
}

.template-pagination-link.disabled {
    color: var(--luxury-text-muted);
    opacity: 0.55;
    pointer-events: none;
}

.template-pagination-ellipsis {
    min-width: 1.25rem;
    color: var(--luxury-text-muted);
}

.template-doc-detail {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    background: #fffdf7;
    border-color: #eadfc8;
    box-shadow: 0 10px 24px rgba(120, 53, 15, 0.05);
}

.template-doc-detail .template-eyebrow {
    color: #92400e;
}

.template-doc-detail .template-spec-list {
    border-top-color: #eadfc8;
}

.template-doc-detail .template-spec-list > div {
    border-bottom-color: #eadfc8;
}

.template-doc-detail .template-spec-list > div:nth-child(even) {
    margin-inline: -0.45rem;
    padding-inline: 0.45rem;
    background: rgba(255, 247, 237, 0.72);
}

.template-doc-detail-head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.template-doc-detail-head strong {
    display: block;
    color: var(--luxury-text-primary);
    font-size: 0.84rem;
    line-height: 1.35;
}

.template-doc-detail-list {
    display: grid;
    gap: 0.9rem;
}

.template-doc-detail-list span {
    display: block;
    margin-bottom: 0.2rem;
    color: var(--luxury-text-muted);
    font-size: 0.72rem;
}

.template-doc-detail-list strong {
    color: var(--luxury-text-primary);
    font-size: 0.82rem;
}

.template-file-viewer-page {
    min-height: 100vh;
    padding: 1rem;
    background: var(--luxury-bg-secondary);
}

.template-file-viewer-wrap {
    width: min(100%, 1480px);
    margin-inline: auto;
}

.template-file-viewer {
    min-width: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-lg);
    box-shadow: 0 14px 38px rgba(77, 88, 142, 0.06);
}

.template-file-viewer-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.82);
    border-bottom: 1px solid var(--luxury-border-light);
}

.template-file-viewer-title {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
}

.template-file-viewer-title h2 {
    margin: 0.15rem 0 0.2rem;
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-primary);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.template-file-viewer-title p {
    margin: 0;
    color: var(--luxury-text-muted);
    font-size: 0.78rem;
}

.template-file-viewer-icon {
    width: 2.6rem;
    height: 2.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.6rem;
    color: #fff;
    border-radius: var(--template-radius-md);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
    font-size: 1.18rem;
}

.template-file-viewer-icon.pdf { background: #ef4444; }
.template-file-viewer-icon.doc { background: #3b82f6; }
.template-file-viewer-icon.xls { background: #22a06b; }
.template-file-viewer-icon.ppt { background: #f97316; }
.template-file-viewer-icon.image { background: #0ea5e9; }
.template-file-viewer-icon.audio { background: #7c3aed; }
.template-file-viewer-icon.video { background: #db2777; }
.template-file-viewer-icon.file { background: #64748b; }

.template-file-viewer-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.template-file-viewer-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8.75rem, 1fr));
    gap: 0;
    border-bottom: 1px solid var(--luxury-border-light);
}

.template-file-viewer-meta > div {
    min-width: 0;
    padding: 0.8rem 1rem;
    border-right: 1px solid var(--luxury-border-subtle);
}

.template-file-viewer-meta > div:last-child {
    border-right: 0;
}

.template-file-viewer-meta span,
.template-file-viewer-meta strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.template-file-viewer-meta span {
    margin-bottom: 0.2rem;
    color: var(--luxury-text-muted);
    font-size: 0.72rem;
}

.template-file-viewer-meta strong {
    color: var(--luxury-text-primary);
    font-size: 0.82rem;
}

.template-file-viewer-body {
    min-height: min(72vh, 780px);
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: auto;
    background: var(--luxury-bg-primary);
}

.template-file-viewer-image {
    max-width: 100%;
    max-height: 72vh;
    align-self: center;
    object-fit: contain;
    padding: 1rem;
}

.template-file-viewer-video {
    width: min(100%, 960px);
    max-height: 72vh;
    align-self: center;
    margin: 1rem;
    background: #050814;
    border-radius: var(--template-radius-md);
}

.template-file-viewer-frame {
    width: 100%;
    min-height: 72vh;
    background: #fff;
    border: 0;
}

.template-file-viewer-audio {
    width: min(100%, 760px);
    display: grid;
    gap: 1rem;
    align-self: center;
    padding: 1rem;
}

.template-file-viewer-audio canvas {
    width: 100%;
    height: 180px;
    display: block;
    background: linear-gradient(180deg, rgba(99, 91, 255, 0.08), rgba(34, 160, 107, 0.07));
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
}

.template-file-viewer-audio audio {
    width: 100%;
}

.template-file-preview-status {
    width: 100%;
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-text-muted);
    font-size: 0.88rem;
    font-weight: 700;
    text-align: center;
}

.template-file-preview-status.is-error {
    color: var(--luxury-danger, #b42318);
}

.template-file-office-deferred {
    width: min(100%, 360px);
    align-self: center;
    display: grid;
    justify-items: center;
    gap: 0.65rem;
    margin: 1rem;
    padding: 1.25rem;
    color: var(--luxury-text-secondary);
    text-align: center;
    background: #fff;
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    box-shadow: 0 16px 36px rgba(77, 88, 142, 0.08);
}

.template-file-office-deferred > i {
    display: inline-grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    color: #fff;
    background: var(--luxury-primary);
    border-radius: var(--template-radius-md);
    font-size: 1.25rem;
}

.template-file-office-deferred strong {
    color: var(--luxury-text-primary);
    font-size: 0.92rem;
}

.template-file-office-deferred span {
    max-width: 18rem;
    color: var(--luxury-text-muted);
    font-size: 0.78rem;
    line-height: 1.45;
}

.template-doc-action.is-text {
    width: auto;
    min-width: 0;
    gap: 0.4rem;
    padding-inline: 0.7rem;
    color: var(--luxury-primary-dark);
    font-size: 0.78rem;
    font-weight: 800;
}

.template-file-spreadsheet-preview,
.template-file-presentation-preview,
.template-file-office-output,
.docxjs-container {
    width: 100%;
    min-height: 72vh;
    overflow: auto;
    padding: 1rem;
    color: #1f2937;
    background: #fff;
}

.docxjs-container .docx {
    margin-inline: auto;
    max-width: 100%;
    box-sizing: border-box;
}

.template-file-doc-preview {
    width: min(100%, 380px);
    align-self: center;
    display: grid;
    gap: 0.65rem;
    margin: 1rem;
    padding: 1.2rem;
    color: #1f2937;
    background: #fff;
    border: 1px solid var(--luxury-border-light);
    border-top: 0.45rem solid #3b82f6;
    border-radius: var(--template-radius-md);
    box-shadow: 0 16px 36px rgba(77, 88, 142, 0.1);
}

.template-file-doc-preview strong {
    font-size: 0.9rem;
}

.template-file-doc-preview span {
    display: block;
    overflow: hidden;
    color: #475467;
    font-size: 0.78rem;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.template-file-doc-preview.is-text {
    width: 100%;
    align-self: stretch;
    margin: 0;
    border-top-width: 0.25rem;
    box-shadow: none;
}

.template-file-doc-preview.is-text span {
    white-space: normal;
}

.template-file-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
    color: var(--luxury-text-primary);
}

.template-file-sheet-head strong {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0;
}

.template-file-sheet-head span {
    color: var(--luxury-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.template-file-sheet-scroll {
    width: 100%;
    overflow: auto;
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
}

.template-file-sheet-table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    font-size: 0.78rem;
}

.template-file-sheet-table th,
.template-file-sheet-table td {
    max-width: 180px;
    padding: 0.58rem 0.7rem;
    overflow: hidden;
    color: var(--luxury-text-primary);
    text-overflow: ellipsis;
    white-space: nowrap;
    border-right: 1px solid var(--luxury-border-light);
    border-bottom: 1px solid var(--luxury-border-light);
}

.template-file-sheet-table th {
    background: var(--luxury-bg-secondary);
    font-size: 0.72rem;
    text-transform: uppercase;
}

.template-file-slide-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.template-file-slide-card {
    min-height: 132px;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.9rem;
    color: var(--luxury-text-primary);
    background:
        linear-gradient(135deg, rgba(99, 91, 255, 0.12), rgba(34, 160, 107, 0.08)),
        var(--luxury-bg-primary);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
}

.template-file-slide-card span {
    color: var(--luxury-text-muted);
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}

.template-file-slide-card strong {
    font-size: 0.95rem;
    line-height: 1.28;
}

.template-file-slide-card p {
    margin: 0;
    color: var(--luxury-text-secondary);
    font-size: 0.78rem;
    line-height: 1.45;
}

.template-file-viewer-demo .template-file-viewer-body {
    min-height: 230px;
}

.template-file-viewer-demo .template-file-viewer-frame {
    min-height: 230px;
}

.template-file-viewer-demo .template-file-viewer-image {
    max-height: 260px;
}

.template-file-viewer-demo .template-file-viewer-video {
    max-height: 260px;
}

.template-file-viewer-demo .template-file-spreadsheet-preview,
.template-file-viewer-demo .template-file-presentation-preview,
.template-file-viewer-demo .template-file-office-output,
.template-file-viewer-demo .docxjs-container {
    min-height: 230px;
    max-height: 260px;
    padding: 0.75rem;
}

.template-file-viewer-demo .template-file-doc-preview {
    max-height: 230px;
    overflow: hidden;
}

.template-file-viewer-demo .docxjs-container .docx-wrapper {
    padding: 0.5rem !important;
    background: transparent !important;
}

.template-file-viewer-demo .docxjs-container .docx {
    margin-inline: auto !important;
}

.template-file-viewer-demo .template-file-viewer-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.template-file-demo-image,
.template-file-demo-video,
.template-file-demo-audio,
.template-file-demo-document,
.template-file-demo-slides,
.template-file-demo-sheet {
    width: 100%;
    min-height: 230px;
}

.template-file-demo-image {
    display: flex;
    align-items: flex-end;
    padding: 1rem;
    color: #fff;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0.64)),
        linear-gradient(135deg, #60a5fa 0%, #22c55e 52%, #f59e0b 100%);
}

.template-file-demo-image span {
    display: inline-flex;
    padding: 0.35rem 0.55rem;
    background: rgba(15, 23, 42, 0.42);
    border-radius: var(--template-radius-sm);
    font-size: 0.78rem;
    font-weight: 700;
}

.template-file-demo-audio {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.34rem;
    padding: 1.25rem;
    background: linear-gradient(180deg, rgba(124, 58, 237, 0.08), rgba(14, 165, 233, 0.08));
}

.template-file-demo-audio span {
    width: 0.52rem;
    min-height: 1.1rem;
    background: var(--luxury-primary);
    border-radius: 999px;
}

.template-file-demo-video {
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(135deg, rgba(15, 23, 42, 0.92), rgba(79, 70, 229, 0.72)),
        #0f172a;
}

.template-file-demo-video span {
    width: 3.8rem;
    height: 3.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 50%;
    font-size: 2rem;
}

.template-file-demo-document {
    width: min(100%, 260px);
    align-self: center;
    display: grid;
    gap: 0.7rem;
    margin: 1rem;
    padding: 1.4rem;
    background: #fff;
    border: 1px solid var(--luxury-border-light);
    border-top: 0.45rem solid #ef4444;
    border-radius: var(--template-radius-md);
    box-shadow: 0 16px 36px rgba(77, 88, 142, 0.1);
}

.template-file-demo-document.docx {
    border-top-color: #3b82f6;
}

.template-file-demo-document strong {
    color: #1f2937;
    font-size: 0.82rem;
}

.template-file-demo-document span {
    height: 0.5rem;
    background: #e5e7eb;
    border-radius: 999px;
}

.template-file-demo-document span.short {
    width: 62%;
}

.template-file-demo-slides {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    align-items: center;
    padding: 1rem;
    background: linear-gradient(180deg, rgba(249, 115, 22, 0.1), rgba(99, 91, 255, 0.08));
}

.template-file-demo-slides span {
    aspect-ratio: 4 / 3;
    background:
        linear-gradient(180deg, #ffffff 0 28%, #fef3c7 28% 42%, #ffffff 42%),
        #fff;
    border: 1px solid rgba(249, 115, 22, 0.18);
    border-radius: var(--template-radius-sm);
    box-shadow: 0 14px 30px rgba(77, 88, 142, 0.08);
}

.template-file-demo-sheet {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.35rem;
    align-content: center;
    padding: 1rem;
    background: linear-gradient(180deg, rgba(34, 160, 107, 0.1), rgba(14, 165, 233, 0.07));
}

.template-file-demo-sheet span {
    min-height: 1.6rem;
    background: #fff;
    border: 1px solid rgba(34, 160, 107, 0.16);
    border-radius: var(--template-radius-sm);
}

.template-file-demo-sheet span.active {
    background: rgba(34, 160, 107, 0.18);
}

.template-table-thumb {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-primary);
    background: var(--luxury-accent-light);
    border-radius: var(--template-radius-md);
    font-size: 1.4rem;
}

.template-table-thumb.active {
    color: #fff;
    background: var(--luxury-primary);
}

.template-table-thumb.warning {
    color: #a15c00;
    background: #fff2d9;
}

.template-icon-btn {
    width: 2.35rem;
    height: 2.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    color: var(--luxury-primary);
    background: var(--luxury-bg-primary);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md) !important;
    text-decoration: none;
    transition:
        background-color 0.2s var(--ease-out-luxury),
        border-color 0.2s var(--ease-out-luxury),
        color 0.2s var(--ease-out-luxury),
        transform 0.2s var(--ease-out-luxury);
}

.template-icon-btn:hover {
    color: var(--luxury-primary-dark);
    background: var(--luxury-accent-light);
    border-color: var(--luxury-primary-light);
    transform: translateY(-1px);
}

.template-icon-btn:focus,
.template-icon-btn:focus-visible {
    box-shadow: none !important;
    outline: 2px solid color-mix(in srgb, var(--luxury-primary) 22%, transparent);
    outline-offset: 2px;
}

.btn-primary.template-icon-btn {
    color: #fff;
    background: var(--luxury-primary);
    border-color: var(--luxury-primary);
}

.btn-primary.template-icon-btn:hover {
    color: #fff;
    background: var(--luxury-primary-dark);
    border-color: var(--luxury-primary-dark);
}

.template-icon-btn.active {
    color: #fff;
    background: var(--luxury-primary);
    border-color: var(--luxury-primary);
}

.template-toolbar-card,
.luxury-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.template-toolbar-card {
    padding: 1rem 1.25rem;
}

.template-toolbar-value {
    color: var(--luxury-text-primary);
}

.template-toolbar-separator {
    width: 1px;
    height: 1.5rem;
    background: var(--luxury-border-light);
}

.grid-card {
    position: relative;
    z-index: 1;
}

.grid-card:hover {
    z-index: 4;
}

.template-product-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--luxury-border-light) !important;
    transition: transform 0.3s var(--ease-out-luxury), border-color 0.2s var(--ease-out-luxury), box-shadow 0.3s var(--ease-out-luxury);
}

.grid-card:hover .template-product-card {
    transform: translateY(-4px);
    border-color: var(--luxury-primary-light) !important;
    box-shadow: var(--luxury-shadow-md);
}

.grid-card.is-selected .template-product-card {
    border-color: var(--luxury-primary) !important;
    box-shadow: 0 0 0 1px var(--luxury-primary), var(--luxury-shadow-sm);
}

.card-quick-link {
    position: absolute;
    right: 0.75rem;
    bottom: 0.75rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s var(--ease-out-luxury);
    transform: translateY(4px);
}

.grid-card:hover .card-quick-link,
.grid-card.is-selected .card-quick-link {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.template-media {
    position: relative;
    display: grid;
    place-items: center;
    gap: 0.5rem;
    min-height: 180px;
    padding: 1rem;
    overflow: hidden;
    color: var(--luxury-text-primary);
    background: var(--luxury-gray-50);
}

.template-media i {
    font-size: 2.2rem;
}

.template-media span {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.template-media-square {
    aspect-ratio: 1;
    min-height: 0;
}

.template-media-portrait {
    aspect-ratio: 1 / 1.414;
}

.template-media-wide {
    aspect-ratio: 16 / 10;
}

.template-media-dark {
    color: #fff;
    background: linear-gradient(135deg, #18213f, #41507a);
}

.template-media-light {
    background: linear-gradient(135deg, #ffffff, var(--luxury-gray-100));
}

.template-media-success {
    color: #096b49;
    background: linear-gradient(135deg, #e8fbf3, #ffffff);
}

.template-media-info {
    color: #2469c9;
    background: linear-gradient(135deg, #eaf4ff, #ffffff);
}

.template-media-warning {
    color: #9a5b00;
    background: linear-gradient(135deg, #fff6df, #ffffff);
}

.template-media-muted {
    color: var(--luxury-text-muted);
    background: var(--luxury-gray-100);
}

.shimmer-loading {
    background: linear-gradient(90deg, var(--luxury-gray-100) 0%, var(--luxury-gray-200) 45%, var(--luxury-gray-100) 90%);
    background-size: 220% 100%;
    animation: templateShimmer 1.4s linear infinite;
}

.template-chip-input {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    min-height: 48px;
    padding: 0.55rem;
}

.template-chip-input span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.5rem;
    color: var(--luxury-primary-dark);
    background: var(--luxury-accent-light);
    border-radius: var(--template-radius-sm);
    font-size: 0.78rem;
}

.template-chip-input input {
    min-width: 120px;
    flex: 1 1 auto;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--luxury-text-primary);
}

.template-accordion .accordion-item {
    background: transparent;
    border-color: var(--luxury-border-light);
}

.template-accordion .accordion-button {
    gap: 0.75rem;
    color: var(--luxury-text-primary);
    background: transparent !important;
    border: 1px solid transparent;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.template-accordion .accordion-button:not(.collapsed) {
    color: var(--luxury-text-primary) !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.template-accordion .accordion-button:focus,
.template-accordion .accordion-button:focus-visible {
    border-color: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.template-accordion .accordion-button::after {
    width: 0.65rem;
    height: 0.65rem;
    margin-left: auto;
    background-image: none !important;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    opacity: 0.58;
    transform: rotate(45deg);
    transition: transform 0.2s var(--ease-out-luxury), opacity 0.2s ease;
}

.template-accordion .accordion-button:not(.collapsed)::after {
    opacity: 0.58;
    transform: rotate(-135deg);
}

.template-accordion .accordion-button span {
    color: var(--luxury-primary);
    font-family: var(--luxury-font-primary);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
}

.luxury-timeline,
.price-timeline-v {
    --timeline-gutter: 2rem;
    --timeline-axis-x: 0.45rem;
    --timeline-item-axis-x: calc(var(--timeline-axis-x) - var(--timeline-gutter));
    --timeline-axis-width: 3px;
    position: relative;
    padding-left: var(--timeline-gutter);
}

.luxury-timeline {
    --timeline-progress-height: 0px;
    isolation: isolate;
}

.luxury-timeline::before {
    content: "";
    position: absolute;
    top: 0.7rem;
    left: var(--timeline-axis-x);
    width: var(--timeline-axis-width);
    height: var(--timeline-progress-height);
    max-height: calc(100% - 0.7rem);
    background: linear-gradient(180deg, var(--luxury-primary-light), var(--luxury-primary), var(--luxury-primary-light));
    background-size: 100% 220%;
    border-radius: 999px;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.54),
        0 0 18px rgba(99, 91, 255, 0.22),
        0 0 34px rgba(139, 134, 255, 0.16);
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%);
    transition: height 0.18s var(--ease-out-luxury), opacity 0.16s var(--ease-out-luxury);
    z-index: 0;
}

.luxury-timeline.is-tracking::before {
    opacity: 1;
    animation: timelineProgressGlow 1.45s ease-in-out infinite;
}

.luxury-timeline .timeline-content {
    position: relative;
    z-index: 2;
}

.timeline-item,
.price-timeline-v-item {
    position: relative;
    z-index: auto;
    padding-bottom: 2rem;
    animation: templateSlideIn 0.5s var(--ease-out-luxury) both;
}

.timeline-item:last-child,
.price-timeline-v-item:last-child {
    padding-bottom: 0;
}

.timeline-item::before,
.price-timeline-v-item::before {
    content: "";
    position: absolute;
    top: 0.7rem;
    bottom: 0;
    left: calc(var(--timeline-item-axis-x) - 1.125px);
    width: 1px;
    background: var(--luxury-border-light);
    transform: translateX(-50%);
    z-index: -1;
}

.timeline-item:last-child::before,
.price-timeline-v-item:last-child::before {
    display: none;
}

.timeline-marker,
.price-timeline-marker {
    position: absolute;
    top: 0.35rem;
    left: var(--timeline-item-axis-x);
    width: 0.72rem;
    height: 0.72rem;
    background: var(--luxury-bg-primary);
    border: 2px solid var(--luxury-primary);
    border-radius: 50%;
    outline: 5px solid var(--luxury-bg-primary);
    transform: translateX(-50%);
    z-index: 4;
    transition:
        background-color 0.2s var(--ease-out-luxury),
        box-shadow 0.2s var(--ease-out-luxury),
        outline-color 0.2s var(--ease-out-luxury),
        transform 0.2s var(--ease-out-luxury);
}

.timeline-marker::after {
    content: "";
    position: absolute;
    inset: -0.45rem;
    border-radius: 50%;
    background: rgba(99, 91, 255, 0.16);
    opacity: 0;
    transform: scale(0.72);
    z-index: -1;
}

.timeline-item:hover .timeline-marker,
.timeline-item.is-passed .timeline-marker,
.price-timeline-v-item:hover .price-timeline-marker {
    background: var(--luxury-primary);
    border-color: var(--luxury-primary);
    box-shadow:
        0 0 0 4px var(--luxury-bg-primary),
        0 0 0 8px rgba(99, 91, 255, 0.1),
        0 10px 24px rgba(99, 91, 255, 0.2);
    transform: translateX(-50%) scale(1.2);
}

.timeline-item.is-passed .timeline-marker::after {
    animation: timelineMarkerPulse 1.45s ease-in-out infinite;
}

.timeline-content,
.price-content {
    transition: transform 0.2s var(--ease-out-luxury);
}

.timeline-item:hover .timeline-content,
.price-timeline-v-item:hover .price-content {
    transform: translateX(4px);
}

.timeline-date,
.price-date-sub {
    display: block;
    color: var(--luxury-text-muted);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.timeline-title {
    margin-top: 0.25rem;
    color: var(--luxury-text-primary);
    font-weight: 600;
}

.timeline-description {
    margin: 0.4rem 0 0;
    color: var(--luxury-text-secondary);
}

@keyframes timelineProgressGlow {
    0%, 100% {
        background-position: 0 0;
        filter: saturate(1);
    }
    50% {
        background-position: 0 100%;
        filter: saturate(1.24);
    }
}

@keyframes timelineMarkerPulse {
    0%, 100% {
        opacity: 0.18;
        transform: scale(0.82);
    }
    50% {
        opacity: 0.44;
        transform: scale(1.18);
    }
}

.price-value-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.35rem;
    padding: 0.45rem 0.7rem;
    color: var(--luxury-text-primary);
    background: var(--luxury-gray-50);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-md);
    font-weight: 600;
}

.price-trend {
    font-size: 0.75rem;
    font-weight: 600;
}

.price-trend.up {
    color: #15965f;
}

.price-trend.stable {
    color: var(--luxury-text-muted);
}

.price-timeline-h {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 3.25rem 0.5rem 1rem;
}

.price-timeline-h::before {
    content: "";
    position: absolute;
    top: 3.65rem;
    right: 1.25rem;
    left: 1.25rem;
    height: 1px;
    background: var(--luxury-border-medium);
}

.price-timeline-h-item {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    gap: 0.35rem;
    flex: 1;
    text-align: center;
}

.price-node {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background: var(--luxury-primary);
    transition: transform 0.2s var(--ease-out-luxury);
}

.price-timeline-h-item:hover .price-node {
    transform: scale(1.35);
}

.price-bubble {
    position: absolute;
    top: 0;
    left: 50%;
    padding: 0.35rem 0.55rem;
    color: var(--luxury-primary-dark);
    background: var(--luxury-accent-light);
    border-radius: var(--template-radius-sm);
    font-size: 0.72rem;
    white-space: nowrap;
    opacity: 0;
    transform: translateX(-50%) translateY(0.3rem);
    transition: opacity 0.2s ease, transform 0.2s var(--ease-out-luxury);
}

.price-timeline-h-item:hover .price-bubble {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.price-label {
    color: var(--luxury-text-primary);
    font-weight: 600;
}

.template-stat-tile {
    height: 100%;
    padding: 1.25rem;
}

.template-stat-icon,
.template-pricing-icon {
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    border-radius: var(--template-radius-md);
    background: var(--luxury-accent-light);
    color: var(--luxury-primary);
    font-size: 1.25rem;
}

.template-stat-icon.success { color: #0f8a5f; background: #e8fbf3; }
.template-stat-icon.warning { color: #9a5b00; background: #fff6df; }
.template-stat-icon.info { color: #2469c9; background: #eaf4ff; }

.template-stat-value {
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-primary);
    font-size: 2rem;
    line-height: 1.1;
}

.luxury-progress {
    background: var(--luxury-gray-100) !important;
    border: 1px solid var(--luxury-border-light);
    border-radius: 999px !important;
    overflow: hidden;
}

.luxury-progress-bar {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(90deg, var(--luxury-primary-dark), var(--luxury-primary), var(--luxury-primary-light));
    background-size: 100% 100%;
    animation: none;
}

.luxury-progress-bar::after {
    content: "";
    position: absolute;
    inset-block: 0;
    left: 0;
    z-index: 1;
    width: 38%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.42), transparent);
    transform: translateX(-120%);
    animation: templateProgress 1.7s var(--ease-out-luxury) infinite;
}

.luxury-terminal {
    overflow: hidden;
    height: 100%;
    background: var(--luxury-bg-primary);
    border: 1px solid var(--luxury-border-light);
    border-top: 0 !important;
    border-radius: var(--template-radius-md);
    box-shadow: var(--luxury-shadow-sm);
}

.luxury-terminal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--luxury-border-light);
}

.luxury-terminal-body {
    display: grid;
    gap: 0.5rem;
    max-height: 260px;
    overflow: auto;
    padding: 1rem;
    color: var(--luxury-text-secondary);
    background: var(--luxury-bg-secondary);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.78rem;
}

.luxury-terminal-body span {
    color: var(--luxury-text-muted);
}

.luxury-chart {
    min-height: 220px;
    width: 100%;
}

.expandable-text-content {
    color: var(--luxury-text-secondary);
    line-height: 1.7;
}

.expandable-text-content .truncated-text {
    color: var(--luxury-text-primary);
}

.btn-expandable-toggle {
    transition: opacity 0.2s ease;
}

.btn-expandable-toggle:hover {
    opacity: 0.72;
}

.template-control-tile {
    display: grid;
    gap: 0.35rem;
    height: 100%;
    padding: 1rem;
    transition: border-color 0.2s var(--ease-out-luxury), transform 0.2s var(--ease-out-luxury), background-color 0.2s var(--ease-out-luxury);
}

.template-control-tile:hover,
.template-control-tile.active {
    background: var(--luxury-accent-light);
    border-color: var(--luxury-primary-light);
    transform: translateY(-1px);
}

.template-control-tile i {
    color: var(--luxury-primary);
    font-size: 1.4rem;
}

.template-control-tile strong {
    color: var(--luxury-text-primary);
}

.template-control-tile span {
    color: var(--luxury-text-muted);
    font-size: 0.8rem;
}

.template-image-editor,
.template-zoom-card,
.pricing-card {
    overflow: hidden;
    background: var(--luxury-bg-primary);
    border: 1px solid var(--luxury-border-light);
    border-radius: var(--template-radius-lg);
    box-shadow: var(--luxury-shadow-sm);
}

.template-image-editor-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--luxury-border-light);
}

.template-image-editor-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 210px;
    min-height: 360px;
}

.template-image-canvas {
    position: relative;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: var(--luxury-gray-50);
}

.template-image-canvas .template-media {
    width: min(100%, 520px);
}

.template-crop-frame {
    position: absolute;
    inset: 18%;
    border: 2px solid var(--luxury-bg-primary);
    border-radius: var(--template-radius-md);
    box-shadow: 0 0 0 1px rgba(16, 22, 54, 0.28);
    pointer-events: none;
}

.template-image-controls {
    display: grid;
    align-content: center;
    gap: 1rem;
    padding: 1.25rem;
    border-left: 1px solid var(--luxury-border-light);
}

.template-image-controls label {
    display: grid;
    gap: 0.5rem;
    color: var(--luxury-text-secondary);
    font-size: 0.85rem;
}

.form-range:focus {
    box-shadow: none !important;
}

.form-range::-webkit-slider-thumb {
    background: var(--luxury-primary);
}

.form-range::-moz-range-thumb {
    background: var(--luxury-primary);
}

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

.pricing-grid-container {
    max-width: 1180px;
}

.pricing-card {
    height: 100%;
    padding: 1.5rem;
    transition: transform 0.3s var(--ease-out-luxury), border-color 0.2s var(--ease-out-luxury), box-shadow 0.3s var(--ease-out-luxury);
}

.pricing-card:hover,
.pricing-card.is-featured {
    transform: translateY(-4px);
    border-color: var(--luxury-primary-light);
    box-shadow: var(--luxury-shadow-md);
}

.pricing-card.is-featured {
    border-color: var(--luxury-primary);
}

.template-price {
    margin: 1rem 0;
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-primary);
    font-size: 2.5rem;
    line-height: 1;
}

.template-price small {
    color: var(--luxury-text-muted);
    font-family: var(--luxury-font-secondary);
    font-size: 0.9rem;
}

.template-price [data-price-value] {
    display: inline-block;
    min-width: 2ch;
    transition: opacity 0.12s ease;
}

.template-pricing-features {
    display: grid;
    gap: 0.75rem;
    padding: 0;
    margin: 0 0 1.5rem;
    list-style: none;
}

.template-pricing-features li {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--luxury-text-secondary);
}

.template-pricing-features i {
    color: #15965f;
}

.template-pricing-toggle .btn {
    min-width: 6.5rem;
}

.template-pricing-toggle .btn-check:focus + .btn,
.template-pricing-toggle .btn:focus {
    box-shadow: none !important;
}

[data-theme="dark"] body {
    color: var(--luxury-text-primary);
}

[data-theme="dark"] ::selection {
    color: #ffffff;
    background: rgba(148, 163, 184, 0.48);
}

[data-theme="dark"] .template-main {
    background: transparent;
}

[data-theme="dark"] .luxury-navbar {
    background: transparent;
    border-bottom: 0;
    box-shadow: none;
    backdrop-filter: none;
}

[data-theme="dark"] .luxury-navbar::after {
    background: linear-gradient(180deg, rgba(10, 16, 28, 0.62), rgba(10, 16, 28, 0));
}

[data-theme="dark"] .template-sidebar {
    background:
        linear-gradient(180deg, rgba(9, 14, 25, 0.96), rgba(10, 16, 29, 0.88));
    border-right: 1px solid var(--luxury-border-light);
    box-shadow: 20px 0 60px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .template-sidebar-brand {
    border-bottom-color: transparent;
}

[data-theme="dark"] .template-sidebar-logo-mark {
    color: #ffffff;
    background: linear-gradient(135deg, #334155, #64748b);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.26);
}

[data-theme="dark"] .template-sidebar .nav-link {
    color: var(--luxury-text-muted) !important;
}

[data-theme="dark"] .template-sidebar .nav-link:hover,
[data-theme="dark"] .template-sidebar .nav-link.active {
    color: var(--luxury-primary-light) !important;
    border-color: rgba(203, 213, 225, 0.24);
    box-shadow: inset 0 0 0 1px rgba(203, 213, 225, 0.05);
}

[data-theme="dark"] .template-sidebar .nav-link::after {
    content: "";
    position: absolute;
    top: 0.55rem;
    right: 0;
    bottom: 0.55rem;
    width: 3px;
    background: linear-gradient(180deg, var(--luxury-primary-light), var(--luxury-primary));
    border-radius: 999px;
    opacity: 0;
    box-shadow: 0 0 16px rgba(203, 213, 225, 0.28);
    pointer-events: none;
}

[data-theme="dark"] .template-sidebar .nav-link.active::after {
    opacity: 0;
}

[data-theme="dark"] .template-dashboard-filters,
[data-theme="dark"] .template-dashboard-kpi {
    background: rgba(20, 27, 54, 0.88);
    border-color: rgba(148, 163, 184, 0.18);
}

.template-dashboard-page {
    padding-block: 1.15rem 1.25rem;
}

.template-navbar-filter-actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.template-navbar-filter-actions .floating-group {
    min-width: 150px;
    margin-bottom: 0;
}

.template-navbar-filter-actions .floating-group::after {
    display: none;
}

.template-navbar-cost-filters .floating-group {
    min-width: 136px;
}

.template-navbar-filter-actions .form-control,
.template-navbar-filter-actions select.form-select:not(.select-search) {
    min-height: 48px;
    height: 48px !important;
}

.template-navbar-filter-actions .ts-wrapper.form-select,
.template-navbar-filter-actions .ts-wrapper.select-search {
    min-height: 48px !important;
    min-width: 100%;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.template-navbar-filter-actions .floating-group .ts-wrapper.select-search .ts-control,
.template-navbar-filter-actions .ts-wrapper.form-select .ts-control {
    min-height: 48px;
    padding: 1.2rem 2.25rem 0.3rem 0.85rem !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--luxury-border-medium) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--luxury-text-primary);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.35 !important;
}

.template-navbar-filter-actions .floating-group .ts-wrapper.select-search.focus .ts-control,
.template-navbar-filter-actions .floating-group .ts-wrapper.select-search.dropdown-active .ts-control {
    border-bottom-color: var(--luxury-primary) !important;
}

.template-navbar-filter-actions .floating-label {
    color: var(--luxury-text-muted);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.template-navbar-filter-actions .floating-group:focus-within .floating-label {
    color: var(--luxury-primary);
}

.template-navbar-filter-actions .btn {
    min-height: 38px;
    border-radius: 0.55rem;
    font-weight: 700;
}

.template-dashboard-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1.75rem;
}

.template-dashboard-hero h1 {
    color: var(--luxury-text-primary);
    font-family: var(--luxury-font-heading);
    font-size: 1.85rem;
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1.15;
    margin: 0;
}

.template-dashboard-hero p {
    color: var(--luxury-text-muted);
    font-size: 0.98rem;
    margin: 0.45rem 0 0;
}

.template-dashboard-toolbar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.template-dashboard-toolbar .floating-group {
    min-width: 185px;
}

.template-dashboard-toolbar .form-select {
    min-height: 42px;
    padding-block: 0.55rem;
    border-radius: 0.55rem;
    font-weight: 700;
}

.template-dashboard-card.card,
.template-dashboard-kpi {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #e5e9f3;
    border-radius: 0.75rem;
    box-shadow: 0 10px 30px rgba(16, 24, 40, 0.06);
}

.template-dashboard-card .card-header {
    background: transparent;
    border-color: #edf1f8;
}

.template-dashboard-card .card-header h2 {
    color: var(--luxury-text-primary);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0;
}

.template-dashboard-kpi {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) 5.25rem;
    align-items: center;
    gap: 1rem;
    min-height: 128px;
    padding: 1.25rem;
    overflow: hidden;
}

.template-dashboard-kpi-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.15rem;
    height: 3.15rem;
    border-radius: 50%;
    color: #fff;
    font-size: 1.35rem;
    box-shadow: 0 14px 28px rgba(99, 91, 255, 0.22);
}

.template-dashboard-kpi-icon.primary {
    background: linear-gradient(135deg, #6d5dfc, #4f46e5);
}

.template-dashboard-kpi-icon.success {
    background: linear-gradient(135deg, #62d19a, #31c48d);
}

.template-dashboard-kpi-icon.warning {
    background: linear-gradient(135deg, #ffc861, #f59e0b);
}

.template-dashboard-kpi-icon.info {
    background: linear-gradient(135deg, #4f8df7, #315eea);
}

.template-dashboard-kpi-image {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.35rem;
    height: 4.35rem;
    margin-left: -0.2rem;
}

.template-dashboard-kpi-image img {
    display: block;
    width: 4.35rem;
    height: 4.35rem;
    object-fit: contain;
    filter: drop-shadow(0 16px 20px rgba(78, 84, 148, 0.16));
}

.template-dashboard-kpi-body span {
    color: #66718d;
    display: block;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.template-dashboard-kpi-body strong {
    color: var(--luxury-text-primary);
    display: block;
    font-size: 1.72rem;
    font-weight: 800;
    line-height: 1;
    margin-top: 0.35rem;
}

.template-dashboard-kpi-body small {
    color: #22a665;
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    margin-top: 0.8rem;
}

.template-dashboard-sparkline {
    color: var(--luxury-primary);
    height: 48px;
    opacity: 0.96;
    width: 112px;
}

.template-dashboard-file-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    margin-right: 0.55rem;
    border-radius: 0.5rem;
    color: var(--luxury-primary);
    background: rgba(99, 91, 255, 0.09);
}

.template-dashboard-recent-card .card-header {
    padding-top: 0.85rem !important;
    padding-bottom: 0.7rem !important;
}

.template-dashboard-recent-card .card-body {
    padding-top: 0.75rem !important;
    padding-bottom: 0.85rem !important;
}

.template-dashboard-recent-card .template-table-scroll {
    max-height: 17.75rem;
}

.template-dashboard-recent-table thead th {
    padding-top: 0.65rem;
    padding-bottom: 0.55rem;
}

.template-dashboard-recent-table tbody td {
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

.template-dashboard-recent-table .template-dashboard-file-icon {
    height: 1.55rem;
    width: 1.55rem;
}

.template-dashboard-actions {
    color: var(--luxury-text-primary);
    font-weight: 800;
    letter-spacing: 0.08rem;
}

.template-dashboard-cost-card .card-body {
    display: flex;
    flex-direction: column;
}

.template-dashboard-cost-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.template-dashboard-cost-total span {
    color: #66718d;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.template-dashboard-cost-total strong {
    color: var(--luxury-text-primary);
    font-size: 1.25rem;
    font-weight: 800;
}

.template-dashboard-bars {
    display: grid;
    gap: 1.25rem;
    padding-top: 0.75rem;
}

.template-dashboard-bar-row {
    display: grid;
    grid-template-columns: minmax(5.5rem, 1fr) minmax(5rem, 1.4fr) auto;
    align-items: center;
    gap: 0.8rem;
}

.template-dashboard-bar-row span {
    color: var(--luxury-text-secondary);
    font-size: 0.86rem;
}

.template-dashboard-bar-row div {
    height: 1.35rem;
    overflow: hidden;
    border-radius: 0.35rem;
    background: rgba(99, 91, 255, 0.08);
}

.template-dashboard-bar-row i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #6d5dfc, #4f46e5);
}

.template-dashboard-bar-row strong {
    color: var(--luxury-text-primary);
    font-size: 0.88rem;
}

.template-dashboard-cost-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.template-dashboard-cost-item {
    min-height: 104px;
    padding: 1rem;
    border: 1px solid #edf1f8;
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.62);
}

.template-dashboard-cost-item i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin-bottom: 0.75rem;
    border-radius: 0.55rem;
}

.template-dashboard-cost-item i.primary {
    color: var(--luxury-primary);
    background: rgba(99, 91, 255, 0.1);
}

.template-dashboard-cost-item i.info {
    color: #315eea;
    background: rgba(49, 94, 234, 0.1);
}

.template-dashboard-cost-item i.success {
    color: #22a665;
    background: rgba(34, 166, 101, 0.1);
}

.template-dashboard-cost-item i.warning {
    color: #d78300;
    background: rgba(245, 158, 11, 0.12);
}

.template-dashboard-cost-item span,
.template-dashboard-cost-item small {
    display: block;
}

.template-dashboard-cost-item span {
    color: #66718d;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.template-dashboard-cost-item strong {
    color: var(--luxury-text-primary);
    display: block;
    font-size: 1.2rem;
    font-weight: 800;
    margin-top: 0.25rem;
}

.template-dashboard-cost-item small {
    color: var(--luxury-text-muted);
    margin-top: 0.15rem;
}

.template-costs-filter-card .floating-group {
    margin-bottom: 0;
}

.template-costs-filter-card .form-control,
.template-costs-filter-card .form-select {
    min-height: 42px;
}

.template-costs-kpi {
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 128px;
    padding: 1rem;
}

.template-costs-kpi .template-dashboard-kpi-body strong {
    font-size: 1.18rem;
    line-height: 1.12;
}

.template-costs-sync {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    color: var(--luxury-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
    margin: -0.35rem 0 1.1rem;
}

.template-costs-sync-dot {
    width: 0.48rem;
    height: 0.48rem;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 0.25rem rgba(34, 197, 94, 0.1);
}

.template-costs-kpi-delta {
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 3.25rem;
    justify-content: center;
    padding: 0.25rem 0.45rem;
    border-radius: 0.45rem;
    font-size: 0.68rem;
    font-weight: 800;
}

.template-costs-kpi-delta.is-positive {
    color: #16a34a;
    background: rgba(34, 197, 94, 0.12);
}

.template-costs-kpi-delta.is-negative {
    color: #dc2626;
    background: rgba(239, 68, 68, 0.1);
}

.template-costs-kpi-delta.is-neutral {
    color: var(--luxury-text-muted);
    background: rgba(102, 112, 133, 0.1);
}

.template-costs-chart-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0;
    margin-top: 0.5rem;
    overflow: hidden;
    border: 1px solid var(--luxury-border-light);
    border-radius: 0.65rem;
    background: rgba(246, 247, 255, 0.62);
}

.template-costs-chart-summary div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 0.55rem;
    row-gap: 0.15rem;
    padding: 0.9rem 1rem;
}

.template-costs-chart-summary div + div {
    border-left: 1px solid var(--luxury-border-light);
}

.template-costs-chart-summary i {
    width: 0.58rem;
    height: 0.58rem;
    border-radius: 50%;
}

.template-costs-chart-summary span {
    color: var(--luxury-text-muted);
    font-size: 0.76rem;
}

.template-costs-chart-summary strong {
    grid-column: 2;
    color: var(--luxury-text-primary);
    font-size: 1rem;
    font-weight: 800;
}

.template-costs-table-card .card-body {
    padding-top: 0.65rem !important;
}

.template-costs-table th,
.template-costs-table td {
    padding-inline: 0.85rem;
}

.template-costs-account {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 10rem;
}

.template-costs-account span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    border-radius: 0.5rem;
    color: #ffffff;
    background: linear-gradient(135deg, var(--luxury-primary-light), var(--luxury-primary-dark));
    box-shadow: 0 10px 20px rgba(99, 91, 255, 0.16);
    font-size: 0.8rem;
    font-weight: 800;
}

.template-costs-account strong {
    color: var(--luxury-text-primary);
    font-size: 0.88rem;
    font-weight: 800;
    white-space: nowrap;
}

.template-costs-bar {
    display: grid;
    grid-template-columns: minmax(4.25rem, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    min-width: 9rem;
}

.template-costs-bar i {
    display: block;
    height: 0.72rem;
    min-width: 0.75rem;
    border-radius: 999px;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.08);
}

.template-costs-bar strong,
.template-costs-total-row td {
    color: var(--luxury-text-primary);
    font-size: 0.84rem;
    font-weight: 800;
    white-space: nowrap;
}

.template-costs-margin-rate {
    color: #16a34a;
    font-weight: 800;
}

.template-costs-total-row td {
    background: rgba(246, 247, 255, 0.74);
    border-top: 1px solid var(--luxury-border-light);
    text-transform: uppercase;
}

.template-costs-breakdown-card .card-body {
    min-height: 17rem;
}

.template-costs-breakdown-list {
    display: grid;
    gap: 0.8rem;
}

.template-costs-breakdown-list div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.35rem 0.8rem;
}

.template-costs-breakdown-list span {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--luxury-text-secondary);
    font-size: 0.84rem;
    font-weight: 700;
}

.template-costs-breakdown-list span i {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 50%;
}

.template-costs-breakdown-list strong {
    color: var(--luxury-text-primary);
    font-size: 0.86rem;
    font-weight: 800;
}

.template-costs-breakdown-list small {
    grid-column: 2;
    color: var(--luxury-text-muted);
    font-weight: 700;
    text-align: right;
}

@media (max-width: 1199.98px) {
    .template-dashboard-hero,
    .template-dashboard-toolbar,
    .template-navbar-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .template-dashboard-toolbar,
    .template-navbar-filter-actions,
    .template-navbar-filter-actions .floating-group {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .template-dashboard-kpi {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .template-dashboard-sparkline {
        display: none;
    }

    .template-dashboard-cost-grid {
        grid-template-columns: 1fr;
    }

    .template-costs-sync {
        justify-content: flex-start;
    }

    .template-costs-chart-summary div + div {
        border-left: 0;
        border-top: 1px solid var(--luxury-border-light);
    }
}

[data-theme="dark"] .template-sidebar-panel {
    background: rgba(12, 19, 32, 0.72);
    border-color: var(--luxury-border-light);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

[data-theme="dark"] .template-table-card,
[data-theme="dark"] .template-doc-table-card,
[data-theme="dark"] .template-doc-detail {
    background: rgba(16, 24, 39, 0.86);
    border-color: var(--luxury-border-light);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
}

[data-theme="dark"] .template-doc-toolbar,
[data-theme="dark"] .template-doc-footer,
[data-theme="dark"] .template-doc-table thead th {
    background: rgba(7, 11, 20, 0.36);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-doc-table tbody td {
    background: rgba(16, 24, 39, 0.74);
    border-color: var(--luxury-border-subtle);
}

[data-theme="dark"] .template-doc-table tbody tr:hover td,
[data-theme="dark"] .template-doc-table tbody tr.is-selected td {
    background: rgba(124, 109, 255, 0.11);
}

[data-theme="dark"] .template-costs-chart-summary,
[data-theme="dark"] .template-costs-total-row td {
    background: rgba(15, 23, 42, 0.58);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-costs-account span {
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.22);
}

[data-theme="dark"] .template-doc-filter,
[data-theme="dark"] .template-doc-action {
    background: rgba(7, 11, 20, 0.52);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-file-viewer,
[data-theme="dark"] .template-file-viewer-head {
    background: rgba(16, 24, 39, 0.86);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-file-viewer-meta {
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-file-viewer-meta > div {
    border-color: var(--luxury-border-subtle);
}

[data-theme="dark"] .template-file-viewer-body {
    background: rgba(7, 11, 20, 0.44);
}

[data-theme="dark"] .template-file-viewer-audio canvas {
    background: linear-gradient(180deg, rgba(148, 163, 184, 0.14), rgba(49, 196, 141, 0.08));
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-file-office-deferred {
    background: rgba(15, 23, 34, 0.92);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-file-spreadsheet-preview,
[data-theme="dark"] .template-file-presentation-preview,
[data-theme="dark"] .template-file-office-output,
[data-theme="dark"] .docxjs-container {
    color: var(--luxury-text-primary);
    background: rgba(15, 23, 34, 0.92);
}

[data-theme="dark"] .template-file-doc-preview {
    color: var(--luxury-text-primary);
    background: rgba(15, 23, 34, 0.92);
}

[data-theme="dark"] .template-file-doc-preview span {
    color: var(--luxury-text-secondary);
}

[data-theme="dark"] .template-sidebar-help-icon,
[data-theme="dark"] .template-component-index span,
[data-theme="dark"] .template-section-heading > span {
    color: var(--luxury-primary-light);
    background: rgba(148, 163, 184, 0.16);
}

[data-theme="dark"] .template-sidebar-usage-bar {
    background: rgba(141, 153, 173, 0.16);
}

[data-theme="dark"] .template-sidebar-usage-bar span,
[data-theme="dark"] .luxury-progress-bar {
    background: linear-gradient(90deg, #64748b, #94a3b8);
}

[data-theme="dark"] .card,
[data-theme="dark"] .template-metric-card,
[data-theme="dark"] .template-soft-card,
[data-theme="dark"] .template-swagger-shell,
[data-theme="dark"] .template-option-card,
[data-theme="dark"] .template-quick-action,
[data-theme="dark"] .template-component-index a,
[data-theme="dark"] .template-note,
[data-theme="dark"] .template-breadcrumb-panel,
[data-theme="dark"] .template-scroll-panel,
[data-theme="dark"] .template-toolbar-card,
[data-theme="dark"] .template-stat-tile,
[data-theme="dark"] .template-control-tile,
[data-theme="dark"] .template-chip-input,
[data-theme="dark"] .template-drawer-mini,
[data-theme="dark"] .template-modal-preview,
[data-theme="dark"] .template-offcanvas,
[data-theme="dark"] .template-image-editor,
[data-theme="dark"] .template-zoom-card,
[data-theme="dark"] .pricing-card,
[data-theme="dark"] .luxury-terminal,
[data-theme="dark"] .template-modal-preview-header,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .list-group-item {
    background: rgba(15, 23, 38, 0.72) !important;
    border-color: var(--luxury-border-light) !important;
    box-shadow: var(--luxury-shadow-sm);
}

[data-theme="dark"] .template-swagger-shell .swagger-ui .info,
[data-theme="dark"] .template-swagger-shell .swagger-ui .scheme-container,
[data-theme="dark"] .template-swagger-shell .swagger-ui .opblock-tag,
[data-theme="dark"] .template-swagger-shell .swagger-ui table thead tr td,
[data-theme="dark"] .template-swagger-shell .swagger-ui table thead tr th,
[data-theme="dark"] .template-swagger-shell .swagger-ui table tbody tr td {
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-swagger-shell .swagger-ui .scheme-container,
[data-theme="dark"] .template-swagger-shell .swagger-ui .opblock-body,
[data-theme="dark"] .template-swagger-shell .swagger-ui .responses-wrapper,
[data-theme="dark"] .template-swagger-shell .swagger-ui .parameters-container {
    background: rgba(10, 16, 28, 0.46);
}

[data-theme="dark"] .template-swagger-shell .swagger-ui select,
[data-theme="dark"] .template-swagger-shell .swagger-ui input[type="text"],
[data-theme="dark"] .template-swagger-shell .swagger-ui input[type="password"],
[data-theme="dark"] .template-swagger-shell .swagger-ui input[type="search"],
[data-theme="dark"] .template-swagger-shell .swagger-ui textarea,
[data-theme="dark"] .template-swagger-shell .swagger-ui .filter .operation-filter-input {
    background: rgba(15, 23, 38, 0.9);
    border-color: var(--luxury-border-light);
    color: var(--luxury-text-primary);
}

[data-theme="dark"] .template-swagger-shell .swagger-ui .opblock {
    box-shadow: none;
}

[data-theme="dark"] .template-swagger-shell .swagger-ui .opblock.opblock-get {
    background: rgba(37, 99, 235, 0.14);
}

[data-theme="dark"] .template-swagger-shell .swagger-ui .opblock.opblock-post {
    background: rgba(34, 197, 94, 0.13);
}

[data-theme="dark"] .template-swagger-shell .swagger-ui .opblock.opblock-put,
[data-theme="dark"] .template-swagger-shell .swagger-ui .opblock.opblock-patch {
    background: rgba(245, 158, 11, 0.15);
}

[data-theme="dark"] .template-swagger-shell .swagger-ui .opblock.opblock-delete {
    background: rgba(239, 68, 68, 0.14);
}

[data-theme="dark"] .template-swagger-shell .swagger-ui .opblock .opblock-summary-path,
[data-theme="dark"] .template-swagger-shell .swagger-ui .opblock .opblock-summary-path__deprecated,
[data-theme="dark"] .template-swagger-shell .swagger-ui .opblock-section-header,
[data-theme="dark"] .template-swagger-shell .swagger-ui .responses-inner h4,
[data-theme="dark"] .template-swagger-shell .swagger-ui .responses-inner h5,
[data-theme="dark"] .template-swagger-shell .swagger-ui .models h4,
[data-theme="dark"] .template-swagger-shell .swagger-ui .models h5 {
    color: var(--luxury-text-primary);
}

[data-theme="dark"] .template-swagger-shell .swagger-ui .info .title small {
    background: rgba(148, 163, 184, 0.16);
    color: var(--luxury-text-secondary);
}

[data-theme="dark"] .template-swagger-shell .swagger-ui .info .title small.version-stamp {
    background: rgba(148, 163, 184, 0.22);
    color: var(--luxury-primary-dark);
}

[data-theme="dark"] .template-swagger-shell .swagger-ui .auth-wrapper .authorize {
    border-color: rgba(34, 197, 94, 0.42);
    background: rgba(34, 197, 94, 0.12);
    color: #86efac;
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer,
[data-theme="dark"] footer,
[data-theme="dark"] .template-offcanvas .offcanvas-footer,
[data-theme="dark"] .luxury-terminal-header,
[data-theme="dark"] .template-image-editor-header {
    background: rgba(10, 16, 28, 0.5) !important;
    border-color: var(--luxury-border-light) !important;
}

[data-theme="dark"] .template-offcanvas .offcanvas-header {
    background: linear-gradient(180deg, var(--luxury-bg-primary) 0%, var(--luxury-bg-primary) 68%, rgba(10, 16, 28, 0) 100%) !important;
    border-color: transparent !important;
}

[data-theme="dark"] .template-builder-section,
[data-theme="dark"] .template-proof-card,
[data-theme="dark"] .template-icon-option {
    background: rgba(10, 16, 28, 0.5);
}

[data-theme="dark"] .template-structure-section,
[data-theme="dark"] .template-step-card,
[data-theme="dark"] .template-proofs-panel,
[data-theme="dark"] .template-proof-card {
    background: transparent;
}

[data-theme="dark"] .template-geolocation-options {
    background: rgba(10, 16, 28, 0.35);
}

[data-theme="dark"] .template-logo-stage {
    background:
        linear-gradient(135deg, rgba(99, 102, 241, 0.16), rgba(45, 212, 191, 0.08)),
        rgba(10, 16, 28, 0.55);
}

[data-theme="dark"] .template-logo-rect {
    color: var(--luxury-text-primary);
    background: rgba(99, 102, 241, 0.2);
}

[data-theme="dark"] .template-dossier-step-block {
    background: var(--luxury-bg-primary);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-dossier-step-title {
    background: rgba(15, 23, 34, 0.72);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-dossier-overview-card {
    background: rgba(15, 23, 38, 0.84);
    border-color: rgba(148, 163, 184, 0.22);
}

[data-theme="dark"] .template-dossier-step-tab {
    background: rgba(15, 23, 34, 0.48);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-dossier-step-tab.active {
    background: rgba(124, 109, 255, 0.14);
    border-color: rgba(167, 139, 250, 0.28);
}

[data-theme="dark"] .template-dossier-proof-row,
[data-theme="dark"] .template-dossier-proof-empty {
    border-color: var(--luxury-border-subtle);
}

[data-theme="dark"] .template-dossier-proof-row.is-light {
    background: rgba(15, 23, 34, 0.5);
}

[data-theme="dark"] .template-dossier-proof-row.is-light:nth-child(even) {
    background: rgba(30, 41, 59, 0.36);
}

[data-theme="dark"] .template-dossier-document-line {
    background: rgba(2, 6, 23, 0.34);
    border-color: rgba(148, 163, 184, 0.2);
}

[data-theme="dark"] .template-dossier-document-line.is-selected {
    background: rgba(16, 185, 129, 0.13);
    border-color: rgba(52, 211, 153, 0.34);
}

[data-theme="dark"] .template-dossier-document-line.is-selected .badge-ref {
    color: #86efac;
    background: rgba(22, 163, 74, 0.18);
    border-color: rgba(134, 239, 172, 0.26);
}

[data-theme="dark"] .template-dossier-document-line:hover {
    background: rgba(14, 165, 233, 0.11);
    border-color: rgba(125, 211, 252, 0.28);
}

[data-theme="dark"] .template-dossier-status-timeline span {
    color: #94a3b8;
    background: rgba(15, 23, 42, 0.62);
    border-color: rgba(148, 163, 184, 0.18);
}

[data-theme="dark"] .template-dossier-status-timeline span.is-active {
    color: #7dd3fc;
    background: rgba(14, 165, 233, 0.14);
    border-color: rgba(125, 211, 252, 0.24);
}

[data-theme="dark"] .template-dossier-status-timeline span.is-current {
    color: #fcd34d;
    background: rgba(180, 83, 9, 0.18);
    border-color: rgba(252, 211, 77, 0.26);
}

[data-theme="dark"] .template-dossier-status-timeline span.is-failed {
    color: #fca5a5;
    background: rgba(185, 28, 28, 0.18);
    border-color: rgba(252, 165, 165, 0.24);
}

[data-theme="dark"] .template-dossier-document-status-timeline .timeline-marker {
    outline-color: #0f172a;
}

[data-theme="dark"] .template-dossier-document-status-timeline .timeline-title {
    color: var(--luxury-text-secondary);
}

[data-theme="dark"] .template-dossier-document-status-timeline .timeline-item.is-current .timeline-title {
    color: #fcd34d;
}

[data-theme="dark"] .template-dossier-document-status-timeline .timeline-item.is-failed .timeline-title {
    color: #fca5a5;
}

[data-theme="dark"] .template-dossier-upload-picker {
    background: rgba(154, 52, 18, 0.14);
    border-color: rgba(251, 146, 60, 0.34);
}

[data-theme="dark"] .template-dossier-upload-picker:hover {
    background: rgba(194, 65, 12, 0.18);
    border-color: rgba(253, 186, 116, 0.46);
}

[data-theme="dark"] .template-dossier-upload-icon {
    color: #fdba74;
    background: rgba(7, 11, 20, 0.36);
    border-color: rgba(251, 146, 60, 0.26);
}

[data-theme="dark"] .template-dossier-timeline-step::before {
    background: var(--luxury-border-light);
}

[data-theme="dark"] .template-dossier-timeline-marker {
    color: #93c5fd;
    background: rgba(37, 99, 235, 0.18);
    border-color: rgba(147, 197, 253, 0.28);
}

[data-theme="dark"] .template-dossier-timeline-step:nth-child(2n) .template-dossier-timeline-marker {
    color: #6ee7b7;
    background: rgba(5, 150, 105, 0.18);
    border-color: rgba(110, 231, 183, 0.28);
}

[data-theme="dark"] .template-dossier-timeline-step:nth-child(3n) .template-dossier-timeline-marker {
    color: #fcd34d;
    background: rgba(180, 83, 9, 0.18);
    border-color: rgba(252, 211, 77, 0.28);
}

[data-theme="dark"] .template-dossier-selected-viewer {
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-dossier-selected-viewer .template-file-viewer-body {
    background: rgba(2, 6, 23, 0.42);
}

[data-theme="dark"] .template-doc-detail {
    background: rgba(67, 20, 7, 0.18);
    border-color: rgba(251, 191, 36, 0.18);
}

[data-theme="dark"] .template-doc-detail .template-spec-list,
[data-theme="dark"] .template-doc-detail .template-spec-list > div {
    border-color: rgba(251, 191, 36, 0.16);
}

[data-theme="dark"] .template-doc-detail .template-spec-list > div:nth-child(even) {
    background: rgba(120, 53, 15, 0.16);
}

[data-theme="dark"] .template-dossier-file-card {
    background: rgba(15, 23, 34, 0.48);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-dossier-file-toggle {
    background: rgba(15, 23, 34, 0.48);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-dossier-proof-requirement.is-required {
    color: #86efac;
    background: rgba(22, 163, 74, 0.16);
    border-color: rgba(134, 239, 172, 0.22);
}

[data-theme="dark"] .template-dossier-proof-requirement.is-optional {
    color: var(--luxury-text-muted);
    background: rgba(15, 23, 34, 0.48);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .template-dossier-file-card.is-image .template-dossier-file-icon {
    color: #86efac;
    background: rgba(34, 197, 94, 0.16);
}

[data-theme="dark"] .template-dossier-file-card.is-pdf .template-dossier-file-icon {
    color: #fca5a5;
    background: rgba(248, 113, 113, 0.16);
}

[data-theme="dark"] .template-dossier-file-card.is-document .template-dossier-file-icon {
    color: #93c5fd;
    background: rgba(96, 165, 250, 0.16);
}

[data-theme="dark"] .template-dossier-file-card.is-video .template-dossier-file-icon {
    color: #c4b5fd;
    background: rgba(167, 139, 250, 0.16);
}

[data-theme="dark"] .template-dossier-file-card.is-archive .template-dossier-file-icon {
    color: #fcd34d;
    background: rgba(245, 158, 11, 0.16);
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .ts-control,
[data-theme="dark"] .template-chip-input input {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid var(--luxury-border-medium) !important;
    border-radius: 0 !important;
    color: var(--luxury-text-primary) !important;
    box-shadow: none !important;
}

[data-theme="dark"] .floating-group > .form-select,
[data-theme="dark"] .floating-group > select.form-select:not(.select-search),
[data-theme="dark"] .floating-group .ts-wrapper.select-search .ts-control,
[data-theme="dark"] .ts-wrapper.form-select .ts-control {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid var(--luxury-border-medium) !important;
    border-radius: 0 !important;
}

[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] .ts-control input::placeholder,
[data-theme="dark"] .template-chip-input input::placeholder {
    color: var(--luxury-text-muted);
    opacity: 1;
}

[data-theme="dark"] .form-control:hover,
[data-theme="dark"] .form-select:hover,
[data-theme="dark"] .ts-control:hover {
    border-color: var(--luxury-border-medium) !important;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus,
[data-theme="dark"] .ts-wrapper.focus .ts-control,
[data-theme="dark"] .ts-wrapper.dropdown-active .ts-control {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: var(--luxury-border-medium) !important;
    box-shadow: none !important;
}

[data-theme="dark"] .floating-group::after {
    background: linear-gradient(90deg, var(--luxury-primary-dark), var(--luxury-primary-light));
}

[data-theme="dark"] .floating-label,
[data-theme="dark"] .form-label {
    color: var(--luxury-text-secondary);
}

[data-theme="dark"] .floating-input:focus ~ .floating-label,
[data-theme="dark"] .floating-label.label-positioned,
[data-theme="dark"] .ts-wrapper.select-search.focus ~ .floating-label,
[data-theme="dark"] .ts-wrapper.select-search.has-items ~ .floating-label,
[data-theme="dark"] .floating-group:focus-within .floating-label {
    color: var(--luxury-primary-light);
}

[data-theme="dark"] .btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #475569;
    --bs-btn-border-color: #64748b;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #64748b;
    --bs-btn-hover-border-color: #94a3b8;
    --bs-btn-active-bg: #334155;
    --bs-btn-active-border-color: #475569;
    background: linear-gradient(135deg, #334155, #475569) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22);
}

[data-theme="dark"] .btn-outline-primary {
    --bs-btn-color: var(--luxury-primary-light);
    --bs-btn-border-color: var(--luxury-border-medium);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: rgba(148, 163, 184, 0.18);
    --bs-btn-hover-border-color: var(--luxury-primary-light);
    --bs-btn-active-bg: rgba(148, 163, 184, 0.24);
    --bs-btn-active-border-color: var(--luxury-primary-light);
    background: rgba(148, 163, 184, 0.08);
}

[data-theme="dark"] .btn-outline-warning {
    --bs-btn-color: #ffd08a;
    --bs-btn-border-color: #d88a22;
    --bs-btn-hover-color: #14100a;
    --bs-btn-hover-bg: #f7b955;
    --bs-btn-hover-border-color: #f7b955;
    --bs-btn-active-color: #14100a;
    --bs-btn-active-bg: #f0a733;
    --bs-btn-active-border-color: #f0a733;
    background: rgba(216, 138, 34, 0.1);
}

[data-theme="dark"] .dropdown-toggle.show,
[data-theme="dark"] .dropdown-toggle:active,
[data-theme="dark"] .dropdown-toggle:focus-visible {
    color: #ffffff !important;
    background-color: rgba(148, 163, 184, 0.24) !important;
    border-color: var(--luxury-primary-light) !important;
}

[data-theme="dark"] .btn-link {
    color: var(--luxury-primary-light);
}

[data-theme="dark"] .btn-close {
    filter: invert(1) grayscale(1);
}

[data-theme="dark"] .template-icon-bubble,
[data-theme="dark"] .template-stat-icon,
[data-theme="dark"] .template-pricing-icon,
[data-theme="dark"] .template-table-thumb {
    color: var(--luxury-primary-light);
    background: rgba(148, 163, 184, 0.16);
}

[data-theme="dark"] .template-table-thumb.active {
    color: #ffffff;
    background: #334155;
}

[data-theme="dark"] .template-table-thumb.warning {
    color: #f7bb45;
    background: rgba(245, 158, 11, 0.14);
}

[data-theme="dark"] .template-icon-bubble.success,
[data-theme="dark"] .template-stat-icon.success {
    color: #43e08d;
    background: rgba(49, 196, 141, 0.14);
}

[data-theme="dark"] .template-icon-bubble.info,
[data-theme="dark"] .template-stat-icon.info {
    color: #56a5ff;
    background: rgba(51, 140, 245, 0.16);
}

[data-theme="dark"] .template-icon-bubble.warning,
[data-theme="dark"] .template-stat-icon.warning {
    color: #f7bb45;
    background: rgba(245, 158, 11, 0.16);
}

[data-theme="dark"] .template-icon-bubble.danger {
    color: #ff7a7a;
    background: rgba(239, 68, 68, 0.16);
}

[data-theme="dark"] .template-upload-dropzone {
    background: rgba(9, 14, 25, 0.48);
    border-color: rgba(148, 163, 184, 0.48);
}

[data-theme="dark"] .template-upload-dropzone:hover {
    background: rgba(15, 23, 38, 0.72);
    border-color: var(--luxury-primary-light);
}

[data-theme="dark"] .template-option-card.active,
[data-theme="dark"] .template-option-card:hover,
[data-theme="dark"] .template-quick-action:hover,
[data-theme="dark"] .template-control-tile:hover,
[data-theme="dark"] .template-control-tile.active,
[data-theme="dark"] .template-component-index a:hover,
[data-theme="dark"] .pricing-card:hover,
[data-theme="dark"] .pricing-card.is-featured {
    background: rgba(17, 25, 42, 0.86) !important;
    border-color: var(--luxury-primary-light) !important;
    box-shadow:
        0 0 0 1px rgba(203, 213, 225, 0.16),
        0 18px 44px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .template-drawer-preview-main,
[data-theme="dark"] .template-image-canvas,
[data-theme="dark"] .luxury-terminal-body,
[data-theme="dark"] .template-media,
[data-theme="dark"] .template-modal-preview-body {
    background: rgba(7, 11, 20, 0.62);
}

[data-theme="dark"] .template-media-light,
[data-theme="dark"] .template-media-muted {
    color: var(--luxury-text-secondary);
    background: var(--luxury-gray-100);
}

[data-theme="dark"] .template-media-success {
    color: #43e08d;
    background: rgba(49, 196, 141, 0.13);
}

[data-theme="dark"] .template-media-info {
    color: #56a5ff;
    background: rgba(51, 140, 245, 0.14);
}

[data-theme="dark"] .template-media-warning {
    color: #f7bb45;
    background: rgba(245, 158, 11, 0.15);
}

[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .ts-dropdown {
    background: rgba(12, 19, 32, 0.98) !important;
    border-color: var(--luxury-border-light) !important;
    box-shadow: var(--luxury-shadow-md) !important;
}

[data-theme="dark"] .dropdown-item,
[data-theme="dark"] .ts-dropdown .option,
[data-theme="dark"] .ts-dropdown .no-results,
[data-theme="dark"] .ts-dropdown .loading {
    color: var(--luxury-text-secondary) !important;
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus,
[data-theme="dark"] .dropdown-item.active,
[data-theme="dark"] .ts-dropdown .option:hover,
[data-theme="dark"] .ts-dropdown .active {
    color: var(--luxury-primary-light) !important;
    background: rgba(148, 163, 184, 0.14) !important;
}

[data-theme="dark"] .dropdown-item.text-danger:hover,
[data-theme="dark"] .dropdown-item.text-danger:focus {
    color: #ff8a8a !important;
    background: rgba(239, 68, 68, 0.14) !important;
}

[data-theme="dark"] .dropdown-divider,
[data-theme="dark"] .table,
[data-theme="dark"] .template-table,
[data-theme="dark"] .table-row-underline,
[data-theme="dark"] .template-list-row,
[data-theme="dark"] .template-spec-list,
[data-theme="dark"] .template-spec-list > div,
[data-theme="dark"] .luxury-nav-section-h,
[data-theme="dark"] .timeline-item::before,
[data-theme="dark"] .price-timeline-v-item::before {
    border-color: var(--luxury-border-light) !important;
}

[data-theme="dark"] .table thead th,
[data-theme="dark"] .template-table thead th {
    color: var(--luxury-text-muted);
    background: rgba(7, 11, 20, 0.62);
}

[data-theme="dark"] .template-list-table tbody td {
    color: var(--luxury-text-primary);
    background: rgba(15, 23, 38, 0.96) !important;
    border-color: var(--luxury-border-subtle) !important;
    box-shadow: none !important;
}

[data-theme="dark"] .template-list-table tbody td:first-child {
    border-left-color: var(--luxury-border-subtle) !important;
}

[data-theme="dark"] .template-list-table tbody td:last-child {
    border-right-color: var(--luxury-border-subtle) !important;
}

[data-theme="dark"] .table-row-underline:hover td,
[data-theme="dark"] .template-list-table tbody tr:hover td,
[data-theme="dark"] .template-list-table tbody tr.is-selected td {
    background: rgba(30, 41, 59, 0.96) !important;
    border-color: var(--luxury-border-medium) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18) !important;
}

[data-theme="dark"] .template-list-table tbody tr.is-selected td:first-child {
    box-shadow:
        inset 3px 0 0 var(--luxury-primary-light),
        0 10px 28px rgba(0, 0, 0, 0.18) !important;
}

[data-theme="dark"] .badge-ref,
[data-theme="dark"] .price-value-badge {
    color: var(--luxury-primary-light);
    background: rgba(148, 163, 184, 0.1);
    border-color: rgba(203, 213, 225, 0.22);
}

[data-theme="dark"] .template-status-pill.success {
    color: #86efac;
    background: rgba(22, 163, 74, 0.16);
    border-color: rgba(134, 239, 172, 0.22);
}

[data-theme="dark"] .template-status-pill.warning {
    color: #fbbf24;
    background: rgba(245, 158, 11, 0.16);
    border-color: rgba(251, 191, 36, 0.22);
}

[data-theme="dark"] .template-status-pill.danger {
    color: #fda4af;
    background: rgba(244, 63, 94, 0.16);
    border-color: rgba(253, 164, 175, 0.22);
}

[data-theme="dark"] .form-check-input {
    background-color: rgba(7, 11, 20, 0.64);
    border-color: var(--luxury-border-medium) !important;
}

[data-theme="dark"] .form-check-input:focus {
    outline-color: rgba(148, 163, 184, 0.24);
}

[data-theme="dark"] .form-check-input:checked {
    background-color: var(--luxury-primary) !important;
    border-color: var(--luxury-primary) !important;
}

[data-theme="dark"] .template-donut::before,
[data-theme="dark"] .timeline-marker,
[data-theme="dark"] .price-timeline-marker {
    background: var(--luxury-bg-primary);
}

[data-theme="dark"] .luxury-progress {
    background: rgba(141, 153, 173, 0.13) !important;
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .alert {
    color: var(--luxury-text-primary);
    background: rgba(15, 23, 38, 0.78);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .accordion-item,
[data-theme="dark"] .accordion-button {
    color: var(--luxury-text-primary);
    background: transparent !important;
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .page-link {
    color: var(--luxury-text-secondary);
    background: rgba(15, 23, 38, 0.72);
    border-color: var(--luxury-border-light);
}

[data-theme="dark"] .page-link:hover,
[data-theme="dark"] .page-item.active .page-link {
    color: #ffffff;
    background: var(--luxury-primary);
    border-color: var(--luxury-primary);
}

[data-theme="dark"] .tooltip {
    --bs-tooltip-bg: #ffffff;
    --bs-tooltip-color: #0f172a;
    --bs-tooltip-opacity: 1;
}

[data-theme="dark"] .tooltip .tooltip-inner {
    color: var(--bs-tooltip-color) !important;
    background-color: var(--bs-tooltip-bg) !important;
    border: 1px solid rgba(15, 23, 42, 0.12);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28);
}

[data-theme="dark"] .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before,
[data-theme="dark"] .bs-tooltip-top .tooltip-arrow::before {
    border-top-color: var(--bs-tooltip-bg) !important;
}

[data-theme="dark"] .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before,
[data-theme="dark"] .bs-tooltip-end .tooltip-arrow::before {
    border-right-color: var(--bs-tooltip-bg) !important;
}

[data-theme="dark"] .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before,
[data-theme="dark"] .bs-tooltip-bottom .tooltip-arrow::before {
    border-bottom-color: var(--bs-tooltip-bg) !important;
}

[data-theme="dark"] .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before,
[data-theme="dark"] .bs-tooltip-start .tooltip-arrow::before {
    border-left-color: var(--bs-tooltip-bg) !important;
}

[data-theme="dark"] .text-success {
    color: #43e08d !important;
}

[data-theme="dark"] .text-danger {
    color: #ff8a8a !important;
}

[data-theme="dark"] .text-primary {
    color: var(--luxury-primary-light) !important;
}

[data-theme="dark"] .bg-primary-subtle {
    background: rgba(148, 163, 184, 0.16) !important;
}

[data-theme="dark"] .border-primary-subtle {
    border-color: rgba(203, 213, 225, 0.26) !important;
}

[data-theme="dark"] .bg-success-subtle {
    background: rgba(49, 196, 141, 0.14) !important;
}

[data-theme="dark"] .border-success-subtle {
    border-color: rgba(49, 196, 141, 0.28) !important;
}

[data-theme="dark"] .bg-warning-subtle {
    background: rgba(245, 158, 11, 0.16) !important;
}

[data-theme="dark"] .border-warning-subtle {
    border-color: rgba(245, 158, 11, 0.3) !important;
}

[data-theme="dark"] code {
    color: var(--luxury-primary-light);
    background: rgba(148, 163, 184, 0.1);
    border: 1px solid rgba(203, 213, 225, 0.16);
    border-radius: var(--template-radius-sm);
    padding: 0.08rem 0.35rem;
}

[data-theme="dark"] .template-chart-grid line {
    stroke: var(--luxury-border-light);
}

[data-theme="dark"] .mobile-nav-backdrop {
    background: rgba(0, 0, 0, 0.62);
}

@media (max-width: 1199.98px) {
    .template-component-index {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .template-doc-board {
        grid-template-columns: 1fr;
    }

    .template-image-editor-body {
        grid-template-columns: 1fr;
    }

    .template-image-controls {
        border-top: 1px solid var(--luxury-border-light);
        border-left: 0;
    }
}

@media (max-width: 767.98px) {
    .template-component-index {
        grid-template-columns: 1fr;
    }

    .template-section-heading,
    .template-pricing-header,
    .template-toolbar-card,
    .template-doc-toolbar,
    .luxury-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .template-doc-search {
        width: 100%;
        max-width: none;
    }

    .template-pagination {
        align-items: flex-start;
        flex-direction: column;
    }

    .template-pagination-pages {
        margin-left: 0;
        flex-wrap: wrap;
    }

    .template-doc-filter-group,
    .template-doc-footer {
        align-items: stretch;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .template-doc-filter,
    .template-doc-toolbar .btn {
        flex: 1 1 auto;
        justify-content: center;
    }

    .template-file-viewer-page {
        padding: 0.5rem;
    }

    .template-file-viewer-head {
        align-items: stretch;
        flex-direction: column;
    }

    .template-file-viewer-actions {
        justify-content: flex-end;
    }

    .template-file-viewer-body,
    .template-file-viewer-frame,
    .template-file-spreadsheet-preview,
    .template-file-presentation-preview,
    .template-file-office-output,
    .docxjs-container {
        min-height: 56vh;
    }

    .template-dossier-overview-card {
        padding: 0.75rem;
    }

    .template-dossier-workspace {
        grid-template-columns: 1fr;
    }

    .template-dossier-document-panel {
        max-height: none;
        overflow-y: visible;
    }

    .template-dossier-step-title,
    .template-dossier-proof-row,
    .template-dossier-proof-empty {
        padding-inline: 0.6rem;
    }

    .template-dossier-proof-main,
    .template-dossier-proof-upload.is-compact {
        align-items: stretch;
        flex-direction: column;
    }

    .template-dossier-proof-upload.is-compact {
        min-width: 0;
    }

    .template-dossier-proof-mobile {
        justify-content: flex-start;
    }

    .template-dossier-file-grid {
        grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
    }

    .template-dossier-file-search {
        width: 100%;
        max-width: none;
    }

    .template-drawer-preview {
        grid-template-columns: 1fr;
    }

    .price-timeline-h {
        gap: 0.5rem;
        overflow-x: auto;
    }

    .price-timeline-h-item {
        min-width: 6rem;
    }
}

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

@keyframes templateShimmer {
    from { background-position: 120% 0; }
    to { background-position: -120% 0; }
}

@keyframes templateSlideIn {
    from { opacity: 0; transform: translateX(-8px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes templateProgress {
    from { transform: translateX(-120%); }
    to { transform: translateX(265%); }
}

.auth-body {
    min-height: 100vh;
    color: #101636;
    background:
        linear-gradient(116deg, #fbfdff 0%, #f5f7ff 54%, #fff5fb 100%);
}

.auth-shell {
    position: relative;
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    padding: 2.15rem 3.25rem 1.35rem;
    overflow: hidden;
}

.auth-header,
.auth-footer,
.auth-main {
    width: min(100%, 1660px);
    margin-inline: auto;
}

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

.auth-brand,
.auth-help,
.auth-footer a {
    color: inherit;
    text-decoration: none;
}

.auth-brand {
    display: inline-flex;
    align-items: center;
    gap: 0;
    color: #121a43;
    font-family: var(--luxury-font-primary);
    font-size: 1.45rem;
    font-weight: 700;
}

.auth-brand-mark {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2rem;
    color: #ffffff;
    background: linear-gradient(135deg, #525cff 0%, #7f78ff 100%);
    border-radius: 8px;
    box-shadow: 0 12px 26px rgba(82, 92, 255, 0.22);
}

.auth-help {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: #7580a0;
    font-weight: 600;
    font-size: 0.9rem;
}

.auth-help i {
    color: #6570ff;
    font-size: 1.08rem;
}

.auth-main {
    display: grid;
    grid-template-columns: minmax(420px, 0.78fr) minmax(520px, 1fr) minmax(430px, 0.86fr);
    gap: 1.25rem;
    align-items: center;
    align-self: start;
    padding-top: clamp(0.25rem, 1.8vh, 1.25rem);
}

.auth-story {
    display: contents;
}

.auth-copy {
    max-width: 660px;
    min-width: 0;
}

.auth-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    margin-bottom: 1.55rem;
    padding: 0.18rem 0.7rem;
    color: #6770ff;
    background: #eff0ff;
    border: 1px solid #e5e7ff;
    border-radius: 8px;
    font-size: 0.78rem;
    font-weight: 700;
}

.auth-copy h1 {
    margin: 0 0 1.7rem;
    color: #07133d;
    font-family: var(--luxury-font-primary);
    font-size: 2.55rem;
    font-weight: 800;
    line-height: 1.16;
    letter-spacing: 0;
}

.auth-copy p {
    max-width: 500px;
    margin: 0;
    color: #667291;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.75;
}

.auth-feature-list {
    display: grid;
    gap: 1.5rem;
    margin-top: 2.65rem;
}

.auth-feature {
    display: grid;
    grid-template-columns: 4rem 1fr;
    gap: 1rem;
    align-items: center;
}

.auth-feature-icon {
    width: 4rem;
    height: 4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #6570ff;
    background: rgba(103, 112, 255, 0.08);
    border-radius: 8px;
    font-size: 1.8rem;
}

.auth-feature-icon i {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.auth-feature-icon i::before {
    margin: auto;
    font-size: 1.55rem;
}

.auth-feature-icon-success {
    color: #42c99b;
    background: rgba(66, 201, 155, 0.11);
}

.auth-feature-icon-info {
    color: #4f8fff;
    background: rgba(79, 143, 255, 0.1);
}

.auth-feature strong,
.auth-feature span {
    display: block;
}

.auth-feature strong {
    color: #16204c;
    font-size: 0.94rem;
    font-weight: 800;
}

.auth-feature span {
    margin-top: 0.3rem;
    color: #6c7697;
    font-size: 0.88rem;
    font-weight: 600;
}

.auth-proof-visual {
    position: relative;
    isolation: isolate;
    min-width: 0;
    height: clamp(500px, 68vh, 640px);
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.auth-proof-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    width: auto;
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.7), rgba(248, 250, 255, 0.15) 58%, transparent 72%);
    border: 0;
    border-radius: 8px;
    box-shadow: none;
    transform: none;
    z-index: -2;
}

.auth-visual-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(8px);
    opacity: 0.74;
    z-index: -3;
}

.auth-visual-glow-primary {
    width: 34rem;
    height: 34rem;
    top: 0;
    right: -1.4rem;
    background: rgba(122, 113, 255, 0.16);
}

.auth-visual-glow-success {
    width: 24rem;
    height: 24rem;
    right: 7rem;
    bottom: 0;
    background: rgba(63, 201, 152, 0.13);
}

.auth-proof-image {
    width: auto;
    max-width: none;
    height: min(100%, 640px);
    display: block;
    filter: drop-shadow(0 34px 56px rgba(76, 86, 148, 0.17));
    transform: translateX(-0.7rem);
}

.auth-panel-wrap {
    display: flex;
    justify-content: flex-end;
    min-width: 0;
    padding-top: 0;
}

.auth-panel {
    width: min(100%, 610px);
    padding: 2.85rem 3.45rem 3rem;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(238, 241, 250, 0.96);
    border-radius: 8px;
    box-shadow: 0 34px 92px rgba(96, 91, 144, 0.12);
    backdrop-filter: blur(20px);
}

.auth-panel-head {
    margin-bottom: 2.05rem;
    text-align: center;
}

.auth-panel-head h2 {
    margin: 0 0 0.65rem;
    color: #101943;
    font-family: var(--luxury-font-primary);
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0;
}

.auth-panel-head p {
    margin: 0;
    color: #6e7898;
    font-size: 0.95rem;
    font-weight: 600;
}

.auth-alert {
    display: grid;
    grid-template-columns: 1.25rem 1fr auto;
    gap: 0.95rem;
    align-items: flex-start;
    margin-bottom: 1.55rem;
    padding: 1.05rem 1.15rem;
    border-radius: 8px;
    font-size: 0.88rem;
}

.auth-alert strong,
.auth-alert span {
    display: block;
}

.auth-alert strong {
    margin-bottom: 0.3rem;
    font-weight: 800;
}

.auth-alert button {
    width: 1.5rem;
    height: 1.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    opacity: 0.62;
}

.auth-alert-danger {
    color: #cf2445;
    background: #fff4f6;
    border: 1px solid #ffc6d1;
}

.auth-alert-success {
    grid-template-columns: 1.25rem 1fr;
    color: #178c69;
    background: #f0fbf7;
    border: 1px solid #bcebdc;
}

.auth-separator {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1rem;
    align-items: center;
    color: #8c96b2;
    font-size: 0.88rem;
    font-weight: 700;
}

.auth-separator::before,
.auth-separator::after {
    content: "";
    height: 1px;
    background: #e2e7f4;
}

.auth-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.85rem 1.25rem;
    color: #7a849f;
    font-size: 0.88rem;
    font-weight: 600;
}

.auth-footer a {
    color: #717b98;
}

.auth-footer a:not(:last-child)::after,
.auth-footer span::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 0.9rem;
    margin-left: 1.25rem;
    vertical-align: -0.15rem;
    background: #dce2f1;
}

@media (max-width: 1399.98px) {
    .auth-shell {
        padding-inline: 2.1rem;
    }

    .auth-main {
        grid-template-columns: minmax(340px, 0.88fr) minmax(320px, 0.78fr) minmax(410px, 540px);
        gap: 1.4rem;
        padding-top: clamp(0.25rem, 1.5vh, 1rem);
    }

    .auth-story {
        display: contents;
    }

    .auth-copy h1 {
        font-size: 2.32rem;
    }

    .auth-proof-visual {
        height: clamp(380px, 58vh, 520px);
    }

    .auth-proof-image {
        width: auto;
        height: min(100%, 520px);
        transform: translateX(-0.5rem);
    }

    .auth-panel {
        padding-inline: 2.4rem;
    }
}

@media (max-width: 1199.98px) {
    .auth-main {
        grid-template-columns: 1fr;
        max-width: 840px;
        padding-top: 0;
    }

    .auth-story {
        display: grid;
        grid-template-columns: 1fr;
        text-align: center;
    }

    .auth-copy {
        max-width: 680px;
        margin-inline: auto;
    }

    .auth-copy p {
        margin-inline: auto;
    }

    .auth-feature-list {
        max-width: 560px;
        margin-inline: auto;
        text-align: left;
    }

    .auth-proof-visual {
        display: none;
    }

    .auth-panel-wrap {
        justify-content: center;
    }
}

@media (max-width: 767.98px) {
    .template-swagger-shell {
        border-radius: var(--template-radius-md);
    }

    .template-swagger-shell .swagger-ui .info,
    .template-swagger-shell .swagger-ui .scheme-container,
    .template-swagger-shell .swagger-ui .filter {
        padding-inline: 1rem;
    }

    .template-swagger-shell .swagger-ui .opblock-tag-section {
        padding-inline: 1rem;
    }

    .template-swagger-shell .swagger-ui .opblock .opblock-summary {
        align-items: flex-start;
        gap: 0.55rem;
        padding: 0.7rem;
    }

    .template-swagger-shell .swagger-ui .opblock .opblock-summary-method {
        min-width: 4.25rem;
    }

    .template-swagger-shell .swagger-ui .opblock .opblock-summary-path,
    .template-swagger-shell .swagger-ui .opblock .opblock-summary-description {
        width: 100%;
        max-width: none;
        white-space: normal;
    }

    .template-swagger-shell .swagger-ui .models {
        margin-inline: 1rem;
    }

    .auth-shell {
        gap: 1rem;
        padding: 1.2rem;
    }

    .auth-header {
        align-items: flex-start;
    }

    .auth-brand {
        font-size: 1.2rem;
    }

    .auth-help span {
        display: none;
    }

    .auth-copy h1 {
        font-size: 2rem;
    }

    .auth-copy p {
        font-size: 0.93rem;
    }

    .auth-feature-list {
        display: none;
    }

    .auth-panel {
        padding: 1.55rem;
    }

    .auth-panel-head {
        margin-bottom: 1.35rem;
    }

    .auth-footer {
        justify-content: flex-start;
        font-size: 0.8rem;
    }

    .auth-footer a:not(:last-child)::after,
    .auth-footer span::after {
        content: none;
    }
}

[data-theme="dark"] .template-navbar-filter-actions .form-control,
[data-theme="dark"] .template-navbar-filter-actions .form-select {
    background-color: rgba(15, 23, 42, 0.82) !important;
    border: 1px solid rgba(148, 163, 184, 0.28) !important;
    color: var(--luxury-text-primary);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12) !important;
}

[data-theme="dark"] .template-navbar-filter-actions .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23cbd5e1' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.7' d='m4 6 4 4 4-4'/%3e%3c/svg%3e") !important;
    background-position: right 0.75rem center !important;
    background-repeat: no-repeat !important;
    background-size: 0.78rem 0.78rem !important;
}

[data-theme="dark"] .template-navbar-filter-actions .form-control:hover,
[data-theme="dark"] .template-navbar-filter-actions .form-select:hover,
[data-theme="dark"] .template-navbar-filter-actions .form-control:focus,
[data-theme="dark"] .template-navbar-filter-actions .form-select:focus {
    background-color: rgba(15, 23, 42, 0.96) !important;
    border-color: var(--luxury-primary-light) !important;
    box-shadow: 0 0 0 0.18rem rgba(139, 134, 255, 0.16) !important;
}

[data-theme="dark"] .template-navbar-filter-actions .floating-label {
    background: #0f172a;
    color: var(--luxury-text-secondary);
}
