@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

:root {
    --gd-bg: #f5f7fb;
    --gd-panel: #ffffff;
    --gd-text: #101828;
    --gd-muted: #667085;
    --gd-line: #e6ebf2;
    --gd-blue: #5149f3;
    --gd-blue-dark: #332bc8;
    --gd-green: #17b26a;
    --gd-red: #f04438;
    --gd-amber: #f79009;
    --gd-shadow: 0 18px 50px rgba(16, 24, 40, 0.08);
}

/* Phase 1B: WordPress stays backend-only on application pages. */
body.btp-app-page #wpadminbar {
    display: none !important;
}

body.btp-app-page,
body.btp-app-page .btp-layout-app,
body.btp-app-page .btp-content,
body.btp-app-page .btp-main {
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}

body.btp-app-page .btp-layout-app {
    display: block !important;
}

.gd-avatar {
    align-items: center;
    background: linear-gradient(135deg, #10b981, #0f766e);
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: calc(var(--gd-avatar-size, 40px) * 0.34);
    font-weight: 900;
    height: var(--gd-avatar-size, 40px);
    justify-content: center;
    line-height: 1;
    overflow: hidden;
    position: relative;
    text-transform: uppercase;
    width: var(--gd-avatar-size, 40px);
}

.gd-avatar-fallback {
    position: relative;
    z-index: 1;
}

.gd-avatar img {
    border-radius: inherit;
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: 2;
}

.gd-avatar img.is-broken {
    display: none !important;
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
}

body.btp-shell,
body.btp-login-page {
    background: var(--gd-bg);
    color: var(--gd-text);
    font-family: Inter, Arial, sans-serif;
    font-size: 14px;
    margin: 0;
}

/* ERP app sidebar: desktop collapse + mobile drawer. */
body.btp-app-page .gd-app-shell.gd-taskly-shell {
    grid-template-columns: 260px minmax(0, 1fr) !important;
    overflow: visible !important;
    transition: grid-template-columns 300ms cubic-bezier(0.2, 0, 0, 1) !important;
}

body.btp-app-page .gd-app-shell.gd-taskly-shell > .gd-side {
    overflow-x: visible !important;
    padding: 24px 16px !important;
    transition: width 300ms cubic-bezier(0.2, 0, 0, 1), padding 300ms cubic-bezier(0.2, 0, 0, 1) !important;
    width: 260px !important;
}

body.btp-app-page .gd-sidebar-toggle {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #dfe5ee !important;
    border-radius: 10px !important;
    color: #111827 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    height: 42px !important;
    justify-content: center !important;
    margin-right: 2px !important;
    transition: background-color 180ms cubic-bezier(0.2, 0, 0, 1), border-color 180ms cubic-bezier(0.2, 0, 0, 1), box-shadow 180ms cubic-bezier(0.2, 0, 0, 1), transform 180ms cubic-bezier(0.2, 0, 0, 1) !important;
    width: 42px !important;
}

body.btp-app-page .gd-sidebar-toggle:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 8px 24px rgba(16, 24, 40, 0.08) !important;
}

body.btp-app-page .gd-sidebar-toggle:active {
    transform: scale(0.96) !important;
}

body.btp-app-page .gd-sidebar-toggle .dashicons {
    font-size: 19px !important;
    height: 19px !important;
    width: 19px !important;
}

body.btp-app-page .gd-side-nav a {
    position: relative !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed {
    grid-template-columns: 70px minmax(0, 1fr) !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed > .gd-side {
    overflow: visible !important;
    padding: 18px 10px !important;
    width: 70px !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-logo {
    justify-content: center !important;
    margin-bottom: 18px !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-logo > span {
    height: 46px !important;
    width: 46px !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-logo > div,
body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-search,
body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-nav-group summary,
body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-user > div {
    display: none !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-nav,
body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-nav-group,
body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-nav-group > div {
    overflow: visible !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-nav-group {
    margin: 0 0 6px !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-nav-group > div {
    display: grid !important;
    gap: 8px !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-nav a {
    align-items: center !important;
    border-radius: 14px !important;
    display: flex !important;
    height: 46px !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 0 !important;
    width: 50px !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-nav a span {
    display: none !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-nav a i {
    align-items: center !important;
    display: inline-flex !important;
    font-size: 20px !important;
    height: 28px !important;
    justify-content: center !important;
    margin: 0 !important;
    width: 28px !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-nav a:hover {
    transform: none !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-nav a::after {
    background: #0f172a !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 10px !important;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.22) !important;
    color: #fff !important;
    content: attr(data-tooltip) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    left: 62px !important;
    line-height: 1 !important;
    opacity: 0 !important;
    padding: 10px 12px !important;
    pointer-events: none !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) translateX(-6px) !important;
    transition: opacity 160ms cubic-bezier(0.2, 0, 0, 1), transform 160ms cubic-bezier(0.2, 0, 0, 1) !important;
    white-space: nowrap !important;
    z-index: 9999 !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-nav a:hover::after,
body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-nav a:focus-visible::after {
    opacity: 1 !important;
    transform: translateY(-50%) translateX(0) !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-user {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    padding: 8px !important;
}

body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-avatar {
    --gd-avatar-size: 38px !important;
}

@media (max-width: 767px) {
    body.btp-app-page .gd-sidebar-toggle {
        display: none !important;
    }

    body.btp-app-page .gd-app-shell.gd-taskly-shell,
    body.btp-app-page .gd-app-shell.is-sidebar-collapsed {
        display: block !important;
        overflow-x: hidden !important;
    }

    body.btp-app-page .gd-app-shell.gd-taskly-shell > .gd-side,
    body.btp-app-page .gd-app-shell.is-sidebar-collapsed > .gd-side {
        height: 100vh !important;
        left: 0 !important;
        max-width: 390px !important;
        padding: 24px 18px !important;
        position: fixed !important;
        top: 0 !important;
        transform: translateX(-105%) !important;
        transition: transform 300ms cubic-bezier(0.2, 0, 0, 1) !important;
        width: 84vw !important;
        z-index: 1001 !important;
    }

    body.btp-menu-open.btp-app-page .gd-app-shell.gd-taskly-shell > .gd-side {
        transform: translateX(0) !important;
    }

    body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-logo > div,
    body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-search,
    body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-nav-group summary,
    body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-user > div {
        display: block !important;
    }

    body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-search,
    body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-nav-group summary {
        display: flex !important;
    }

    body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-nav a {
        height: auto !important;
        justify-content: flex-start !important;
        min-height: 44px !important;
        padding: 0 12px !important;
        width: auto !important;
    }

    body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-nav a span {
        display: inline !important;
    }

    body.btp-app-page .gd-app-shell.is-sidebar-collapsed .gd-side-nav a::after {
        display: none !important;
    }
}

.btp-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    min-height: 100vh;
}

.btp-sidebar {
    background: #fff;
    border-right: 1px solid var(--gd-line);
    display: flex;
    flex-direction: column;
    gap: 18px;
    height: 100vh;
    overflow-y: auto;
    padding: 22px 14px;
    position: sticky;
    top: 0;
}

.btp-brand {
    align-items: center;
    color: var(--gd-text);
    display: flex;
    gap: 12px;
    padding: 0 10px 18px;
    text-decoration: none;
}

.btp-brand:before {
    align-items: center;
    background: linear-gradient(135deg, #5149f3, #8b5cf6);
    border-radius: 14px;
    color: #fff;
    content: "B";
    display: flex;
    font-size: 18px;
    font-weight: 800;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.btp-brand span {
    color: var(--gd-muted);
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.btp-brand strong {
    display: block;
    font-size: 17px;
    font-weight: 800;
}

.btp-nav {
    display: grid;
    gap: 4px;
}

.btp-nav a {
    align-items: center;
    border-radius: 12px;
    color: #475467;
    display: flex;
    gap: 11px;
    font-weight: 700;
    min-height: 42px;
    padding: 0 12px;
    text-decoration: none;
    transition: background 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.btp-nav a:before {
    display: none;
}

.btp-nav a .dashicons {
    align-items: center;
    background: #f2f4f7;
    border-radius: 10px;
    color: #98a2b3;
    display: inline-flex;
    font-size: 18px;
    height: 32px;
    justify-content: center;
    line-height: 1;
    width: 32px;
}

.btp-nav a:hover,
.btp-nav a:focus,
.btp-nav a[aria-current="page"],
.btp-nav a.is-active {
    background: #f1f0ff;
    color: var(--gd-blue);
    transform: translateX(2px);
}

.btp-nav a:hover .dashicons,
.btp-nav a:focus .dashicons,
.btp-nav a[aria-current="page"] .dashicons,
.btp-nav a.is-active .dashicons {
    background: #e4e1ff;
    color: var(--gd-blue);
}

.btp-sidebar-profile {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #edf1f6;
    border-radius: 16px;
    display: flex;
    gap: 10px;
    margin-top: auto;
    padding: 12px;
}

.btp-sidebar-avatar {
    border-radius: 50%;
    flex: 0 0 auto;
}

.btp-sidebar-profile strong {
    color: var(--gd-text);
    display: block;
    font-size: 13px;
    line-height: 1.2;
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.btp-sidebar-profile span {
    color: var(--gd-muted);
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin-top: 3px;
    text-transform: uppercase;
}

.btp-content {
    min-width: 0;
}

.btp-topbar {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid var(--gd-line);
    display: flex;
    height: 72px;
    justify-content: space-between;
    padding: 0 28px;
}

.btp-menu-toggle {
    align-items: center;
    background: #101828;
    border: 0;
    border-radius: 12px;
    color: #fff;
    cursor: pointer;
    display: none;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    min-height: 40px;
    padding: 0 12px;
    transition: transform 0.16s ease, background 0.16s ease;
}

.btp-menu-toggle:active {
    transform: scale(0.96);
}

.btp-kicker {
    color: var(--gd-muted);
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.btp-topbar strong {
    display: block;
    font-size: 18px;
    font-weight: 800;
}

.btp-user {
    align-items: center;
    display: flex;
    gap: 12px;
}

.btp-user span {
    color: #344054;
    font-weight: 700;
}

.btp-user-photo {
    border-radius: 50%;
}

.btp-user a,
.btp-login-button {
    background: var(--gd-blue);
    border-radius: 12px;
    color: #fff;
    display: inline-flex;
    font-weight: 800;
    min-height: 40px;
    padding: 10px 16px;
    text-decoration: none;
}

.btp-main {
    padding: 24px;
}

.btp-auth {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    min-height: 100vh;
}

.btp-auth-visual {
    background:
        radial-gradient(circle at 20% 15%, rgba(81, 73, 243, 0.24), transparent 28%),
        radial-gradient(circle at 70% 62%, rgba(23, 178, 106, 0.18), transparent 26%),
        linear-gradient(135deg, #17135f, #332bc8);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: 44px;
    position: relative;
}

.btp-auth-brand {
    align-items: center;
    color: #fff;
    display: flex;
    gap: 12px;
    text-decoration: none;
}

.btp-auth-brand span {
    align-items: center;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 14px;
    display: flex;
    font-weight: 800;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.btp-auth-brand strong {
    font-size: 18px;
}

.btp-auth-copy {
    max-width: 640px;
    position: relative;
    z-index: 1;
}

.btp-auth-copy span,
.btp-auth-kicker {
    color: #a7f3d0;
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.btp-auth-copy h1 {
    font-size: clamp(38px, 5vw, 68px);
    letter-spacing: -0.06em;
    line-height: 1;
    margin: 0;
}

.btp-auth-copy p {
    color: rgba(255, 255, 255, 0.76);
    font-size: 16px;
    line-height: 1.7;
    max-width: 560px;
}

.btp-auth-preview {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    position: relative;
    z-index: 1;
}

.btp-auth-preview div {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 20px;
    padding: 18px;
}

.btp-auth-preview span {
    color: rgba(255, 255, 255, 0.68);
    display: block;
    font-size: 12px;
    font-weight: 700;
}

.btp-auth-preview strong {
    display: block;
    font-size: 24px;
    margin-top: 6px;
}

.btp-auth-panel {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 32px;
}

.btp-auth-card {
    background: #fff;
    border: 1px solid var(--gd-line);
    border-radius: 28px;
    box-shadow: var(--gd-shadow);
    max-width: 460px;
    padding: 34px;
    width: 100%;
}

.btp-auth-card h2 {
    font-size: 34px;
    letter-spacing: -0.04em;
    margin: 0;
}

.btp-auth-card p {
    color: var(--gd-muted);
    font-weight: 600;
    margin: 10px 0 24px;
}

.btp-auth-message {
    background: #ecfdf3;
    border-radius: 12px;
    color: #067647;
    font-weight: 700;
    margin-bottom: 14px;
    padding: 12px;
}

.btp-auth-error {
    background: #fef3f2;
    color: #b42318;
}

.btp-auth-card label {
    color: #344054;
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 8px;
}

.btp-auth-card input[type="text"],
.btp-auth-card input[type="password"] {
    border: 1px solid #d0d5dd;
    border-radius: 13px;
    font: inherit;
    min-height: 48px;
    padding: 0 14px;
    width: 100%;
}

.btp-auth-card .login-remember label {
    align-items: center;
    display: flex;
    gap: 8px;
}

.btp-auth-card input[type="submit"] {
    background: var(--gd-blue);
    border: 0;
    border-radius: 14px;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    min-height: 50px;
    width: 100%;
}

@media (max-width: 1024px) {
    .btp-layout {
        grid-template-columns: 236px minmax(0, 1fr);
    }

    .btp-auth {
        grid-template-columns: 1fr;
    }

    .btp-auth-visual {
        min-height: 420px;
    }
}

/* Taskly shell lock: keeps the ERP menu and dashboard content side by side. */
body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell,
body:not(.wp-admin) .gd-app-shell.gd-taskly-shell {
    align-items: start !important;
    display: grid !important;
    grid-template-columns: 282px minmax(0, 1fr) !important;
    max-width: 100% !important;
    min-height: calc(100vh - 32px) !important;
    overflow-x: hidden !important;
    width: 100% !important;
}

body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-side,
body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-side {
    display: flex !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    max-width: 282px !important;
    min-width: 282px !important;
    width: 282px !important;
}

body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-app-main,
body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-app-main {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 24px !important;
    width: 100% !important;
}

body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-dash {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    width: 100% !important;
}

body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-kpis {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-grid-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important;
}

body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-grid-secondary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-reports {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (min-width: 768px) and (max-width: 1180px) {
    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell {
        grid-template-columns: 244px minmax(0, 1fr) !important;
    }

    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-side,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-side {
        max-width: 244px !important;
        min-width: 244px !important;
        width: 244px !important;
    }

    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-app-main,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-app-main {
        padding: 18px !important;
    }

    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-smart-header,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-grid-main {
        grid-template-columns: 1fr !important;
    }

    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-kpis,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-grid-secondary,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-reports {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell {
        display: block !important;
        min-height: 100vh !important;
    }

    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-app-main,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-app-main {
        display: block !important;
        padding: 10px !important;
        width: 100% !important;
    }

    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-side,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-side {
        height: 100vh !important;
        left: 0 !important;
        max-width: 390px !important;
        min-width: 0 !important;
        position: fixed !important;
        top: 0 !important;
        transform: translateX(-105%) !important;
        width: 82vw !important;
    }

    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-kpis,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-grid-main,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-grid-secondary,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-reports {
        grid-template-columns: 1fr !important;
    }
}

/* Absolute final lock for the public home hero title. */
body.btp-home-3d-page .btp-saas-copy h1,
body.btp-home-3d-page .btp-saas-copy h1 span {
    box-shadow: none !important;
    border: 0 !important;
}

body.btp-home-3d-page .btp-saas-copy h1 {
    background: transparent !important;
}

body.btp-home-3d-page .btp-saas-copy h1 span {
    background: linear-gradient(135deg, #2ff5bd, #0fb982) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

/* Final landing override: keep this after legacy public landing styles. */
body.btp-public-landing-page .btp-public-bg {
    background-image:
        linear-gradient(90deg, rgba(5, 5, 11, 0.98) 0%, rgba(5, 5, 11, 0.84) 32%, rgba(5, 5, 11, 0.22) 58%, rgba(5, 5, 11, 0.02) 100%),
        linear-gradient(180deg, rgba(5, 5, 11, 0.18) 0%, rgba(5, 5, 11, 0.02) 52%, rgba(5, 5, 11, 0.78) 100%),
        url("../images/btp-landing-neon.png") !important;
    background-position: right clamp(18px, 4vw, 76px) top 92px !important;
    background-repeat: no-repeat !important;
    background-size: min(62vw, 980px) auto !important;
    transform: none !important;
}

body.btp-public-landing-page .btp-public-hero {
    align-items: center !important;
    display: grid !important;
    min-height: clamp(620px, calc(100vh - 84px), 760px) !important;
    padding: 22px clamp(22px, 4vw, 64px) 72px !important;
}

body.btp-public-landing-page .btp-public-copy {
    max-width: min(760px, 48vw) !important;
    padding: 0 !important;
}

body.btp-public-landing-page .btp-public-copy h1 {
    font-size: clamp(52px, 6.1vw, 92px) !important;
}

body.btp-public-landing-page .btp-public-module-grid {
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 1100px) {
    body.btp-public-landing-page .btp-public-bg {
        background-position: right -80px top 108px !important;
        background-size: min(78vw, 900px) auto !important;
    }

    body.btp-public-landing-page .btp-public-copy {
        max-width: 620px !important;
    }

    body.btp-public-landing-page .btp-public-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    body.btp-public-landing-page .btp-public-bg {
        background-image:
            linear-gradient(180deg, rgba(5, 5, 11, 0.28) 0%, rgba(5, 5, 11, 0.86) 58%, #05050b 100%),
            url("../images/btp-landing-neon.png") !important;
        background-position: 62% 82px !important;
        background-size: auto 48vh !important;
    }

    body.btp-public-landing-page .btp-public-hero {
        align-items: end !important;
        min-height: 760px !important;
        padding: 270px 18px 52px !important;
    }

    body.btp-public-landing-page .btp-public-copy {
        max-width: 100% !important;
    }

    body.btp-public-landing-page .btp-public-copy h1 {
        font-size: clamp(38px, 13vw, 58px) !important;
    }

    body.btp-public-landing-page .btp-public-module-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Landing v4: fixed desktop image scale + premium modules grid. */
body.btp-public-landing-page {
    background: #05050b !important;
    color: #fff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    margin: 0;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

body.btp-public-landing-page::before,
body.btp-public-landing-page::after {
    display: none !important;
}

body.btp-public-landing-page a {
    color: inherit;
    text-decoration: none;
}

.btp-public-landing {
    background:
        radial-gradient(circle at 78% 18%, rgba(255, 16, 112, 0.16), transparent 28%),
        linear-gradient(180deg, #05050b 0%, #08070f 54%, #05050b 100%) !important;
    min-height: 100vh;
    overflow: hidden;
    position: relative;
}

.btp-public-bg {
    background-image:
        linear-gradient(90deg, rgba(5, 5, 11, 0.98) 0%, rgba(5, 5, 11, 0.84) 32%, rgba(5, 5, 11, 0.22) 58%, rgba(5, 5, 11, 0.02) 100%),
        linear-gradient(180deg, rgba(5, 5, 11, 0.18) 0%, rgba(5, 5, 11, 0.02) 52%, rgba(5, 5, 11, 0.78) 100%),
        url("../images/btp-landing-neon.png") !important;
    background-position: right clamp(18px, 4vw, 76px) top 92px !important;
    background-repeat: no-repeat !important;
    background-size: min(62vw, 980px) auto !important;
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 0;
}

.btp-public-noise {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px);
    background-size: 72px 72px;
    inset: 0;
    mask-image: linear-gradient(90deg, #000, transparent 78%);
    opacity: 0.13;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.btp-public-topbar {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 84px;
    padding: 22px clamp(22px, 4vw, 64px);
    position: relative;
    z-index: 3;
}

.btp-public-brand {
    align-items: center;
    display: inline-flex;
    gap: 14px;
}

.btp-public-brand span {
    align-items: center;
    background: linear-gradient(135deg, #ff0f68, #a400ff);
    border-radius: 16px;
    box-shadow: 0 18px 44px rgba(255, 0, 102, 0.34);
    color: #fff;
    display: inline-flex;
    font-size: 18px;
    font-weight: 950;
    height: 52px;
    justify-content: center;
    letter-spacing: -0.06em;
    width: 52px;
}

.btp-public-brand strong {
    color: #fff;
    font-size: 26px;
    font-weight: 950;
    letter-spacing: -0.05em;
}

.btp-public-nav {
    align-items: center;
    display: flex;
    gap: 12px;
}

.btp-public-nav > a:first-child {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 14px;
    font-weight: 850;
    min-height: 44px;
    padding: 12px 18px;
}

.btp-public-top-login,
.btp-public-login {
    align-items: center;
    background: linear-gradient(135deg, #ff0f68, #e00058);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    box-shadow: 0 18px 46px rgba(255, 0, 102, 0.28);
    color: #fff !important;
    display: inline-flex;
    font-size: 15px;
    font-weight: 950;
    gap: 10px;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    transition-duration: 180ms;
    transition-property: box-shadow, filter, transform;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.btp-public-top-login:hover,
.btp-public-login:hover {
    box-shadow: 0 22px 56px rgba(255, 0, 102, 0.42);
    filter: saturate(1.08);
    transform: translateY(-1px);
}

.btp-public-top-login:active,
.btp-public-login:active {
    transform: scale(0.96);
}

.btp-public-hero {
    align-items: center;
    display: grid;
    min-height: clamp(620px, calc(100vh - 84px), 760px);
    padding: 22px clamp(22px, 4vw, 64px) 72px;
    position: relative;
    z-index: 2;
}

.btp-public-copy {
    max-width: min(760px, 48vw);
}

.btp-public-kicker {
    color: #ff1b75;
    display: inline-flex;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 0.12em;
    margin-bottom: 22px;
    text-transform: uppercase;
}

.btp-public-copy h1 {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #fff;
    font-size: clamp(52px, 6.1vw, 92px);
    font-weight: 950;
    letter-spacing: -0.075em;
    line-height: 0.96;
    margin: 0;
    padding: 0 !important;
    text-wrap: balance;
}

.btp-public-copy h1 span {
    background: linear-gradient(135deg, #ff1b75, #ff5aa6);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.btp-public-copy p {
    color: rgba(255, 255, 255, 0.76);
    font-size: clamp(17px, 1.25vw, 21px);
    font-weight: 650;
    line-height: 1.58;
    margin: 26px 0 34px;
    max-width: 680px;
}

.btp-public-login {
    font-size: 17px;
    min-height: 56px;
    padding: 0 28px;
    width: fit-content;
}

.btp-public-login span {
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
}

.btp-public-module-section {
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 16, 112, 0.13), transparent 35%),
        linear-gradient(180deg, rgba(10, 8, 16, 0.94), #05050b);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: clamp(56px, 7vw, 96px) clamp(22px, 4vw, 64px) clamp(70px, 8vw, 112px);
    position: relative;
    z-index: 2;
}

.btp-public-section-heading {
    margin: 0 auto 34px;
    max-width: 900px;
    text-align: center;
}

.btp-public-section-heading > span {
    color: #ff1b75;
    display: inline-flex;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 0.13em;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.btp-public-section-heading h2 {
    color: #fff;
    font-size: clamp(34px, 4vw, 60px);
    font-weight: 950;
    letter-spacing: -0.06em;
    line-height: 1;
    margin: 0;
    text-wrap: balance;
}

.btp-public-section-heading p {
    color: rgba(255, 255, 255, 0.62);
    font-size: 18px;
    font-weight: 650;
    line-height: 1.55;
    margin: 18px auto 0;
    max-width: 640px;
}

.btp-public-module-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 auto;
    max-width: 1220px;
}

.btp-public-module-card {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.076), rgba(255, 255, 255, 0.03)),
        rgba(12, 10, 18, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 28px;
    box-shadow:
        0 24px 70px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    min-height: 210px;
    overflow: hidden;
    padding: 26px;
    position: relative;
    transition-duration: 220ms;
    transition-property: background-color, border-color, box-shadow, transform;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.btp-public-module-card::before {
    background: radial-gradient(circle, rgba(255, 20, 118, 0.2), transparent 64%);
    content: "";
    height: 180px;
    position: absolute;
    right: -70px;
    top: -90px;
    width: 180px;
}

.btp-public-module-card:hover {
    border-color: rgba(255, 24, 120, 0.38);
    box-shadow:
        0 30px 84px rgba(0, 0, 0, 0.34),
        0 0 0 1px rgba(255, 24, 120, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transform: translateY(-4px);
}

.btp-public-module-card.is-featured {
    background:
        linear-gradient(145deg, rgba(255, 15, 104, 0.96), rgba(191, 0, 255, 0.82)),
        #ff0f68;
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 26px 80px rgba(255, 0, 102, 0.32);
}

.btp-public-module-icon {
    align-items: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    display: inline-flex;
    font-size: 23px;
    height: 54px;
    justify-content: center;
    margin-bottom: 28px;
    position: relative;
    width: 54px;
    z-index: 1;
}

.btp-public-module-card.is-featured .btp-public-module-icon {
    background: rgba(255, 255, 255, 0.16);
}

.btp-public-module-card h3 {
    color: #fff;
    font-size: 23px;
    font-weight: 950;
    letter-spacing: -0.04em;
    line-height: 1.1;
    margin: 0 0 12px;
    position: relative;
    z-index: 1;
}

.btp-public-module-card p {
    color: rgba(255, 255, 255, 0.66);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.55;
    margin: 0;
    position: relative;
    z-index: 1;
}

.btp-public-module-card.is-featured p {
    color: rgba(255, 255, 255, 0.88);
}

@media (max-width: 1100px) {
    .btp-public-bg {
        background-position: right -80px top 108px !important;
        background-size: min(78vw, 900px) auto !important;
    }

    .btp-public-copy {
        max-width: 620px;
    }

    .btp-public-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .btp-public-topbar {
        padding: 18px;
    }

    .btp-public-nav > a:first-child {
        display: none;
    }

    .btp-public-top-login {
        border-radius: 14px;
        min-height: 44px;
        padding: 0 16px;
    }

    .btp-public-brand span {
        border-radius: 14px;
        height: 44px;
        width: 44px;
    }

    .btp-public-brand strong {
        font-size: 22px;
    }

    .btp-public-bg {
        background-image:
            linear-gradient(180deg, rgba(5, 5, 11, 0.28) 0%, rgba(5, 5, 11, 0.86) 58%, #05050b 100%),
            url("../images/btp-landing-neon.png") !important;
        background-position: 62% 82px !important;
        background-size: auto 48vh !important;
    }

    .btp-public-hero {
        align-items: end;
        min-height: 760px;
        padding: 270px 18px 52px;
    }

    .btp-public-copy {
        max-width: 100%;
    }

    .btp-public-copy h1 {
        font-size: clamp(38px, 13vw, 58px);
        letter-spacing: -0.065em;
    }

    .btp-public-kicker {
        font-size: 11px;
        margin-bottom: 16px;
    }

    .btp-public-copy p {
        font-size: 16px;
        margin: 20px 0 26px;
    }

    .btp-public-login {
        width: 100%;
    }

    .btp-public-module-section {
        padding: 56px 18px 74px;
    }

    .btp-public-module-grid {
        grid-template-columns: 1fr;
    }

    .btp-public-module-card {
        border-radius: 24px;
        min-height: 184px;
        padding: 22px;
    }
}

/* Public landing v3: dark BTP SaaS hero. */
body.btp-public-landing-page {
    background: #05050b !important;
    color: #fff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    margin: 0;
    min-height: 100vh;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

body.btp-public-landing-page::before,
body.btp-public-landing-page::after {
    display: none !important;
}

.btp-public-landing {
    isolation: isolate;
    min-height: 100vh;
    overflow: hidden;
    position: relative;
}

.btp-public-bg {
    background-image:
        linear-gradient(90deg, rgba(5, 5, 11, 0.98) 0%, rgba(5, 5, 11, 0.88) 27%, rgba(5, 5, 11, 0.3) 52%, rgba(5, 5, 11, 0.06) 100%),
        linear-gradient(180deg, rgba(5, 5, 11, 0.38) 0%, rgba(5, 5, 11, 0.04) 48%, rgba(5, 5, 11, 0.72) 100%),
        url("../images/btp-landing-neon.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    inset: 0;
    position: absolute;
    transform: scale(1.012);
    z-index: -3;
}

.btp-public-bg::after {
    background:
        radial-gradient(circle at 34% 16%, rgba(255, 0, 105, 0.22), transparent 30%),
        radial-gradient(circle at 76% 48%, rgba(255, 0, 105, 0.16), transparent 28%);
    content: "";
    inset: 0;
    mix-blend-mode: screen;
    pointer-events: none;
    position: absolute;
}

.btp-public-noise {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 72px 72px;
    inset: 0;
    mask-image: linear-gradient(90deg, #000, transparent 72%);
    opacity: 0.13;
    pointer-events: none;
    position: absolute;
    z-index: -2;
}

.btp-public-shell {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100vh;
    padding: clamp(24px, 4vw, 56px);
    position: relative;
}

.btp-public-brand {
    align-items: center;
    display: inline-flex;
    gap: 14px;
    width: fit-content;
}

.btp-public-brand span {
    align-items: center;
    background: linear-gradient(135deg, #ff0f68, #b000ff);
    border-radius: 17px;
    box-shadow: 0 18px 44px rgba(255, 0, 102, 0.32);
    color: #fff;
    display: inline-flex;
    font-size: 18px;
    font-weight: 950;
    height: 52px;
    justify-content: center;
    letter-spacing: -0.06em;
    width: 52px;
}

.btp-public-brand strong {
    color: #fff;
    font-size: 26px;
    font-weight: 950;
    letter-spacing: -0.05em;
}

.btp-public-copy {
    align-self: center;
    max-width: 760px;
    padding-bottom: clamp(24px, 6vh, 74px);
}

.btp-public-kicker {
    color: #ff1b75;
    display: inline-flex;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 0.12em;
    margin-bottom: 24px;
    text-transform: uppercase;
}

.btp-public-copy h1 {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #fff;
    font-size: clamp(48px, 7vw, 108px);
    font-weight: 950;
    letter-spacing: -0.075em;
    line-height: 0.95;
    margin: 0;
    max-width: 880px;
    padding: 0 !important;
    text-wrap: balance;
}

.btp-public-copy h1 span {
    background: linear-gradient(135deg, #ff1b75, #ff5aa6);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    display: inline;
}

.btp-public-copy p {
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(17px, 1.5vw, 23px);
    font-weight: 620;
    line-height: 1.58;
    margin: 26px 0 34px;
    max-width: 710px;
    text-wrap: pretty;
}

.btp-public-actions {
    align-items: center;
    display: flex;
    gap: 14px;
}

.btp-public-login {
    align-items: center;
    background: linear-gradient(135deg, #ff0f68, #e00058);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    box-shadow: 0 20px 52px rgba(255, 0, 102, 0.34);
    color: #fff !important;
    display: inline-flex;
    font-size: 17px;
    font-weight: 900;
    gap: 12px;
    min-height: 56px;
    padding: 0 28px;
    text-decoration: none !important;
    transition-duration: 180ms;
    transition-property: box-shadow, transform, filter;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.btp-public-login span {
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
}

.btp-public-login:hover {
    box-shadow: 0 24px 62px rgba(255, 0, 102, 0.44);
    filter: saturate(1.08);
    transform: translateY(-1px);
}

.btp-public-login:active {
    transform: scale(0.96);
}

.btp-public-modules {
    align-self: end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0;
    max-width: 980px;
    padding: 0;
}

.btp-public-modules li {
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.055);
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 999px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.86);
    font-size: 13px;
    font-weight: 850;
    min-height: 38px;
    padding: 10px 15px;
}

@media (max-width: 1080px) {
    .btp-public-bg {
        background-image:
            linear-gradient(90deg, rgba(5, 5, 11, 0.98) 0%, rgba(5, 5, 11, 0.86) 48%, rgba(5, 5, 11, 0.38) 100%),
            linear-gradient(180deg, rgba(5, 5, 11, 0.24) 0%, rgba(5, 5, 11, 0.78) 100%),
            url("../images/btp-landing-neon.png");
        background-position: 62% center;
    }

    .btp-public-copy {
        max-width: 720px;
    }
}

@media (max-width: 720px) {
    .btp-public-bg {
        background-image:
            linear-gradient(180deg, rgba(5, 5, 11, 0.84) 0%, rgba(5, 5, 11, 0.78) 46%, rgba(5, 5, 11, 0.96) 100%),
            url("../images/btp-landing-neon.png");
        background-position: 64% top;
        background-size: auto 58vh;
    }

    .btp-public-shell {
        gap: 28px;
        grid-template-rows: auto auto 1fr;
        min-height: 100svh;
        padding: 22px;
    }

    .btp-public-brand span {
        border-radius: 14px;
        height: 44px;
        width: 44px;
    }

    .btp-public-brand strong {
        font-size: 22px;
    }

    .btp-public-copy {
        align-self: end;
        padding: 28vh 0 0;
    }

    .btp-public-kicker {
        font-size: 11px;
        margin-bottom: 16px;
    }

    .btp-public-copy h1 {
        font-size: clamp(38px, 13vw, 58px);
        letter-spacing: -0.065em;
    }

    .btp-public-copy p {
        font-size: 16px;
        margin: 20px 0 26px;
    }

    .btp-public-actions,
    .btp-public-login {
        width: 100%;
    }

    .btp-public-login {
        justify-content: center;
    }

    .btp-public-modules {
        align-self: start;
        max-height: 124px;
        overflow: hidden;
    }

    .btp-public-modules li {
        font-size: 12px;
        min-height: 34px;
        padding: 8px 12px;
    }
}

/* Final visual correction: use the confirmed 3D construction mockup as the hero scene. */
body.btp-home-3d-page .btp-saas-home {
    background:
        radial-gradient(circle at 78% 34%, rgba(22, 214, 164, 0.16), transparent 38%),
        linear-gradient(90deg, #081017 0%, #070e14 42%, #03070a 100%) !important;
}

body.btp-home-3d-page .btp-saas-hero {
    grid-template-columns: minmax(360px, 0.72fr) minmax(620px, 1.28fr) !important;
    padding-right: clamp(20px, 3.5vw, 56px) !important;
}

body.btp-home-3d-page .btp-saas-module-panel {
    aspect-ratio: 1.16 / 1 !important;
    background:
        linear-gradient(90deg, rgba(5, 9, 13, 0.16), rgba(5, 9, 13, 0.02) 44%, rgba(5, 9, 13, 0.1)),
        url("../images/btp-hero-construction.png") center / cover no-repeat !important;
    border: 1px solid rgba(110, 255, 218, 0.14) !important;
    border-radius: 30px !important;
    box-shadow:
        0 36px 110px rgba(0, 0, 0, 0.56),
        0 0 0 1px rgba(47, 245, 189, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    min-height: 660px !important;
    transform: perspective(1400px) rotateX(calc(var(--btp-rotate-x) - 58deg)) rotateY(calc(var(--btp-shift-x) * 0.025)) translate3d(0, 0, 0) !important;
}

body.btp-home-3d-page .btp-saas-panel-grid,
body.btp-home-3d-page .btp-saas-flow,
body.btp-home-3d-page .btp-saas-node,
body.btp-home-3d-page .btp-saas-core,
body.btp-home-3d-page .btp-saas-scene {
    display: none !important;
}

body.btp-home-3d-page .btp-module-pill {
    backdrop-filter: blur(18px);
    background: rgba(3, 9, 13, 0.72) !important;
    border: 1px solid rgba(55, 255, 200, 0.24) !important;
    box-shadow:
        0 14px 34px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    color: #dbfff5 !important;
    min-height: 36px !important;
    padding: 0 13px !important;
}

body.btp-home-3d-page .btp-module-pill i {
    background: #16d6a4 !important;
    box-shadow: 0 0 18px rgba(22, 214, 164, 0.42) !important;
    height: 8px !important;
    width: 8px !important;
}

body.btp-home-3d-page .btp-module-pill i::before,
body.btp-home-3d-page .btp-module-pill i::after {
    display: none !important;
}

body.btp-home-3d-page .module-projects { --x: 5%; --y: 78%; }
body.btp-home-3d-page .module-bp { --x: 4%; --y: 68%; }
body.btp-home-3d-page .module-supplies { --x: 36%; --y: 83%; }
body.btp-home-3d-page .module-stock { --x: 55%; --y: 75%; }
body.btp-home-3d-page .module-fuel { --x: 68%; --y: 62%; }
body.btp-home-3d-page .module-rental { --x: 18%; --y: 87%; }
body.btp-home-3d-page .module-subcontracting { --x: 24%; --y: 74%; }
body.btp-home-3d-page .module-reports { --x: 68%; --y: 83%; }
body.btp-home-3d-page .module-analysis { --x: 47%; --y: 66%; }

@media (max-width: 1180px) {
    body.btp-home-3d-page .btp-saas-hero {
        grid-template-columns: 1fr !important;
    }

    body.btp-home-3d-page .btp-saas-module-panel {
        min-height: 560px !important;
    }
}

@media (max-width: 720px) {
    body.btp-home-3d-page .btp-saas-module-panel {
        background-position: 54% center !important;
        min-height: 460px !important;
    }

    body.btp-home-3d-page .btp-module-pill {
        font-size: 11px !important;
        max-width: 180px;
    }
}

/* Public SaaS landing page: pre-login ERP presentation only. */
body.btp-home-3d-page {
    background: #03070a !important;
    color: #f7fbff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    margin: 0;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

body.btp-home-3d-page::before,
body.btp-home-3d-page::after {
    display: none !important;
}

body.btp-home-3d-page a {
    color: inherit;
    text-decoration: none;
}

.btp-saas-home {
    background:
        linear-gradient(90deg, rgba(10, 18, 25, 0.98), rgba(8, 14, 20, 0.92) 42%, rgba(3, 7, 10, 0.98)),
        radial-gradient(circle at 78% 26%, rgba(16, 185, 129, 0.16), transparent 36%),
        #03070a;
    min-height: 100vh;
    position: relative;
}

.btp-saas-home::before {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 76px 76px;
    content: "";
    inset: 0;
    mask-image: linear-gradient(90deg, transparent, #000 25%, #000 86%, transparent);
    opacity: 0.18;
    pointer-events: none;
    position: absolute;
}

.btp-saas-nav {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(220px, auto) 1fr auto;
    min-height: 92px;
    padding: 18px clamp(20px, 4vw, 64px);
    position: relative;
    z-index: 4;
}

.btp-saas-brand {
    align-items: center;
    display: inline-flex;
    gap: 14px;
    min-width: 0;
}

.btp-saas-brand > span:first-child {
    align-items: center;
    background: linear-gradient(135deg, #0f766e, #18c69a);
    border-radius: 18px;
    box-shadow: 0 20px 48px rgba(16, 185, 129, 0.24);
    color: #eafff8;
    display: inline-flex;
    font-size: 19px;
    font-weight: 900;
    height: 54px;
    justify-content: center;
    letter-spacing: -0.04em;
    width: 54px;
}

.btp-saas-brand-text {
    display: grid;
    gap: 2px;
}

.btp-saas-brand strong {
    color: #ffffff;
    font-size: 25px;
    letter-spacing: -0.04em;
    line-height: 1;
}

.btp-saas-brand small {
    color: #9fb2c6;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.btp-saas-links {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: center;
}

.btp-saas-links a {
    border-radius: 999px;
    color: #b7c5d2;
    font-size: 14px;
    font-weight: 800;
    padding: 10px 14px;
    transition-duration: 180ms;
    transition-property: background-color, color;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.btp-saas-links a:hover {
    background: rgba(255, 255, 255, 0.07);
    color: #ffffff;
}

.btp-saas-actions,
.btp-saas-cta {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: flex-end;
}

.btp-saas-login,
.btp-saas-access,
.btp-saas-secondary {
    align-items: center;
    border-radius: 16px;
    cursor: pointer;
    display: inline-flex;
    font-size: 15px;
    font-weight: 900;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    transition-duration: 180ms;
    transition-property: background-color, border-color, box-shadow, color, transform;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
    white-space: nowrap;
}

.btp-saas-login,
.btp-saas-secondary {
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #f6fbff;
}

.btp-saas-access {
    background: linear-gradient(135deg, #18c69a, #0ea579);
    border: 1px solid rgba(133, 255, 215, 0.22);
    box-shadow: 0 18px 46px rgba(16, 185, 129, 0.24);
    color: #ffffff;
}

.btp-saas-login:hover,
.btp-saas-secondary:hover {
    background: rgba(255, 255, 255, 0.095);
    border-color: rgba(255, 255, 255, 0.24);
}

.btp-saas-access:hover {
    box-shadow: 0 22px 54px rgba(16, 185, 129, 0.34);
    transform: translateY(-1px);
}

.btp-saas-login:active,
.btp-saas-access:active,
.btp-saas-secondary:active {
    transform: scale(0.96);
}

.btp-saas-hero {
    align-items: center;
    display: grid;
    gap: clamp(24px, 4vw, 64px);
    grid-template-columns: minmax(320px, 0.78fr) minmax(520px, 1.22fr);
    min-height: calc(100vh - 92px);
    padding: clamp(32px, 5vw, 78px) clamp(20px, 5vw, 86px) 48px;
    position: relative;
    z-index: 2;
}

.btp-saas-copy {
    max-width: 680px;
}

.btp-saas-kicker {
    color: #16d6a4;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.15em;
    margin-bottom: 24px;
    text-transform: uppercase;
}

.btp-saas-copy h1 {
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff;
    font-size: clamp(46px, 6.2vw, 92px);
    font-weight: 950;
    letter-spacing: -0.07em;
    line-height: 0.98;
    margin: 0;
    max-width: 900px;
    padding: 0 !important;
    text-wrap: balance;
}

.btp-saas-copy h1 span {
    background: linear-gradient(135deg, #2ff5bd, #0fb982);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    display: inline;
}

.btp-saas-copy p {
    color: #b6c5d2;
    font-size: clamp(18px, 1.5vw, 24px);
    font-weight: 650;
    line-height: 1.55;
    margin: 28px 0 34px;
    max-width: 620px;
    text-wrap: pretty;
}

.btp-saas-copy .btp-saas-cta {
    justify-content: flex-start;
}

.btp-saas-module-panel {
    --btp-rotate-x: 58deg;
    --btp-rotate-z: -32deg;
    --btp-shift-x: 0px;
    --btp-shift-y: 0px;
    aspect-ratio: 1.45 / 1;
    background:
        linear-gradient(145deg, rgba(15, 23, 34, 0.94), rgba(4, 11, 16, 0.96)),
        #081018;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 30px;
    box-shadow:
        0 34px 100px rgba(0, 0, 0, 0.46),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    min-height: 520px;
    overflow: hidden;
    position: relative;
    transform: perspective(1400px) rotateX(calc(var(--btp-rotate-x) - 58deg)) rotateY(calc(var(--btp-shift-x) * 0.04));
    transition-duration: 220ms;
    transition-property: box-shadow, transform;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
    will-change: transform;
}

.btp-saas-module-panel.is-active {
    box-shadow:
        0 42px 120px rgba(0, 0, 0, 0.58),
        0 0 0 1px rgba(47, 245, 189, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.btp-saas-panel-grid {
    background-image:
        linear-gradient(rgba(45, 212, 191, 0.14) 1px, transparent 1px),
        linear-gradient(90deg, rgba(45, 212, 191, 0.14) 1px, transparent 1px);
    background-size: 42px 42px;
    inset: -12%;
    opacity: 0.32;
    position: absolute;
    transform: perspective(900px) rotateX(62deg) rotateZ(-26deg) translateY(12%);
}

.btp-saas-flow,
.btp-saas-line {
    background: linear-gradient(90deg, transparent, rgba(32, 255, 197, 0.94), transparent);
    border-radius: 999px;
    box-shadow: 0 0 30px rgba(32, 255, 197, 0.38);
    height: 2px;
    position: absolute;
}

.btp-saas-flow-main {
    left: 11%;
    top: 49%;
    transform: rotate(-5deg);
    width: 80%;
}

.btp-saas-flow-sub {
    left: 21%;
    top: 66%;
    transform: rotate(13deg);
    width: 58%;
}

.btp-saas-line {
    left: 18%;
    top: 30%;
    transform: rotate(34deg);
    width: 46%;
}

.btp-saas-node {
    border: 1px solid rgba(32, 255, 197, 0.55);
    border-radius: 999px;
    box-shadow: 0 0 28px rgba(32, 255, 197, 0.36);
    height: 12px;
    position: absolute;
    width: 12px;
}

.btp-saas-node::after {
    background: rgba(32, 255, 197, 0.82);
    border-radius: inherit;
    content: "";
    inset: 3px;
    position: absolute;
}

.btp-saas-node-left {
    left: 23%;
    top: 48%;
}

.btp-saas-node-right {
    right: 19%;
    top: 42%;
}

.btp-saas-node-bottom {
    bottom: 24%;
    left: 58%;
}

.btp-module-pill {
    align-items: center;
    animation: btpModuleFloat 5.4s ease-in-out infinite;
    animation-delay: var(--delay);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
    color: #071017;
    display: inline-flex;
    gap: 10px;
    font-size: 13px;
    font-weight: 900;
    left: var(--x);
    min-height: 40px;
    padding: 0 15px;
    position: absolute;
    top: var(--y);
    transform: translate3d(var(--btp-shift-x), var(--btp-shift-y), 0);
    white-space: nowrap;
    z-index: 3;
}

.btp-module-pill i {
    background: #0f1720;
    border-radius: 4px;
    box-shadow: inset 0 -3px 0 rgba(255, 255, 255, 0.12);
    display: inline-block;
    height: 13px;
    position: relative;
    width: 13px;
}

.btp-module-pill i::before,
.btp-module-pill i::after {
    background: inherit;
    border-radius: inherit;
    content: "";
    height: 13px;
    position: absolute;
    width: 13px;
}

.btp-module-pill i::before {
    left: -4px;
    top: 3px;
}

.btp-module-pill i::after {
    right: -4px;
    top: 3px;
}

.module-projects { --x: 6%; --y: 43%; }
.module-bp { --x: 31%; --y: 18%; }
.module-supplies { --x: 59%; --y: 20%; }
.module-stock { --x: 74%; --y: 48%; }
.module-fuel { --x: 50%; --y: 71%; }
.module-rental { --x: 20%; --y: 72%; }
.module-subcontracting { --x: 8%; --y: 22%; }
.module-reports { --x: 67%; --y: 73%; }
.module-analysis { --x: 40%; --y: 48%; }

.btp-saas-core {
    align-items: center;
    background: linear-gradient(135deg, rgba(9, 17, 25, 0.94), rgba(12, 45, 38, 0.94));
    border: 1px solid rgba(56, 255, 199, 0.24);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
    display: grid;
    gap: 4px;
    left: 50%;
    min-width: 210px;
    padding: 22px 24px;
    position: absolute;
    text-align: center;
    top: 52%;
    transform: translate(-50%, -50%);
    z-index: 4;
}

.btp-saas-core span {
    color: #78f5d5;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.btp-saas-core strong {
    color: #ffffff;
    font-size: 24px;
    letter-spacing: -0.04em;
}

.btp-saas-scene {
    bottom: 4%;
    height: 42%;
    left: 6%;
    position: absolute;
    right: 6%;
    transform: perspective(900px) rotateX(59deg) rotateZ(-23deg);
    z-index: 2;
}

.btp-saas-road {
    background:
        linear-gradient(90deg, transparent 48%, rgba(255, 255, 255, 0.8) 48% 52%, transparent 52%),
        linear-gradient(135deg, #17212d, #303f4d);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.38);
    height: 84px;
    left: 14%;
    position: absolute;
    top: 34%;
    transform: rotate(4deg);
    width: 76%;
}

.btp-saas-pipe {
    background: linear-gradient(90deg, #283542, #8293a3, #25313c);
    border-radius: 999px;
    bottom: 10%;
    height: 42px;
    position: absolute;
    width: 160px;
}

.pipe-one {
    left: 13%;
}

.pipe-two {
    left: 28%;
}

.btp-saas-block {
    align-items: center;
    background: rgba(10, 18, 26, 0.82);
    border: 1px solid rgba(44, 255, 195, 0.3);
    border-radius: 12px;
    color: #80f5d6;
    display: inline-flex;
    font-size: 11px;
    font-weight: 950;
    height: 32px;
    justify-content: center;
    padding: 0 12px;
    position: absolute;
    text-transform: uppercase;
}

.block-budget {
    left: 31%;
    top: 8%;
}

.block-marge {
    right: 11%;
    top: 18%;
}

.btp-saas-business {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0 clamp(20px, 5vw, 86px) 58px;
    position: relative;
    z-index: 2;
}

.btp-saas-business article {
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    min-height: 146px;
    padding: 22px;
}

.btp-saas-business article span {
    color: #16d6a4;
    display: block;
    font-size: 13px;
    font-weight: 950;
    margin-bottom: 14px;
}

.btp-saas-business article strong {
    color: #ffffff;
    display: block;
    font-size: 20px;
    letter-spacing: -0.03em;
    margin-bottom: 8px;
}

.btp-saas-business article p {
    color: #a9b8c6;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.5;
    margin: 0;
}

.btp-access-panel {
    align-items: center;
    background: rgba(2, 6, 9, 0.74);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 22px;
    position: fixed;
    z-index: 30;
}

.btp-access-panel[hidden] {
    display: none !important;
}

.btp-access-panel > div {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 34px 100px rgba(0, 0, 0, 0.44);
    color: #0c1520;
    max-width: 460px;
    padding: 28px;
    position: relative;
}

.btp-access-panel button {
    align-items: center;
    background: #eef3f7;
    border: 0;
    border-radius: 999px;
    color: #0c1520;
    cursor: pointer;
    display: inline-flex;
    font-size: 18px;
    font-weight: 900;
    height: 38px;
    justify-content: center;
    position: absolute;
    right: 16px;
    top: 16px;
    width: 38px;
}

.btp-access-panel span {
    color: #0ea579;
    display: block;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0.12em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.btp-access-panel h2 {
    color: #0c1520;
    font-size: 28px;
    letter-spacing: -0.05em;
    line-height: 1.08;
    margin: 0 0 12px;
}

.btp-access-panel p {
    color: #5f6f7f;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.55;
    margin: 0;
}

@keyframes btpModuleFloat {
    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 0 -10px;
    }
}

@media (max-width: 1180px) {
    .btp-saas-nav {
        grid-template-columns: 1fr auto;
    }

    .btp-saas-links {
        display: none;
    }

    .btp-saas-hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .btp-saas-copy {
        max-width: 860px;
    }

    .btp-saas-module-panel {
        aspect-ratio: 1.65 / 1;
        min-height: 440px;
    }

    .btp-saas-business {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .btp-saas-nav {
        align-items: start;
        gap: 18px;
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .btp-saas-actions,
    .btp-saas-cta {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .btp-saas-login,
    .btp-saas-access,
    .btp-saas-secondary {
        width: 100%;
    }

    .btp-saas-hero {
        padding: 36px 18px;
    }

    .btp-saas-copy h1 {
        font-size: clamp(40px, 13vw, 58px);
        letter-spacing: -0.06em;
    }

    .btp-saas-copy p {
        font-size: 17px;
    }

    .btp-saas-module-panel {
        aspect-ratio: auto;
        border-radius: 24px;
        min-height: 520px;
    }

    .btp-module-pill {
        font-size: 12px;
        min-height: 36px;
        padding: 0 12px;
    }

    .module-projects { --x: 5%; --y: 18%; }
    .module-bp { --x: 28%; --y: 8%; }
    .module-supplies { --x: 52%; --y: 20%; }
    .module-stock { --x: 47%; --y: 78%; }
    .module-fuel { --x: 8%; --y: 63%; }
    .module-rental { --x: 18%; --y: 78%; }
    .module-subcontracting { --x: 4%; --y: 38%; }
    .module-reports { --x: 57%; --y: 61%; }
    .module-analysis { --x: 32%; --y: 43%; }

    .btp-saas-core {
        min-width: 180px;
        padding: 18px;
    }

    .btp-saas-business {
        grid-template-columns: 1fr;
        padding: 0 18px 38px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .btp-module-pill {
        animation: none;
    }

    .btp-saas-module-panel {
        transform: none;
    }
}

/* Private 3D landing page. */
body.btp-home-3d-page {
    background: #030712;
    color: #f8fafc;
    font-family: Inter, Arial, sans-serif;
    margin: 0;
    overflow-x: hidden;
}

.btp-landing,
.btp-landing * {
    box-sizing: border-box;
}

.btp-landing {
    -webkit-font-smoothing: antialiased;
    background:
        radial-gradient(circle at 76% 22%, rgba(16, 185, 129, 0.22), transparent 32%),
        radial-gradient(circle at 18% 18%, rgba(34, 211, 238, 0.16), transparent 30%),
        linear-gradient(135deg, #030712 0%, #07111f 54%, #03131f 100%);
    min-height: 100vh;
    overflow: hidden;
    padding: 24px;
    position: relative;
}

.btp-landing:before {
    background-image:
        linear-gradient(rgba(148, 163, 184, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, 0.06) 1px, transparent 1px);
    background-size: 72px 72px;
    content: "";
    inset: 0;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.85), transparent);
    pointer-events: none;
    position: absolute;
}

.btp-landing-nav {
    align-items: center;
    background: rgba(3, 7, 18, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 22px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.26);
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1220px;
    min-height: 72px;
    padding: 12px 14px 12px 18px;
    position: relative;
    z-index: 5;
}

.btp-landing-brand,
.btp-landing-links,
.btp-landing-actions,
.btp-landing-cta {
    align-items: center;
    display: flex;
}

.btp-landing-brand {
    color: #fff;
    gap: 12px;
    text-decoration: none;
}

.btp-landing-brand span {
    align-items: center;
    background: linear-gradient(135deg, #10b981, #06b6d4);
    border-radius: 16px;
    box-shadow: 0 16px 32px rgba(16, 185, 129, 0.25);
    color: #02111d;
    display: inline-flex;
    font-size: 14px;
    font-weight: 950;
    height: 46px;
    justify-content: center;
    letter-spacing: -0.04em;
    width: 46px;
}

.btp-landing-brand strong {
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.btp-landing-links {
    gap: 6px;
}

.btp-landing-links a {
    border-radius: 999px;
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 800;
    min-height: 38px;
    padding: 0 13px;
    text-decoration: none;
    transition-property: background, color, transform;
    transition-duration: 0.16s;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.btp-landing-links a:hover {
    background: rgba(148, 163, 184, 0.12);
    color: #fff;
    transform: translateY(-1px);
}

.btp-landing-actions,
.btp-landing-cta {
    gap: 10px;
}

.btp-landing-primary,
.btp-landing-secondary,
.btp-landing-link-button {
    align-items: center;
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    text-decoration: none;
    transition-property: background, border-color, color, box-shadow, transform;
    transition-duration: 0.16s;
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.btp-landing-primary {
    background: #16f2a8;
    border: 1px solid #16f2a8;
    box-shadow: 0 16px 34px rgba(16, 185, 129, 0.26);
    color: #02111d;
}

.btp-landing-secondary,
.btp-landing-link-button {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(226, 232, 240, 0.16);
    color: #f8fafc;
}

.btp-landing-primary:hover,
.btp-landing-secondary:hover,
.btp-landing-link-button:hover {
    transform: translateY(-1px);
}

.btp-landing-primary:active,
.btp-landing-secondary:active,
.btp-landing-link-button:active {
    transform: scale(0.96);
}

.btp-landing-hero {
    align-items: center;
    display: grid;
    gap: 44px;
    grid-template-columns: minmax(320px, 0.9fr) minmax(420px, 1.1fr);
    margin: 0 auto;
    max-width: 1220px;
    min-height: calc(100vh - 132px);
    padding: 70px 0 40px;
    position: relative;
    z-index: 2;
}

.btp-landing-copy {
    max-width: 620px;
}

.btp-landing-kicker {
    color: #16f2a8;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0.14em;
    margin-bottom: 18px;
    text-transform: uppercase;
}

.btp-landing-copy h1 {
    color: #fff;
    font-size: clamp(42px, 6vw, 78px);
    font-weight: 950;
    letter-spacing: -0.075em;
    line-height: 0.96;
    margin: 0;
    text-wrap: balance;
}

.btp-landing-copy p {
    color: #aebdcc;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.7;
    margin: 24px 0 30px;
    max-width: 590px;
    text-wrap: pretty;
}

.btp-landing-stage {
    aspect-ratio: 1.08;
    min-height: 470px;
    perspective: 1100px;
    position: relative;
    touch-action: pan-y;
}

.btp-3d-world {
    animation: btpWorldFloat 8s ease-in-out infinite;
    height: 100%;
    position: relative;
    transform: rotateX(var(--btp-rotate-x, 58deg)) rotateZ(var(--btp-rotate-z, -32deg)) translate3d(var(--btp-shift-x, 0), var(--btp-shift-y, 0), 0);
    transform-style: preserve-3d;
    transition: transform 0.16s cubic-bezier(0.2, 0, 0, 1);
    width: 100%;
    will-change: transform;
}

.btp-landing-stage:hover .btp-3d-world,
.btp-landing-stage.is-active .btp-3d-world {
    animation-play-state: paused;
}

.btp-3d-grid,
.btp-3d-road,
.btp-3d-pipe,
.btp-3d-block,
.btp-3d-axis,
.btp-3d-node,
.btp-3d-core {
    position: absolute;
    transform-style: preserve-3d;
}

.btp-3d-grid {
    background:
        linear-gradient(rgba(34, 211, 238, 0.18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(34, 211, 238, 0.18) 1px, transparent 1px),
        linear-gradient(135deg, rgba(16, 185, 129, 0.16), rgba(34, 211, 238, 0.04));
    background-size: 42px 42px;
    border: 1px solid rgba(34, 211, 238, 0.22);
    border-radius: 34px;
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.36), inset 0 0 42px rgba(16, 185, 129, 0.06);
    inset: 8%;
    transform: translateZ(-80px);
}

.btp-3d-road {
    background: linear-gradient(90deg, rgba(15, 23, 42, 0.94), rgba(30, 41, 59, 0.96));
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 999px;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.03), 0 20px 55px rgba(0, 0, 0, 0.34);
    height: 76px;
    left: 8%;
    top: 54%;
    transform: translateZ(42px) rotateZ(-8deg);
    width: 84%;
}

.btp-3d-road:after {
    background: repeating-linear-gradient(90deg, #f8fafc 0 34px, transparent 34px 64px);
    border-radius: 999px;
    content: "";
    height: 5px;
    left: 9%;
    opacity: 0.9;
    position: absolute;
    right: 9%;
    top: 36px;
}

.btp-3d-pipe {
    border: 10px solid rgba(34, 211, 238, 0.72);
    border-radius: 999px;
    box-shadow: 0 0 42px rgba(34, 211, 238, 0.22), inset 0 0 24px rgba(34, 211, 238, 0.18);
    height: 118px;
    width: 118px;
}

.btp-3d-pipe-one {
    left: 11%;
    top: 16%;
    transform: translateZ(85px) rotateX(65deg);
}

.btp-3d-pipe-two {
    border-color: rgba(16, 185, 129, 0.72);
    height: 92px;
    right: 10%;
    top: 61%;
    transform: translateZ(115px) rotateX(65deg);
    width: 92px;
}

.btp-3d-block {
    align-items: center;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(203, 213, 225, 0.82));
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 18px;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.26);
    color: #07111f;
    display: flex;
    font-size: 12px;
    font-weight: 950;
    height: 90px;
    justify-content: center;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    width: 150px;
}

.btp-3d-block-one {
    left: 35%;
    top: 13%;
    transform: translateZ(138px);
}

.btp-3d-block-two {
    background: linear-gradient(145deg, #16f2a8, #06b6d4);
    left: 17%;
    top: 66%;
    transform: translateZ(122px);
}

.btp-3d-block-three {
    right: 16%;
    top: 30%;
    transform: translateZ(158px);
}

.btp-3d-axis {
    background: linear-gradient(90deg, transparent, rgba(22, 242, 168, 0.8), transparent);
    border-radius: 999px;
    height: 4px;
    width: 56%;
}

.btp-3d-axis-one {
    left: 20%;
    top: 45%;
    transform: translateZ(170px) rotateZ(20deg);
}

.btp-3d-axis-two {
    left: 26%;
    top: 36%;
    transform: translateZ(150px) rotateZ(-34deg);
}

.btp-3d-node {
    background: #16f2a8;
    border: 8px solid rgba(255, 255, 255, 0.86);
    border-radius: 999px;
    box-shadow: 0 0 42px rgba(16, 185, 129, 0.45);
    height: 28px;
    width: 28px;
}

.btp-3d-node-one {
    left: 27%;
    top: 40%;
    transform: translateZ(190px);
}

.btp-3d-node-two {
    right: 22%;
    top: 45%;
    transform: translateZ(185px);
}

.btp-3d-node-three {
    left: 53%;
    top: 68%;
    transform: translateZ(165px);
}

.btp-3d-core {
    align-items: center;
    background: rgba(3, 7, 18, 0.82);
    border: 1px solid rgba(22, 242, 168, 0.32);
    border-radius: 26px;
    box-shadow: 0 0 70px rgba(16, 185, 129, 0.18), 0 26px 70px rgba(0, 0, 0, 0.38);
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 150px;
    justify-content: center;
    left: 39%;
    top: 38%;
    transform: translateZ(230px);
    width: 170px;
}

.btp-3d-core span {
    color: #16f2a8;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.btp-3d-core strong {
    font-size: 42px;
    font-weight: 950;
    letter-spacing: -0.07em;
    margin-top: 4px;
}

.btp-landing-strip {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: -22px auto 42px;
    max-width: 1220px;
    position: relative;
    z-index: 3;
}

.btp-landing-strip article {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(226, 232, 240, 0.14);
    border-radius: 20px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
    padding: 18px;
}

.btp-landing-strip span {
    color: #16f2a8;
    display: block;
    font-size: 11px;
    font-weight: 950;
    margin-bottom: 12px;
}

.btp-landing-strip strong {
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -0.03em;
}

.btp-landing-strip p {
    color: #aebdcc;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.5;
    margin: 7px 0 0;
}

.btp-access-panel[hidden] {
    display: none;
}

.btp-access-panel {
    align-items: center;
    background: rgba(3, 7, 18, 0.68);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: fixed;
    z-index: 10000;
}

.btp-access-panel > div {
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.36);
    color: #0f172a;
    max-width: 460px;
    padding: 24px;
    position: relative;
    width: 100%;
}

.btp-access-panel button {
    background: #f1f5f9;
    border: 0;
    border-radius: 999px;
    color: #0f172a;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    height: 36px;
    position: absolute;
    right: 14px;
    top: 14px;
    width: 36px;
}

.btp-access-panel span {
    color: #10b981;
    display: block;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.12em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.btp-access-panel h2 {
    font-size: 24px;
    font-weight: 950;
    letter-spacing: -0.04em;
    line-height: 1.15;
    margin: 0 38px 10px 0;
}

.btp-access-panel p {
    color: #64748b;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.6;
    margin: 0;
}

@keyframes btpWorldFloat {
    0%,
    100% {
        transform: rotateX(58deg) rotateZ(-32deg) translate3d(0, 0, 0);
    }

    50% {
        transform: rotateX(56deg) rotateZ(-30deg) translate3d(0, -10px, 16px);
    }
}

@media (max-width: 980px) {
    .btp-landing-nav {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .btp-landing-links {
        display: none;
    }

    .btp-landing-actions {
        margin-left: auto;
    }

    .btp-landing-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        padding-top: 52px;
    }

    .btp-landing-stage {
        min-height: 390px;
        order: -1;
    }

    .btp-landing-strip {
        grid-template-columns: 1fr;
        margin-top: 0;
    }
}

@media (max-width: 620px) {
    .btp-landing {
        padding: 14px;
    }

    .btp-landing-nav {
        border-radius: 18px;
        gap: 12px;
    }

    .btp-landing-brand strong {
        font-size: 16px;
    }

    .btp-landing-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .btp-landing-primary,
    .btp-landing-secondary,
    .btp-landing-link-button {
        width: 100%;
    }

    .btp-landing-copy h1 {
        font-size: clamp(36px, 12vw, 54px);
    }

    .btp-landing-copy p {
        font-size: 15px;
    }

    .btp-landing-cta {
        align-items: stretch;
        flex-direction: column;
    }

    .btp-landing-stage {
        min-height: 300px;
    }

    .btp-3d-block {
        height: 70px;
        width: 112px;
    }

    .btp-3d-core {
        height: 116px;
        width: 132px;
    }

    .btp-3d-core strong {
        font-size: 32px;
    }
}

/* Emergency position lock: avoids WordPress/theme grid conflicts on the live site. */
@media (min-width: 768px) {
    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell {
        display: block !important;
        overflow: visible !important;
        position: relative !important;
        width: 100% !important;
    }

    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-side,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-side {
        display: flex !important;
        left: 32px !important;
        max-width: 282px !important;
        min-width: 282px !important;
        position: fixed !important;
        top: 86px !important;
        width: 282px !important;
        z-index: 20 !important;
    }

    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-app-main,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-app-main {
        display: block !important;
        margin-left: 318px !important;
        max-width: calc(100vw - 370px) !important;
        min-height: 100vh !important;
        min-width: 0 !important;
        overflow: visible !important;
        padding: 0 24px 32px !important;
        width: calc(100vw - 370px) !important;
    }

    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-dash {
        display: flex !important;
        max-width: 100% !important;
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
        width: 100% !important;
    }

    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-kpis {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 768px) and (max-width: 1180px) {
    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-side,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-side {
        left: 16px !important;
        max-width: 244px !important;
        min-width: 244px !important;
        width: 244px !important;
    }

    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-app-main,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-app-main {
        margin-left: 270px !important;
        max-width: calc(100vw - 292px) !important;
        padding: 0 16px 28px !important;
        width: calc(100vw - 292px) !important;
    }

    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Night mode sidebar correction. */
body[data-gd-dashboard-theme="night"] {
    background: #000 !important;
}

body[data-gd-dashboard-theme="night"] .btp-layout,
body[data-gd-dashboard-theme="night"] .btp-content,
body[data-gd-dashboard-theme="night"] .btp-main,
body[data-gd-dashboard-theme="night"] .gd-taskly-shell {
    background: #000 !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell > .gd-side {
    background: #0b1220 !important;
    border-color: #1f2937 !important;
    color: #f8fafc !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell .gd-side-logo,
body[data-gd-dashboard-theme="night"] .gd-taskly-shell .gd-side-logo strong,
body[data-gd-dashboard-theme="night"] .gd-taskly-shell .gd-side-nav a {
    color: #f8fafc !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell .gd-side-logo small,
body[data-gd-dashboard-theme="night"] .gd-taskly-shell .gd-side-user span {
    color: #94a3b8 !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell .gd-side-nav a i {
    background: transparent !important;
    color: #cbd5e1 !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell .gd-side-nav a:hover,
body[data-gd-dashboard-theme="night"] .gd-taskly-shell .gd-side-nav a.is-active {
    background: #241b45 !important;
    color: #a78bfa !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell .gd-side-nav a:hover i,
body[data-gd-dashboard-theme="night"] .gd-taskly-shell .gd-side-nav a.is-active i {
    color: #a78bfa !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell .gd-side-user {
    background: #111827 !important;
    border-color: #1f2937 !important;
    color: #f8fafc !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell > .gd-side {
    scrollbar-color: #334155 #0b1220 !important;
    scrollbar-gutter: stable !important;
    scrollbar-width: thin !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell > .gd-side::-webkit-scrollbar {
    background: #0b1220 !important;
    width: 10px !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell > .gd-side::-webkit-scrollbar-track {
    background: #0b1220 !important;
    border-radius: 999px !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell > .gd-side::-webkit-scrollbar-thumb {
    background: #334155 !important;
    border: 2px solid #0b1220 !important;
    border-radius: 999px !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell > .gd-side::-webkit-scrollbar-thumb:hover {
    background: #475569 !important;
}

body[data-gd-dashboard-theme="night"] .gd-taskly-shell > .gd-side::-webkit-scrollbar-corner {
    background: #0b1220 !important;
}

@media (max-width: 760px) {
    .btp-layout {
        grid-template-columns: 1fr;
    }

    .btp-sidebar {
        height: auto;
        position: static;
    }

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

    .btp-nav a {
        min-height: 48px;
    }

    .btp-sidebar-profile {
        margin-top: 8px;
    }

    .btp-topbar {
        align-items: flex-start;
        flex-direction: column;
        height: auto;
        padding: 16px;
    }

    .btp-main {
        padding: 14px;
    }

    .btp-auth-visual,
    .btp-auth-panel {
        padding: 22px;
    }

    .btp-auth-preview {
        grid-template-columns: 1fr;
    }

    .btp-auth-card {
        border-radius: 22px;
        padding: 24px;
    }
}

/* Phase 1 ERP shell: compact internal platform layout. */
body.btp-shell {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.btp-layout {
    background: var(--gd-bg);
    grid-template-columns: 256px minmax(0, 1fr);
}

.btp-sidebar {
    border-right: 1px solid #e9eef5;
    gap: 14px;
    padding: 16px 12px;
    position: sticky;
    top: 0;
}

.btp-brand {
    padding: 2px 8px 12px;
}

.btp-brand:before {
    border-radius: 12px;
    height: 38px;
    width: 38px;
}

.btp-brand span {
    font-size: 10px;
    letter-spacing: 0.1em;
}

.btp-brand strong {
    font-size: 15px;
}

.btp-nav {
    gap: 3px;
}

.btp-nav a {
    border-radius: 10px;
    font-size: 12px;
    min-height: 38px;
    padding: 0 9px;
    transition-property: background, color, transform;
}

.btp-nav a:active {
    transform: translateX(2px) scale(0.96);
}

.btp-nav a .dashicons {
    border-radius: 9px;
    font-size: 16px;
    height: 28px;
    width: 28px;
}

.btp-sidebar-profile {
    border-radius: 14px;
    gap: 9px;
    padding: 10px;
}

.btp-sidebar-avatar {
    height: 34px;
    width: 34px;
}

.btp-sidebar-profile strong {
    font-size: 12px;
}

.btp-sidebar-profile span {
    font-size: 9px;
}

.btp-topbar {
    background: rgba(255, 255, 255, 0.92);
    height: 64px;
    padding: 0 20px;
    position: sticky;
    top: 0;
    z-index: 15;
}

.btp-topbar strong {
    font-size: 16px;
}

.btp-kicker {
    font-size: 10px;
}

.btp-user {
    gap: 10px;
}

.btp-user span {
    font-size: 13px;
}

.btp-main {
    padding: 16px;
}

.btp-content,
.btp-main {
    max-width: none;
    min-width: 0;
    overflow-x: hidden;
    width: 100%;
}

.btp-main > * {
    max-width: none;
}

/* Compatibility fix: if an older plugin build still outputs its own shell,
   keep the theme shell and force the dashboard content to use the full width. */
.btp-main .gd-app-shell {
    display: block !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.btp-main .gd-app-shell > .gd-side {
    display: none !important;
}

.btp-main .gd-app-shell > .gd-app-main {
    display: block !important;
    padding-left: 0 !important;
    width: 100% !important;
}

.btp-main .gd-dash {
    max-width: none !important;
    width: 100% !important;
}

.btp-main .gd-grid,
.btp-main .gd-kpis,
.btp-main .gd-reports {
    width: 100% !important;
}

@media (max-width: 1180px) {
    .btp-layout {
        grid-template-columns: 224px minmax(0, 1fr);
    }

    .btp-nav a {
        font-size: 11px;
    }
}

@media (max-width: 860px) {
    .btp-layout {
        grid-template-columns: 224px minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    .btp-layout {
        grid-template-columns: 1fr;
    }

    .btp-sidebar {
        box-shadow: 0 18px 50px rgba(16, 24, 40, 0.18);
        height: 100vh;
        left: 0;
        max-height: none;
        max-width: 320px;
        position: fixed;
        top: 0;
        transform: translateX(-105%);
        transition: transform 0.2s ease;
        width: 86vw;
        z-index: 1000;
    }

    body.btp-menu-open {
        overflow: hidden;
    }

    body.btp-menu-open:after {
        background: rgba(16, 24, 40, 0.46);
        content: "";
        inset: 0;
        position: fixed;
        z-index: 999;
    }

    body.btp-menu-open .btp-sidebar {
        transform: translateX(0);
    }

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

    .btp-topbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        height: auto;
        padding: 14px;
    }

    .btp-menu-toggle {
        display: inline-flex;
    }

    .btp-main {
        padding: 12px;
    }
}

@media (max-width: 560px) {
    .btp-sidebar {
        padding: 12px;
    }

    .btp-nav {
        grid-template-columns: 1fr;
    }

    .btp-main {
        padding: 10px;
    }
}

/* Live responsive lock: prevents the dashboard from staying trapped in a narrow column. */
body:not(.wp-admin),
body:not(.wp-admin) .site,
body:not(.wp-admin) .site-content,
body:not(.wp-admin) .content-area,
body:not(.wp-admin) .entry-content,
body:not(.wp-admin) .wp-site-blocks,
body:not(.wp-admin) .btp-content,
body:not(.wp-admin) .btp-main {
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
}

body:not(.wp-admin) .gd-app-shell,
body:not(.wp-admin) .gd-app-main,
body:not(.wp-admin) .gd-dash {
    max-width: none !important;
    min-width: 0 !important;
}

body:not(.wp-admin) .gd-app-shell {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

body:not(.wp-admin) .gd-app-shell > .gd-side {
    display: none !important;
}

body:not(.wp-admin) .gd-app-shell > .gd-app-main {
    display: block !important;
    padding-left: 0 !important;
}

body:not(.wp-admin) .gd-dash,
body:not(.wp-admin) .gd-smart-header,
body:not(.wp-admin) .gd-kpis,
body:not(.wp-admin) .gd-grid,
body:not(.wp-admin) .gd-reports {
    width: 100% !important;
}

@media (min-width: 1181px) {
    body:not(.wp-admin) .btp-main .gd-dash,
    body:not(.wp-admin) .gd-app-shell .gd-dash {
        max-width: calc(100vw - 72px) !important;
        width: calc(100vw - 72px) !important;
    }

    body:not(.wp-admin) .gd-smart-header {
        align-items: center !important;
        display: grid !important;
        grid-template-columns: minmax(300px, 0.8fr) minmax(620px, 1.2fr) !important;
    }

    body:not(.wp-admin) .gd-smart-controls {
        align-items: end !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
    }

    body:not(.wp-admin) .gd-kpis {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    body:not(.wp-admin) .gd-grid-main {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important;
    }

    body:not(.wp-admin) .gd-grid-secondary {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body:not(.wp-admin) .gd-reports {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 768px) and (max-width: 1180px) {
    body:not(.wp-admin) .gd-dash {
        width: 100% !important;
    }

    body:not(.wp-admin) .gd-smart-header {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    body:not(.wp-admin) .gd-smart-controls,
    body:not(.wp-admin) .gd-kpis,
    body:not(.wp-admin) .gd-grid-secondary,
    body:not(.wp-admin) .gd-reports {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body:not(.wp-admin) .gd-grid-main {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767px) {
    body:not(.wp-admin) {
        overflow-x: hidden !important;
    }

    body:not(.wp-admin) .btp-main {
        padding: 10px !important;
    }

    body:not(.wp-admin) .gd-dash {
        gap: 12px !important;
        width: 100% !important;
    }

    body:not(.wp-admin) .gd-smart-header,
    body:not(.wp-admin) .gd-smart-controls,
    body:not(.wp-admin) .gd-kpis,
    body:not(.wp-admin) .gd-grid-main,
    body:not(.wp-admin) .gd-grid-secondary,
    body:not(.wp-admin) .gd-reports {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    body:not(.wp-admin) .gd-filter select,
    body:not(.wp-admin) .gd-icon-button,
    body:not(.wp-admin) .gd-alert-button,
    body:not(.wp-admin) .gd-theme-toggle {
        min-width: 0 !important;
        width: 100% !important;
    }
}

/* Final Taskly shell lock: this must stay at the end of the file. */
body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell,
body:not(.wp-admin) .gd-app-shell.gd-taskly-shell {
    align-items: start !important;
    display: grid !important;
    grid-template-columns: 282px minmax(0, 1fr) !important;
    max-width: 100% !important;
    min-height: calc(100vh - 32px) !important;
    overflow-x: hidden !important;
    width: 100% !important;
}

body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-side,
body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-side {
    display: flex !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    max-width: 282px !important;
    min-width: 282px !important;
    width: 282px !important;
}

body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-app-main,
body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-app-main {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 24px !important;
    width: 100% !important;
}

body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-dash {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    width: 100% !important;
}

body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-kpis {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-grid-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important;
}

body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-grid-secondary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-reports {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (min-width: 768px) and (max-width: 1180px) {
    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell {
        grid-template-columns: 244px minmax(0, 1fr) !important;
    }

    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-side,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-side {
        max-width: 244px !important;
        min-width: 244px !important;
        width: 244px !important;
    }

    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-app-main,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-app-main {
        padding: 18px !important;
    }

    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-smart-header,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-grid-main {
        grid-template-columns: 1fr !important;
    }

    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-kpis,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-grid-secondary,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-reports {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell {
        display: block !important;
        min-height: 100vh !important;
    }

    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-app-main,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-app-main {
        display: block !important;
        padding: 10px !important;
        width: 100% !important;
    }

    body:not(.wp-admin) .btp-main .gd-app-shell.gd-taskly-shell > .gd-side,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell > .gd-side {
        height: 100vh !important;
        left: 0 !important;
        max-width: 390px !important;
        min-width: 0 !important;
        position: fixed !important;
        top: 0 !important;
        transform: translateX(-105%) !important;
        width: 82vw !important;
    }

    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-kpis,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-grid-main,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-grid-secondary,
    body:not(.wp-admin) .gd-app-shell.gd-taskly-shell .gd-reports {
        grid-template-columns: 1fr !important;
    }
}

/* Absolute final lock for the public home hero title. */
body.btp-home-3d-page .btp-saas-copy h1,
body.btp-home-3d-page .btp-saas-copy h1 span {
    border: 0 !important;
    box-shadow: none !important;
}

body.btp-home-3d-page .btp-saas-copy h1 {
    background: transparent !important;
}

body.btp-home-3d-page .btp-saas-copy h1 span {
    background: linear-gradient(135deg, #2ff5bd, #0fb982) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}
/* BTP PUBLIC LANDING V4 EOF OVERRIDE */
body.btp-public-landing-page .btp-public-bg {
    background-image:
        linear-gradient(90deg, rgba(5, 5, 11, 0.98) 0%, rgba(5, 5, 11, 0.84) 32%, rgba(5, 5, 11, 0.22) 58%, rgba(5, 5, 11, 0.02) 100%),
        linear-gradient(180deg, rgba(5, 5, 11, 0.18) 0%, rgba(5, 5, 11, 0.02) 52%, rgba(5, 5, 11, 0.78) 100%),
        url("../images/btp-landing-neon.png") !important;
    background-position: right clamp(18px, 4vw, 76px) top 92px !important;
    background-repeat: no-repeat !important;
    background-size: min(62vw, 980px) auto !important;
    transform: none !important;
}

body.btp-public-landing-page .btp-public-hero {
    align-items: center !important;
    display: grid !important;
    min-height: clamp(620px, calc(100vh - 84px), 760px) !important;
    padding: 22px clamp(22px, 4vw, 64px) 72px !important;
}

body.btp-public-landing-page .btp-public-copy {
    max-width: min(760px, 48vw) !important;
    padding: 0 !important;
}

body.btp-public-landing-page .btp-public-copy h1 {
    font-size: clamp(52px, 6.1vw, 92px) !important;
}

body.btp-public-landing-page .btp-public-module-grid {
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 1100px) {
    body.btp-public-landing-page .btp-public-bg {
        background-position: right -80px top 108px !important;
        background-size: min(78vw, 900px) auto !important;
    }

    body.btp-public-landing-page .btp-public-copy {
        max-width: 620px !important;
    }

    body.btp-public-landing-page .btp-public-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    body.btp-public-landing-page .btp-public-bg {
        background-image:
            linear-gradient(180deg, rgba(5, 5, 11, 0.28) 0%, rgba(5, 5, 11, 0.86) 58%, #05050b 100%),
            url("../images/btp-landing-neon.png") !important;
        background-position: 62% 82px !important;
        background-size: auto 48vh !important;
    }

    body.btp-public-landing-page .btp-public-hero {
        align-items: end !important;
        min-height: 760px !important;
        padding: 270px 18px 52px !important;
    }

    body.btp-public-landing-page .btp-public-copy {
        max-width: 100% !important;
    }

    body.btp-public-landing-page .btp-public-copy h1 {
        font-size: clamp(38px, 13vw, 58px) !important;
    }

    body.btp-public-landing-page .btp-public-module-grid {
        grid-template-columns: 1fr !important;
    }
}
