@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&family=Oswald:wght@700&display=swap');

@font-face {
    font-family: 'Coolvetica';
    src: url('fonts/coolvetica%20compressed%20rg.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
    --bg-base: #12121a;
    --text-primary: #ffffff;
    --text-muted: rgba(255, 255, 255, 0.5);
    --glow-orange: #ff5e00;
    --glow-cyan: #00e5ff;
    --glow-purple: #884BAC;
    --glow-amber: #E0AF00;
    --input-bg: rgba(20, 20, 25, 0.6);
    --input-border: rgba(255, 255, 255, 0.15);
    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-pill: 50px;
}

body,
html {
    margin: 0;
    padding: 0;
    width: 100%;
    /* min-width: 1280px; Removed for responsiveness */
    height: 100%;
    min-height: 100vh;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: var(--text-primary);
    background-color: var(--bg-base);
    overflow: auto;
    /* Allow scrolling if something overflows on PC mode */
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Cinematic Light Rays (God Rays) - Top Layer Overlay */
.bg-rays {
    position: fixed;
    inset: 0;
    z-index: 1;
    /* In the background, below interactive grid cards */
    overflow: hidden;
    pointer-events: none;
    opacity: 0.8;
    mix-blend-mode: screen;
    mask-image: radial-gradient(circle at 0% 0%, black 10%, transparent 90%);
    -webkit-mask-image: radial-gradient(circle at 0% 0%, black 10%, transparent 90%);
}

.bg-rays::before,
.bg-rays::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -20%;
    width: 200%;
    height: 200%;
    background: repeating-conic-gradient(from 180deg at 0% 0%,
            transparent 0deg,
            transparent 4deg,
            rgba(255, 255, 255, 0.12) 6deg,
            rgba(255, 255, 255, 0.18) 8deg,
            rgba(255, 255, 255, 0.12) 10deg,
            transparent 12deg,
            transparent 25deg);
    filter: blur(15px);
    animation:
        rayShimmer 50s linear infinite,
        rayFlicker 6s ease-in-out infinite alternate;
}

.bg-rays::after {
    animation-direction: reverse;
    animation-duration: 75s, 9s;
    opacity: 0.9;
    filter: blur(30px);
}

@keyframes rayShimmer {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(7deg);
    }
}

@keyframes rayFlicker {
    0% {
        opacity: 0.45;
        filter: blur(20px) brightness(0.9);
    }

    50% {
        opacity: 0.75;
        filter: blur(22px) brightness(1.5);
    }

    100% {
        opacity: 0.55;
        filter: blur(21px) brightness(1.2);
    }
}

/* Background Layers */
.page-wrapper {
    position: relative;
    width: 100%;
    /* min-width: 1280px; Removed for responsiveness */
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.background-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    background: radial-gradient(circle at center, #161622 0%, #07070a 100%);
}

.bg-noise {
    position: absolute;
    inset: 0;
    background: url('assets/noise.png') repeat;
    background-size: auto;
    mix-blend-mode: screen;
    opacity: 0.06;
    z-index: 1;
}

.bg-stars {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
    background-size: 50px 50px;
    background-position: center;
    opacity: 0.85;
}

.bg-glow {
    position: absolute;
    width: 50vw;
    height: 100vh;
    filter: blur(140px);
    opacity: 0.6;
}

.bg-glow-green-top {
    left: -20vw;
    top: -20vh;
    background: radial-gradient(50% 50% at 50% 50%, rgba(18, 224, 0, 0.6) 0%, rgba(0, 156, 119, 0.4) 50%, rgba(3, 1, 107, 0) 100%);
    filter: blur(150px);
}

.bg-glow-red-bottom {
    left: -10vw;
    bottom: -15vh;
    background: radial-gradient(50% 50% at 50% 50%, rgba(224, 27, 0, 0.6) 0%, rgba(199, 0, 0, 0.5) 60%, rgba(107, 1, 1, 0) 100%);
    filter: blur(130px);
}

.bg-glow-purple-right {
    right: -10vw;
    top: -15vh;
    background: radial-gradient(50% 50% at 50% 50%, rgba(136, 75, 172, 0.4) 0%, rgba(162, 37, 193, 0.3) 50%, rgba(45, 0, 224, 0) 100%);
    filter: blur(140px);
}

.bg-glow-amber-bottom-right {
    right: 5vw;
    bottom: -20vh;
    background: radial-gradient(50% 50% at 50% 50%, rgba(224, 175, 0, 0.4) 0%, rgba(199, 83, 0, 0.3) 60%, rgba(107, 1, 1, 0) 100%);
    filter: blur(130px);
}

/* Main Layout Grid */
.main-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1440px;
    padding: 0 40px;
    z-index: 1;
    box-sizing: border-box;
    /* Creating spatial depth relative to arrows */
    position: relative;
}

/* Navigation Controls (Global) */
.nav-arrow-direction {
    background: none;
    border: none;
    color: var(--text-primary);
    cursor: pointer;
    padding: 16px;
    transition: opacity 0.3s, transform 0.3s;
    opacity: 0.6;
    z-index: 10;
}

.nav-arrow-direction:hover {
    opacity: 1;
    transform: scale(1.15);
}

.nav-arrow-direction:active {
    transform: scale(0.9);
}

/* Left Brand & Auth Column */
.left-column-auth {
    display: flex;
    flex-direction: column;
    margin-left: 20px;
    max-width: 400px;
}

.brand-header {
    margin-bottom: 48px;
    position: relative;
    opacity: 0;
    transform: translateY(-20px);
    animation: fadeInUp 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0.1s forwards;
}

.decorative-line-horizontal {
    position: absolute;
    top: 52%;
    left: -50vw;
    right: -50vw;
    height: 1px;
    background: rgba(255, 255, 255, 0.3);
    z-index: -1;
    pointer-events: none;
}

.decorative-scratch {
    position: absolute;
    width: 500px;
    height: 250px;
    background: url('assets/scratch.png') no-repeat center center;
    background-size: contain;
    top: -60px;
    left: -50px;
    z-index: 0;
    pointer-events: none;
    mix-blend-mode: screen;
    opacity: 0.5;

    /* РђРЅРёРјР°С†РёСЏ "СЂРёСЃРѕРІР°РЅРёСЏ" С‡РёСЂРєР° (Р·Р°РјРµРґР»РµРЅР° РїРѕ РїСЂРѕСЃСЊР±Рµ РєР»РёРµРЅС‚Р°) */
    clip-path: inset(0 100% 0 0);
    animation: scratchDraw 1.8s cubic-bezier(0.4, 0, 0.2, 1) 1s forwards;
}

@keyframes scratchDraw {
    from {
        clip-path: inset(0 100% 0 0);
    }

    to {
        clip-path: inset(0 0 0 0);
    }
}

.decorative-line-vertical {
    position: absolute;
    top: -50vh;
    bottom: -50vh;
    left: 82%;
    width: 1px;
    background: rgba(255, 255, 255, 0.3);
    z-index: -1;
    pointer-events: none;
}

.heading-title {
    font-family: 'Coolvetica', 'Oswald', Impact, sans-serif;
    font-size: 180px;
    line-height: 1.1;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0;
    letter-spacing: -0.01em;
    color: #FFFFFF;
    text-shadow: 0 0 12px rgba(255, 255, 255, 0.6), 0 0 24px rgba(255, 255, 255, 0.3);
}

.subtitle-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    height: 52px;
    border: 1.2px solid #FFFFFF;
    border-radius: 71px;
    box-shadow: inset 0 0 12px rgba(255, 255, 255, 0.05);
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.subtitle-text {
    font-size: 18px;
    font-weight: 300;
    letter-spacing: -0.05em;
    color: #FFFFFF;
}

/* Forms */
.form-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 340px;
    opacity: 0;
    animation: fadeInUp 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0.3s forwards;
}

.input-field-group {
    position: relative;
    display: flex;
    align-items: center;
}

.input-control {
    width: 100%;
    height: 56px;
    background: var(--input-bg);
    border: 1px solid var(--input-border);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    padding: 0 16px 0 52px;
    font-size: 16px;
    font-family: inherit;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.15), 0 8px 24px rgba(0, 0, 0, 0.4);
    box-sizing: border-box;
    transition: border-color 0.3s, background 0.3s;
}

input[type="password"].input-control {
    padding-right: 52px;
}

.input-control::placeholder {
    color: var(--text-muted);
}

.input-control:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.6);
    background: rgba(30, 30, 40, 0.8);
}

.icon-wrap {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    z-index: 2;
}

.icon-left {
    left: 18px;
}

.icon-right {
    right: 18px;
}

.btn-icon {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: color 0.2s;
}

.btn-icon:hover {
    color: var(--text-primary);
}

/* Call to Action */
.submit-btn {
    height: 60px;
    margin-top: 4px;
    position: relative;
    background: rgba(255, 255, 255, 0.05);
    border: 1.2px solid rgba(255, 255, 255, 0.4);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.05em;
    cursor: pointer;
    box-shadow: inset 0 0 12px rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: all 0.3s ease;
    font-family: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.submit-btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transform: skewX(-20deg);
    animation: lightSweep 6s ease-in-out infinite;
    pointer-events: none;
}

@keyframes lightSweep {
    0% {
        left: -150%;
    }

    30% {
        left: 150%;
    }

    100% {
        left: 150%;
    }
}

.submit-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 0 24px rgba(255, 255, 255, 0.15);
    /* Make the sweep faster on hover */
}

.submit-btn:active {
    transform: scale(0.97);
}

/* Form Helper Links */
.text-links-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 16px;
    gap: 12px;
}

.helper-link {
    color: var(--text-muted);
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s;
}

.helper-link:hover {
    color: var(--text-primary);
}

.links-separator {
    width: 4px;
    height: 4px;
    background: var(--text-muted);
    border-radius: 50%;
}

/* Right Carousel Column */
.right-column-carousel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
    position: relative;
    padding: 0 40px;
    opacity: 0;
    animation: fadeInUp 0.9s cubic-bezier(0.25, 1, 0.5, 1) 0.5s forwards;
}

.cards-stage {
    position: relative;
    width: 100%;
    max-width: 760px;
    height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
}

.carousel-card {
    position: absolute;
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
    background: #000;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.7);
}

.carousel-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity 0.6s;
}

/* 3D Visual Depth Configuration */
.active-center-card {
    width: 440px;
    height: 460px;
    z-index: 5;
    transform: translateX(0) scale(1);

    /* Simulate glowing metallic frame */
    border-left: 2px solid var(--glow-orange);
    border-right: 2px solid var(--glow-cyan);
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);

    /* Vibrant side glows */
    box-shadow:
        -25px 0 60px rgba(255, 94, 0, 0.4),
        25px 0 60px rgba(0, 229, 255, 0.4),
        0 30px 60px rgba(0, 0, 0, 0.8);
}

.active-center-card img {
    opacity: 1;
    filter: brightness(1) saturate(1.1);
}

/* Mid Layer */
.card-mid-left {
    width: 360px;
    height: 380px;
    z-index: 4;
    transform: translateX(-180px) scale(0.9);
}

.card-mid-right {
    width: 360px;
    height: 380px;
    z-index: 4;
    transform: translateX(180px) scale(0.9);
}

.card-mid-left img,
.card-mid-right img {
    opacity: 0.8;
    filter: brightness(0.6) sepia(0.2) hue-rotate(-10deg);
}

/* Deep Layer */
.card-deep-left {
    width: 300px;
    height: 340px;
    z-index: 3;
    transform: translateX(-310px) scale(0.8);
}

.card-deep-right {
    width: 300px;
    height: 340px;
    z-index: 3;
    transform: translateX(310px) scale(0.8);
}

.card-deep-left img,
.card-deep-right img {
    opacity: 0.5;
    filter: brightness(0.3) blur(2px) sepia(0.3) hue-rotate(-20deg);
}

/* Pagination Dots */
.pagination-indicator {
    display: flex;
    justify-content: center;
}

.dot-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 16px;
}

.dot-list-item {
    display: flex;
}

.dot-btn {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s;
}

.dot-btn:hover {
    background: rgba(255, 255, 255, 0.8);
}

.active-dot {
    background: var(--glow-cyan);
    transform: scale(1.3);
    box-shadow: 0 0 12px var(--glow-cyan);
}


/* ======================================= */


/* ================================================ */
/*  DASHBOARD вЂ” Р›РР§РќР«Р™ РљРђР‘РРќР•Рў                      */
/* ================================================ */

.db-body {
    position: fixed;
    inset: 0;
    background: #02040F;
    overflow: hidden;
}

/* РљРЅРѕРїРєР° РІС‹С…РѕРґР° */
.db-logout-form {
    position: fixed;
    top: 24px;
    right: 32px;
    z-index: 100;
}

.db-logout-btn {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
    font-family: 'Inter', sans-serif;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 10px 22px;
    cursor: pointer;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: all 0.25s ease;
}

.db-logout-btn:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2);
}

/* ============================================
   BENTO GRID вЂ” РРґРµР°Р»СЊРЅР°СЏ СЃРµС‚РєР° СЃ CSS Grid
   ============================================ */
.db-cards-layer {
    position: fixed;
    inset: 0;
    padding: 24px 72px;
    /* РћС‚СЃС‚СѓРї РѕС‚ РєСЂР°РµРІ СЌРєСЂР°РЅР° СЃР»РµРІР° Рё СЃРїСЂР°РІР° РІ 3 СЂР°Р·Р° Р±РѕР»СЊС€Рµ */
    display: grid;
    /* Р¦РµРЅС‚СЂРёСЂСѓРµРј Р·Р°Р·РѕСЂС‹ СЃС‚СЂРѕРіРѕ РїРѕ С†РµРЅС‚СЂСѓ СЌРєСЂР°РЅР° 
       РџСЂРѕРїРѕСЂС†РёРё РєРѕР»РѕРЅРѕРє: 3fr 2.5fr 2.5fr 3fr (РС‚РѕРіРѕ 11fr, С†РµРЅС‚СЂ СЂРѕРІРЅРѕ РјРµР¶РґСѓ 2.5fr) */
    grid-template-columns: 3fr 2.5fr 2.5fr 3fr;
    /* РџСЂРѕРїРѕСЂС†РёРё СЃС‚СЂРѕРє: 1fr 1fr 1fr 1fr (РС‚РѕРіРѕ 4fr, С†РµРЅС‚СЂ СЂРѕРІРЅРѕ РјРµР¶РґСѓ 2Р№ Рё 3Р№ СЃС‚СЂРѕРєРѕР№) */
    grid-template-rows: 1fr 1fr 1fr 1fr;
    grid-template-areas:
        "lt ct ct rt1"
        "lt ct ct rt2"
        "lb1 cbl cbr rb"
        "lb2 cbl cbr rb";
    gap: 32px;
    /* Р Р°СЃСЃС‚РѕСЏРЅРёРµ РјРµР¶РґСѓ РїР°РЅРµР»СЏРјРё РІ 2 СЂР°Р·Р° Р±РѕР»СЊС€Рµ */
    box-sizing: border-box;
    z-index: 5;
}

/* ============================================
   РљРђР РўРћР§РљР вЂ” Р±Р°Р·РѕРІС‹Р№ СЃС‚РёР»СЊ
   ============================================ */
.db-card {
    /* РџСЂСЏМЂРјРѕСѓРіРѕР»СЊРЅР°СЏ РїР°РЅРµР»СЊ */
    background: rgba(18, 16, 40, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.06);
    /* Р’ 1.5 СЂР°Р·Р° СѓРІРµР»РёС‡РµРЅРѕ СЃРіР»Р°Р¶РёРІР°РЅРёРµ (Р±С‹Р»Рѕ 20px, СЃС‚Р°Р»Рѕ 30px) */
    border-radius: 30px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.04) inset,
        0 20px 60px rgba(0, 0, 0, 0.4);

    /* РќР°С‡Р°Р»СЊРЅРѕРµ СЃРѕСЃС‚РѕСЏРЅРёРµ: СЌС„С„РµРєС‚ "РЅРµ РІ С„РѕРєСѓСЃРµ" (СѓРјРµРЅСЊС€РµРЅ РІ 2 СЂР°Р·Р°) */
    filter: blur(0.8px) grayscale(0.2) brightness(0.85);
    transition:
        filter 0.5s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
        border-color 0.6s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.6s cubic-bezier(0.16, 1, 0.3, 1);

    /* РџРѕ СѓРјРѕР»С‡Р°РЅРёСЋ "Р‘РµРіСѓС‰Р°СЏ СЂР°РјРєР°" вЂ” РѕС‡РµРЅСЊ С‚РѕРЅРєР°СЏ Рё РїРѕС‡С‚Рё РїСЂРѕР·СЂР°С‡РЅР°СЏ */
    --card-glow-color: rgba(255, 255, 255, 0.1);
    --card-glow-alt: rgba(255, 255, 255, 0.05);

    /* РђРЅРёРјР°С†РёСЏ РїРѕСЏРІР»РµРЅРёСЏ */
    opacity: 0;
    animation: dbCardEntrance 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.db-card::after {
    content: '';
    position: absolute;
    inset: -1.5px;
    border-radius: 31px;
    padding: 1.5px;
    background: conic-gradient(from 0deg,
            transparent 0%,
            var(--card-glow-color) 25%,
            transparent 50%,
            var(--card-glow-alt) 75%,
            transparent 100%);
    /* animation: orbRotate 12s linear infinite; <--- Removed moving rays from general panels */
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    opacity: 0.3;
    /* РџСЂРёРіР»СѓС€РµРЅРЅР°СЏ РїРѕ СѓРјРѕР»С‡Р°РЅРёСЋ */
    transition: opacity 0.4s ease;
    z-index: 1;
}

.db-card:hover {
    filter: blur(0px) grayscale(0) brightness(1);
    transform: translateY(-12px) scale(1.04);
    border-color: rgba(255, 255, 255, 0.15);
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.08) inset,
        0 40px 90px rgba(0, 0, 0, 0.7);
    z-index: 10;
}

.db-card:hover::after {
    opacity: 1;
    /* Р Р°РјРєР° РѕР¶РёРІР°РµС‚ РїСЂРё РЅР°РІРµРґРµРЅРёРё */
}

/* Р­РљРЎРљР›Р®Р—РР’РќРђРЇ Р§Р•РўРљРћРЎРўР¬ Р”Р›РЇ РџР РђР’РћР“Рћ Р‘Р›РћРљРђ (rt1, rt2, rb) */
.db-card[style*="grid-area: rt1"],
.db-card[style*="grid-area: rt2"],
.db-card[style*="grid-area: rb"] {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background-color: rgba(15, 12, 35, 0.93) !important;
    /* РСЃРїРѕР»СЊР·СѓРµРј background-color С‡С‚РѕР±С‹ РЅРµ СЃР±СЂРѕСЃРёС‚СЊ С„РѕС‚Рѕ */
    filter: none !important;
    /* РЈР±РёСЂР°РµРј РЅР°С‡Р°Р»СЊРЅРѕРµ Р·Р°Р±Р»СЋСЂРёРІР°РЅРёРµ */
    border-color: rgba(255, 255, 255, 0.12);
    /* Р§СѓС‚СЊ Р±РѕР»РµРµ СЏСЂРєРёРµ РіСЂР°РЅРёС†С‹ */
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.05) inset,
        0 20px 60px rgba(0, 0, 0, 0.6);
}

.db-card[style*="grid-area: rt1"]:hover,
.db-card[style*="grid-area: rb"]:hover {
    background-color: rgba(20, 16, 45, 0.98) !important;
    border-color: rgba(255, 255, 255, 0.25);
}

.db-card[style*="grid-area: rt2"]:hover {
    background-color: rgba(20, 16, 45, 0.98) !important;
    border-color: rgba(255, 255, 255, 0.25);
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.12) inset,
        0 30px 80px rgba(0, 0, 0, 0.7),
        0 0 100px color-mix(in srgb, var(--folder-color), transparent 65%) !important;
    transform: translateY(-10px) scale(1.02);
}

/* РќР°СЃС‚СЂР°РёРІР°РµРј РЅР°РїСЂР°РІР»РµРЅРёСЏ Рё Р·Р°РґРµСЂР¶РєРё РґР»СЏ РєР°Р¶РґРѕР№ РєР°СЂС‚РѕС‡РєРё */
.db-cards-layer .db-card:nth-child(1) {
    --sx: -60px;
    --sy: -60px;
    animation-delay: 0.2s;
}

/* lt */
.db-cards-layer .db-card:nth-child(2) {
    --sx: 0px;
    --sy: -60px;
    animation-delay: 0.1s;
}

/* ct */
.db-cards-layer .db-card:nth-child(3) {
    --sx: 60px;
    --sy: -60px;
    animation-delay: 0.2s;
}

/* rt1 */
.db-cards-layer .db-card:nth-child(4) {
    --sx: 60px;
    --sy: -60px;
    animation-delay: 0.3s;
}

/* rt2 */

.db-cards-layer .db-card:nth-child(5) {
    --sx: -60px;
    --sy: 60px;
    animation-delay: 0.2s;
}

/* lb1 */
.db-cards-layer .db-card:nth-child(6) {
    --sx: -60px;
    --sy: 60px;
    animation-delay: 0.3s;
}

/* lb2 */
.db-cards-layer .db-card:nth-child(7) {
    --sx: -20px;
    --sy: 60px;
    animation-delay: 0.1s;
}

/* cbl */
.db-cards-layer .db-card:nth-child(8) {
    --sx: 20px;
    --sy: 60px;
    animation-delay: 0.1s;
}

/* cbr */
.db-cards-layer .db-card:nth-child(9) {
    --sx: 60px;
    --sy: 60px;
    animation-delay: 0.2s;
}

/* rb */

@keyframes dbCardEntrance {
    0% {
        opacity: 0;
        transform: translate(var(--sx, 0), var(--sy, 0)) scale(0.96);
    }

    100% {
        opacity: 1;
        transform: translate(0, 0) scale(1);
    }
}

/* РРЅРґРёРІРёРґСѓР°Р»СЊРЅС‹Рµ РІС‹СЂРµР·С‹ (РїРѕСЃРєРѕР»СЊРєСѓ backdrop-filter Р»РѕРјР°РµС‚ РѕР±С‰СѓСЋ РјР°СЃРєСѓ СЃР»РѕСЏ) */
/* Р¦РµРЅС‚СЂ РІС‹СЂРµР·Р° РґР»СЏ РІРµСЂС…РЅРµР№ РїР°РЅРµР»Рё: РЅРёР¶Рµ РµРµ РЅРёР¶РЅРµРіРѕ РєСЂР°СЏ РЅР° 16px (РїРѕР»РѕРІРёРЅР° Р·Р°Р·РѕСЂР°) */
.db-card--ctr-top {
    -webkit-mask-image: radial-gradient(circle 154px at 50% calc(100% + 16px), transparent 154px, black 155px);
    mask-image: radial-gradient(circle 154px at 50% calc(100% + 16px), transparent 154px, black 155px);
}

/* Р¦РµРЅС‚СЂ РІС‹СЂРµР·Р° РґР»СЏ РЅРёР¶РЅРµР№ Р»РµРІРѕР№ РїР°РЅРµР»Рё: РїСЂР°РІРµРµ РЅР° 16px, РІС‹С€Рµ РЅР° 16px */
.db-card--ctr-bot-l {
    -webkit-mask-image: radial-gradient(circle 154px at calc(100% + 16px) -16px, transparent 154px, black 155px);
    mask-image: radial-gradient(circle 154px at calc(100% + 16px) -16px, transparent 154px, black 155px);
}

/* Р¦РµРЅС‚СЂ РІС‹СЂРµР·Р° РґР»СЏ РЅРёР¶РЅРµР№ РїСЂР°РІРѕР№ РїР°РЅРµР»Рё: Р»РµРІРµРµ РЅР° 16px, РІС‹С€Рµ РЅР° 16px */
.db-card--ctr-bot-r {
    -webkit-mask-image: radial-gradient(circle 154px at -16px -16px, transparent 154px, black 155px);
    mask-image: radial-gradient(circle 154px at -16px -16px, transparent 154px, black 155px);
}

.db-card:hover {
    border-color: rgba(255, 255, 255, 0.11);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset, 0 16px 50px rgba(0, 0, 0, 0.4);
}

/* ============================================
   ПАНЕЛЬ: ОПЛАТА И РАСХОДЫ (lt)
   ============================================ */
.db-card--finance {
    background-image: url('assets/money.jpg');
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 40px !important;
}

.db-finance-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
            rgba(2, 4, 15, 0.2) 0%,
            rgba(2, 4, 15, 0.8) 100%);
    z-index: 1;
}

.db-finance-content {
    position: relative;
    z-index: 2;
    transform: translateY(20px);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.db-finance-icon {
    width: 64px;
    height: 64px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    color: #fff;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: all 0.4s ease;
}

.db-finance-title {
    font-family: 'Coolvetica', 'Oswald', Impact, sans-serif !important;
    font-size: 46px;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1;
    color: #fff;
    margin-bottom: 20px;
    text-shadow: 0 0 15px rgba(255, 255, 255, 0.4);
}

/* FALLING PARTICLES SYSTEM */
.db-finance-particles {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.db-finance-particles span {
    position: absolute;
    top: -50px;
    color: rgba(255, 255, 255, 0.4);
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 24px;
    user-select: none;
    animation: moneyFall linear infinite;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
    z-index: 2;
    filter: blur(0.5px);
}

@keyframes moneyFall {
    0% {
        transform: translateY(0) rotate(0deg) skewX(0deg);
        opacity: 0;
    }

    10% {
        opacity: 0.8;
    }

    90% {
        opacity: 0.8;
    }

    100% {
        transform: translateY(600px) rotate(360deg) skewX(20deg);
        opacity: 0;
    }
}

/* Randomize particles */
.db-finance-particles span:nth-child(1) {
    left: 5%;
    animation-duration: 5s;
    animation-delay: 0s;
    font-size: 24px;
    opacity: 0.3;
}

.db-finance-particles span:nth-child(2) {
    left: 15%;
    animation-duration: 8s;
    animation-delay: 1.5s;
    font-size: 38px;
    opacity: 0.15;
    filter: blur(1.5px);
}

.db-finance-particles span:nth-child(3) {
    left: 25%;
    animation-duration: 4s;
    animation-delay: 3s;
    font-size: 28px;
    opacity: 0.4;
}

.db-finance-particles span:nth-child(4) {
    left: 35%;
    animation-duration: 10s;
    animation-delay: 0.5s;
    font-size: 42px;
    opacity: 0.12;
    filter: blur(2px);
}

.db-finance-particles span:nth-child(5) {
    left: 45%;
    animation-duration: 6s;
    animation-delay: 4.5s;
    font-size: 26px;
    opacity: 0.35;
}

.db-finance-particles span:nth-child(6) {
    left: 55%;
    animation-duration: 9s;
    animation-delay: 2.5s;
    font-size: 32px;
    opacity: 0.25;
}

.db-finance-particles span:nth-child(7) {
    left: 65%;
    animation-duration: 5s;
    animation-delay: 5.5s;
    font-size: 22px;
    opacity: 0.45;
}

.db-finance-particles span:nth-child(8) {
    left: 75%;
    animation-duration: 11s;
    animation-delay: 1s;
    font-size: 46px;
    opacity: 0.1;
    filter: blur(2.5px);
}

.db-finance-particles span:nth-child(9) {
    left: 85%;
    animation-duration: 7s;
    animation-delay: 0.2s;
    font-size: 30px;
    opacity: 0.3;
}

.db-finance-particles span:nth-child(10) {
    left: 95%;
    animation-duration: 10s;
    animation-delay: 4s;
    font-size: 28px;
    opacity: 0.2;
}

.db-finance-particles span:nth-child(11) {
    left: 10%;
    animation-duration: 6s;
    animation-delay: 1s;
    font-size: 26px;
    opacity: 0.35;
}

.db-finance-particles span:nth-child(12) {
    left: 40%;
    animation-duration: 8s;
    animation-delay: 2.5s;
    font-size: 34px;
    opacity: 0.25;
    filter: blur(1px);
}

.db-finance-particles span:nth-child(13) {
    left: 60%;
    animation-duration: 5s;
    animation-delay: 0s;
    font-size: 22px;
    opacity: 0.45;
}

.db-finance-particles span:nth-child(14) {
    left: 80%;
    animation-duration: 9s;
    animation-delay: 3.5s;
    font-size: 38px;
    opacity: 0.15;
    filter: blur(1.5px);
}

.db-finance-particles span:nth-child(15) {
    left: 20%;
    animation-duration: 7s;
    animation-delay: 5s;
    font-size: 28px;
    opacity: 0.3;
}

.db-finance-text {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.4);
    line-height: 1.4;
    max-width: 240px;
}

/* ============================================
   ПАНЕЛЬ: ИМУЩЕСТВО (ЛЕВЫЙ НИЖНИЙ БЛОК)
   ============================================ */
.db-card--inventory {
    background-image: url('assets/inventory.jpg');
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 30px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.1) inset,
        0 20px 60px rgba(0, 0, 0, 0.6),
        0 0 100px rgba(0, 229, 255, 0.1);
}

.db-card--inventory::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(13, 11, 28, 0.95) 0%, rgba(13, 11, 28, 0.2) 100%);
    z-index: 1;
}

.db-inventory-content {
    position: relative;
    z-index: 2;
    width: 100%;
}

.db-inventory-title {
    font-family: 'Coolvetica', 'Oswald', Impact, sans-serif !important;
    font-size: 38px;
    font-weight: 400;
    letter-spacing: 1px;
    line-height: 1;
    color: #fff;
    margin-bottom: 12px;
    text-shadow: 0 0 15px rgba(255, 255, 255, 0.4);
}

.db-inventory-text {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
    margin: 0;
    letter-spacing: 0.5px;
}

/* 3D ROTATING BOX ANIMATION */
.db-inventory-box-container {
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    perspective: 1000px;
    z-index: 2;
    pointer-events: none;
}

.db-inventory-cube {
    width: 50px;
    height: 50px;
    position: relative;
    transform-style: preserve-3d;
    animation: dbCubeRotate 12s infinite linear;
}

.db-cube-face {
    position: absolute;
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 15px rgba(255, 255, 255, 0.05);
}

/* Face transforms */
.db-cube-face--front {
    transform: rotateY(0deg) translateZ(25px);
}

.db-cube-face--back {
    transform: rotateY(180deg) translateZ(25px);
}

.db-cube-face--right {
    transform: rotateY(90deg) translateZ(25px);
    border-color: rgba(0, 229, 255, 0.3);
}

.db-cube-face--left {
    transform: rotateY(-90deg) translateZ(25px);
    border-color: rgba(255, 94, 0, 0.3);
}

.db-cube-face--top {
    transform: rotateX(90deg) translateZ(25px);
}

.db-cube-face--bottom {
    transform: rotateX(-90deg) translateZ(25px);
}

/* Decorative inner glow */
.db-inventory-cube::after {
    content: '';
    position: absolute;
    inset: 5px;
    background: radial-gradient(circle, rgba(0, 229, 255, 0.2) 0%, transparent 70%);
    filter: blur(10px);
    transform: translateZ(0);
}

@keyframes dbCubeRotate {
    from {
        transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    }

    to {
        transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    }
}

/* Intensity increase on hover of the parent card */
.db-card--inventory:hover .db-inventory-cube {
    animation-duration: 4s;
}

.db-card--inventory:hover .db-cube-face {
    border-color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.08);
}

/* WHITE GLOW ON HOVER */
.db-card--finance:hover {
    box-shadow:
        0 0 45px rgba(255, 255, 255, 0.25),
        inset 0 0 20px rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.db-card--finance:hover .db-finance-content {
    transform: translateY(0);
}

.db-card--finance:hover .db-finance-icon {
    background: rgba(255, 255, 255, 0.15);
    border-color: #fff;
    box-shadow: 0 0 25px rgba(255, 255, 255, 0.4);
    transform: scale(1.1) rotate(5deg);
}

.db-card--finance:hover::after {
    --card-glow-color: rgba(255, 255, 255, 0.85);
    --card-glow-alt: rgba(255, 255, 255, 0.4);
    opacity: 1;
}


/* ============================================
   РџРђРќР•Р›Р¬: Р¤РћРўРћР“Р РђР¤РР
   ============================================ */
.db-card--photos {
    background-image: url('assets/photo.jpg');
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    /* РњРѕС‰РЅРѕРµ РІРЅРµС€РЅРµРµ РЅРµРѕРЅРѕРІРѕРµ СЃРІРµС‡РµРЅРёРµ */
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.1) inset,
        0 20px 60px rgba(0, 0, 0, 0.6),
        /* РћСЃРЅРѕРІРЅРѕР№ РѕСЂРµРѕР» */
        0 0 150px rgba(0, 242, 255, 0.15);
    /* Р”РёСЃС‚Р°РЅС†РёРѕРЅРЅРѕРµ СЂР°СЃСЃРµРёРІР°РЅРёРµ */

    transition:
        filter 0.4s ease,
        transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275),
        border-color 0.3s,
        box-shadow 0.3s;

    /* Р¦РІРµС‚Р° РґР»СЏ Р¤РѕС‚Рѕ (Р¦РёР°РЅ + РџСѓСЂРїСѓСЂ) */
    --card-glow-color: rgba(0, 242, 255, 0.6);
    --card-glow-alt: rgba(136, 75, 172, 0.5);
}

/* Р­С„С„РµРєС‚ "РІС‹Р±РѕСЂР°" РїСЂРё РЅР°РІРµРґРµРЅРёРё: С„РѕС‚Рѕ СЃРІРµС‚Р»РµРµС‚ Рё СЃР»РµРіРєР° РїСЂРёРїРѕРґРЅРёРјР°РµС‚СЃСЏ (РЅР°СЃР»РµРґСѓРµС‚СЃСЏ РѕС‚ .db-card) */
.db-card--photos:hover {
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.12) inset,
        0 30px 80px rgba(0, 0, 0, 0.7),
        0 0 160px rgba(0, 242, 255, 0.25);
}

/* РЈР±РёСЂР°РµРј СЃС‚Р°СЂСѓСЋ СЃРїРµС†РёС„РёС‡РЅСѓСЋ СЂР°РјРєСѓ, С‚Р°Рє РєР°Рє РѕРЅР° С‚РµРїРµСЂСЊ РѕР±С‰Р°СЏ РґР»СЏ .db-card */

/* "Р‘РµРіСѓС‰Р°СЏ" РіСЂР°РґРёРµРЅС‚РЅР°СЏ СЂР°РјРєР° (Р°РЅР°Р»РѕРі РєРѕР»СЊС†Р° Сѓ С€Р°СЂР°, РЅРѕ РґР»СЏ РїСЂСЏРјРѕСѓРіРѕР»СЊРЅРёРєР°) */
.db-card--photos::after {
    content: '';
    position: absolute;
    inset: -1.5px;
    /* РўРѕР»С‰РёРЅР° СЂР°РјРєРё */
    border-radius: 31px;
    /* РЎРєСЂСѓРіР»РµРЅРёРµ + С‚РѕР»С‰РёРЅР° */
    padding: 1.5px;
    background: conic-gradient(from 0deg,
            transparent 0%,
            rgba(0, 242, 255, 0.5) 25%,
            /* РЎРґРµР»Р°Р»Рё Р±РѕР»РµРµ СЏРІРЅС‹Рј (Р±С‹Р»Рѕ 0.2) */
            transparent 50%,
            rgba(136, 75, 172, 0.45) 75%,
            /* РЎРґРµР»Р°Р»Рё Р±РѕР»РµРµ СЏРІРЅС‹Рј (Р±С‹Р»Рѕ 0.15) */
            transparent 100%);
    /* РђРЅРёРјР°С†РёСЏ РІСЂР°С‰РµРЅРёСЏ РіСЂР°РґРёРµРЅС‚Р° (С‡СѓС‚СЊ РјРµРґР»РµРЅРЅРµРµ С‡РµРј Сѓ С€Р°СЂР°) */
    animation: orbRotate 12s linear infinite;
    z-index: -2;
    /* РџСЂСЏС‡РµРј Р·Р° РєРѕРЅС‚РµРЅС‚, РЅРѕ РїРµСЂРµРґ С„РѕРЅРѕРј */

    /* РњР°СЃРєРёСЂРѕРІРєР°: 
       1. РћСЃС‚Р°РІР»СЏРµРј С‚РѕР»СЊРєРѕ СЃР°РјСѓ СЂР°РјРєСѓ (РІС‹С‡РёС‚Р°РµРј РІРЅСѓС‚СЂРµРЅРЅСЋСЋ С‡Р°СЃС‚СЊ)
       2. РџСЂРёРјРµРЅСЏРµРј С‚РѕС‚ Р¶Рµ РІС‹СЂРµР· РїРѕРґ С†РµРЅС‚СЂР°Р»СЊРЅС‹Р№ С€Р°СЂ, С‡С‚Рѕ Рё Сѓ СЃР°РјРѕР№ РїР°РЅРµР»Рё */
    -webkit-mask:
        radial-gradient(circle 154px at 50% calc(100% + 16.5px), transparent 154px, black 155px),
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: source-in, xor;
    mask:
        radial-gradient(circle 154px at 50% calc(100% + 16.5px), transparent 154px, black 155px),
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    mask-composite: intersect, exclude;

    pointer-events: none;
}

/* Р‘РѕР»РµРµ РІС‹СЂР°Р¶РµРЅРЅРѕРµ СЃРІРµС‡РµРЅРёРµ СЃР°РјРѕР№ СЂР°РјРєРё */
.db-card--photos::after {
    filter: blur(1px) drop-shadow(0 0 8px rgba(0, 242, 255, 0.6));
}

/* Р—Р°С‚РµРјРЅСЏСЋС‰РёР№ РіСЂР°РґРёРµРЅС‚ РїРѕРІРµСЂС… С„РѕС‚Рѕ, С‡С‚РѕР±С‹ С‚РµРєСЃС‚ Р»РµРіРєРѕ С‡РёС‚Р°Р»СЃСЏ */
.db-card--photos::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(2, 4, 15, 0.4) 0%, rgba(2, 4, 15, 0.9) 100%);
    z-index: 1;
}

.db-photos-content {
    position: relative;
    z-index: 2;
    padding: 30px;
    margin-bottom: 20px;
}

/* Cinematic Ray inside the button (Desktop) */
.db-photos-content::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: repeating-conic-gradient(from 0deg,
            transparent 0deg,
            transparent 10deg,
            rgba(0, 242, 255, 0.1) 15deg,
            rgba(0, 242, 255, 0.2) 20deg,
            rgba(0, 242, 255, 0.1) 25deg,
            transparent 30deg);
    filter: blur(20px);
    animation: orbRotate 20s linear infinite;
    opacity: 0.5;
    pointer-events: none;
    z-index: -1;
}

.db-photos-title {
    font-family: 'Coolvetica', 'Oswald', Impact, sans-serif;
    font-size: 54px;
    font-weight: 400;
    letter-spacing: 2px;
    color: #FFFFFF;
    margin: 0 0 12px 0;
    line-height: 1;
    /* РЈРјРµСЂРµРЅРЅРѕРµ СЃРІРµС‡РµРЅРёРµ */
    text-shadow:
        0 0 8px rgba(255, 255, 255, 0.6),
        0 0 15px rgba(0, 242, 255, 0.4),
        0 2px 5px rgba(0, 0, 0, 0.8);
    text-transform: uppercase;

    /* Р­С„С„РµРєС‚ РјРµСЂС†Р°РЅРёСЏ (СЂРµРґРєРёР№ Рё РµСЃС‚РµСЃС‚РІРµРЅРЅС‹Р№) */
    animation: dbPhotosTitleFlicker 10s infinite;
}

@keyframes dbPhotosTitleFlicker {

    /* Р‘РѕР»СЊС€Р°СЏ С‡Р°СЃС‚СЊ РІСЂРµРјРµРЅРё вЂ” СЃС‚Р°С‚РёС‡РЅРѕРµ СЃРІРµС‡РµРЅРёРµ */
    0%,
    84%,
    86%,
    89%,
    92%,
    100% {
        opacity: 1;
        text-shadow: 0 0 8px rgba(255, 255, 255, 0.6), 0 0 15px rgba(0, 242, 255, 0.4);
    }

    /* РљРѕСЂРѕС‚РєРёРµ "РІСЃРїС‹С€РєРё" РјРёРєСЂРѕ-Р·Р°С‚СѓС…Р°РЅРёСЏ */
    85% {
        opacity: 0.92;
        text-shadow: 0 0 4px rgba(255, 255, 255, 0.3), 0 0 8px rgba(0, 242, 255, 0.15);
    }

    90% {
        opacity: 0.96;
        text-shadow: 0 0 6px rgba(255, 255, 255, 0.45);
    }

    91% {
        opacity: 0.88;
    }
}

.db-photos-text {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
    letter-spacing: 0.5px;
}

/* Р”Р•РљРћР РђРўРР’РќР«Р• Р­Р›Р•РњР•РќРўР« РЈРџР РђР’Р›Р•РќРРЇ (РўРћР›Р¬РљРћ Р”Р›РЇ Р”РР—РђР™РќРђ) */
.db-photos-controls-preview {
    margin-top: 24px;
    opacity: 0.4;
    pointer-events: none;
    user-select: none;
    display: flex;
    justify-content: center;
    transform: scale(0.9);
    /* Slightly larger than before */
    filter: blur(0.3px);
}

.db-photos-controls-preview .gallery-controls {
    display: flex;
    align-items: center;
    gap: 20px;
    /* Increased gap */
    margin: 0;
    width: 100%;
    max-width: 650px;
    /* Even more elongated */
}

.db-photos-controls-preview .gallery-add-btn {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 12px;
    background: #ffae00;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 15px rgba(255, 174, 0, 0.3);
}

.db-photos-controls-preview .gallery-search-wrapper {
    flex: 1;
    height: 48px;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    display: flex;
    align-items: center;
    padding: 0 15px;
}

.db-photos-controls-preview .gallery-search-mock {
    flex: 1;
    color: rgba(255, 255, 255, 0.3);
    font-size: 14px;
    text-align: left;
}

.db-photos-controls-preview .gallery-search-icon {
    width: 20px;
    height: 20px;
    color: rgba(255, 255, 255, 0.4);
}

/* ============================================
   РџРђРќР•Р›Р¬: РњР•Р РћРџР РРЇРўРРЇ (РџР РђР’Р«Р™ РќРР–РќРР™ РЈР“РћР›)
   ============================================ */
.db-card--events {
    background-image: url('assets/slide2.jpg');
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-end;
    /* Move text back to bottom */
    justify-content: flex-start;
    padding: 30px;
    overflow: hidden;
    text-decoration: none;
    /* In case it's an <a> */
    color: inherit;

    /* РњСЏРіРєР°СЏ Р°РјР±РµСЂРЅР°СЏ Р°СѓСЂР° (РєР°Рє Сѓ С„РѕС‚Рѕ, С‚РѕР»СЊРєРѕ РѕСЂР°РЅР¶РµРІР°СЏ) */
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.1) inset,
        0 20px 60px rgba(0, 0, 0, 0.6),
        0 0 150px rgba(255, 174, 0, 0.12);

    transition:
        filter 0.4s ease,
        transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275),
        border-color 0.3s,
        box-shadow 0.3s;
    cursor: pointer;
}

.db-card--events:hover {
    /* РњРѕС‰РЅРѕРµ СЃРІРµС‡РµРЅРёРµ РїСЂРё РЅР°РІРµРґРµРЅРёРё (Р°РЅР°Р»РѕРі С„РѕС‚Рѕ-РєР°СЂС‚РѕС‡РєРё) */
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.12) inset,
        0 30px 80px rgba(0, 0, 0, 0.7),
        0 0 160px rgba(255, 174, 0, 0.28);
}

.db-card--events::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(13, 11, 28, 0.95) 0%, rgba(13, 11, 28, 0.4) 100%);
    z-index: 1;
}

/* РћСЂР°РЅР¶РµРІР°СЏ РІСЂР°С‰Р°СЋС‰Р°СЏСЃСЏ СЂР°РјРєР° (РєР°Рє Сѓ С„РѕС‚Рѕ) */
.db-card--events::after {
    content: '';
    position: absolute;
    inset: -1.5px;
    border-radius: 31px;
    padding: 1.5px;
    /* РћСЂР°РЅР¶РµРІР°СЏ РІСЂР°С‰Р°СЋС‰Р°СЏСЃСЏ СЂР°РјРєР° (РЎС‚Р°С‚РёС‡РЅР°СЏ, Р±РµР· Р»СѓС‡Р°) */
    background: conic-gradient(from 45deg,
            transparent 0%,
            rgba(255, 174, 0, 0.4) 25%,
            transparent 50%,
            rgba(255, 70, 0, 0.3) 75%,
            transparent 100%);
    opacity: 0.3;
    /* Р’РёРґРЅРѕ РІСЃРµРіРґР°, РЅРѕ С‚СѓСЃРєР»Рѕ */
    /* animation: orbRotate 14s linear infinite; <--- РЈР±СЂР°Р»Рё Р»СѓС‡ */
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    transition: opacity 0.3s ease;
    z-index: 4;
    /* РџРѕРІРµСЂС… РІСЃРµРіРѕ */
    pointer-events: none;
}

.db-card--events:hover::after {
    opacity: 0.8;
    /* Р’СЃРїС‹С…РёРІР°РµС‚ РїСЂРё РЅР°РІРµРґРµРЅРёРё */
}

/* Р’РћРЎРЎРўРђРќРћР’Р›Р•РќРќР«Р™ РЎР›РћР™ Р–РР’РћР“Рћ РљРћРЎРўР Рђ */
.db-campfire-glow {
    position: absolute;
    bottom: 25%;
    right: 15%;
    width: 280px;
    height: 280px;
    z-index: 2;
    pointer-events: none;
    mix-blend-mode: color-dodge;
    filter: blur(35px);

    background: radial-gradient(circle at center,
            rgba(255, 230, 150, 0.8) 0%,
            rgba(255, 100, 0, 0.4) 30%,
            rgba(150, 30, 0, 0.2) 60%,
            transparent 85%);

    animation:
        campfireFadeIn 4.5s ease-out 0.5s forwards,
        campfireJitter 0.5s infinite alternate-reverse,
        campfireBreath 15s ease-in-out infinite alternate;

    opacity: 0;
}

@keyframes campfireFadeIn {
    0% {
        opacity: 0;
        filter: blur(60px) brightness(0);
        transform: scale(0.8);
    }

    100% {
        opacity: 0.75;
        filter: blur(35px) brightness(1);
        transform: scale(1.1);
    }
}

@keyframes campfireJitter {
    0% {
        opacity: 0.70;
        transform: scale(1.1) translate(0, 0);
    }

    50% {
        opacity: 0.80;
        transform: scale(1.1) translate(-1px, 0.5px);
    }

    100% {
        opacity: 0.75;
        transform: scale(1.1) translate(0.5px, -0.5px);
    }
}

@keyframes campfireBreath {
    0% {
        filter: blur(35px) brightness(1);
    }

    50% {
        filter: blur(40px) brightness(1.15);
    }

    100% {
        filter: blur(38px) brightness(1.05);
    }
}



.db-events-content {
    position: relative;
    z-index: 3;
    text-align: left;
    width: 100%;
}

.db-events-title {
    font-family: 'Coolvetica', 'Oswald', Impact, sans-serif;
    font-size: 34px;
    font-weight: 400;
    letter-spacing: 1px;
    color: #FFFFFF;
    margin: 0 0 16px 0;
    line-height: 1;
    text-shadow: 0 0 20px rgba(255, 174, 0, 0.4);
    text-transform: uppercase;

    /* Р Р°Р·РјРµСЂРµРЅРЅС‹Рµ РѕС‚СЃРІРµС‚С‹ РєРѕСЃС‚СЂР° РЅР° С‚РµРєСЃС‚Рµ */
    animation: textFireglow 9s ease-in-out infinite alternate;
}

@keyframes textFireglow {
    0% {
        text-shadow: 0 0 15px rgba(255, 100, 0, 0.3);
        opacity: 0.95;
    }

    50% {
        text-shadow: 0 0 25px rgba(255, 150, 0, 0.6);
        opacity: 1;
    }

    100% {
        text-shadow: 0 0 20px rgba(255, 120, 0, 0.4);
        opacity: 0.98;
    }
}

.db-events-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.db-event-item {
    display: flex;
    flex-direction: column;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.db-event-item:last-child {
    border-bottom: none;
}

.db-event-date {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #FFB340;
    /* РЇРЅС‚Р°СЂРЅС‹Р№ Р°РєС†РµРЅС‚ Р®РЅРѕСЃС‚Рё */
    margin-bottom: 4px;
    text-transform: uppercase;
}

.db-event-name {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #FFFFFF;
    letter-spacing: 0.3px;
}

.db-event-row {
    display: flex;
    justify-content: flex-start;
    /* Align closer to text */
    gap: 10px;
    align-items: center;
}

.db-event-participants {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.03);
    padding: 2px 8px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.db-event-participants svg {
    color: #00f2ff;
    opacity: 0.6;
}

.db-no-events {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.3);
    text-align: center;
    padding: 20px 0;
}

.db-card--events {
    text-decoration: none;
    /* Р¦РІРµС‚Р° СЏРЅС‚Р°СЂРЅРѕРіРѕ РєРѕСЃС‚СЂР° Р®РЅРѕСЃС‚Рё */
    --card-glow-color: rgba(255, 174, 0, 0.5);
    --card-glow-alt: rgba(255, 94, 0, 0.4);
}

.db-card--events::after {
    opacity: 0.7;
    /* РњРµСЂРѕРїСЂРёСЏС‚РёСЏ РІСЃРµРіРґР° СЃРІРµС‚СЏС‚СЃСЏ С‚РµРїР»РѕРј */
}

.db-card--events:hover {
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.12) inset,
        0 30px 80px rgba(0, 0, 0, 0.7),
        0 0 60px rgba(255, 174, 0, 0.4);
}

/* ============================================
   РџРђРќР•Р›Р: РџР РђР’Р«Р™ Р’Р•Р РҐРќРР™ РЈР“РћР› (РЁС‚Р°Р± Рё РџСЂРѕС„РёР»СЊ)
   ============================================ */
.db-section-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
}

.db-user-section {
    display: flex;
    flex-direction: column;
}

/* РљР°СЂС‚РѕС‡РєР° РёРЅС„РѕСЂРјР°С†РёРё Р°РєРєР°СѓРЅС‚Р° (РўРѕРї-Р Р°Р№С‚) */
.db-card--user-info {
    padding: 10px 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    position: relative;
    overflow: hidden;
    background: transparent !important;
    /* Force transparency to see the blur */
    align-self: flex-start;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.5s ease, opacity 0.5s ease;
}

.db-card--user-info.is-inactive {
    filter: grayscale(1) brightness(0.6);
    opacity: 0.7;
}

/* Layer 1: Blurred User Photo */
.db-card--user-info::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--profile-bg);
    background-size: cover;
    background-position: center;
    filter: blur(8px) brightness(1.1);
    /* Brighter for HUD */
    opacity: 0.9;
    z-index: 1;
    transition: background-image 0.8s ease;
}

/* Layer 2: Decorative Glow (HUD graphic) */
.db-card--user-info::after {
    content: '';
    position: absolute;
    top: -20%;
    right: -10%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(255, 145, 0, 0.15) 0%, transparent 70%);
    filter: blur(50px);
    z-index: 2;
    pointer-events: none;
}

.db-user-panel-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
            rgba(3, 2, 8, 0.5) 0%,
            rgba(3, 2, 8, 0.2) 50%,
            rgba(3, 2, 8, 0.0) 100%);
    z-index: 3;
    /* Over the blur/glow but under text */
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
    pointer-events: none;
}

.db-user-panel-pattern {
    position: absolute;
    inset: 0;
    z-index: 4;
    opacity: 0.2;
    pointer-events: none;
}

.db-user-panel {
    position: relative;
    z-index: 10;
}

/* Декоративная сетка-паттерн (графика) */
.db-card--user-info .db-user-panel-pattern {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 24px 24px;
    z-index: 1;
    opacity: 0.4;
    pointer-events: none;
}

/* Затемняющий слой для фото — Сбалансирован для чистоты и читаемости */
.db-card--user-info .db-user-panel-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
            rgba(3, 2, 8, 0.9) 0%,
            rgba(3, 2, 8, 0.6) 50%,
            rgba(3, 2, 8, 0.2) 100%);
    z-index: 1;
    backdrop-filter: blur(1.5px);
    -webkit-backdrop-filter: blur(1.5px);
    /* Уменьшено размытие для лучшей видимости фото */
}

.db-user-panel {
    position: relative;
    z-index: 10;
}

.db-card--user-info:hover {
    transform: translateY(-12px) scale(1.02);
    box-shadow:
        0 0 30px rgba(255, 255, 255, 0.1),
        0 40px 90px rgba(0, 0, 0, 0.8);
    border-color: rgba(255, 255, 255, 0.4);
    z-index: 100;
}

/* Белое свечение по периметру (как у мероприятий) */
.db-card--user-info::after {
    content: '';
    position: absolute;
    inset: -1.5px;
    border-radius: 31px;
    padding: 1.5px;
    background: linear-gradient(135deg,
            rgba(255, 255, 255, 0.4),
            transparent,
            rgba(255, 255, 255, 0.2));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    opacity: 0;
    /* Скрыто до наведения */
    transition: opacity 0.5s ease;
    z-index: 5;
}

.db-card--user-info:hover::after {
    opacity: 1;
}

.db-user-name {
    font-family: 'Coolvetica', 'Oswald', sans-serif;
    /* РЁСЂРёС„С‚ РєР°Рє Сѓ Р·Р°РіРѕР»РѕРІРєРѕРІ РїРѕ РїСЂРѕСЃСЊР±Рµ РєР»РёРµРЅС‚Р° */
    font-size: 26px;
    /* Р§СѓС‚СЊ СѓРІРµР»РёС‡РёР» РґР»СЏ РІРµСЃР° */
    font-weight: 400;
    color: #FFFFFF;
    margin: 4px 0 8px 0;
    /* Уменьшен отступ снизу для компактности */
    letter-spacing: 2.5px;
    /* РќРµРјРЅРѕРіРѕ СЂР°СЃС‚СЏРЅСѓР» С‚РµРєСЃС‚ РїРѕ РїСЂРѕСЃСЊР±Рµ РєР»РёРµРЅС‚Р° */
    text-transform: uppercase;
    position: relative;
    z-index: 2;
    /* Усиленное свечение + темная подложка для читаемости */
    text-shadow:
        0 0 20px rgba(0, 242, 255, 0.4),
        0 2px 4px rgba(0, 0, 0, 0.9);
}

.db-user-section--personal {
    display: flex;
    flex-direction: column;
    padding-top: 0;
    border-top: none;
}

.db-user-info-rows {
    display: flex;
    flex-direction: column;
    gap: 8px;
    /* Уплотненный промежуток */
}

.db-info-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 4px;
}

.db-info-row .label {
    color: rgba(255, 255, 255, 0.8);
    /* Значительно ярче для читаемости */
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 1px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.db-info-row .value {
    color: #FFFFFF;
    font-weight: 600;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
}

.db-info-row .status-highlight {
    color: #00FF9D;
    /* Более сочный зеленый */
    text-shadow:
        0 0 10px rgba(0, 255, 157, 0.4),
        0 2px 4px rgba(0, 0, 0, 0.9);
    font-weight: 800;
}

.db-info-row .debt-alert {
    color: #FF0000 !important;
    font-size: 16px;
    font-weight: 950;
    text-shadow:
        0 0 15px rgba(255, 0, 0, 0.7),
        0 2px 4px rgba(0, 0, 0, 0.9);
    animation: debtBreath 1.5s infinite ease-in-out;
    -webkit-text-stroke: 0.5px rgba(0, 0, 0, 0.5);
}

@keyframes debtBreath {

    0%,
    100% {
        opacity: 0.8;
    }

    50% {
        opacity: 1;
        text-shadow: 0 0 15px rgba(255, 0, 0, 0.8);
    }
}

.db-info-row .status-overdue {
    color: #FF0000;
    /* Яркий и читаемый красный */
    text-shadow:
        0 0 12px rgba(255, 0, 0, 0.5),
        0 2px 4px rgba(0, 0, 0, 0.9);
    font-weight: 800;
}

.db-info-row .status-paid {
    color: #00E5FF;
    text-shadow:
        0 0 12px rgba(0, 229, 255, 0.5),
        0 2px 4px rgba(0, 0, 0, 0.9);
    font-weight: 800;
}

.db-info-row .status-inactive {
    color: rgba(255, 255, 255, 0.4);
    font-weight: 700;
}

/* ГРИД ПОДПИСКИ */
.db-sub-history {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.sub-month {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    position: relative;
    opacity: 0.6;
    transition: all 0.3s ease;
}

.sub-month:hover {
    opacity: 1;
    transform: translateY(-2px);
}

.sub-month-name {
    font-size: 8px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.4);
    letter-spacing: 0.5px;
}

.sub-indicator {
    width: 100%;
    height: 4px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 2px;
}

/* Цвета статусов */
.sub-month.paid .sub-indicator {
    background: #00FF9D;
    box-shadow: 0 0 8px rgba(0, 255, 157, 0.4);
}

.sub-month.overdue .sub-indicator {
    background: #FF0000;
    box-shadow: 0 0 10px rgba(255, 0, 0, 0.5);
    animation: subPulse 2s infinite;
}

.sub-month.advance .sub-indicator {
    background: #00E5FF;
    box-shadow: 0 0 8px rgba(0, 229, 255, 0.4);
}

.sub-month.inactive .sub-indicator {
    background: rgba(255, 255, 255, 0.1);
}

.sub-month.is-current {
    opacity: 1;
}

.sub-month.is-current .sub-month-name {
    color: #FFFFFF;
}

.sub-month.is-current::after {
    content: '';
    position: absolute;
    bottom: -6px;
    width: 4px;
    height: 4px;
    background: #FFFFFF;
    border-radius: 50%;
    box-shadow: 0 0 5px #FFF;
}

@keyframes subPulse {

    0%,
    100% {
        opacity: 0.7;
        transform: scaleX(1);
    }

    50% {
        opacity: 1;
        transform: scaleX(1.1);
    }
}

/* ============================================
   Р¦Р•РќРўР РђР›Р¬РќР«Р™ РљР РЈР“ вЂ” РџР РћР¤РР›Р¬
   ============================================ */

/* РљСЂСѓРі РїСЂРѕС„РёР»СЏ вЂ” СЃС‚СЂРѕРіРѕ РїРѕ С†РµРЅС‚СЂСѓ СЌРєСЂР°РЅР° РїРѕРІРµСЂС… РјР°СЃРєРё */
.db-profile-orb {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 198px;
    height: 198px;
    z-index: 12;

    /* РђРЅРёРјР°С†РёСЏ РїРѕСЏРІР»РµРЅРёСЏ РєСЂСѓРіР° */
    opacity: 0;
    animation: dbOrbEntrance 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    cursor: pointer;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease;
}

@keyframes dbOrbEntrance {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.6);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

/* Р’СЂР°С‰Р°СЋС‰РµРµСЃСЏ РєРѕР»СЊС†Рѕ РІРѕРєСЂСѓРі РѕСЂР±Р° */
.db-profile-orb__ring {
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    background: conic-gradient(from 0deg,
            transparent 0%,
            rgba(18, 224, 0, 0.3) 25%,
            transparent 50%,
            rgba(136, 75, 172, 0.25) 75%,
            transparent 100%);
    animation: orbRotate 8s linear infinite;
}

@keyframes orbRotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Р’РЅСѓС‚СЂРµРЅРЅРёР№ С‚С‘РјРЅС‹Р№ РєСЂСѓРі */
.db-profile-orb__inner {
    position: absolute;
    inset: 2px;
    border-radius: 50%;
    background: rgba(13, 11, 28, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.06);
    box-shadow:
        0 0 60px rgba(0, 0, 0, 0.7),
        inset 0 0 40px rgba(0, 0, 0, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    overflow: hidden;
}

.db-profile-emblem {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    filter: grayscale(0.5) contrast(1.1) brightness(0.6) blur(1px);
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    opacity: 0.7;
}

/* РЎС‚РёР»Рё РґР»СЏ РёРєРѕРЅРєРё РїРёС‚Р°РЅРёСЏ РІРЅСѓС‚СЂРё РѕСЂР±Р° */
.db-power-icon {
    position: absolute;
    width: 64px;
    height: 64px;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.8);
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 3;
    pointer-events: none;
    /* Block when hidden */
}

.db-power-icon svg {
    width: 48px;
    height: 48px;
    color: #FF2D00;
    filter: drop-shadow(0 0 10px rgba(255, 45, 0, 0.8)) grayscale(0.3);
    transition: all 0.3s ease;
    /* Smooth hover */
}

/* Hover эффект для самой кнопки выключения */
.db-power-icon:hover svg {
    filter: drop-shadow(0 0 25px rgba(255, 45, 0, 1)) grayscale(0);
    transform: scale(1.1);
}

.db-profile-orb:hover .db-profile-emblem {
    opacity: 0;
    transform: scale(0.6) rotate(-20deg);
    filter: blur(10px) grayscale(1);
}

/* Стандартное поведение (не админ) */
.db-profile-orb:not(.is-admin):hover .db-power-icon {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.1);
    pointer-events: auto;
}

/* ЭФФЕКТ "SPLIT" ДЛЯ АДМИНОВ */
.is-admin.db-profile-orb:hover .db-power-icon {
    opacity: 1;
    transform: translate(-50%, -50%) translateX(42px) scale(1.05);
    /* Отъезжает вправо */
    pointer-events: auto;
}

.db-admin-btn {
    position: absolute;
    width: 64px;
    height: 64px;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.8);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    /* Slower, silkier split */
    z-index: 10;
    text-decoration: none;
    pointer-events: none;
}

.db-admin-btn svg {
    width: 44px;
    height: 44px;
    color: #FFD700;
    /* Золотой/Янтарный */
    filter: drop-shadow(0 0 15px rgba(255, 215, 0, 0.6));
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    /* Smooth internal hover */
}

.is-admin.db-profile-orb:hover .db-admin-btn {
    opacity: 1;
    transform: translate(-50%, -50%) translateX(-42px) scale(1.05);
    /* Отъезжает влево */
    pointer-events: auto;
}

/* Hover эффект для самой кнопки админа */
.db-admin-btn:hover svg {
    filter: drop-shadow(0 0 35px rgba(255, 215, 0, 0.9));
    transform: scale(1.1) translateY(-2px);
}

.db-shutdown-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    z-index: 90;
    opacity: 0;
    pointer-events: none;
    transition:
        opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1),
        backdrop-filter 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        -webkit-backdrop-filter 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

body.is-shutting-down .db-shutdown-overlay {
    opacity: 1;
    background: rgba(0, 0, 0, 0.75);
    /* Р“Р»СѓР±Р¶Рµ Р·Р°С‚РµРјРЅРµРЅРёРµ */
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    /* РЎРёР»СЊРЅРµРµ СЂР°Р·РјС‹С‚РёРµ */
    -webkit-backdrop-filter: blur(15px);
}

/* РљР°СЃС‚РѕРјРЅРѕРµ РјРѕРґР°Р»СЊРЅРѕРµ РѕРєРЅРѕ */
.db-modal {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
}

.db-modal.is-active {
    opacity: 1;
    visibility: visible;
}

.db-modal__content {
    background: #0d0b1c;
    border: 1px solid rgba(255, 45, 0, 0.3);
    border-radius: 24px;
    padding: 40px;
    max-width: 450px;
    width: 90%;
    text-align: center;
    box-shadow: 0 0 100px rgba(255, 45, 0, 0.1), inset 0 0 20px rgba(0, 0, 0, 0.5);
    transform: scale(0.9);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.db-modal.is-active .db-modal__content {
    transform: scale(1);
}

/* КРИТИЧЕСКОЕ МОДАЛЬНОЕ ОКНО (КРАСНЫЙ HUD) */
.db-modal--critical .db-modal__content {
    border: 1px solid rgba(255, 45, 0, 0.8);
    background: linear-gradient(135deg, rgba(20, 5, 5, 0.95) 0%, rgba(10, 2, 2, 0.98) 100%);
    box-shadow:
        0 0 120px rgba(255, 45, 0, 0.2),
        inset 0 0 30px rgba(255, 45, 0, 0.05);
    max-width: 500px;
    position: relative;
    overflow: hidden;
}

.db-modal--critical .db-modal__content::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg,
            transparent 0,
            transparent 2px,
            rgba(255, 45, 0, 0.03) 3px,
            rgba(255, 45, 0, 0.03) 4px);
    pointer-events: none;
    z-index: 1;
}

/* Сканирующая линия */
.db-modal--critical .db-modal__content::after {
    content: '';
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent 0%, rgba(255, 45, 0, 0.1) 50%, transparent 100%);
    animation: criticalScan 4s linear infinite;
    pointer-events: none;
    z-index: 2;
}

@keyframes criticalScan {
    0% {
        top: -100%;
    }

    100% {
        top: 100%;
    }
}

.db-modal--critical .db-modal__header {
    color: #ff4500;
    font-size: 20px;
    letter-spacing: 4px;
    text-shadow: 0 0 15px rgba(255, 69, 0, 0.6);
    background: rgba(255, 45, 0, 0.1);
    margin: -40px -40px 30px -40px;
    padding: 15px;
    border-bottom: 1px solid rgba(255, 45, 0, 0.3);
    animation: criticalHeaderFlicker 5s infinite;
}

@keyframes criticalHeaderFlicker {

    0%,
    90%,
    100% {
        opacity: 1;
    }

    92% {
        opacity: 0.8;
    }

    94% {
        opacity: 1;
    }

    96% {
        opacity: 0.7;
    }

    98% {
        opacity: 1;
    }
}

.db-modal--critical h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    margin-bottom: 12px;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.db-modal--critical p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
}

.db-modal--critical .db-modal-btn--confirm {
    background: #ff4500;
    box-shadow: 0 0 30px rgba(255, 69, 0, 0.4);
    border-color: rgba(255, 255, 255, 0.3);
    width: 100%;
    margin-top: 10px;
}

.db-modal--critical .db-modal-btn--confirm:hover {
    background: #ff6347;
    box-shadow: 0 0 45px rgba(255, 99, 71, 0.6);
}

.db-modal__header {
    font-family: 'Oswald', sans-serif;
    font-size: 28px;
    color: #ffffff;
    letter-spacing: 2px;
    margin-bottom: 16px;
    text-shadow: 0 0 15px rgba(255, 255, 255, 0.3);
    text-transform: uppercase;
}

.db-modal__body {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    margin-bottom: 32px;
}

.db-modal__footer {
    display: flex;
    gap: 16px;
    justify-content: center;
}

.db-modal-btn {
    padding: 12px 32px;
    border-radius: 12px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.db-modal-btn--cancel {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

.db-modal-btn--confirm {
    background: #ffae00;
    /* Youth Amber */
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(255, 174, 0, 0.3);
}

.db-modal-btn--confirm:hover {
    background: #ffc44d;
    box-shadow: 0 8px 25px rgba(255, 174, 0, 0.5);
    transform: translateY(-2px) scale(1.02);
}

/* ============================================
   РљРРќРћРЁРќР«Р™ РџР•Р Р•РҐРћР”: Р’Р›РЃРў Р’ РљРђР РўРћР§РљРЈ (FINAL)
   ============================================ */

.db-body.is-navigating {
    overflow: hidden;
    pointer-events: none;
}

.db-body.is-navigating .background-canvas {
    filter: brightness(0.05) contrast(1.2) blur(60px);
    transition: filter 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.db-body.is-navigating .db-card:not(.is-clicked) {
    opacity: 0.8 !important;
    transform: scale(0.98) !important;
    transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1), opacity 1s ease-out;
}

/* ГЛОБАЛЬНЫЙ ФОКУСНЫЙ ОВЕРЛЕЙ */
.db-body.is-navigating .db-shutdown-overlay {
    opacity: 1;
    pointer-events: none;
    backdrop-filter: blur(20px) brightness(0.7);
    -webkit-backdrop-filter: blur(20px) brightness(0.7);

    /* Радиальная маска: центр (нажатая панель) — прозрачный, края — размытые */
    mask-image: radial-gradient(circle 280px at var(--click-x) var(--click-y), transparent 0%, black 80%);
    -webkit-mask-image: radial-gradient(circle 280px at var(--click-x) var(--click-y), transparent 0%, black 80%);

    z-index: 95;
    /* Находится над Bento, но под модалкой */
    transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.db-card.is-clicked {
    z-index: 100 !important;
    position: relative;
    opacity: 1 !important;
    filter: brightness(1.1) !important;
    pointer-events: none;
    box-shadow: 0 0 120px rgba(0, 242, 255, 0.4) !important;
}

/* ================================================ */
/*  CALENDAR STYLES                                 */
/* ================================================ */

.calendar-body {
    overflow-y: auto !important;
}

.calendar-layout {
    position: relative;
    z-index: 10;
    max-width: 1176px;
    margin: 15px auto 0;
    /* Reduced from 40px to move higher by 25px */
    /* Align to top with some margin for back button */
    padding: 0 40px 40px;
    animation: calendarPageEntrance 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes calendarPageEntrance {
    0% {
        opacity: 0;
        transform: translateY(40px) scale(0.98);
        filter: blur(10px);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

.calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    margin-top: 20px;
}

.calendar-nav {
    display: flex;
    align-items: center;
    gap: 30px;
}

.calendar-title {
    font-family: 'Coolvetica', sans-serif;
    font-size: 40px;
    color: #fff;
    margin: 0;
    letter-spacing: 2px;
    text-shadow: 0 0 30px rgba(0, 242, 255, 0.4);
}

.cal-nav-btn {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.cal-nav-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(1.1);
}

.cal-add-btn {
    background: #ffae00;
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 12px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    box-shadow: 0 8px 25px rgba(255, 174, 0, 0.3);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.cal-add-btn:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 12px 35px rgba(255, 174, 0, 0.5);
}

.calendar-grid-wrapper {
    background: rgba(13, 11, 28, 0.75);
    /* Balanced background opacity */
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    /* Slightly more blur for atmosphere */
    border: 1.2px solid rgba(255, 255, 255, 0.1);
    /* Softer border */
    border-radius: 30px;
    padding: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}

.calendar-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-bottom: 20px;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    /* Slightly softened color */
    letter-spacing: 2px;
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(6, 95px) !important;
    gap: 10px;
    margin-top: 20px;
    position: relative;
    z-index: 10;
}

.calendar-day {
    background: rgba(255, 255, 255, 0.03);
    /* Slightly softer background */
    border: 1px solid rgba(255, 255, 255, 0.08);
    /* Softer cell borders */
    border-radius: 16px;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    height: 95px;
    max-height: 95px;
    box-sizing: border-box;

    /* Entrance Animation (Base) */
    opacity: 0;
    animation: calendarGridStagger 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes calendarGridStagger {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(0.9);
        filter: blur(5px);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

.calendar-day.empty {
    opacity: 0.2;
    background: transparent;
    border: none;
}

.calendar-day.today {
    border-color: rgba(0, 242, 255, 0.4);
    background: rgba(0, 242, 255, 0.03);
    box-shadow: inset 0 0 20px rgba(0, 242, 255, 0.05);
}

.calendar-day.today::before {
    content: '';
    position: absolute;
    top: 10px;
    right: 10px;
    width: 6px;
    height: 6px;
    background: #00f2ff;
    border-radius: 50%;
    box-shadow: 0 0 10px #00f2ff;
}

.day-number {
    font-family: 'Coolvetica', sans-serif;
    font-size: 18px;
    color: rgba(255, 255, 255, 0.8);
    /* Slightly softened contrast */
    margin-bottom: 8px;
}

.day-events {
    display: flex;
    flex-direction: column;
    padding-top: 30px;
    /* Space for day number */
    width: 100%;
    position: relative;
    overflow: hidden;
    z-index: 100;
    /* Higher layer than background cells */
    pointer-events: none;
    /* Let clicks pass through to background */
    scrollbar-width: none;
    /* Firefox */
}

/* Hide scrollbars for Chrome/Safari */
.day-events::-webkit-scrollbar {
    display: none;
}

.event-marker {
    pointer-events: auto !important;
    /* Re-enable clicks for actual markings */
    z-index: 1000;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 4px 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.event-marker:hover {
    background: rgba(0, 242, 255, 0.1);
    border-color: rgba(0, 242, 255, 0.3);
    transform: translateX(4px);
}

.event-marker.registered {
    background: rgba(156, 240, 161, 0.08);
    border-color: rgba(156, 240, 161, 0.2);
}

.event-marker-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ffae00;
}

.event-marker.registered .event-marker-dot {
    background: #9CF0A1;
}

.event-marker-title {
    font-size: 10px;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.event-marker-count {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.4);
    background: rgba(0, 0, 0, 0.3);
    padding: 2px 6px;
    border-radius: 10px;
}

/* Event Detail Modal Fixes */
.event-modal-content {
    max-width: 500px !important;
}

.event-modal-header {
    text-align: left;
    margin-bottom: 24px;
}

.event-date-badge {
    display: inline-block;
    background: rgba(0, 242, 255, 0.1);
    color: #00f2ff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 12px;
    border: 1px solid rgba(0, 242, 255, 0.2);
}

.event-modal-title {
    font-family: 'Oswald', sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    margin: 0;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.event-modal-body {
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.event-info-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.info-label {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.3);
    font-weight: 700;
    letter-spacing: 1px;
}

.info-value {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

.event-modal-text {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
}

.event-stats {
    margin-top: 10px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.stat-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.stat-label {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.4);
    font-weight: 600;
}

.stat-value {
    font-size: 32px;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    color: #ffae00;
    text-shadow: 0 0 15px rgba(255, 174, 0, 0.6);
}

.event-modal-footer {
    margin-top: 32px;
    display: flex;
    justify-content: flex-end;
}

/* Close Button X */
.modal-close-x {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.3);
    font-size: 32px;
    cursor: pointer;
    transition: color 0.3s;
}

.modal-close-x:hover {
    color: #fff;
}

/* Form Styles */
.form-group-cal {
    margin-bottom: 20px;
}

.form-row-cal {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.db-modal__content--cinematic {
    background: rgba(13, 11, 28, 0.9);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow:
        0 0 100px rgba(0, 0, 0, 0.8),
        0 0 40px rgba(0, 242, 255, 0.05),
        inset 0 0 20px rgba(255, 255, 255, 0.02);
    position: relative;
    overflow: hidden;
}

.db-modal__content--cinematic::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(0, 242, 255, 0.5), transparent);
}

.cal-input {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    color: #fff !important;
    padding: 14px 18px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 0.5px;
}

.cal-input:focus {
    background: rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(0, 242, 255, 0.4) !important;
    box-shadow: 0 0 20px rgba(0, 242, 255, 0.15), inset 0 0 10px rgba(255, 255, 255, 0.02) !important;
    outline: none;
    transform: translateY(-1px);
}

/* ============================================
   ПАНЕЛЬ: НОВОСТИ И УВЕДОМЛЕНИЯ (FOLDER SHAPE)
   ============================================ */
.db-card--updates {
    display: flex;
    flex-direction: column;
    background: rgba(15, 15, 20, 0.85) !important;
    /* Глубокое темное стекло */
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-top: none !important;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.6),
        inset 0 1px 1px rgba(255, 255, 255, 0.05) !important;
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0;
    overflow: visible;
    position: relative;
    --folder-color: #FF9D00;
    border-radius: 0 0 30px 30px;
    transition: all 0.5s ease;
    cursor: pointer;

    /* ФИКСАЦИЯ РАЗМЕРА - НЕ ДАЕМ РАЗДУВАТЬСЯ СЕТКЕ */
    height: 100%;
    min-height: 0 !important;
}

.db-card--updates:hover {
    transform: translateY(-10px) scale(1.02);
    border-color: rgba(255, 255, 255, 0.15);
    box-shadow:
        0 2px 0 rgba(255, 255, 255, 0.08) inset,
        0 40px 90px rgba(0, 0, 0, 0.7);
    z-index: 10;
}

/* Identity Glow - мягкое свечение основного цвета - REMOVED PER USER REQUEST */
.db-card--updates::before {
    display: none !important;
}

/* Glowing Running Border - СИНХРОНИЗИРОВАНО С ЦВЕТОМ ПАПКИ */
.db-card--updates::after {
    content: '';
    position: absolute;
    inset: -1.2px;
    border-radius: 0 0 31px 31px;
    padding: 1.2px;
    background: conic-gradient(from var(--folder-angle, 0deg),
            transparent 0deg,
            var(--folder-color) 10deg,
            var(--folder-color) 25deg,
            transparent 45deg,
            transparent 360deg);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    opacity: 0.8;
    z-index: 1;
    filter: blur(6px);
    animation: folderOrbit 8s linear infinite;
}

@keyframes folderOrbit {
    from {
        --folder-angle: 0deg;
    }

    to {
        --folder-angle: 360deg;
    }
}

@property --folder-angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}

/* Контейнер для вкладок-ушек */
.db-folder-tabs {
    display: flex;
    position: absolute;
    top: -28px;
    /* Выносим ушки НАД карточкой */
    left: -1px;
    /* Стык с левой границей */
    right: -1px;
    /* Стык с правой границей */
    z-index: 2;
    height: 29px;
}

/* Линия-заглушка для верхней части папки (где нет активной вкладки) */
.db-folder-tabs::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
    z-index: 1;
}

.db-folder-tab {
    flex: 1;
    position: relative;
    height: 28px;
    font-family: 'Outfit', sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.5px;
    color: #fff;
    cursor: pointer;
    /* Нейтральный темный цвет для сочетания с фото */
    background: rgba(25, 25, 32, 0.95) !important;
    /* Угольное стекло */
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: none;
    border-radius: 20px 20px 0 0;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    margin-right: -45px;
    opacity: 0.7;
    overflow: hidden;
    z-index: 2;
}

/* Ушки теперь не имеют фоновых фото и используют data-color в активном состоянии */
.db-folder-tab:nth-child(1),
.db-folder-tab:nth-child(2) {
    background-image: none !important;
}

.db-folder-tab:last-child {
    margin-right: 0;
}

.db-folder-tab:hover {
    color: #fff;
    opacity: 0.8;
}

.db-tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ff0055;
    /* Ярко-красный акцент */
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    margin-left: 8px;
    box-shadow: 0 0 10px rgba(255, 0, 85, 0.6);
    line-height: 1;
    transform: translateY(-1px);
}

.db-folder-tab.active {
    color: #fff;
    z-index: 10;
    height: 31px;
    transform: translateY(-2px);
    opacity: 1;
    box-shadow: 0 -5px 25px color-mix(in srgb, var(--folder-color), transparent 60%);
    text-shadow: 0 0 10px color-mix(in srgb, var(--folder-color), transparent 40%);
    border-color: rgba(255, 255, 255, 0.35);
    /* Акцент основного цвета секции */
    border-top: 2.5px solid var(--folder-color) !important;
    /* Наследуем темное стекло карточки */
    background: rgba(15, 15, 20, 0.92) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -1px;
}

.db-folder-tab.active::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    right: 0;
    height: 6px;
    background: inherit;
    z-index: 5;
}

/* Фоны для вкладок (неактивных) теперь задаются общим стилем .db-folder-tab */

/* Тело папки теперь управляется родителем */
.db-folder-wrapper {
    flex: 1;
    overflow: hidden;
    position: relative;
    padding: 15px;
    height: 100%;
    min-height: 0;
    /* Важно для работы скролла во flex-контейнере */
}

.db-folder-body {
    display: none;
    height: 100%;
    overflow-y: auto;
    padding-right: 10px;
    scrollbar-width: thin;
    scrollbar-color: var(--folder-color) transparent;
}

.db-folder-body.active {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Кастомный скроллбар - "Полоска" */
.db-folder-body::-webkit-scrollbar {
    width: 3px;
}

.db-folder-body::-webkit-scrollbar-thumb {
    background: var(--folder-color);
    border-radius: 10px;
    box-shadow: 0 0 10px var(--folder-color);
}

.db-folder-body::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
}

/* Убираем старый ::after, так как теперь есть реальный .db-folder-body */
/* .db-card--updates::after {
    display: none !important;
} */



.update-item {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 14px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.update-item.is-new {
    border: 1.5px solid rgba(255, 215, 0, 0.4) !important;
    box-shadow:
        inset 0 0 15px rgba(255, 215, 0, 0.05),
        0 0 20px rgba(255, 215, 0, 0.1) !important;
    background: rgba(255, 215, 0, 0.02) !important;
}

.update-item:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateX(6px);
}

.update-delete-btn {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.2);
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(0.8);
}

.update-item:hover .update-delete-btn {
    opacity: 1;
    transform: scale(1);
}

.update-delete-btn:hover {
    background: rgba(255, 69, 0, 0.15);
    color: #ff4500;
    transform: scale(1.1) !important;
}

.update-tag {
    font-size: 8px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
    letter-spacing: 1px;
}

.update-dot {
    width: 8px;
    height: 8px;
    background: #ff0055;
    border-radius: 50%;
    box-shadow: 0 0 10px #ff0055;
    animation: pulse 2s infinite;
    opacity: 0;
    /* Скрыто по умолчанию */
    transition: opacity 0.5s ease;
}

.update-item.is-new .update-dot {
    opacity: 1;
    /* Видно только для новых */
}

.update-tag.tag-new {
    background: rgba(0, 229, 255, 0.2);
    color: #00e5ff;
    border: 1px solid rgba(0, 229, 255, 0.4);
    box-shadow: 0 0 8px rgba(0, 229, 255, 0.2);
    opacity: 0;
    /* Скрыто по умолчанию */
    transition: opacity 0.5s ease;
}

.update-item.is-new .update-tag.tag-new {
    opacity: 1;
    /* Видно только для новых */
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.3);
        opacity: 0.6;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.update-text {
    color: rgba(255, 255, 255, 0.7);
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.4;
}

/* Фикс оторванных анимаций */
@keyframes floatingOrb {
    0% {
        transform: translate(0, 0) scale(1);
    }

    100% {
        transform: translate(100px, 150px) scale(1.15);
    }
}

@keyframes pulsingOrb {
    0% {
        opacity: 0.3;
        transform: scale(1);
    }

    100% {
        opacity: 0.6;
        transform: scale(1.3) translate(-30px, 20px);
    }
}

.calendar-decor {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}

.decor-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(100px);
}

.decor-orb-1 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(0, 229, 255, 0.1) 0%, transparent 70%);
    top: -100px;
    right: -100px;
    animation: floatingOrb 15s infinite alternate ease-in-out;
}

.decor-orb-2 {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(224, 175, 0, 0.08) 0%, transparent 70%);
    bottom: -150px;
    left: -150px;
    animation: floatingOrb 18s infinite alternate-reverse ease-in-out;
}

.decor-orb-3 {
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(255, 0, 255, 0.08) 0%, transparent 70%);
    top: 40%;
    left: 60%;
    animation: pulsingOrb 20s infinite alternate ease-in-out;
}

/* Floating Lines Graphic */
.calendar-decor::after {
    content: '';
    position: absolute;
    top: 20%;
    left: 10%;
    width: 300px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 242, 255, 0.4), transparent);
    box-shadow: 0 0 20px rgba(0, 242, 255, 0.6);
    transform: rotate(-35deg);
    animation: lineSlide 12s infinite linear;
    opacity: 0.3;
}

@keyframes lineSlide {
    0% {
        transform: translate(-100%, -100%) rotate(-35deg);
        opacity: 0;
    }

    20% {
        opacity: 0.3;
    }

    80% {
        opacity: 0.3;
    }

    100% {
        transform: translate(300%, 300%) rotate(-35deg);
        opacity: 0;
    }
}

@keyframes floatingOrb {
    0% {
        transform: translate(0, 0) scale(1);
    }

    100% {
        transform: translate(100px, 150px) scale(1.15);
    }
}

@keyframes pulsingOrb {
    0% {
        opacity: 0.3;
        transform: scale(1);
    }

    100% {
        opacity: 0.6;
        transform: scale(1.3) translate(-30px, 20px);
    }
}

/* ================================================ */
/*  CALENDAR BACKGROUND IMAGE                       */
/* ================================================ */

.calendar-bg-image {
    position: fixed;
    inset: 0;
    z-index: 0;
    background-image: url('assets/kalendar.jpg');
    background-size: cover;
    background-position: center;
    opacity: 0.15;
    /* Increased transparency (low opacity) */
    pointer-events: none;
    filter: saturate(0.5) blur(2px);
}

/* ================================================ */
/*  EVENT PARTICIPANTS LIST STYLES                  */
/* ================================================ */

.event-participants-section {
    margin-top: 20px;
    text-align: left;
}

.participants-list {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-height: 150px;
    overflow-y: auto;
    padding: 5px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.1) transparent;
}

.participants-list::-webkit-scrollbar {
    width: 6px;
}

.participants-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
}

.participant-tag {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.9);
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.participant-tag:hover {
    background: rgba(0, 242, 255, 0.1);
    border-color: rgba(0, 242, 255, 0.3);
    transform: translateY(-2px);
}

/* --- ALBUM DELETE BUTTON --- */
.album-delete-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 36px;
    height: 36px;
    background: rgba(255, 60, 0, 0.1);
    border: 1px solid rgba(255, 60, 0, 0.2);
    color: #ff3c00;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 100;
    opacity: 0;
        transform: scale(0.8);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.album-card:hover .album-delete-btn {
    opacity: 1;
    transform: scale(1);
}

.album-delete-btn:hover {
    background: #ff3c00;
    color: #fff;
    box-shadow: 0 0 20px rgba(255, 60, 0, 0.4);
}

.no-participants {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.25);
    letter-spacing: 1px;
}

/* --- RESPONSIVE BREAKPOINTS (DASHBOARD) --- */

/* Hide elements not needed in mobile */
body.is-mobile .db-card--user-info,
body.is-mobile .db-card--updates,
body.is-mobile .db-card--placeholder,
body.is-mobile .db-card--notch-tr,
body.is-mobile .db-card--notch-tl,
body.is-mobile .db-card--profile,
body.is-mobile .gallery-controls,
body.is-mobile .db-photos-controls-preview,
body.is-mobile .db-inventory-box-container,
body.is-mobile .db-events-list,
body.is-mobile .db-finance-particles {
    display: none !important;
}

body.is-mobile .db-finance-title,
body.is-mobile .db-photos-title,
body.is-mobile .db-inventory-title,
body.is-mobile .db-events-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    margin: 10px 0 5px 0 !important;
    line-height: 1.1 !important;
    color: #fff !important;
    text-transform: uppercase !important;
    text-align: left !important;
    width: 100% !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Move profile orb to bottom center on mobile */
body.is-mobile .db-profile-orb {
    bottom: 20px !important;
    top: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* ================================================ */
/*  CALENDAR UPGRADES                               */
/* ================================================ */

/* ============================================
   ПАНЕЛЬ: СБОРЫ (cbr)
   ============================================ */
.db-card--collection {
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: rgba(15, 12, 35, 0.95) !important;
}

body.is-mobile .db-card {
    background: rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

body.is-mobile .db-card::before {
    background: rgba(255, 255, 255, 0.05) !important;
}

body.is-mobile .mob-finance-icon,
body.is-mobile .mob-photo-icon,
body.is-mobile .mob-inventory-icon,
body.is-mobile .mob-events-icon {
    width: 42px !important;
    height: 42px !important;
    background: rgba(255, 255, 255, 0.2) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 8px !important;
    position: relative !important;
    z-index: 10 !important;
}

body.is-mobile .db-card svg {
    width: 20px !important;
    height: 20px !important;
    fill: #fff !important;
    color: #fff !important;
}

.db-col-carousel {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.db-col-item {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.db-col-banner {
    height: 120px;
    background-size: cover;
    background-position: center;
    position: relative;
    flex-shrink: 0;
}

.db-col-banner::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 30%, rgba(15, 12, 35, 1) 100%);
}

.db-col-body {
    padding: 20px 24px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.db-col-title {
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-shadow: 0 0 15px rgba(255, 255, 255, 0.2);
}

.db-col-deadline {
    font-size: 11px;
    color: #FF4500;
    font-weight: 800;
    margin-bottom: 20px;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.db-col-deadline::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    background: #FF4500;
    border-radius: 50%;
    box-shadow: 0 0 10px #FF4500;
}

.db-col-stats {
    margin-top: auto;
}

.db-col-goal-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 12px;
    font-weight: 700;
}

.db-col-progress-bg {
    height: 8px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.4);
}

.db-col-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #FFD700, #FFAE00);
    box-shadow: 0 0 15px rgba(255, 215, 0, 0.4);
    border-radius: 4px;
    transition: width 1.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-col-pay {
    width: 100%;
    height: 48px;
    background: rgba(255, 215, 0, 0.08);
    border: 1.5px solid rgba(255, 215, 0, 0.25);
    border-radius: 12px;
    color: #FFD700;
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    text-transform: uppercase;
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-col-pay:hover {
    background: #FFD700;
    color: #000;
    box-shadow: 0 0 30px rgba(255, 215, 0, 0.5);
    transform: translateY(-2px);
    border-color: #FFD700;
}

/* Многодневные события */
.event-marker.multi-day {
    margin-bottom: 4px;
    border-radius: 8px;
    padding-left: 10px;
    padding-right: 10px;
    z-index: 100;
}

.event-marker:hover {
    background: rgba(0, 242, 255, 0.15);
    border-color: rgba(0, 242, 255, 0.4);
    transform: translateX(6px);
    box-shadow: 0 0 15px rgba(0, 242, 255, 0.1);
}

.event-marker.registered {
    background: rgba(0, 255, 157, 0.08);
    border-color: rgba(0, 255, 157, 0.25);
}

.event-marker-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #00e5ff;
    box-shadow: 0 0 8px #00e5ff;
    flex-shrink: 0;
}

.event-marker.registered .event-marker-dot {
    background: #00ff9d;
    box-shadow: 0 0 10px #00ff9d;
}

.event-marker-title {
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    letter-spacing: 0.5px;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

.event-marker-count {
    font-size: 11px;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    color: #ffae00;
    background: rgba(0, 0, 0, 0.4);
    padding: 2px 8px;
    border-radius: 12px;
    border: 1px solid rgba(255, 174, 0, 0.3);
    letter-spacing: 0.5px;
    box-shadow: 0 0 8px rgba(255, 174, 0, 0.2);
}

/* СТИЛИ ДЛЯ ФОРМ И КНОПОК */
.input-with-label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

.cal-field-label {
    font-size: 10px;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.3);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* ==========================================================================
   MOBILE & TOUCH OPTIMIZATIONS (TRIGGERS VIA JS CLASS)
   ========================================================================== */
body.is-mobile {
    overflow-y: auto !important;
}

body.is-mobile .db-body {
    background-size: 20px 20px !important;
}

body.is-mobile .background-canvas {
    background-size: 20px 20px !important;
}

body.is-mobile .db-cards-layer {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas: none !important;
    gap: 12px !important;
    padding: 80px 15px 120px 15px !important;
    height: auto !important;
    min-height: 100vh !important;
    box-sizing: border-box !important;
}

body.is-mobile .db-card {
    grid-area: auto !important;
    aspect-ratio: 1 / 1.35 !important;
    border-radius: 24px !important;
    padding: 22px 18px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    background: rgba(255, 255, 255, 0.03) !important; /* Crystal glass */
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    overflow: hidden !important;
    position: relative !important;
    z-index: 1 !important;
    margin: 0 !important;
}

body.is-mobile .db-card::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.5)) !important; /* Lighter overlay for vibrancy */
    z-index: 0 !important;
    display: block !important;
}

body.is-mobile .db-finance-title,
body.is-mobile .db-photos-title,
body.is-mobile .db-inventory-title,
body.is-mobile .db-events-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    margin: 10px 0 5px 0 !important;
    line-height: 1.1 !important;
    color: #fff !important;
    text-transform: uppercase !important;
    text-align: left !important;
    width: 100% !important;
}

body.is-mobile .mob-finance-icon,
body.is-mobile .mob-photo-icon,
body.is-mobile .mob-inventory-icon,
body.is-mobile .mob-events-icon {
    width: 44px !important;
    height: 44px !important;
    background: rgba(255, 255, 255, 0.2) !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 5px !important;
}

.db-modal-btn--delete {
    background: rgba(255, 68, 68, 0.1);
    color: #ff4444;
    border: 1px solid rgba(255, 68, 68, 0.3);
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.3s;
}

.db-modal-btn--delete:hover {
    background: #ff4444;
    color: #fff !important;
    box-shadow: 0 0 25px rgba(255, 68, 68, 0.5);
    border-color: #ff4444;
}

/* --- INVENTORY SHARED STYLES --- */
.inv-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    overflow-x: auto;
    padding-bottom: 10px;
}

.inv-tab {
    padding: 12px 24px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    text-transform: uppercase;
}

.inv-tab:hover {
    border-color: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.inv-tab.active {
    background: #fff;
    color: #000;
    border-color: #fff;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.3);
}

/* Transfer & Cart Modal with Animations */
.transfer-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.transfer-modal.active {
    opacity: 1;
    pointer-events: auto;
}

.transfer-content {
    width: 400px;
    background: #111;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 30px;
    padding: 30px;
    transform: translateY(20px);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.transfer-modal.active .transfer-content {
    transform: translateY(0);
}

/* Mobile-only elements hidden on desktop */
.mob-photo-icon,
.mob-inventory-icon,
.mob-events-icon {
    display: none;
}

/* --- Mobile Styles (Polished) --- */
@media (max-width: 768px) {

    body,
    html {
        overflow-x: hidden;
        height: 100%;
    }

    .page-wrapper {
        min-height: 100vh;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .main-container {
        flex-direction: column;
        padding: 40px 20px;
        justify-content: center;
        align-items: center;
        min-height: 100vh;
        width: 100%;
        box-sizing: border-box;
        position: relative;
    }

    /* Hide non-essential desktop decorative elements */
    .right-column-carousel,
    .nav-arrow-right,
    .decorative-line-vertical,
    .bg-rays {
        display: none !important;
    }

    .decorative-scratch {
        display: block !important;
        width: 300px;
        height: 150px;
        top: 30%;
        left: 50%;
        transform: translate(-50%, -50%);
        opacity: 0.35;
        z-index: -1;
        animation: scratchDraw 2s cubic-bezier(0.4, 0, 0.2, 1) 0.5s forwards;
    }

    .decorative-line-horizontal {
        display: none !important;
    }

    .nav-arrow-left {
        position: fixed;
        top: 20px;
        left: 10px;
        padding: 15px;
        z-index: 100;
        opacity: 0.6;
    }

    .nav-arrow-left svg {
        width: 24px;
        height: 24px;
    }

    .left-column-auth {
        margin-left: 0;
        max-width: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        flex-grow: 1;
        justify-content: center;
    }

    /* Brand Header */
    .brand-header {
        margin-bottom: 50px;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
        animation: mobileFadeIn 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
    }

    .heading-title {
        font-size: clamp(80px, 25vw, 160px);
        line-height: 1;
        text-shadow: 0 0 20px rgba(255, 255, 255, 0.9), 0 0 40px rgba(255, 255, 255, 0.3);
        margin-bottom: 15px;
    }

    .subtitle-pill {
        height: 44px;
        padding: 0 24px;
        border-radius: 40px;
        background: rgba(0, 0, 0, 0.4);
        border: 1px solid #FFFFFF;
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
        opacity: 0;
        animation: mobileFadeIn 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s forwards;
    }

    .subtitle-text {
        font-size: 16px;
        white-space: nowrap;
    }

    /* Auth Form */
    .form-container {
        width: 100%;
        max-width: 320px;
        gap: 16px;
        opacity: 1;
    }

    .input-field-group {
        width: 100%;
        opacity: 0;
        transform: translateY(20px);
    }

    .input-field-group:nth-child(1) {
        animation: mobileSlideUp 0.6s ease 0.5s forwards;
    }

    .input-field-group:nth-child(2) {
        animation: mobileSlideUp 0.6s ease 0.6s forwards;
    }

    .input-control {
        background: #E8F0FE !important;
        color: #111 !important;
        border: none !important;
        border-radius: 14px !important;
        height: 60px !important;
        font-size: 16px !important;
        padding-left: 54px !important;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4) !important;
    }

    .submit-btn {
        background: transparent !important;
        border: 1px solid rgba(255, 255, 255, 0.4) !important;
        border-radius: 14px !important;
        height: 60px !important;
        font-size: 20px !important;
        margin-top: 10px;
        color: #fff !important;
        opacity: 0;
        transform: translateY(20px);
        animation: mobileSlideUp 0.6s ease 0.7s forwards;
    }

    .text-links-container {
        margin-top: 30px;
        gap: 15px;
        opacity: 0;
        animation: mobileFadeIn 0.8s ease 0.9s forwards;
    }

    @keyframes mobileFadeIn {
        from {
            opacity: 0;
            transform: translateY(-10px) scale(0.98);
        }

        to {
            opacity: 1;
            transform: translateY(0) scale(1);
        }
    }

    @keyframes mobileSlideUp {
        from {
            opacity: 0;
            transform: translateY(20px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* Dashboard Mobile Grid (Polished) */
    .db-body {
        overflow-y: auto !important;
        position: relative !important;
    }

    .db-cards-layer {
        position: relative !important;
        inset: auto !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        grid-template-areas: none !important;
        gap: 12px !important;
        padding: 80px 15px 120px 15px !important;
        height: auto !important;
        min-height: 100vh !important;
        box-sizing: border-box !important;
    }

    /* Mobile card order: only 4 visible cards */
    .db-card--finance {
        order: 1 !important;
    }

    .db-card--photos {
        order: 2 !important;
    }

    .db-card--inventory {
        order: 3 !important;
    }

    .db-card--events {
        order: 4 !important;
    }

    .db-card {
        grid-area: auto !important;
        aspect-ratio: 1 / 1.3 !important;
        border-radius: 20px !important;
        padding: 20px 15px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        text-align: left !important;
        transform: none !important;
        background: rgba(10, 10, 20, 0.9) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
        overflow: hidden !important;
        position: relative !important;
    }

    /* Hide cards not needed in mobile layout — must come AFTER .db-card to win specificity */
    .db-card--user-info,
    .db-card--updates,
    .db-card--placeholder,
    .db-card--notch-tr,
    .db-card--notch-tl {
        display: none !important;
    }

    .db-card::after {
        display: none !important;
    }

    /* Card Content Scaling for "Zoomed Out" View */
    .db-finance-title,
    .db-photos-title,
    .db-inventory-title,
    .db-events-title {
        font-family: 'Montserrat', sans-serif !important;
        font-size: 22px !important; /* Larger fonts because phone is zoomed out without viewport tag */
        font-weight: 900 !important;
        margin: 10px 0 5px 0 !important;
        line-height: 1.1 !important;
        color: #fff !important;
        text-transform: uppercase !important;
        text-align: left !important;
        width: 100% !important;
    }

    /* Icon box for mobile */
    .db-card .mob-finance-icon,
    .db-card .mob-photo-icon,
    .db-card .mob-inventory-icon,
    .db-card .mob-events-icon {
        width: 44px !important;
        height: 44px !important;
        background: rgba(255, 255, 255, 0.2) !important;
        border-radius: 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 5px !important;
    }


    .db-card--finance {
        background-image: url('assets/money.jpg') !important;
        background-size: cover !important;
    }

    .db-card--photos {
        background-image: url('assets/photo.jpg') !important;
        background-size: cover !important;
    }

    .db-card--inventory {
        background-image: url('assets/inventory.jpg') !important;
        background-size: cover !important;
    }

    .db-card--events {
        background-image: url('assets/team.jpg') !important;
        background-size: cover !important;
    }

    .db-card::before {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.8)) !important;
        z-index: 0 !important;
    }

    .db-card>* {
        position: relative !important;
        z-index: 1 !important;
    }

    /* Hide ALL leaked desktop UI elements and extra text */
    .db-finance-text,
    .db-photos-text,
    .db-inventory-text,
    .db-events-list,
    .db-user-info-rows,
    .db-folder-wrapper,
    .db-folder-body,
    .db-finance-content p,
    .db-photos-content p,
    .db-inventory-content p,
    .gallery-controls,
    .db-photos-controls-preview,
    .db-finance-particles,
    .db-inventory-box-container,
    .db-campfire-glow,
    .db-user-panel-pattern,
    .db-user-panel-overlay,
    .db-finance-overlay,
    .db-tab-badge {
        display: none !important;
    }

    /* Fix Updates Card (rt2) */
    .db-card--updates .db-folder-tabs {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .db-card--updates .db-folder-tab:not(.active) {
        display: none !important;
    }

    .db-card--updates .db-folder-tab {
        font-family: 'Coolvetica', sans-serif !important;
        font-size: 24px !important;
        color: #fff !important;
        background: none !important;
        border: none !important;
        padding: 0 !important;
    }

    .db-card--updates::before {
        content: '\1F514' !important;
        font-size: 48px !important;
        display: block;
        margin-bottom: 5px;
    }

    /* Polishing Card Content based on User Reference */
    .db-card--finance {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        /* Center the group slightly */
        padding: 30px !important;
        text-align: left !important;
    }

    .db-card--finance .db-finance-icon {
        width: 80px !important;
        /* Larger icon like in reference */
        height: 80px !important;
        background: rgba(255, 255, 255, 0.15) !important;
        backdrop-filter: blur(15px) !important;
        -webkit-backdrop-filter: blur(15px) !important;
        border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
        border-radius: 22px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 15px !important;
        /* Space before title */
        margin-top: 20px !important;
        /* Space from top */
    }

    .db-card--finance .db-finance-icon svg {
        width: 40px !important;
        height: 40px !important;
    }

    .db-finance-title {
        font-family: 'Montserrat', sans-serif !important;
        font-size: 34px !important;
        /* Large but balanced for Montserrat */
        font-weight: 900 !important;
        margin: 0 0 10px 0 !important;
        line-height: 1 !important;
        letter-spacing: -1px !important;
        word-wrap: break-word !important;
        white-space: normal !important;
    }


    .db-finance-text {
        display: block !important;
        /* Force visibility for finance description */
        font-size: 14px !important;
        color: rgba(255, 255, 255, 0.7) !important;
        line-height: 1.2 !important;
        font-weight: 500 !important;
        margin-top: 5px !important;
        position: relative !important;
        z-index: 2 !important;
    }






    /* Highly Specific Finance Card Overrides */
    .db-card--finance .db-finance-content .db-finance-text {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        font-size: 14px !important;
        color: rgba(255, 255, 255, 0.7) !important;
        line-height: 1.2 !important;
        margin-top: 5px !important;
        position: relative !important;
        z-index: 5 !important;
    }

    .db-card--finance .db-finance-particles {
        display: block !important;
        visibility: visible !important;
        opacity: 0.4 !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
    }

    /* Ensure money fall animation is active */
    @keyframes moneyFall {
        0% {
            transform: translateY(-20px) rotate(0deg);
            opacity: 0;
        }

        10% {
            opacity: 1;
        }

        90% {
            opacity: 1;
        }

        100% {
            transform: translateY(100vh) rotate(360deg);
            opacity: 0;
        }
    }

    /* Specific Photos Card Mobile Implementation */
    .db-card--photos {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        padding: 30px !important;
        text-align: left !important;
        color: #fff !important;
        transition: all 0.4s ease !important;
        overflow: hidden !important;
        position: relative !important;
    }

    /* Gray Filter / Dark Overlay (Default) - Matching Finance */
    .db-card--photos::before {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.8)) !important;
        z-index: 1 !important;
        transition: opacity 0.4s ease !important;
        opacity: 1 !important;
        display: block !important;
    }

    /* Reveal Image on Hover - Matching Finance */
    .db-card--photos:hover::before {
        opacity: 0.2 !important;
    }

    /* Glow on Hover (Keeping current cyan/blue shadow) */
    .db-card--photos:hover {
        box-shadow:
            0 0 30px rgba(0, 242, 255, 0.3),
            inset 0 0 15px rgba(0, 242, 255, 0.2) !important;
        border-color: rgba(0, 242, 255, 0.5) !important;
    }

    /* Force the content wrapper to be ignored */
    .db-card--photos .db-photos-content {
        display: contents !important;
    }

    /* Photos Icon Box (Real element - pseudoelements don't work on display:contents) */
    .db-card--photos .mob-photo-icon {
        width: 80px !important;
        height: 80px !important;
        background: rgba(255, 255, 255, 0.15) !important;
        backdrop-filter: blur(15px) !important;
        -webkit-backdrop-filter: blur(15px) !important;
        border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
        border-radius: 22px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 15px !important;
        margin-top: 20px !important;
        order: -2 !important;
        position: relative !important;
        z-index: 5 !important;
        transition: background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease, transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1) !important;
        flex-shrink: 0 !important;
    }

    /* Icon Animation on Card Hover - Rise + Scale + Rotate (Matching Finance) */
    .db-card--photos:hover .mob-photo-icon {
        background: rgba(255, 255, 255, 0.25) !important;
        border-color: #fff !important;
        box-shadow: 0 0 25px rgba(255, 255, 255, 0.4) !important;
        transform: translateY(-8px) scale(1.1) rotate(5deg) !important;
    }

    .db-card--photos .db-photos-title {
        display: block !important;
        visibility: visible !important;
        font-family: 'Montserrat', sans-serif !important;
        font-size: 34px !important;
        font-weight: 900 !important;
        margin: 0 0 10px 0 !important;
        line-height: 1 !important;
        letter-spacing: -1px !important;
        text-align: left !important;
        color: #ffffff !important;
        order: -1 !important;
        width: 100% !important;
        text-shadow: 0 4px 15px rgba(0, 0, 0, 1) !important;
        position: relative !important;
        z-index: 5 !important;
        transition: transform 0.4s ease !important;
        /* Smooth rising */
    }

    /* Text Rising Animation on Hover - Matching Finance */
    .db-card--photos:hover .db-photos-title,
    .db-card--photos:hover .db-photos-text {
        transform: translateY(-8px) !important;
    }

    .db-card--photos .db-photos-text {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        font-size: 14px !important;
        color: rgba(255, 255, 255, 0.8) !important;
        line-height: 1.2 !important;
        font-weight: 500 !important;
        margin-top: 5px !important;
        text-align: left !important;
        width: 100% !important;
        order: 0 !important;
        position: relative !important;
        z-index: 5 !important;
        transition: transform 0.4s ease !important;
        /* Smooth rising */
    }



    /* Photos Controls - Left Aligned */
    .db-card--photos .gallery-controls {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        justify-content: flex-start !important;
        margin-top: 15px !important;
        order: 1 !important;
    }


    .db-card--photos .gallery-add-btn {
        width: 44px !important;
        height: 44px !important;
        background: #D48806 !important;
        border-radius: 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Title + text rise on hover */
    .db-card--inventory:hover .db-inventory-title,
    .db-card--inventory:hover .db-inventory-text {
        transform: translateY(-8px) !important;
    }

    /* === EVENTS CARD - Mobile (Finance pattern) === */
    .db-card--events {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        padding: 30px !important;
        text-align: left !important;
        transition: all 0.4s ease !important;
        overflow: hidden !important;
        position: relative !important;
    }

    /* Dark overlay */
    .db-card--events::before {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.85)) !important;
        z-index: 1 !important;
        transition: opacity 0.4s ease !important;
        opacity: 1 !important;
        display: block !important;
    }

    .db-card--events:hover::before {
        opacity: 0.2 !important;
    }

    /* Glow on hover */
    .db-card--events:hover {
        box-shadow:
            0 0 30px rgba(255, 100, 100, 0.3),
            inset 0 0 15px rgba(255, 100, 100, 0.15) !important;
        border-color: rgba(255, 120, 120, 0.5) !important;
    }

    /* Force content wrapper transparent */
    .db-card--events .db-events-content {
        display: contents !important;
    }

    /* Glassmorphism icon box */
    .db-card--events .mob-events-icon {
        width: 80px !important;
        height: 80px !important;
        background: rgba(255, 255, 255, 0.15) !important;
        backdrop-filter: blur(15px) !important;
        -webkit-backdrop-filter: blur(15px) !important;
        border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
        border-radius: 22px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 15px !important;
        margin-top: 20px !important;
        order: -2 !important;
        position: relative !important;
        z-index: 5 !important;
        transition: background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease, transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1) !important;
        flex-shrink: 0 !important;
    }

    /* Icon rise + scale + rotate on hover */
    .db-card--events:hover .mob-events-icon {
        background: rgba(255, 255, 255, 0.25) !important;
        border-color: #fff !important;
        box-shadow: 0 0 25px rgba(255, 255, 255, 0.4) !important;
        transform: translateY(-8px) scale(1.1) rotate(5deg) !important;
    }

    /* Title */
    .db-card--events .db-events-title {
        display: block !important;
        visibility: visible !important;
        font-family: 'Montserrat', sans-serif !important;
        font-size: 34px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        letter-spacing: -1px !important;
        color: #fff !important;
        margin: 0 0 10px 0 !important;
        text-shadow: 0 4px 15px rgba(0, 0, 0, 1) !important;
        order: -1 !important;
        position: relative !important;
        z-index: 5 !important;
        transition: transform 0.4s ease !important;
        word-wrap: break-word !important;
        white-space: normal !important;
        text-transform: uppercase !important;
        width: 100% !important;
    }

    /* Events list — shows below title via order */
    .db-card--events .db-events-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        width: 100% !important;
        order: 0 !important;
        position: relative !important;
        z-index: 5 !important;
        transition: transform 0.4s ease !important;
    }

    /* Each event row */
    .db-card--events .db-event-item {
        display: flex !important;
        flex-direction: column !important;
        gap: 1px !important;
        padding: 6px 8px !important;
        background: rgba(255, 255, 255, 0.08) !important;
        border-left: 2px solid rgba(255, 100, 100, 0.7) !important;
        border-radius: 6px !important;
    }

    .db-card--events .db-event-date {
        font-size: 9px !important;
        color: rgba(255, 255, 255, 0.5) !important;
        font-weight: 600 !important;
        letter-spacing: 0.5px !important;
        text-transform: uppercase !important;
    }

    .db-card--events .db-event-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 4px !important;
    }

    .db-card--events .db-event-name {
        font-size: 11px !important;
        font-weight: 800 !important;
        color: #fff !important;
        letter-spacing: 0.3px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 75% !important;
    }

    .db-card--events .db-event-participants {
        display: flex !important;
        align-items: center !important;
        gap: 3px !important;
        font-size: 10px !important;
        color: rgba(255, 255, 255, 0.6) !important;
        font-weight: 700 !important;
    }

    .db-card--events .db-no-events {
        display: block !important;
        font-size: 11px !important;
        color: rgba(255, 255, 255, 0.4) !important;
        font-style: italic !important;
        margin: 0 !important;
    }

    /* Title & Events list rise on hover */
    .db-card--events:hover .db-events-title,
    .db-card--events:hover .db-events-list {
        transform: translateY(-8px) !important;
    }


    .db-profile-orb {
        width: 100px !important;
        height: 100px !important;
        position: fixed !important;
        bottom: 30px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        z-index: 999 !important;
        background: #000 !important;
        border-radius: 50% !important;
        box-shadow: 0 0 40px rgba(0, 0, 0, 0.9) !important;
    }

    .db-profile-orb__ring {
        border-width: 3px !important;
    }

    .db-profile-emblem {
        width: 48px !important;
    }

    .db-power-icon {
        width: 36px !important;
        height: 36px !important;
    }
}
