@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%;
    height: 100%;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: var(--text-primary);
    background-color: var(--bg-base);
    overflow: hidden;
}

@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: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.background-canvas {
    position: absolute;
    inset: 0;
    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);
}

/* Optional Basic Responsiveness */
@media (max-width: 1200px) {
    .heading-title {
        font-size: 97px;
    }

    .cards-stage {
        max-width: 600px;
    }

    .active-center-card {
        width: 360px;
        height: 380px;
    }

    .card-mid-left {
        width: 300px;
        height: 320px;
        transform: translateX(-120px) scale(0.9);
    }

    .card-mid-right {
        width: 300px;
        height: 320px;
        transform: translateX(120px) scale(0.9);
    }

    .card-deep-left,
    .card-deep-right {
        display: none;
    }
}

@media (max-width: 900px) {
    .main-container {
        flex-direction: column;
        justify-content: center;
        gap: 60px;
        padding-top: 40px;
        height: 100vh;
        overflow-y: auto;
    }

    .left-column-auth {
        margin: 0;
        padding: 0 20px;
        align-items: center;
        text-align: center;
    }

    .right-column-carousel {
        display: none; /* Hide the large photo carousel on mobile login to prevent overlap */
    }

    .cards-stage {
        display: none;
    }

    .nav-arrow-direction {
        position: absolute;
        top: auto;
        bottom: 20px;
        background: rgba(255, 255, 255, 0.1);
        border-radius: 50%;
        padding: 12px;
    }

    .nav-arrow-left {
        left: 40px;
    }

    .nav-arrow-right {
        right: 40px;
    }
}

/* ======================================= */


/* ================================================ */
/*  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);
    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);
    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.6);
    line-height: 1.6;
    max-width: 210px;
}

/* 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;
    /* РќРµРјРЅРѕРіРѕ РїСЂРёРїРѕРґРЅРёРјР°РµРј С‚РµРєСЃС‚ РёР·-Р·Р° РґСѓРіРѕРІРѕРіРѕ РІС‹СЂРµР·Р° СЃРЅРёР·Сѓ */
}

.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);
    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);
    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);
    /* Уменьшено размытие для лучшей видимости фото */
}

.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);
    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);
}

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);
}

/* РљР°СЃС‚РѕРјРЅРѕРµ РјРѕРґР°Р»СЊРЅРѕРµ РѕРєРЅРѕ */
.db-modal {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: rgba(0, 0, 0, 0.8);
    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);
    /* 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);
    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;
    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;
    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-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);
}

.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);
}

.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) --- */

@media (max-width: 1200px) {
    .db-cards-layer {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "lt ct"
            "rt1 ct"
            "rt2 ct";
        gap: 15px;
        padding-bottom: 40px;
    }

    .db-container {
        padding: 40px;
    }

    .db-card--photos {
        max-height: 100%;
        min-height: 400px;
    }
}

@media (max-width: 850px) {
    html, body {
        overflow-y: auto !important;
        overflow-x: hidden !important;
        height: auto !important;
    }

    .db-container {
        position: relative;
        height: auto !important;
        padding: 60px 20px 40px;
        overflow-y: visible !important;
    }

    .db-cards-layer {
        display: flex;
        flex-direction: column;
        gap: 20px;
        position: relative;
        height: auto;
    }

    .db-card {
        width: 100%;
        min-height: auto;
    }

    /* Adjust specific card heights for mobile */
    .db-card--finance {
        height: 280px;
        order: 2;
    }

    .db-card--photos {
        height: 350px;
        order: 1;
    }

    .db-card--user-info {
        height: auto;
        padding: 25px;
        order: 3;
    }

    .db-card--events {
        height: 500px;
        order: 4;
    }

    .db-card--photos .db-photos-title {
        font-size: 32px;
    }

    .db-card--finance .db-finance-title {
        font-size: 24px;
    }

    .db-shutdown-btn {
        display: none;
        /* Hide shutdown on mobile for safety */
    }

    /* Fix Profile Orb overlap on mobile */
    .db-profile-orb {
        position: relative;
        top: auto;
        left: auto;
        transform: scale(0.7);
        margin: 20px auto 40px auto;
        z-index: 100;
    }

    /* Reset the orb Entrance animation on mobile to prevent translate overrides */
    .db-profile-orb {
        animation: none;
        opacity: 1;
    }
}

/* ================================================ */
/*  CALENDAR UPGRADES                               */
/* ================================================ */

/* ============================================
   ПАНЕЛЬ: СБОРЫ (cbr)
   ============================================ */
.db-card--collection {
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: rgba(15, 12, 35, 0.95) !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);
}

.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;
}