/* ================================================================
   HIROTECH V3.3 — HIROTECH FLOW + CLEAN NAVBAR SYSTEM
   One continuous visual canvas for the complete landing page.
   Sections do NOT own page-wide backgrounds.
   ================================================================ */

:root {
    --hiro-bg: #020817;
    --hiro-surface: #0a1325;
    --hiro-surface-2: #0d1930;
    --hiro-blue: #2563eb;
    --hiro-blue-light: #2563EB;
    --hiro-blue-soft: #4A8FF7;
    --hiro-text: #f8fafc;
    --hiro-text-soft: #94a3b8;
    --hiro-text-muted: #64748b;
    --hiro-border: rgba(96, 165, 250, 0.13);
}

/* ---------------------------------------------------------------
   SINGLE CANVAS
   --------------------------------------------------------------- */
html,
body {
    margin: 0;
    min-height: 100%;
    background: var(--hiro-bg) !important;
    color: var(--hiro-text) !important;
    overflow-x: hidden;
}

body:has(.hiro-landing-page) {
    background: var(--hiro-bg) !important;
}

.hiro-landing-page {
    position: relative;
    z-index: 0;
    isolation: isolate;
    background: transparent !important;
}

/* One background layer only. Everything below is decoration inside it. */
.hiro-global-visual {
    position: fixed;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
    background:
        radial-gradient(ellipse 55% 42% at 18% 18%, rgba(37,99,235,.075), transparent 70%),
        radial-gradient(ellipse 48% 42% at 88% 44%, rgba(37,99,235,.055), transparent 72%),
        radial-gradient(ellipse 58% 42% at 48% 96%, rgba(37,99,235,.035), transparent 74%),
        #020817;
}

/* Very subtle atmosphere / dust. No repeating geometric pattern. */
.hiro-global-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .72;
    background:
        radial-gradient(circle at 18% 22%, rgba(96,165,250,.26) 0 1px, transparent 1.8px),
        radial-gradient(circle at 73% 31%, rgba(59,130,246,.20) 0 1px, transparent 1.7px),
        radial-gradient(circle at 46% 68%, rgba(96,165,250,.15) 0 1px, transparent 1.6px),
        radial-gradient(circle at 82% 79%, rgba(59,130,246,.16) 0 1px, transparent 1.7px);
    background-size: 280px 280px, 340px 340px, 390px 390px, 310px 310px;
    mask-image: linear-gradient(to bottom, black 0%, rgba(0,0,0,.9) 55%, transparent 100%);
}

/* Original Hirotech Flow ribbons. The paths are deliberately different
   from the supplied reference and are built from the Hirotech H-flow idea. */
.hiro-global-visual::after {
    content: "";
    position: absolute;
    inset: -4%;
    opacity: .92;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 1100' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='g'%3E%3CfeGaussianBlur stdDeviation='18'/%3E%3C/filter%3E%3ClinearGradient id='b' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%232563eb' stop-opacity='0'/%3E%3Cstop offset='.35' stop-color='%233b82f6' stop-opacity='.42'/%3E%3Cstop offset='.58' stop-color='%2360a5fa' stop-opacity='.64'/%3E%3Cstop offset='1' stop-color='%232563eb' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M-120 760 C130 560 250 850 500 690 C720 550 690 360 900 330 C1130 300 1190 570 1430 440 C1530 385 1600 320 1710 270' fill='none' stroke='%232563eb' stroke-opacity='.15' stroke-width='105' stroke-linecap='round' filter='url(%23g)'/%3E%3Cpath d='M-120 760 C130 560 250 850 500 690 C720 550 690 360 900 330 C1130 300 1190 570 1430 440 C1530 385 1600 320 1710 270' fill='none' stroke='url(%23b)' stroke-width='38' stroke-linecap='round'/%3E%3Cpath d='M-120 760 C130 560 250 850 500 690 C720 550 690 360 900 330 C1130 300 1190 570 1430 440 C1530 385 1600 320 1710 270' fill='none' stroke='%2360a5fa' stroke-opacity='.25' stroke-width='1.5'/%3E%3Cpath d='M-160 300 C90 180 270 350 430 270 C610 180 700 80 890 150 C1080 220 1120 390 1320 330 C1450 292 1540 190 1720 205' fill='none' stroke='%233b82f6' stroke-opacity='.16' stroke-width='2'/%3E%3Cpath d='M80 1030 C260 880 390 900 560 980 C730 1060 850 920 1010 900 C1200 875 1290 1030 1510 980 C1580 965 1630 930 1690 900' fill='none' stroke='%233b82f6' stroke-opacity='.11' stroke-width='2'/%3E%3Ccircle cx='900' cy='330' r='4' fill='%2360a5fa' fill-opacity='.8'/%3E%3Ccircle cx='500' cy='690' r='3' fill='%233b82f6' fill-opacity='.65'/%3E%3Ccircle cx='1430' cy='440' r='3' fill='%2360a5fa' fill-opacity='.7'/%3E%3C/svg%3E");
    background-size: cover;
    background-position: center;
    animation: hiroFlowDrift 24s ease-in-out infinite alternate;
    transform-origin: center;
}

/* Extra soft flowing layer. */
.hiro-flow-field,
.hiro-flow-glow {
    position: absolute;
    pointer-events: none;
}

.hiro-flow-field {
    border: 1px solid rgba(96,165,250,.055);
    background: transparent;
    box-shadow: 0 0 80px rgba(37,99,235,.025);
}

.hiro-flow-field-a {
    width: 72vw;
    height: 48vw;
    max-width: 1120px;
    max-height: 720px;
    min-width: 520px;
    min-height: 330px;
    left: -20vw;
    top: 5vh;
    border-radius: 58% 42% 64% 36% / 44% 55% 45% 56%;
    transform: rotate(-12deg);
    opacity: .42;
}

.hiro-flow-field-b {
    width: 66vw;
    height: 42vw;
    max-width: 1040px;
    max-height: 660px;
    min-width: 500px;
    min-height: 300px;
    right: -24vw;
    top: 34vh;
    border-radius: 38% 62% 46% 54% / 56% 42% 58% 44%;
    transform: rotate(12deg);
    opacity: .28;
}

.hiro-flow-field-c {
    width: 78vw;
    height: 36vw;
    max-width: 1240px;
    max-height: 560px;
    min-width: 580px;
    min-height: 260px;
    left: 10vw;
    bottom: -12vh;
    border-radius: 64% 36% 52% 48% / 42% 64% 36% 58%;
    transform: rotate(-6deg);
    opacity: .22;
}

.hiro-flow-glow {
    border-radius: 999px;
    background: rgba(37,99,235,.08);
    filter: blur(95px);
    mix-blend-mode: screen;
}

.hiro-flow-glow-a {
    width: 38vw;
    height: 22vw;
    min-width: 300px;
    min-height: 190px;
    left: 13vw;
    top: 13vh;
    opacity: .28;
    animation: hiroGlowA 18s ease-in-out infinite;
}

.hiro-flow-glow-b {
    width: 34vw;
    height: 21vw;
    min-width: 270px;
    min-height: 180px;
    right: 8vw;
    top: 51vh;
    opacity: .19;
    animation: hiroGlowB 22s ease-in-out infinite;
}

@keyframes hiroFlowDrift {
    0% { transform: translate3d(-1%, 0, 0) scale(1.01); }
    100% { transform: translate3d(1.2%, -1%, 0) scale(1.035); }
}

@keyframes hiroGlowA {
    0%,100% { transform: translate3d(0,0,0) scale(1); }
    50% { transform: translate3d(24px,-12px,0) scale(1.05); }
}

@keyframes hiroGlowB {
    0%,100% { transform: translate3d(0,0,0) scale(1); }
    50% { transform: translate3d(-20px,14px,0) scale(1.04); }
}

/* ---------------------------------------------------------------
   CONTENT / SECTION TRANSPARENCY
   --------------------------------------------------------------- */
.hiro-landing-page > *:not(.hiro-global-visual),
body:has(.hiro-landing-page) > main,
body:has(.hiro-landing-page) > footer {
    position: relative;
    z-index: 1;
}

body:has(.hiro-landing-page) main,
body:has(.hiro-landing-page) #home,
body:has(.hiro-landing-page) #best-sellers,
body:has(.hiro-landing-page) #why-us,
body:has(.hiro-landing-page) #faq,
body:has(.hiro-landing-page) footer,
body:has(.hiro-landing-page) .hiro-footer {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Kill section-wide decorative walls, but NEVER the actual content cards. */
body:has(.hiro-landing-page) #best-sellers > .absolute,
body:has(.hiro-landing-page) #why-us > .absolute {
    display: none !important;
}

/* Footer remains the same canvas; only a soft transition at its top. */
body:has(.hiro-landing-page) footer {
    box-shadow: inset 0 28px 80px rgba(2,8,23,.08);
}

/* ---------------------------------------------------------------
   CARDS = SURFACES, NOT BACKGROUNDS
   --------------------------------------------------------------- */
body:has(.hiro-landing-page) #best-sellers .bg-slate-900\/70,
body:has(.hiro-landing-page) #best-sellers .bg-slate-900\/65,
body:has(.hiro-landing-page) #best-sellers .bg-slate-900\/45,
body:has(.hiro-landing-page) #faq .bg-slate-900\/70,
body:has(.hiro-landing-page) #why-us .bg-slate-900\/55,
body:has(.hiro-landing-page) #home .bg-slate-900\/62,
body:has(.hiro-landing-page) #home .bg-slate-950\/55 {
    background-color: rgba(7,18,38,.58) !important;
}

/* Make the card glass subtle enough for the flow to remain visible. */
body:has(.hiro-landing-page) #best-sellers [class*="backdrop-blur"],
body:has(.hiro-landing-page) #faq [class*="backdrop-blur"],
body:has(.hiro-landing-page) #home [class*="backdrop-blur"] {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* ---------------------------------------------------------------
   SOFT MICRO DIVIDERS
   --------------------------------------------------------------- */
.hiro-micro-divider {
    position: relative;
    border-top: 0 !important;
}

.hiro-micro-divider::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 68px;
    height: 1px;
    background: linear-gradient(90deg, rgba(96,165,250,.38), rgba(96,165,250,.06), transparent);
}

/* Remove accidental full-width rules that fight the canvas. */
body:has(.hiro-landing-page) #best-sellers hr,
body:has(.hiro-landing-page) #why-us hr,
body:has(.hiro-landing-page) #faq hr {
    border-color: transparent !important;
}

/* ---------------------------------------------------------------
   HIROTECH BLUE SYSTEM
   --------------------------------------------------------------- */
body:has(.hiro-landing-page) .text-blue-300,
body:has(.hiro-landing-page) .text-blue-400,
body:has(.hiro-landing-page) .text-blue-500,
body:has(.hiro-landing-page) .text-blue-600 {
    color: var(--hiro-blue-soft) !important;
}

body:has(.hiro-landing-page) .bg-blue-600 {
    background-color: var(--hiro-blue) !important;
}

body:has(.hiro-landing-page) .bg-blue-600:hover,
body:has(.hiro-landing-page) [class*="hover:bg-blue-500"]:hover {
    background-color: var(--hiro-blue-light) !important;
}

/* ---------------------------------------------------------------
   NAVBAR — CLEAN / SHARED DESKTOP + MOBILE NAVIGATION
   --------------------------------------------------------------- */
body:has(.hiro-landing-page) .hiro-navbar {
    background: rgba(2,8,23,.78) !important;
    border-bottom-color: rgba(96,165,250,.09) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,.16) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* ---------------------------------------------------------------
   MOBILE
   --------------------------------------------------------------- */
@media (max-width: 767px) {
    .hiro-global-visual::after {
        inset: -10%;
        opacity: .62;
        background-position: 48% center;
        animation-duration: 28s;
    }

    .hiro-flow-field-a {
        width: 125vw;
        height: 72vw;
        left: -60vw;
        top: 3vh;
        opacity: .30;
    }

    .hiro-flow-field-b {
        width: 118vw;
        height: 68vw;
        right: -60vw;
        top: 43vh;
        opacity: .22;
    }

    .hiro-flow-field-c {
        width: 135vw;
        height: 62vw;
        left: 0;
        bottom: -5vh;
        opacity: .18;
    }

    .hiro-flow-glow-a,
    .hiro-flow-glow-b {
        filter: blur(72px);
        opacity: .13;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* ---------------------------------------------------------------
   DESKTOP HERO — HIROTECH GADGET SHOWCASE
   Desktop-only enhancement. Mobile hero is intentionally untouched.
   --------------------------------------------------------------- */
@media (min-width: 1024px) {
    /* Desktop hero final vertical alignment: move the complete hero composition upward.
       Mobile/tablet remain untouched. */
    body:has(.hiro-landing-page) #home > div:first-child {
        transform: translateY(-70px);
    }

    /* Fine-tune desktop only: the left hero is already correct.
       Raise only the right showcase without touching mobile/tablet. */
    .hiro-desktop-showcase {
        transform: translateY(-36px);
        min-height: 485px;
        background:
            radial-gradient(circle at 72% 18%, rgba(59,130,246,.10), transparent 34%),
            linear-gradient(145deg, rgba(8,20,40,.66), rgba(3,10,24,.44));
        box-shadow:
            0 28px 90px rgba(0,0,0,.28),
            inset 0 1px 0 rgba(148,163,184,.06);
        isolation: isolate;
    }

    /* Pull Best Seller closer to the hero on desktop only.
       This changes only the vertical gap; mobile remains untouched. */
    body:has(.hiro-landing-page) #best-sellers {
        margin-top: -106px;
    }

    .hiro-desktop-showcase::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background:
            linear-gradient(115deg, transparent 0 42%, rgba(59,130,246,.055) 53%, transparent 68%),
            radial-gradient(circle at 85% 78%, rgba(37,99,235,.06), transparent 32%);
        opacity: .9;
    }

    .hiro-desktop-showcase::after {
        content: "";
        position: absolute;
        left: 7%;
        right: 7%;
        top: 0;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(96,165,250,.30), transparent);
        pointer-events: none;
    }

    .hiro-showcase-orb {
        position: absolute;
        border-radius: 999px;
        pointer-events: none;
        filter: blur(42px);
        z-index: 0;
    }

    .hiro-showcase-orb-a {
        width: 180px;
        height: 180px;
        right: 8%;
        top: 10%;
        background: rgba(37,99,235,.11);
    }

    .hiro-showcase-orb-b {
        width: 150px;
        height: 150px;
        left: 42%;
        bottom: 18%;
        background: rgba(59,130,246,.065);
    }

    .hiro-device-glow {
        position: absolute;
        width: 300px;
        height: 78px;
        left: 9%;
        bottom: 13%;
        border-radius: 999px;
        background: rgba(37,99,235,.22);
        filter: blur(26px);
        transform: rotate(-2deg);
        pointer-events: none;
    }

    .hiro-device-phone {
        box-shadow:
            0 22px 50px rgba(0,0,0,.42),
            0 0 0 1px rgba(148,163,184,.04),
            0 0 35px rgba(37,99,235,.08);
        transform-origin: center bottom;
        transition: transform .45s ease, filter .45s ease;
    }

    .hiro-desktop-showcase:hover .hiro-device-phone:not(.hiro-device-phone-back) {
        transform: translateY(-5px) rotate(7deg);
    }

    .hiro-device-phone-back {
        filter: brightness(.78) saturate(.9);
    }

    .hiro-device-laptop {
        filter: drop-shadow(0 18px 30px rgba(0,0,0,.24));
        transition: transform .45s ease;
    }

    .hiro-desktop-showcase:hover .hiro-device-laptop {
        transform: translateY(-4px);
    }

    .hiro-category-card {
        position: relative;
        min-height: 150px;
        padding: 22px 20px 18px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        text-decoration: none;
        border-radius: 20px;
        background: rgba(5,16,34,.55);
        border: 1px solid rgba(96,165,250,.14);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
        transition: transform .3s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease;
        overflow: hidden;
    }

    .hiro-category-card::before {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(circle at 50% 0%, rgba(59,130,246,.10), transparent 58%);
        opacity: .55;
        pointer-events: none;
    }

    .hiro-category-card:hover {
        transform: translateY(-4px);
        background: rgba(7,20,42,.72);
        border-color: rgba(96,165,250,.32);
        box-shadow: 0 16px 40px rgba(0,0,0,.18), 0 0 28px rgba(37,99,235,.06);
    }

    .hiro-category-icon {
        position: relative;
        z-index: 1;
        width: 58px;
        height: 58px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 13px;
        border-radius: 17px;
        color: #4A8FF7;
        font-size: 30px;
        background: rgba(37,99,235,.075);
        border: 1px solid rgba(96,165,250,.17);
        box-shadow: 0 10px 28px rgba(0,0,0,.18);
        transition: transform .3s ease, color .3s ease, border-color .3s ease;
    }

    .hiro-category-card:hover .hiro-category-icon {
        transform: translateY(-2px) scale(1.04);
        color: #7B9BC7;
        border-color: rgba(96,165,250,.34);
    }

    .hiro-category-title {
        position: relative;
        z-index: 1;
        color: #f8fafc;
        font-size: 15px;
        font-weight: 800;
        letter-spacing: -.01em;
    }

    .hiro-category-link {
        position: relative;
        z-index: 1;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        margin-top: 11px;
        color: #4A8FF7;
        font-size: 11px;
        font-weight: 700;
        transition: color .3s ease, gap .3s ease;
    }

    .hiro-category-card:hover .hiro-category-link {
        color: #7B9BC7;
        gap: 12px;
    }

    .hiro-category-link i {
        font-size: 9px;
    }
}


/* ================================================================
   HIROTECH CLIENT DASHBOARD — DESKTOP POLISH
   UI ONLY. Logic/data/routes remain untouched.
   Mobile intentionally keeps the existing visual treatment.
   ================================================================ */

.hiro-client-dashboard {
    position: relative;
    isolation: isolate;
}

.hiro-client-dashboard::before,
.hiro-client-dashboard::after {
    content: "";
    position: fixed;
    pointer-events: none;
    z-index: -1;
}

.hiro-client-dashboard::before {
    width: 760px;
    height: 420px;
    left: -250px;
    top: 135px;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(37,99,235,.075), transparent 68%);
    filter: blur(18px);
}

.hiro-client-dashboard::after {
    width: 820px;
    height: 430px;
    right: -280px;
    top: 250px;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(59,130,246,.055), transparent 70%);
    filter: blur(20px);
}

@media (min-width: 768px) {
    /* Main dashboard canvas: slightly more breathing room without becoming loose. */
    body:has(.hiro-client-dashboard) main {
        position: relative;
    }

    .hiro-client-dashboard > .space-y-6 {
        position: relative;
        z-index: 1;
        gap: 1.35rem;
    }

    /* Header */
    .hiro-client-dashboard > .space-y-6 > .border-b {
        position: relative;
        padding-bottom: 1.15rem !important;
        border-color: rgba(96,165,250,.13) !important;
    }

    .hiro-client-dashboard > .space-y-6 > .border-b::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -1px;
        width: 96px;
        height: 1px;
        background: linear-gradient(90deg, rgba(59,130,246,.75), rgba(59,130,246,0));
        pointer-events: none;
    }

    .hiro-client-dashboard h1 {
        letter-spacing: -.025em;
        text-shadow: 0 4px 24px rgba(0,0,0,.18);
    }

    /* Action buttons: calm Hirotech spring, not flashy. */
    .hiro-client-dashboard > .space-y-6 > .border-b a,
    .hiro-client-dashboard > .space-y-6 > .border-b button {
        position: relative;
        overflow: hidden;
        transition: transform .22s cubic-bezier(.2,.8,.2,1),
                    box-shadow .22s ease,
                    background-color .22s ease;
    }

    .hiro-client-dashboard > .space-y-6 > .border-b a::after,
    .hiro-client-dashboard > .space-y-6 > .border-b button::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(105deg, transparent 22%, rgba(255,255,255,.11) 50%, transparent 78%);
        transform: translateX(-120%);
        transition: transform .5s ease;
        pointer-events: none;
    }

    .hiro-client-dashboard > .space-y-6 > .border-b a:hover,
    .hiro-client-dashboard > .space-y-6 > .border-b button:hover {
        transform: translateY(-2px);
    }

    .hiro-client-dashboard > .space-y-6 > .border-b a:hover::after,
    .hiro-client-dashboard > .space-y-6 > .border-b button:hover::after {
        transform: translateX(120%);
    }

    /* Statistic cards */
    .hiro-client-dashboard > .space-y-6 > .grid > div {
        position: relative;
        overflow: hidden;
        min-height: 132px;
        border-color: rgba(96,165,250,.16) !important;
        background:
            radial-gradient(circle at 92% 8%, rgba(59,130,246,.055), transparent 34%),
            rgba(6,23,45,.72) !important;
        box-shadow:
            0 16px 40px rgba(0,0,0,.14),
            inset 0 1px 0 rgba(255,255,255,.025);
        transition: transform .28s cubic-bezier(.2,.8,.2,1),
                    border-color .28s ease,
                    box-shadow .28s ease,
                    background .28s ease;
    }

    .hiro-client-dashboard > .space-y-6 > .grid > div::before {
        content: "";
        position: absolute;
        width: 150px;
        height: 150px;
        right: -75px;
        top: -82px;
        border-radius: 50%;
        background: rgba(59,130,246,.055);
        filter: blur(4px);
        pointer-events: none;
    }

    .hiro-client-dashboard > .space-y-6 > .grid > div:hover {
        transform: translateY(-4px);
        border-color: rgba(96,165,250,.28) !important;
        box-shadow:
            0 22px 48px rgba(0,0,0,.20),
            0 0 26px rgba(37,99,235,.055),
            inset 0 1px 0 rgba(255,255,255,.035);
    }

    /* The icon containers get a little more depth, while preserving their colors. */
    .hiro-client-dashboard > .space-y-6 > .grid > div > div:first-child > div:last-child {
        box-shadow: 0 10px 28px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.04);
        transition: transform .28s cubic-bezier(.2,.8,.2,1);
    }

    .hiro-client-dashboard > .space-y-6 > .grid > div:hover > div:first-child > div:last-child {
        transform: scale(1.035) rotate(-1deg);
    }

    /* Account information card */
    .hiro-client-dashboard > .space-y-6 > .bg-slate-800\/80:last-child {
        position: relative;
        overflow: hidden;
        border-color: rgba(96,165,250,.16) !important;
        background:
            linear-gradient(145deg, rgba(8,31,61,.78), rgba(4,18,37,.68)) !important;
        box-shadow:
            0 22px 55px rgba(0,0,0,.16),
            inset 0 1px 0 rgba(255,255,255,.025);
    }

    .hiro-client-dashboard > .space-y-6 > .bg-slate-800\/80:last-child::before {
        content: "";
        position: absolute;
        width: 420px;
        height: 180px;
        right: -120px;
        top: -100px;
        border-radius: 50%;
        background: rgba(37,99,235,.07);
        filter: blur(30px);
        pointer-events: none;
    }

    .hiro-client-dashboard > .space-y-6 > .bg-slate-800\/80:last-child > * {
        position: relative;
        z-index: 1;
    }

    .hiro-client-dashboard > .space-y-6 > .bg-slate-800\/80:last-child .grid > div {
        border-color: rgba(96,165,250,.14) !important;
        background: rgba(2,8,23,.28) !important;
        transition: border-color .25s ease, background .25s ease, transform .25s ease;
    }

    .hiro-client-dashboard > .space-y-6 > .bg-slate-800\/80:last-child .grid > div:hover {
        border-color: rgba(96,165,250,.25) !important;
        background: rgba(8,31,61,.38) !important;
        transform: translateY(-2px);
    }

    /* Admin access panel stays functional but visually subordinate. */
    .hiro-client-dashboard > .space-y-6 > .bg-gradient-to-r {
        box-shadow: 0 18px 45px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.025);
    }
}

@media (max-width: 767px) {
    /* Intentionally no dashboard layout changes on mobile. */
    .hiro-client-dashboard::before,
    .hiro-client-dashboard::after {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hiro-client-dashboard > .space-y-6 > .grid > div,
    .hiro-client-dashboard > .space-y-6 > .grid > div > div:first-child > div:last-child,
    .hiro-client-dashboard > .space-y-6 > .bg-slate-800\/80:last-child .grid > div {
        transition: none !important;
    }
}
