@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

* {
    margin: 0;
    padding: 0;
    font-family: Montserrat, Arial, sans-serif;
    
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.1) transparent;
}

html, body {
    margin: 0;
    padding: 0;
    overflow: visible;
}

a{
    text-decoration: none;
}

input{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; 
    transition: border-color 0.2s ease;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

.input-error {
    border: 1px solid #f44336 !important;
    animation: shake 0.25s ease-in-out;
    background-color: #ffebee;
    outline: none;
}

.input-error:focus {
    outline: 2px solid rgba(244, 67, 54, 0.3);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-background-clip: text;
    background-color: transparent !important;
    transition: background-color 5000s ease-in-out 0s;
    box-shadow: inset 0 0 20px 20px transparent;
}

html::-webkit-scrollbar {
    width: 11px;
}
  
html::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: #ffffff;
}

html::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: #dfdfdf;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color:#fff;
    overflow-x: hidden;
    color: rgb(0, 0, 0);
}

body.dimmed {
    background-color: rgba(109, 109, 109, 0.5); 
    backdrop-filter: blur(5px);
    transition: background-color 0.3s, backdrop-filter 0.3s;
}

:root {
    --color1: #7dc5ff;
    --color2: rgba(184, 220, 255, 0.6);
    --color3: #0085f1;
    --color7: rgb(96, 255, 122);

    --remarksclr: rgba(255, 186, 96, 0.705);
    --odobrclr: rgb(96, 255, 122, 0.705);
    --delclr: rgb(255, 96, 96, 0.705);

    --blue-back: #0073c0;
    --green-back: #00aaaa;
    --blue-back-hover: #0067ac;

    --moreblue_text: darkblue;
    --gray_text: rgb(170, 170, 170);

    --not-edit-color: rgb(132,132,132);
    --border-color: #D9D9D9;
    --border-color-blue:#dce7fa;
    --comment-row: #ffdcae65;

    --active-row: #def0ff;
    --primary: #5c5c5c;
    --primary-dark: #000000;
    --secondary: #272330;
    --accent: #06B6D4;
    --background: #0F172A;
    --surface: rgba(30, 41, 59, 0.7);
    --text: #000000;
    --text-secondary: black;
    --border: rgba(148, 163, 184, 0.2);
    --glass: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.1);
    --shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    --glow: 0 0 40px rgba(0, 0, 0, 0.15);

    --message-header-back: #f8fafc;
    --blue-txt: #007bff;
    --blue-txt-dark: #005fc4;
    --blue-txt-link: #0057b4;

}
.export-loading {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.95);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    z-index: 10;
}

.loader-pulse {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #4CAF99;
    animation: pulse 1.2s ease-in-out infinite;
}

.loading-text {
    margin-top: 15px;
    font-size: 14px;
    color: #4CAF99;
    font-weight: 500;
}

@keyframes pulse {
    0% {
        transform: scale(0.8);
        opacity: 0.5;
        box-shadow: 0 0 0 0 rgba(76, 175, 153, 0.7);
    }
    70% {
        transform: scale(1);
        opacity: 1;
        box-shadow: 0 0 0 15px rgba(76, 175, 153, 0);
    }
    100% {
        transform: scale(0.8);
        opacity: 0.5;
        box-shadow: 0 0 0 0 rgba(76, 175, 153, 0);
    }
}

.modal-content {
    position: relative;
    overflow: hidden;
}

.progress-text {
    margin-top: 10px;
    font-size: 12px;
    color: var(--blue-txt);
    font-weight: 500;
}

.loading-spinner {
    position: relative;
    width: 100%;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
    background: transparent;
}

.loader-pulse {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--blue-back, #0073c0);
    animation: load-pulse 0.85s infinite linear;
    box-shadow: 0 0 20px rgba(0, 115, 192, 0.5);
}

.loading-more {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 24px;
    margin: 20px 0;
}

.loader-pulse-small {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--blue-back, #0073c0);
    animation: load-pulse 0.85s infinite ease-in-out;
    box-shadow: 0 0 12px rgba(0, 115, 192, 0.3);
}

.loading-text {
    color: var(--gray-text, #666);
    font-size: 14px;
    font-weight: 500;
    animation: fade-text 1.5s infinite;
}

.message-loader {
    animation: fadeIn 0.3s ease;
}

@keyframes load-pulse {
    0%, 100% {
        transform: scale(0.8);
        opacity: 0.5;
    }
    50% {
        transform: scale(1.2);
        opacity: 1;
    }
}

@keyframes fade-text {
    0%, 100% {
        opacity: 0.5;
    }
    50% {
        opacity: 1;
    }
}

@keyframes load-pulse {
    0% {
        transform: scale(0.15);
        opacity: 0;
    }
    50% {
        opacity: 0.8;
    }
    100% {
        transform: scale(1);
        opacity: 0;
    }
}

@keyframes statPulse {
    0% {
        opacity: 0.5;
        transform: scale(0.95);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.stat-loading {
    animation: statPulse 0.8s ease-in-out infinite;
    opacity: 0.6;
    display: inline-block;
}

.stat-updated {
    animation: statUpdate 0.5s ease-out;
}

@keyframes statUpdate {
    0% {
        transform: scale(1.2);
        color: black;
    }
    100% {
        transform: scale(1);
        color: inherit;
    }
}

.blurred-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    filter: blur(80px);
    animation: gradient-animation 15s ease infinite;
    opacity: 1;
    transition: opacity 3s ease-in-out;
}

@keyframes glitch {
    0%, 100% {
        transform: skew(0deg);
    }
    95% {
        transform: skew(0deg);
    }
    96% {
        transform: skew(5deg);
    }
    97% {
        transform: skew(-5deg);
    }
    98% {
        transform: skew(3deg);
    }
}


@keyframes gradient-animation {
    0% {
        background: linear-gradient(615deg, var(--color1), var(--color2), var(--blue-back));
        opacity: 1;
    }
    50% {
        background: linear-gradient(615deg, var(--color1), var(--color2), var(--blue-back));
        opacity: 0.6;
    }
    100% {
        background: linear-gradient(615deg, var(--color1), var(--color2), var(--blue-back));
        opacity: 1;
    }
}

@keyframes pulse-glow {
    0% {
        filter: drop-shadow(0 0 5px rgb(82, 163, 255)) drop-shadow(0 0 10px rgba(0, 83, 190, 1)) brightness(1.2);
    }
    50% {
        filter: drop-shadow(0 0 30px rgb(0, 153, 255)) drop-shadow(0 0 30px rgba(0, 83, 190, 1)) brightness(1.5);
    }
    100% {
        filter: drop-shadow(0 0 5px rgb(0, 119, 255)) drop-shadow(0 0 10px rgba(0, 83, 190, 1)) brightness(1.2);
    }
}

input:focus,
button:focus,
select:focus,
textarea:focus{
    outline: none ;
}

input[type="text"]:-webkit-autofill,
input[type="email"]:-webkit-autofill {
    color: rgb(0, 0, 0);
    background-color: rgb(142, 229, 255); 
    -webkit-box-shadow: 0 0 0 100px rgba(255, 255, 255, 0) inset;
}

input::-webkit-input-placeholder {  color: rgb(90, 90, 90); }

input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 3px;
    background-color: #ff4c4c; 
    cursor: pointer;
    position: relative;
}

input[type="checkbox"]::before {
    content: '×';
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 20px;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

input[type="checkbox"]:checked {
    background-color: #4CAF50; 
}

input[type="checkbox"]:checked::before {
    content: '✔'; 
    font-size: 11px;
    color: white;
}

/*================= blue_btn ==============*/
.blue_btn {
    line-height: 1.5715;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-weight: 500;
    white-space: nowrap;
    text-align: center;
    cursor: pointer;
    vertical-align: middle;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    user-select: none;
    touch-action: manipulation;
    padding: 9px 32px;
    font-size: 15px;
    border-radius: 12px;
    border: none;
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: rgb(255, 255, 255);
    box-shadow: 0 4px 14px rgba(59, 130, 246, 0.35);
    overflow: hidden;
    box-sizing: border-box;
}

.blue_btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    box-shadow: none;
}

.blue_btn.green{
    background: linear-gradient(135deg, #009b00, #1b8045);
    color: rgb(255, 255, 255);
}

.blue_btn.green:hover {
    background: linear-gradient(135deg, #009b00, #1b8045);
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4);
    transform: translateY(-2px);
}

.blue_btn.transp{
    background: linear-gradient(135deg, #009b0000, #1b804500);
    color: rgb(0, 0, 0) !important;
    border: 1px solid var(--border-color);
}

.blue_btn.transp:hover {
    background: linear-gradient(135deg, #009b0000, #1b804500);
    color: rgb(0, 0, 0);
    border: 1px solid var(--border-color);
}


.blue_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.7s ease;
}

.blue_btn:hover::before {
    left: 100%;
}

.blue_btn svg,
.button-icon{
    width: 17px;
    height: 17px;
    transition: transform 0.3s ease;
    color: white; 
    filter: brightness(0) invert(1);
}

.button-icon-bl {
    width: 14px;
    height: 14px;
    transition: transform 0.3s ease;
    color: rgb(0, 0, 0); 
    /* filter: brightness(0) invert(1); */
}

.blue_btn .button-icon,
.blue_btn:hover svg{
    transform: translateX(4px);
}

.blue_btn:hover {
    background: linear-gradient(135deg, #2563eb, #1e40af);
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4);
    transform: translateY(-2px);
}

.blue_btn:active {
    transform: translateY(0); 
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}
/*================= blue_btn end ==============*/

.google_button{
    position: relative;
    display: flex;
    white-space: nowrap;
    text-align: center;
    cursor: pointer;
    transition: all 0.5s ease;
    user-select: none;
    touch-action: manipulation;
    padding: 9px;  
    border-radius: 40px;
    margin-top: 20px;
    border: none;
    background: rgba(255, 255, 255, 0.507);
    color: rgb(0, 0, 0);
    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.466);
    text-align: center;
    align-items: center;
    justify-content: center;

}

.google_button:hover{
    background-color: rgba(255, 255, 255, 0.555);
    color: black;
    box-shadow: 0 2px 15px var(--blue-back-hover); 
}

.google_button:active {

    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.invisible-btn{
    background-color: #00000000;
    box-shadow: none;
    color: rgb(0, 0, 0);
    font-weight: 500;
    height: 35px;
    padding: 2px 15px;
    font-size: 14px;
    border: none;
    transition: all 0.3s  ease;
    cursor: pointer;
}

.invisible-btn:hover{
    transform: translateY(-2px);
    color: var(--blue-txt);
}

.user-icon-heade{
    display: block;
}

/*================= header ==============*/
:root {
    --bubble-bg-color: rgba(255, 255, 255, 0.3);
    --bubble-blur-amount: 20px;
    --bubble-border: 1px solid rgba(0, 0, 0, 0.08);
    --bubble-shadow: 0 1px 0 rgba(0, 0, 0, 0.02), 0 8px 40px rgba(0, 0, 0, 0.03);
    
    --default-bg: transparent;
    --default-blur: 0px;
    --default-border: none;
    --default-shadow: none;
    
    --animation-speed: 0.5s;
    --animation-easing: cubic-bezier(0.25, 0.46, 0.45, 0.94);

    --default-padding-x: 40px;
    --default-width: calc(100% - 80px);
    --default-border-radius: 0px;
    --default-top: 8px;
    
    --bubble-padding-x: 30px;
    --bubble-width: calc(100% - 20%);
    --bubble-border-radius: 30px;
    --bubble-top: 8px;
}

.fixed-header {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    text-align: center;
    align-items: center; 
    position: fixed;
    top: var(--default-top);
    left: 50%; 
    transform: translateX(-50%);
    margin: 0;
    z-index: 1000;
    height: 60px;
    transition: all var(--animation-speed) var(--animation-easing);
    width: var(--default-width);
    max-width: 1900px;
    padding: 0 var(--default-padding-x);
    font-size: 16px;
    font-weight: 500;

    border-radius: var(--default-border-radius);
    border: var(--default-border);
   
}

.fixed-header.bubble {
    background: var(--bubble-bg-color);
    backdrop-filter: blur(var(--bubble-blur-amount));
    -webkit-backdrop-filter: blur(var(--bubble-blur-amount));
    border-bottom: var(--bubble-border);
    box-shadow: var(--bubble-shadow);
    padding: 0 var(--bubble-padding-x);
    width: var(--bubble-width);
    border-radius: var(--bubble-border-radius);
    animation: bubbleAppear var(--animation-speed) var(--animation-easing) forwards;
}

@keyframes bubbleAppear {
    0% {
        background: var(--default-bg);
        backdrop-filter: blur(var(--default-blur));
        -webkit-backdrop-filter: blur(var(--default-blur));
        border-bottom-color: transparent;
        padding: 0 var(--default-padding-x);
        width: var(--default-width);
        border-radius: var(--default-border-radius);
        box-shadow: var(--default-shadow);
        top: var(--default-top);
    }
    100% {
        background: var(--bubble-bg-color);
        backdrop-filter: blur(var(--bubble-blur-amount));
        -webkit-backdrop-filter: blur(var(--bubble-blur-amount));
        border-bottom: var(--bubble-border);
        padding: 0 var(--bubble-padding-x);
        width: var(--bubble-width);
        border-radius: var(--bubble-border-radius);
        box-shadow: var(--bubble-shadow);
        top: var(--bubble-top);
    }
}

.fixed-header.bubble-reverse {
    animation: bubbleDisappear var(--animation-speed) var(--animation-easing) forwards;
}

@keyframes bubbleDisappear {
    0% {
        background: var(--bubble-bg-color);
        backdrop-filter: blur(var(--bubble-blur-amount));
        -webkit-backdrop-filter: blur(var(--bubble-blur-amount));
        border-bottom: var(--bubble-border);
        padding: 0 var(--bubble-padding-x);
        width: var(--bubble-width);
        border-radius: var(--bubble-border-radius);
        box-shadow: var(--bubble-shadow);
        top: var(--bubble-top);
    }
    100% {
        background: var(--default-bg);
        backdrop-filter: blur(var(--default-blur));
        -webkit-backdrop-filter: blur(var(--default-blur));
        border-bottom-color: transparent;
        padding: 0 var(--default-padding-x);
        width: var(--default-width);
        border-radius: var(--default-border-radius);
        box-shadow: var(--default-shadow);
        top: var(--default-top);
    }
}

@media (max-width: 768px) {
    :root {
        --default-padding-x: 30px;
        --default-width: calc(100% - 60px);
        

        --bubble-width: calc(100% - 20%);
        --bubble-border-radius: 20px;
    }
    
    .fixed-header {
        padding: 0 var(--default-padding-x);
        width: var(--default-width);
    }
    
    .fixed-header.bubble {

        width: var(--bubble-width);
        border-radius: var(--bubble-border-radius);
    }
    
    .header-left, 
    .header-right {
        flex: 1;
        display: flex;
        align-items: center;
    }
    

    
    @keyframes bubbleAppear {
        0% {
            padding: 0 var(--default-padding-x);
            width: var(--default-width);
            top: var(--default-top);
        }
        100% {
            padding: 0 var(--bubble-padding-x);
            width: var(--bubble-width);
            border-radius: var(--bubble-border-radius);
            top: var(--bubble-top);
        }
    }
    
    @keyframes bubbleDisappear {
        0% {
            padding: 0 var(--bubble-padding-x);
            width: var(--bubble-width);
            border-radius: var(--bubble-border-radius);
            top: var(--bubble-top);
        }
        100% {
            padding: 0 var(--default-padding-x);
            width: var(--default-width);
            border-radius: var(--default-border-radius);
            top: var(--default-top);
        }
    }
}



header nav ul {
    display: flex;
    align-items: center;
    list-style: none;
    text-align: center;
    justify-content: center;
    margin: 0;
}

.header-left, .header-right {
    flex: 1;
    text-align: center;
}

.header-left{
    text-align: left;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}

.name_app{
    display: flex;
    flex-direction: row;
    text-align: center;
    align-items: center;
    gap: 15px;
}

.name_app img{
    width: 40px;
    height: auto;
    cursor: pointer;
}

.header-left nav ul li a{
    text-decoration: none;
    color: black;
    font-weight: 500;
    font-size: 17px;
}

.header-right {
    text-align: right;
    display: flex;
    flex-direction: row;
    text-align: center;
    justify-content: end;
    align-items: center;
    list-style: none;
    font-size: 16px;
    font-weight: 500;
}

/*them toggle*/


.header-right label {
    margin-right: 220px;
    width: 60px;
    height: 30px;
    position: relative;
    display: block;
    background: linear-gradient(145deg, #f0f0f0, #d8d8d8);
    border-radius: 50px;
    box-shadow: inset 2px 2px 5px rgba(0,0,0,0.2), inset -2px -2px 5px rgba(255,255,255,0.7);
    cursor: pointer;
    transition: background 0.3s ease;
}

.header-right li{
    cursor: pointer;
}


.header-center {
    flex: 2;
    text-align: center;
    justify-content: center;
    z-index: 100;
}

.header-center nav ul li {
    margin: 0 17px; 
    transition: color 0.3s ease;
    cursor: pointer;
}

.header-center nav ul li:hover {
    color: #49adff;  
}

.header-center nav ul li.blinking-item:hover {
    color: #0066b9;  
}
.admin-dropdown {
    position: relative;
}

.admin-dropdown .menu-text {
    cursor: pointer;
    transition: color 0.3s ease;
}

.admin-dropdown:hover .menu-text {
    color: #49adff;
}

.admin-dropdown-menu {
    position: absolute;
    top: calc(100% + 12px);
    width: fit-content;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    min-width: fit-content;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    list-style: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    text-align: left;
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 20px 35px -8px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.02);
    border-radius: 16px;
}

.admin-dropdown:hover .admin-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.admin-dropdown-menu::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 12px;
    height: 12px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: -2px -2px 5px -3px rgba(0, 0, 0, 0.05);
    border-radius: 3px;
}

.admin-dropdown-menu li {
    position: relative;
    margin: 0 !important;
    padding: 12px 24px 12px 48px;
    white-space: nowrap;
    width: 100%;
    transition: all 0.25s ease;
    cursor: pointer;
    color: #1a1a2e !important;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.3px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-sizing: border-box;
}

.admin-dropdown-menu li svg {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    stroke: #000000b2 !important;
    color: #000000b2 !important;
    transition: all 0.25s ease;
}

.admin-dropdown-menu li:hover svg {
    stroke: #49adff !important;
    color: #49adff !important;
    transform: translateY(-50%) scale(1.05);
}

.admin-dropdown-menu li:first-child {
    border-radius: 16px 16px 0 0;
}

.admin-dropdown-menu li:last-child {
    border-radius: 0 0 16px 16px;
}

.admin-dropdown-menu li:hover {
    background: linear-gradient(90deg, rgba(73, 173, 255, 0.08) 0%, rgba(73, 173, 255, 0.03) 100%);
    color: #49adff !important;
    padding-left: 48px;
}

.admin-dropdown-menu li:active {
    transform: scale(0.98);
}

.header img{
    width: 30px;
    height: auto;
    cursor: pointer;
}
/* ============= user-navigation ================*/
.user-navigation {
    position: fixed;
    z-index: 9999 !important;
    will-change: transform;
    background-color: white;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    border-radius: 16px;
    right: 40px;
    padding: 8px;
    opacity: 0;
    display: flex;
    gap: 4px;
    flex-direction: column;
    top: 0;
    visibility: hidden;
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
                top 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
                visibility 0s 0.3s;

    min-width: 220px;
    border: 1px solid rgba(226, 232, 240, 0.6);
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.98);
}

.user-navigation hr{
    margin: 3px 0;
    border: none;
    border-top: 1px solid var(--border-color);
}

.user-navigation.show {
    opacity: 1;
    top: 70px;
    visibility: visible;
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
                top 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.user-navigation.hidden {
    opacity: 0;
    top: 0;
    right: 40px;
    visibility: hidden;
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
                top 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
                visibility 0s 0.3s;
}


.online-cont {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 12px 5px 8px;
    border-radius: 100px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2);
    border-radius: 24px;
    margin-right: 10px;
}

.online-indicator {
    width: 10px;
    height: 10px;
    background-color: #4ade80;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.7);
    animation: pulse-green 2s infinite;
}

.online-count {
    font-size: 14px;
    font-weight: 600;
    color: #000000;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

@keyframes pulse-green {
    0% {
        box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.7);
    }
    70% {
        box-shadow: 0 0 0 6px rgba(74, 222, 128, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(74, 222, 128, 0);
    }
}

.online-cont:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.35);
}

.online-cont:hover .online-indicator {
    transform: scale(1.2);
}

.online-cont:hover .online-count {
    transform: scale(1.05);
}

.user-container {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 15px;
    padding: 3px 8px;
    border-radius: 100px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2);
    border-radius: 24px;
}

.user-container:hover {
  transform: translateY(-4px);
  border-color: var(--primary);
  box-shadow: var(--glow);
}

.avatar-wrapper {
    position: relative;
}


.user-container:hover .avatar-wrapper::before {
    opacity: 1;
    animation: spin 3s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.avatar-circle {
    padding: 3px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--glass);
    border-radius: 16px;
    border: 1px solid var(--glass-border);
    transition: all 0.3s ease;

}


.avatar-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.user-container:hover .avatar-circle img {
    transform: scale(1.1);
}

.chevron-icon {
    color: #4b5563;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
}

.user-container:hover .chevron-icon {
    transform: translateX(4px) rotate(0deg);
    color: #3b82f6;
    background: rgba(59, 130, 246, 0.1);
}

.user-container:active {
    transform: scale(0.97);
}

.user-container:hover {
    animation: none;
}

.user-navigation button {
    border: none;
    border-radius: 12px;
    background-color: transparent;
    color: #1e293b;
    width: 100%;
    font-size: 13px;
    font-weight: 500;
    padding: 8px 12px;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    overflow: hidden;
}

.user-navigation button::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
    background-color: #f1f5f9;
    transition: width 0.2s ease;
    z-index: -1;
}

.user-navigation button:hover::before {
    width: 100%;
}

.user-navigation button svg {
    width: 18px;
    height: 18px;
    color: #64748b;
    transition: all 0.2s ease;
}

.user-navigation button:hover svg {
    color: #3b82f6;
    transform: translateX(2px);
}

.user-navigation button:active {
    transform: scale(0.98);
}

.user-navigation button:last-child {
    color: #dc2626;
}

.user-navigation button:last-child svg {
    color: #dc2626;
}

.user-navigation button:last-child::before {
    background-color: #fee2e2;
}

.user-navigation button:last-child:hover {
    color: #b91c1c;
}

.user-navigation button:last-child:hover svg {
    color: #b91c1c;
}

.user-navigation-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, #e2e8f0, transparent);
    margin: 4px 0;
}
/*================= header end ==============*/

main {
    flex: 1;
    width: 100%;
}

.footer{
    background-color: var(--blue-back);
    padding: 40px 0 40px 0;
}

.footer-container{
    max-width: 1170px;
    margin: auto;
}
.footer-row{
    display: flex;
    flex-wrap: wrap;
}

.footer-col{
    width: 28%;
    padding: 0 15px;
}

.footer-col h4 {
    position: relative;
    font-size: 17px;
    color: rgb(255, 255, 255);
    text-transform: capitalize;
    margin-bottom: 35px;
    font-weight: 500;
    cursor: pointer;
    transition: color 0.3s;
    display: inline-block;
}

.footer-col h4:hover {
    color: black;
}

.footer-col h4::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -10px;
    background-color: rgb(255, 255, 255);
    height: 2px;
    box-sizing: border-box;
    width: 100%;
}

.footer-col ul li{
    list-style-type: none; 
    display: flex;
    flex-direction: row;
    gap: 15px;
}

.footer-col ul li svg{
    width: 24px;
    height: 24px;
    color: white;
}

.footer-col ul li:not(:last-child){
    margin-bottom: 24px;
}

.footer-col ul li a{
    font-size: 16px;
    color: rgb(255, 255, 255);
    font-weight: 500;
    text-decoration: none;
    display: block;
    transition: all 0.3s ease; 
    cursor: pointer;
}

.footer-col ul li a:hover{
    color: rgb(0, 0, 0);
    padding-left: 8px;
}

.footer-col .social-links a{
    display: inline-block;
    height: 40px;
    width: 40px;
    background-color: rgba(225, 225, 225, 0.2);
    margin: 0 10px 10px 0;
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    color: white;
    transition: all 0.5s ease;
}

.footer-col .social-links a:hover{
    color: black;
    background-color: white;
}

.footer_org{
    color: white;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.5s ease;
}

.footer_org:hover{
    color: black;

}


/* MESSAGE FLASH */
#flash-container {
  position: fixed;
  bottom: 70px;
  right: 30px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 5;
  align-items: end;
}

.custom-alert {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 16px 50px 16px 60px;
  border-radius: 15px;
  max-width: 320px;
  width: fit-content;
  font-size: 14px;
  color: #000;
  bottom: 40px;
  font-weight: 500;
  position: relative;
  background: var(10px);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 8px 32px 0 rgba(0,0,0,0.1);
  cursor: pointer;
  overflow: hidden;
  transition: transform 0.3s ease, opacity 0.3s ease;
  opacity: 1;
  transform: translateY(0);
  align-items: center;
}

.custom-alert.alert-success {
    background: linear-gradient(135deg, rgba(76, 175, 80, 0.3) 0%, rgba(93, 209, 97, 0.747) 100%);;
}

.custom-alert.alert-danger {
    background: linear-gradient(135deg, rgba(244, 67, 54, 0.3) 0%, rgba(255, 65, 52, 0.541) 100%);
}


.custom-alert.removing {
  opacity: 0;
  transform: translateY(50px); 
}

.custom-alert.collapsed {
  max-height: 60px;
}

.custom-alert.expanded {
  max-height: 500px;
}

.custom-alert img.alert-icon {
  position: absolute;
  top: 12px;
  left: 15px;
  width: 25px;
  height: 25px;
  object-fit: contain;
}

.p_message_cont {
  display: flex;
  flex-direction: column;
}

.alert-close {
  background: none;
  border: none;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  position: absolute;
  right: 16px;
  top: 12px;  
  font-weight: 500;
}

@media (max-width: 768px) {
  #flash-container {
    position: fixed;
    top: 130px; 
    left: 50%; 
    transform: translateX(-50%); 
    right: auto; 
    bottom: auto; 
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 1000;
    width: 90%;
    max-width: 400px;
  }
  
  .custom-alert {
    width: calc(100% - 110px);
    max-width: 100%;
  }
}

/* messages flash end*/

/*================= login and registr pages begin ==============*/
.page_log_reg {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
}

.log_reg_contener{
    display: flex;
    flex-direction: row;     
    border-radius: 5px;
}

.log_reg_info{
    width: 500px;
    background: rgb(255, 255, 255);
    text-align: left;
    display: flex;
    flex-direction: column;
}

.log_reg_info a:first-of-type { 
    font-weight: 600;
    font-size: 18px;
}

.log-reg-form {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    background: rgba(255, 255, 255, 0.2);
    display: flex; 
    flex-direction: column;
    text-align: center;
    align-items: center;
    padding: 30px;    
    border-radius: 17px;
}

#emailChangeForm{
    width: 100%;
}

.link_cont{
    display: flex;
    flex-direction: row;
    text-transform: uppercase;
    justify-content: left;
    width: 100%;
    min-width: 350px;
    margin-top: 10px;
    margin-bottom: 30px;
}

.link_cont a{
    margin: 0;   
    font-weight: bold;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.5s ease;
}

.link_cont a:hover{
    color: var(--blue-back);

    transform: translateY(-5px);
}

.link_cont .active{
    color: var(--blue-back);
}

.aftorization_data,
.registration_data{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
}

.float-label-container {
    position: relative;
    width: 100%;
}

.float-label-container .float-input {
    width: 100%;
    padding: 20px 35px 6px 15px;
    font-size: 14px;
    border: none; 
    border-bottom: 1px solid rgb(56, 56, 56);

    background-color: transparent;
    transition: all 0.3s ease;
    line-height: 1.5;
    box-sizing: border-box;
}

.float-label-container .float-input:focus {
    border-color: var(--blue-back);
    outline: none;
}

.float-label-container .float-input:hover {
    border-color: #259dff;
}

.float-label {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #000000;
    font-size: 14px;
    font-weight: 400;
    pointer-events: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    background-color: transparent;
    padding: 0;
    z-index: 1;
}

.float-label-container .float-input:focus ~ .float-label,
.float-label-container .float-input:not(:placeholder-shown) ~ .float-label {
    top: 20%;
    transform: translateY(-50%);
    font-size: 11px;
    color: var(--blue-back);
    background-color: transparent;
    font-weight: 500;
}

.clear-btn {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    display: none;
    color: #000000;
    font-size: 28px;
    line-height: 1;
    z-index: 2;
}

.float-label-container:hover .clear-btn {
    display: block;
}

.float-label-container .float-input.input-error {
    border-color: #f44336 !important;
    animation: shake 0.25s ease-in-out;
    background-color: #ffebee;
}

.float-label-container .float-input.input-error ~ .float-label {
    color: #f44336;
}


.float-label-container .float-input:-webkit-autofill ~ .float-label,
.float-label-container .float-input:-webkit-autofill:focus ~ .float-label {
    top: 20%;
    transform: translateY(-50%);
    font-size: 11px;
}

.float-label-container .float-input:disabled {
    background-color: #f5f5f5;
    cursor: not-allowed;
}

.float-label-container .float-input:disabled ~ .float-label {
    color: #999;
}

#step2 {
    animation: fadeSlideIn 0.4s ease;
}

/* Карточка успеха */
.ce-success-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.08), rgba(34, 197, 94, 0.03));
    border: 1px solid rgba(34, 197, 94, 0.2);
    border-radius: 14px;
    padding: 16px 20px;
    margin-bottom: 20px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.ce-success-icon {
    font-size: 24px;
    line-height: 1;
    margin-top: 2px;
}

.ce-success-content {
    flex: 1;
}

.ce-success-text {
    margin: 0;
    font-size: 14px;
    color: #166534;
    line-height: 1.5;
}

.ce-success-text strong {
    font-weight: 600;
}

.ce-email-display {
    display: inline-block;
    background: rgba(34, 197, 94, 0.15);
    color: #16a34a;
    font-weight: 600;
    padding: 1px 12px;
    border-radius: 6px;
    font-size: 14px;
    word-break: break-all;
}

.ce-timer-text {
    margin: 6px 0 0 0;
    font-size: 12px;
    color: #6b7280;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Поле ввода */
.ce-input-group {
    margin-top: 16px;
}

.ce-input-wrapper {
    position: relative;
}

.ce-input {
    width: 100%;
    padding: 14px 40px 14px 16px;
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1.5px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    font-size: 15px;
    color: #1f2937;
    transition: all 0.3s ease;
    outline: none;
    box-sizing: border-box;
    font-family: inherit;
    letter-spacing: 2px;
}

.ce-input:focus {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(59, 130, 246, 0.4);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.06);
}

.ce-input:focus + .ce-clear-btn {
    opacity: 1;
}

.ce-input:not(:placeholder-shown) + .ce-clear-btn {
    opacity: 1;
}

.ce-input.error {
    border-color: #ef4444;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.06);
    animation: shake 0.4s ease;
}

.ce-label {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: rgba(107, 114, 128, 0.6);
    transition: all 0.25s ease;
    pointer-events: none;
    background: transparent;
    padding: 0 4px;
}

.ce-input:focus ~ .ce-label,
.ce-input:not(:placeholder-shown) ~ .ce-label {
    top: -10px;
    left: 12px;
    font-size: 11px;
    color: #3b82f6;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    padding: 0 6px;
    border-radius: 4px;
    font-weight: 500;
}

.ce-clear-btn {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: rgba(107, 114, 128, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
    opacity: 0;
    line-height: 1;
    padding: 4px;
    border-radius: 50%;
}

.ce-clear-btn:hover {
    color: #6b7280;
    background: rgba(107, 114, 128, 0.08);
}

.ce-error-message {
    margin-top: 6px;
    font-size: 13px;
    color: #ef4444;
    display: none;
    padding-left: 4px;
    animation: fadeSlideIn 0.3s ease;
}

.ce-error-message.show {
    display: block;
}

/* Статус сообщение */
.ce-status-message {
    margin-top: 12px;
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 14px;
    text-align: center;
    display: none;
    animation: fadeSlideIn 0.3s ease;
}

.ce-status-message.show {
    display: block;
}

.ce-status-message.success {
    background: rgba(34, 197, 94, 0.08);
    border: 1px solid rgba(34, 197, 94, 0.15);
    color: #16a34a;
}

.ce-status-message.error {
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

/* Группа кнопок */
.ce-button-group {
    display: flex;
    gap: 10px;

    margin-top: 20px;
}

.ce-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    border: none;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    flex: 1;
    min-width: 100px;
    text-decoration: none;
    font-family: inherit;
    position: relative;
    overflow: hidden;
}

.ce-btn::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0);
    transition: background 0.3s ease;
}

.ce-btn:hover:not(:disabled)::after {
    background: rgba(255, 255, 255, 0.1);
}

.ce-btn:active:not(:disabled) {
    transform: scale(0.96);
}

.ce-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.ce-btn-primary {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: white;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.25);
}

.ce-btn-primary:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(59, 130, 246, 0.35);
}

.ce-btn-secondary {
    background: rgba(107, 114, 128, 0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(107, 114, 128, 0.15);
    color: #4b5563;
}

.ce-btn-secondary:hover:not(:disabled) {
    background: rgba(107, 114, 128, 0.2);
    transform: translateY(-2px);
}

.ce-btn-outline {
    background: transparent;
    border: 1.5px solid rgba(107, 114, 128, 0.2);
    color: #6b7280;
}

.ce-btn-outline:hover:not(:disabled) {
    background: rgba(107, 114, 128, 0.05);
    border-color: rgba(107, 114, 128, 0.3);
    transform: translateY(-2px);
}

.ce-btn svg {
    flex-shrink: 0;
}

.glass-info-block {
    background: rgba(52, 126, 211, 0.08);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(52, 139, 211, 0.2);
    border-radius: 12px;
    padding: 14px 20px;
    margin-bottom: 16px;
    box-shadow: 0 4px 15px rgba(52, 211, 153, 0.05);
    transition: all 0.3s ease;
}

.glass-info-block p {
    margin: 0;
    font-size: 14px;
    display: flex;

    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
    gap: 4px;
}

.glass-info-block .label {
    font-weight: 500;
    color: black;
}

.glass-info-block .email {
    font-weight: 600;
    color: var(--blue-txt);
    background: rgba(52, 139, 211, 0.12);
    padding: 2px 12px;
    border-radius: 6px;
    font-size: 14px;
}

.glass-warning-block {
    background: rgba(251, 191, 36, 0.08);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(251, 191, 36, 0.2);
    border-radius: 12px;
    padding: 12px 18px;
    margin-bottom: 16px;
    box-shadow: 0 4px 15px rgba(251, 191, 36, 0.05);
    transition: all 0.3s ease;
}

.glass-warning-block p {
    margin: 0;
    font-size: 13px;
    color: #78350f;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.glass-warning-block .label {
    font-weight: 600;
    color: #92400e;
}

.glass-warning-block .email {
    font-weight: 500;
    color: #78350f;
    background: rgba(251, 191, 36, 0.12);
    padding: 2px 10px;
    border-radius: 6px;
    font-size: 13px;
}

.glass-warning-block .hint {
    margin-left: 8px;
    font-size: 12px;
    color: #6b7280;
    background: rgba(107, 114, 128, 0.06);
    padding: 2px 10px;
    border-radius: 6px;
}

/* Иконки перед блоками */
.glass-info-block::before {
    margin-right: 10px;
    font-size: 18px;
}

.glass-warning-block::before {
    margin-right: 10px;
    font-size: 16px;
}

/* Анимация при появлении */
.glass-info-block,
.glass-warning-block {
    animation: glassFadeIn 0.5s ease;
}

@keyframes glassFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Адаптивность */
@media (max-width: 480px) {
    .glass-info-block {
        padding: 12px 14px;
    }
    
    .glass-warning-block {
        padding: 10px 14px;
    }
    
    .glass-info-block p,
    .glass-warning-block p {
        font-size: 13px;
    }
}

.error-text{
    color: #d32f2f; 
    font-size: 13px; 
    margin-top: 5px; 
    display: none;
}

/* Анимации */
@keyframes fadeSlideIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-8px); }
    40% { transform: translateX(8px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
}

/* Адаптивность */
@media (max-width: 480px) {
    .ce-success-card {
        padding: 14px 16px;
        gap: 10px;
    }
    
    .ce-success-text {
        font-size: 13px;
    }
    
    .ce-email-display {
        font-size: 13px;
        padding: 1px 10px;
    }
    
    .ce-input {
        padding: 12px 36px 12px 14px;
        font-size: 14px;
    }
    
    .ce-btn {
        padding: 10px 16px;
        font-size: 13px;
        min-width: 70px;
    }
    
    .ce-btn svg {
        width: 16px;
        height: 16px;
    }
}

@media (max-width: 768px) {
    .float-label-container .float-input {
      
        font-size: 14px;
    }
    
    .float-label {
        left: 12px;
        font-size: 13px;
    }
    
    .float-label-container .float-input:focus ~ .float-label,
    .float-label-container .float-input:not(:placeholder-shown) ~ .float-label {
        font-size: 10px;
    }
}

@media (max-width: 480px) {
    .float-label-container .float-input {
       
    }
}


// .aftorization_data input,
// .registration_data input{
//     background: rgba(255, 255, 255, 0);
//     width: 100%;
//     box-sizing: border-box;
//     height: 20px;
//     margin: 10px 0;
//     padding: 15px 20px;
//     border: none; 
//     border-bottom: 1px solid rgb(56, 56, 56); 
//     color: black; 
//     outline: none;
//     font-size: 15px;
// }

.activation_code_container{
    display: flex;
    gap: 10px;
    justify-content: center;
    margin: 20px 0;
}

.activation_code_input{
    background: rgba(255, 255, 255, 0);
    width: 40px;
    text-align: center;
    height: 50px;
    border: none; 
    border-bottom: 1px solid rgb(56, 56, 56); 
    color: black; 
    outline: none;
    font-size: 17px;
}

.log-reg-form .remember_cont {
    border: none;
    text-align: left; 
    font-size: 14px;
    flex-direction: row;
    align-items: center;
    margin: 20px 0;
    margin-bottom: 25px;
    vertical-align: middle;
}

.remember_cont input[type='checkbox'] {
    margin: 0 7px;
    margin-left: 15px;
    position: relative;
    width: 17px; 
    height: 17px; 
    border-radius: 50%;
    border: 1px solid rgb(134, 134, 134);
    background-color: rgb(255, 255, 255); 
    cursor: pointer;
    transition: background-color 0.3s ease, border-color 0.3s ease;  
    vertical-align: middle;
}

.remember_cont input[type='checkbox']:checked  {
    background-color: rgb(212, 212, 212); 
    border: 3px solid var(--blue-txt);
}

.remember_cont input[type='checkbox']::before {
    content: '';

}

.remember_cont input[type='checkbox']:checked  {
    content: '';
}

.log_buttons_area{
    display:flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.log_with{
    display:flex;
    flex-direction: row;
    align-items: center;
    justify-content: center ;
    width: 100%;    
}

.log_with button{
    margin: 0 5px;
    margin-top: 15px;
}

.log-reg-form .submit_button{
    margin-top: 10px;
    padding: 5px 20px;
    width: 100%;
    height: 34px;
    cursor: pointer;
    border: none;
    border-radius: 5px;
    font-weight: 500;
    font-size: 13px;
}

.log-reg-form .forgot_cont{
    position: relative;
    text-align: center;
    display: flex;
    flex-direction: column;
}

.log-reg-form .forgot_cont a{
    color: rgb(0, 0, 0);
    font-size: 12px;
    cursor: pointer;
    margin: 10px 0;
    font-weight: 500;
    transition: all 0.3s ease;
}

.log-reg-form .forgot_cont a:hover{
    transform: translateY(-2px);
}


.under-link{
    background-color: transparent;
    margin: 10px 0;
    border: none;
    font-size: 13px;
    color: var(--blue-txt);
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease;
    border-bottom: 1px solid transparent;
    cursor: pointer;
}



.under-link:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: #f0f0f0;
    color: #666;
}

.under-link:hover:not(:disabled) {
    color: #0056b3;
    text-decoration: underline;
}

.under-link:focus {
    outline: none;
}
/*================= login and registr pages end ==============*/


/*================= beginPage ==============*/
.hellow_row {
    width: calc(100% );
    min-height: calc(100vh);
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: left;
    padding: 180px 0 0 0;
    padding-left: 7%;
    box-sizing: border-box;
}

.scroll-to-down {
    position: absolute;
    bottom: 40px;
    right: 40px;
}

.scroll-to-down button {
    width: 50px;
    height: 50px;
    background-color: var(--blue-back);
    border: none;
    border-radius: 50%;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.scroll-to-down button:hover {
    background-color: var(--blue-back-hover);
    transform: scale(1.1);
}

.scroll-to-down button:active {
    transform: scale(0.9);
}
  
.hellow_row_left{
    display: flex;
    flex-direction: column;
    max-width: 80%;
    padding-bottom: 200px;
}

.hellow_row_name,
.hellow_row_dop_name{
    font-size: 38px;
    text-transform: uppercase;
    text-align: left;
    font-weight: 600;
}

.hellow_row_name{
    color: transparent;
    animation: fadeInTextblack 1s ease forwards;
}

.hellow_row_dop_name{
    font-weight: 500;
    padding-bottom: 9%;
    animation: fadeInTextblue 1s ease forwards;
}


.hellow_buttonarea {
    display: flex;
    flex-direction: row;
}

@keyframes fadeInTextblack {
    0% {
        opacity: 0; 
    }
    100% {
        opacity: 1;
        color:rgb(0, 0, 0);
    }
}

@keyframes fadeInTextblue {
    0% {
        opacity: 0; 
    }
    100% {
        opacity: 1;
        color:var(--moreblue_text);
    }
}

.hellow_buttonarea button{
    height: 50px;
    width: 260px;
    padding: 0 30px;
    font-size: 16px;
}


.hellow_row_right{
    min-height: 1px;
    padding-left: 30px;
}

.statistics-row {
    max-width: 100%;
    margin-top: 220px;
    background-color: var(--blue-back);
    display: flex;
    flex-direction: row;
    justify-content: center; 
}

.statistics-row-left{
    background-color: white;

}

.statistics-row-left img{
    width: 650px;
    height: 100%;

    padding: 40px;
    box-sizing: border-box;
}

.statistics-row-right{
    width: 400px;
    height: auto;
    display: flex;
    background-color: white;
    flex-direction: column;
    justify-content: center;
    margin-right: 90px;
}

.item_stat{
    display: flex;
    flex-direction: column;
    text-align: center;
    position: relative;
    transition: all 0.3s ease;
    transform: translateY(0);
}

.item_stat:nth-child(2){
    margin: 15% 0
}

.counter-roller {
    display: flex;
    justify-content: center;
}

.digit-wheel {
    overflow: hidden;
    height: 65px;
    width: 35px;
    position: relative;
    border-radius: 8px;
}

.digits-container{
    display: flex;
    flex-direction: row;
}

.digit-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

.digit-wrapper span {
    font-size: 55px;
    font-weight: 600;
    color: var(--blue-back);
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.stat_name{
    font-size: 16px;
    color: #555555;    
    font-weight: 500;
}

.stat_count {
    display: none;
}

.news-row {
    max-width: 100%;
    margin: 0 0;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 30px 0;
    align-items: center;
}

.news-row-left{
    width: 555px;
    height: auto;
    display: flex;
    flex-direction: column;
    padding: 40px 60px;
    justify-content: start;
    background-color: white;
}

.news-row-right{
    max-width: 650px; 
    text-align: center;
}

.news-row-right img{
    width: 80%;
    height: auto;
    max-height: 450px;
    object-fit: cover;    
    border-radius: 20px;
    /* box-shadow: 0 0 10px rgba(0, 0, 0, 0.301);  */
    /* border: 1px solid var(--border-color); */
}

.item_news{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.news_name{
    font-size: 19px;
    color: var(--blue-back);   
    font-weight: 600;
    padding-bottom: 40px;
}

.item_news .title-news{
    font-size: 22px;
    padding-bottom: 30px;
    font-weight: 600;
    line-height: 33px;
}

.item_news .text-news{
    font-size: 19px;
    padding-bottom: 30px;
    font-weight: 500;
    line-height: 27px;
}


.askquestion-row {
    background-color:rgb(255, 255, 255);
    margin: 0 auto;
    margin-bottom: 60px;  
}

.askquestion_form form{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.askquestion_name{
    font-size: 19px;
    color: var(--blue-back);   
    font-weight: 600;
    padding-bottom: 30px;
    align-items: center;
    text-align: center;
}

.askquestion_form form {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
}

.form-group {
    max-width: 600px;
    width: 100%;
    margin-bottom: 15px;
    text-align: left;
}

.form-group label {
    display: block;
    font-weight: 500;
    color: #2d3236;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    font-weight: 500;
}

.old-data-hint {
    display: inline-block;
    font-size: 11px;
    font-weight: normal;
    color: #777777;
    background: #f0f0f0;
    margin-top: 5px;
    padding: 4px 8px;
    border-radius: 8px;
    display: inline-block;
}

.comparison-field-group {
    position: relative;
}

.comparison-status-inline {
    font-size: 11px;

    padding: 4px 8px;
    border-radius: 8px;
    display: inline-block;
}

.comparison-status-inline.status-changed-inline {
    color: #dc2626;
    background: #fee2e2;
}

.comparison-status-inline.status-unchanged-inline {
    color: #10b981;
    background: #d1fae5;
}

.comparison-status-inline.status-empty-inline {
    color: #6b7280;
    background: #f3f4f6;
}

.askquestion_form form select {
    max-width: 600px;
    width: 100%;
    border: 1px solid rgb(217, 217, 217);
    border-radius: 13px;
    font-size: 14px;
    padding: 0 40px 0 15px;
    height: 40px;
    font-weight: 500;
    background-color: white;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: all 0.3s ease;
    text-align: center;
    background-size: 16px;
    box-sizing: border-box;
}

@keyframes gentlePulse {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 102, 204, 0.4);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(0, 102, 204, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(0, 102, 204, 0);
    }
}

.askquestion_form form select:not(:focus) {
    animation: gentlePulse 2s ease-in-out 3;
    border-color: #0066cc;
}

.askquestion_form form select:hover {
    border-color: #0066cc;
    background-color: #f8f8f8;
}

.askquestion_form form select option {
    padding: 17px 20px;
    font-size: 15px;
    background-color: white;
    color: #333;
    font-weight: 500;
    border-radius: 16px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin: 4px 0;
    cursor: pointer;
    border: none;
    letter-spacing: 0.2px;
    position: relative;
    animation: optionFadeIn 0.4s ease-out forwards;
    transform-origin: top;
}

@keyframes optionFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.askquestion_form form select option:hover {
    background-color: var(--active-row, #f0f4ff) !important;
    transform: translateX(5px) scale(1.02);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
    color: var(--blue-back);
    font-weight: 600;
}

.askquestion_form form select option:first-of-type {
    color: #999;
    font-style: italic;
}

.askquestion_form form select option.option-other {
    background-color: #fff8e7;
    color: #b85e00;
}

.askquestion_form form input,
.askquestion_form form textarea {
    max-width: 600px;
    width: 100%;
    border: 1px solid rgb(217, 217, 217);
    border-radius: 13px;
    font-size: 14px;
    padding: 0 40px 0 15px;
    height: 40px;
    font-weight: 400;
    transition: border-color 0.3s ease;    
    box-sizing: border-box;
}

.askquestion_form form textarea {
    padding: 15px 40px 15px 15px;
    height: 110px;  
    resize: none;
}

.askquestion_form form textarea:hover {
    border: 1px solid #259dff; 
}

.askquestion_form form textarea:focus {
    border: 1px solid  var(--blue-back); 
}

.askquestion_form form input:hover {
    border: 1px solid #259dff; 
}

.askquestion_form form input:focus {
    border: 1px solid  var(--blue-back); 
}

.askquestion_form form input[readonly] {
    background-color: #f5f5f5;
    cursor: default;
    color: #666;
}

.new-org-data {
    max-width: 600px;
    width: 100%;
    box-sizing: border-box;
    border-radius: 16px;
    margin-top: 10px;
}

.new-org-data .info-title {
    font-weight: 600;
    color: #1e40af;
    margin-bottom: 12px;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    text-align: left;
}

.search-org-container {
    position: relative;
    max-width: 600px;
    width: 100%;
}

.search-results-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
    display: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.search-results-dropdown.show {
    display: block;
}

.search-result-item {
    padding: 12px 16px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.2s ease;
    text-align: left;
}

.search-result-item:hover {
    background: #f5f7ff;
}

.search-result-name {
    font-weight: 600;
    color: #002762;
    margin-bottom: 4px;
}

.search-result-details {
    font-size: 12px;
    color: #6b7280;
    display: flex;
    gap: 16px;
}

.search-result-okpo {
    color: #000000;
    font-weight: 500;
}

.search-result-ynp {
    color: #10b981;
}

.search-loading {
    padding: 20px;
    text-align: center;
    color: #6b7280;
    font-size: 14px;
}

#addOrgFields {
    max-width: 600px;
    width: 100%;
}

#addOrgFields textarea,
#addOrgFields input {
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .new-org-data {
        max-width: 100%;
    }
    
    .search-org-container {
        max-width: 100%;
    }
}

.region-buttons-group {
    margin-top: 15px;
}

.region-buttons-group label {
    display: block;
    margin-bottom: 10px;
    font-weight: 500;
    color: #333;
    font-size: 15px;
}

.region-buttons-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.region-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    background-color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: inherit;
    font-size: 14px;
    color: #333;
    text-align: left;
}

.region-btn:hover {
    border-color: #4a90d9;
    background-color: #f0f7ff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(74, 144, 217, 0.15);
}

.region-btn.selected {
    border-color: #4a90d9;
    background-color: #e8f0fe;
    box-shadow: 0 0 0 3px rgba(74, 144, 217, 0.2);
}

.region-btn .region-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    background-color: #f0f4f8;
    border-radius: 50%;
    font-weight: 600;
    font-size: 13px;
    color: #4a90d9;
    flex-shrink: 0;
}

.region-btn.selected .region-number {
    background-color: #4a90d9;
    color: white;
}

.region-btn .region-name {
    font-size: 13px;
    line-height: 1.3;
}

.region-selection-status {
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 14px;
    background-color: #f8f9fa;
    color: #666;
    margin-top: 5px;
}

.region-selection-status.selected {
    background-color: #e8f0fe;
    color: #4a90d9;
    font-weight: 500;
}

.old-data-hint {
    display: block;
    font-size: 13px;
    color: #7f8c8d;
    margin-top: 6px;
    font-style: italic;
}

.comparison-status-inline {
    display: block;
    font-size: 13px;
    margin-top: 4px;
    padding: 4px 8px;
    border-radius: 4px;
}

.status-changed-inline {
    color: #e67e22;
    background-color: #fef9e7;
}

.status-unchanged-inline {
    color: #27ae60;
    background-color: #eafaf1;
}

.status-empty-inline {
    color: #95a5a6;
    background-color: #f8f9fa;
}

.input-error {
    border-color: #e74c3c !important;
}

.input-error:focus {
    border-color: #e74c3c !important;
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.2) !important;
}

@media (max-width: 768px) {
    .region-buttons-grid {
        grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
        gap: 8px;
    }
    
    .region-btn {
        padding: 8px 10px;
        font-size: 13px;
    }
    
    .region-btn .region-number {
        min-width: 24px;
        height: 24px;
        font-size: 12px;
    }
    
    .region-btn .region-name {
        font-size: 12px;
    }
}

/*================= beginPage end ==============*/

/*================= personal account ==============*/

/* ================= Личный кабинет ================= */
.account_cont {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    margin-top: 100px;
    width: 100%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.privetstvie_cont{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    color: rgb(255, 255, 255);
    height: 136px;
    width: 100%;
    max-width: 1170px;
    background-image: url('../img/begin_name2.jpg');
    text-shadow: 1px 1px 2px black;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.144);
    font-weight: 600;
    border-radius: 3px;
}

.privetstvie_cont a {
    color: white;
    padding: 0 20px;
    transition: all 0.6s ease;
    transform: scale(1);
    text-decoration: none;
    word-break: break-word;
}

.privetstvie_cont a:hover {
    transform: scale(1.05);
}

.account_functions {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 30px;
    width: 100%;
    max-width: 1170px;
    margin: 40px 0;
    box-sizing: border-box;
}

.account_cont .account_functions .account_links {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 10px;
    box-sizing: border-box;
}

@keyframes digitalFlip {
    0% {
        transform: translateY(0) scaleY(1);
        box-shadow: 0 0 0 rgba(0,0,0,0);
    }
    20% {
        transform: translateY(-5px) scaleY(0.8);
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }
    40% {
        transform: translateY(0) scaleY(1.1);
        box-shadow: 0 0 0 rgba(0,0,0,0);
    }
    60% {
        transform: translateY(0) scaleY(0.95);
    }
    80% {
        transform: translateY(0) scaleY(1.05);
    }
    100% {
        transform: translateY(0) scaleY(1);
    }
}

.account_buttons {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: none;
    background-color: white;
    color: black;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    width: 100%;
    height: auto;
    min-height: 72px;
    font-weight: 600;
    border-radius: 12px;
    // margin: 0 0 12px 0;
    padding: 20px 24px;
    font-size: clamp(14px, 2vw, 15px);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    background-image: linear-gradient(120deg, transparent 5%, #cbecffc2 57%, transparent 63%);
    background-size: 200% 100%;
    background-position: 200% center;
    background-repeat: no-repeat;
    transition: background-position 2.6s ease, padding 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, color 0.3s ease;
    box-sizing: border-box;
    animation: digitalFlip 0.7s ease-out 1;
}

.account_buttons:hover {
    padding: 16px 20px 16px 28px;
    background-position: -200% center;
    box-shadow: 0 8px 20px rgba(0, 123, 255, 0.15);
    transform: translateY(-2px);
    color: #003366;
}

.account_buttons:focus {
    outline: none;
}

.account_buttons:active {
    transform: translateY(0);
}

.first_path {
    display: flex;
    align-items: center;
    gap: 25px;
    flex: 1;
}

.account_buttons .first_path img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex-shrink: 0;
}

.account_buttons .first_path span {
    text-align: left;
    display: flex;
    align-items: center;
    line-height: 1.4;
    word-break: break-word;
}

.account_buttons svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    color: black;
    margin-left: 10px;
}

.acc-btn-otherbtn {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    height: 45px;
    color: white;
    margin-left: 20px;
    cursor: pointer;
    border-radius: 15px !important;
    box-sizing: border-box;
    padding: 12px 20px;
    gap: 20px;
    max-width: 340px;
}

.acc-btn-otherbtn svg {
    height: 19px;
    width: 19px;
}

.acc-btn-otherbtn span:first-child {
    font-weight: 400;
    line-height: 1;
}

.acc-btn-otherbtn span:last-child {
    margin: 0;
    font-weight: 600;
    white-space: nowrap;
}

.account_cont .account_functions .account_messages {
    display: flex;
    flex-direction: column;
    flex: 1;
    max-width: 515px;
    width: 100%;
    background: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    border-radius: 12px;
    height: fit-content;
    max-height: 600px;
    overflow: hidden;
    box-sizing: border-box;
}

.account_messageArea {
    display: flex;
    align-items: center;
    background-color: white;
    color: black;
    width: 100%;
    min-height: 60px;
    font-weight: 600;
    padding: 0 20px;
    font-size: 15px;
    border-bottom: 1px solid #e0e0e0;
    border-radius: 12px 12px 0 0;
    box-sizing: border-box;
    gap: 25px;
}

.account_messageArea :nth-child(3) {
    margin-left: auto;
}

.reply_info {
    margin-bottom: 14px;
}

.reply_recipient {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 13px;
}

.reply_label {
    color: #6b7280;
    font-weight: 500;
}

.reply_name {
    color: #1a2332;
    font-weight: 600;
}

.reply_phone {
    color: #4A6CF7;
    font-weight: 500;
}

.reply_email {
    color: #6b7280;
    font-size: 12px;
}

.account_messageArea img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
}

.account_messageArea span {
    text-align: left;
}

.message_cont {
    width: 100%;
    overflow-y: auto;
    max-height: 400px;
    background: #fafafa;
    box-sizing: border-box;
    padding: 0;
}

.message_cont .mes {
    display: flex;
    flex-direction: column;
    padding: 16px 20px;
    background-color: white;
    border-bottom: 1px solid #eee;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.message_cont .mes:last-child {
    border-bottom: none;
}

.message_cont .mes:hover {
    background-color: #f9f9f9;
}

.message_cont .mes.read {
    background-color: #f7f8ff;
    opacity: 0.7;
}

.message_cont .mes.read .mes-text {
    color: #7a7f8b;
}

.message_cont .mes.read .mes-header {
    color: #8e94a1;
}

.message_cont .mes.read .mes-time {
    color: #a0a6b3;
}

.message_header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
    gap: 10px;
    flex-wrap: wrap;
}

.time_mes {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #6b7280;
}

.msg-date {
    color: #4a5568;
    font-weight: 500;
    font-size: 12px;
}

.msg-time {
    color: #2d3748;
    font-weight: 600;
    background: #ebf8ff;
    padding: 2px 5px;
    border-radius: 14px;
    font-size: 13px;
    font-family: 'Courier New', monospace;
}

.time_mes .sender {
    color: #2c5282;
    font-weight: 600;
    background: #ebf8ff;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    display: inline-block;
    white-space: nowrap;
}

.message_cont .mes.read .msg-time {
    background: #dce0e8;
}

.message_actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.reply_btn {
    background: #4299e1;
    color: white;
    border: none;
    border-radius: 6px;
    padding: 4px 10px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.3s;
    white-space: nowrap;
}

.reply_btn:hover {
    background: #3182ce;
}

.delete_btn {
    background: #fed7d7;
    color: #c53030;
    border: none;
    min-width: 28px;
    height: 28px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    opacity: 0.7;
    padding: 0 6px;
}

.delete_btn:hover {
    background: #feb2b2;
    color: #9b2c2c;
    opacity: 1;
    transform: scale(1.05);
}

/* Текст сообщения */
.text_mes {
    font-size: 14px;
    line-height: 1.5;
    color: #333;
    word-break: break-word;
}

/* Пустое сообщение */
.mes.empty {
    text-align: center;
    padding: 60px 20px;
    color: #718096;
}

.mes.empty .text_mes {
    font-size: 14px;
    color: #a0aec0;
}

/* Форма ответа */
.reply_form {
    margin-top: 15px;
    padding: 15px;
    background: #f7fafc;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.reply_textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px;
    resize: vertical;
    min-height: 80px;
    margin-bottom: 10px;
    font-family: inherit;
}

.reply_textarea:focus {
    outline: none;
    border-color: #4299e1;
    box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1);
}

.reply_actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.reply_submit_btn {
    background: #48bb78;
    color: white;
    border: none;
    border-radius: 6px;
    padding: 8px 20px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s;
}

.reply_submit_btn:hover {
    background: #38a169;
}

.reply_submit_btn:disabled {
    background: #a0aec0;
    cursor: not-allowed;
}

.reply_cancel_btn {
    background: #e2e8f0;
    color: #4a5568;
    border: none;
    border-radius: 6px;
    padding: 8px 20px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s;
}

.reply_cancel_btn:hover {
    background: #cbd5e0;
}

/* Анимации */
@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

.delete_btn.deleting {
    animation: pulse 1s infinite;
    background: linear-gradient(45deg, #ff6b6b, #ff8e8e) !important;
    color: white !important;
}

.delete_btn.cancellable {
    background: #4299e1 !important;
    color: white !important;
}

.delete_btn.cancellable:hover {
    background: #3182ce !important;
}

/* ================= Медиа-запросы ================= */
@media screen and (max-width: 1024px) {
    .account_cont {

        padding: 0 15px;
    }
    
    .account_functions {
        gap: 20px;
    }
    
    .account_cont .account_functions .account_links {
        min-width: 280px;
    }
}

@media screen and (max-width: 900px) {
    .account_functions {
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }
    
    .account_cont .account_functions .account_links {
        max-width: 100%;
        width: 100%;
    }
    
    .account_cont .account_functions .account_messages {
        max-width: 100%;
        width: 100%;
    }
    
    .account_buttons {
        min-height: 68px;
        padding: 14px 20px;
    }
    
    .account_buttons .first_path img {
        width: 28px;
        height: 28px;
    }
}

@media screen and (max-width: 768px) {
    .account_cont {

        padding: 0 12px;
    }
    
    .account_cont .privetstvie_cont {
        min-height: 80px;
        font-size: clamp(18px, 5vw, 24px);
    }
    
    .privetstvie_cont a {
        padding: 0 15px;
    }
    
    .account_buttons {
        min-height: 64px;
        padding: 12px 16px;
        font-size: 14px;
    }
    
    .account_buttons .first_path {
        gap: 12px;
    }
    
    .account_buttons .first_path img {
        width: 24px;
        height: 24px;
        margin: 0;
    }
    
    .acc-btn-otherbtn {
        height: 47px;
        font-size: 14px;
    }
    
    .acc-btn-otherbtn span:first-child {
        font-size: 22px;
    }
    
    .account_messageArea {
        min-height: 56px;
        font-size: 15px;
        padding: 0 16px;
    }
    
    .account_messageArea img {
        width: 24px;
        height: 24px;
        margin: 0;
    }
    
    .message_cont .mes {
        padding: 14px 16px;
    }
    
    .message_header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .time_mes {
        min-width: 100%;
    }
    
    .message_actions {
        width: 100%;
        justify-content: flex-start;
    }
    
    .text_mes {
        font-size: 13px;
    }
}

@media screen and (max-width: 480px) {
    .account_cont {

        padding: 0 10px;
    }
    
    .account_cont .privetstvie_cont {

        font-size: 16px;
        padding: 15px 10px;
    }
    
    .privetstvie_cont a {
        padding: 0 10px;
    }
    
    
    .acc-btn-otherbtn {
        height: 41px;
        font-size: 13px;
        margin: 0;
    }
    
    .acc-btn-otherbtn span:first-child {
        font-size: 20px;
    }
    
    .account_messageArea {
        min-height: 52px;
        font-size: 14px;
        padding: 0 12px;
    }
    
    .account_messageArea img {
        width: 22px;
        height: 22px;
    }
    
    .message_cont .mes {
        padding: 12px 12px;
    }
    
    .reply_btn, .delete_btn {
        padding: 6px 10px;
        font-size: 11px;
    }
    
    .delete_btn {
        min-width: 26px;
        height: 26px;
    }
    
    .reply_form {
        padding: 12px;
    }
    
    .reply_textarea {
        font-size: 13px;
        padding: 8px;
    }
    
    .reply_submit_btn, .reply_cancel_btn {
        padding: 6px 16px;
        font-size: 13px;
    }
}




@media (max-height: 600px) and (orientation: landscape) {
    .account_cont .account_functions .account_messages {
        max-height: 400px;
    }
    
    .message_cont {
        max-height: 320px;
    }
}

/*================= personal account end ==============*/

/*================= choose period ==============*/
.period-selector-advanced {
    max-width: 480px;
    margin: 0 auto;
}

.selector-card {
    background: linear-gradient(135deg, #ffffff, #fafafa);
    border-radius: 32px;
    padding: 0 15px;
}

.selector-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 2px dashed #e2e8f0;
}

.selector-icon {
    width: 24px;
    height: 24px;
    color: #2563eb;
}

.selector-header span {
    font-size: 18px;
    font-weight: 600;
    background: linear-gradient(135deg, #1e293b, #475569);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.selector-grid {
    display: flex;
    gap: 24px;
    align-items: center;
}

.year-wheel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    background: #e7f3ff;
    padding: 16px 8px;
    border-radius: 40px;
}

.year-arrow {
    width: 40px;
    height: 40px;
    border: none;
    background: white;
    border-radius: 30px;
    font-size: 20px;
    color: #2563eb;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    transition: all 0.2s;
}

.year-arrow:hover {
    background: #2563eb;
    color: white;
    transform: scale(1.1);
}

.year-display {
    font-size: 32px;
    font-weight: 700;
    color: #0f172a;
    min-width: 100px;
    text-align: center;
}

.quarter-grid {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

#quarter-grid-not-full {
    animation: gentle-pulse 2s infinite ease-in-out;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.q-cell {
    padding: 16px 12px;
    border: none;
    background: white;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    color: #334155;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
    border: 1px solid #e2e8f0;
}

.q-cell:hover {
    background: #2563eb;
    color: white;
    border-color: #2563eb;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -8px #2563eb;
}

.period-info {
    margin-top: 10px;
    padding: 10px;
    background: rgba(52, 126, 211, 0.08);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(52, 139, 211, 0.2);
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(52, 211, 153, 0.05);
    color: #2563eb;
    font-size: 14px;
}

/*================= choose period end ==============*/

/*================= profile pages ==============*/
.row-app-group{
  display: flex;
  flex-direction: row;
  gap: 16px;
}

.app-group {
  margin-bottom: 13px;
  width: 100%;
  text-align: left;
}



.app-group label {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    letter-spacing: 0.3px;
}

.input-style{
  width: 100%;
  padding: 7px 16px 7px 44px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  font-size: 0.9rem;
  background-color: white;
  transition: all 0.3s ease-in-out;
  font-weight: 500;
  text-overflow: ellipsis;
}

.input-style.no-icon{
  padding: 7px 16px;
  border: 1px solid var(--border-color);
}

.input-style.no-edit{
    color: rgb(132,132,132);
}

.profile_page{
    margin-top: 60px; 
    display: flex;
    flex-direction: column;
    width: 100%;
}

.rotation-fromareas{
    margin: 0;
    width: 100%;
}

.rotation-fromareas_info {
    display: flex;
    flex-direction: row;
    justify-content: left;
    overflow-y: hidden;
    margin: 70px 0 70px 82px;
    white-space: nowrap;
    padding-bottom: 10px;
    padding-top: 5px;
    align-items: center;
    width: auto;
    box-sizing: border-box;
}

.rotation-fromareas_info span {
    display: flex;
    align-items: end;
    margin: 0 10px;
    align-items: center;
}

.rotation-fromareas_info span img{
    width: 15px;
    height: auto;   
    margin: auto;
}

.svg-arr svg{
    width: 15px;
    height: auto;   
}

.rotation-fromareas_info span a{
    font-weight: 500;
    text-decoration: none; 
    font-size: 16px;
}

.rotation-fromareas-status{
    background-color: var(--color1);
    color: white;
    padding: 4px 9px;
    margin-left: 5px;
    border-radius: 6px;
    border: none;
}

.hover_a {
    transition: all 0.5s ease; 
    color: initial; 
    transform: translateY(0);
}

.hover_a:hover{
    color: var(--blue-back); 
    transform: translateY(-5px); 
}

.contener_row{
    display: flex;
    flex-direction: row;
    height: 100%;
}

/* ====== session page ======*/
.session-name-card {
    text-transform: uppercase; 
    color: rgb(37, 37, 37);
    margin: 20px 0;
    font-weight: 500;
    margin-left: 10px;
}

.session-this-device{
    color: black;
    border-radius: 5px;
    background-color: #f0f0f0b4;
    border: 0; 
    display: flex;
    flex-direction: column ;
    min-width: 700px;
    margin-bottom: 20px;
}

.session-this-device .first-floor{
    display: flex;
    flex-direction: row ;
    padding: 15px;
    padding-bottom: 0;
}

.session-this-device .first-floor svg{
    width: 50px;
    height: 50px;
    margin-right: 10px;
}

.session-this-device .first-floor .session-text-area{
    display: flex;
    flex-direction: column;
    font-size: 15px;
}

.session-this-device-name{
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 7px;
}

.session-this-device_app,
.session-this-device_place,
.session-this-device_ip,
.session-this-device_last_active{
    margin-bottom: 7px;
}

.delete-scale-btn {
    display: flex;
    width: 100%;
    flex-direction: row;
    padding: 15px;
    text-align: center;
    vertical-align: middle;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    color: black;
    border-radius: 10px;
    font-weight: 500;
    transform: scale(0.9);
    transition: all 0.5s ease;
    border: none;
    background: transparent;
}

.delete-scale-btn:hover:not(:disabled) {
    background-color: #e2e2e2b4;
    color: red;
    font-weight: 600;
    transform: scale(1);
}

.delete-scale-btn.non:hover:not(:disabled) {
    color: var(--blue-txt) !important;
}

.delete-scale-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: scale(0.9);
    color: #999;
}

.delete-scale-btn img,
.delete-scale-btn svg{
    width: 40px;
    height: 40px;
    margin-right: 10px;
}

.end_all_sessions{
    font-weight: 500;
    font-size: 16px;
    padding: 7px;
}
/* ====== session page end ======*/

/* ====== proflie_account ======*/

.account-security-wrap {
    text-transform: uppercase;
    color: rgb(37, 37, 37);
    margin: 20px 0;
    font-weight: 500;
    margin-left: 10px;
    max-width: 800px;
}

.account-security-head {
    margin-bottom: 30px;
}

.account-security-head a {
    text-transform: uppercase;
    color: rgb(37, 37, 37);
    margin: 20px 0;
    font-weight: 500;
    margin-left: 10px;
}

.account-security-desc {
    color: #6c757d;
    font-size: 14px;
    text-transform: none;
}

.account-danger-card {
    color: black;
    border-radius: 5px;
    background-color: #f0f0f0b4;
    border: 0;
    display: flex;
    flex-direction: column;
    min-width: 700px;
    margin-bottom: 20px;
    box-sizing: border-box;
}

.account-danger-card .account-danger-head {
    display: flex;
    flex-direction: row;
    padding: 15px;
    padding-bottom: 0;
}

.account-danger-card .account-danger-icon {
    font-size: 28px;
    line-height: 1;
    margin-right: 10px;
}

.account-danger-card .account-danger-title {
    display: flex;
    flex-direction: column;
    font-size: 15px;
}

.account-danger-card .account-danger-title h3 {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 7px;
    color: #721c24;
}

.account-danger-card .account-danger-title p {
    font-size: 14px;
    color: #6c757d;
    text-transform: none;
}

.account-delete-warning {
    color: #6c757d;
    font-size: 14px;
    line-height: 1.6;
    text-transform: none;
    padding: 15px;
}

.account-delete-rule{
    padding: 0 15px;
    text-transform: none;
    font-size: 12px;
    color: #6c757d;
    font-weight: 700;
}



.account-form-group {
    padding: 15px 23px;
    text-align: end;
}

.account-form-group label {
    display: block;
    font-size: 13px;
    color: #1a1a2e;
    margin-bottom: 8px;
    text-transform: none;
}

.account-form-group label strong {
    color: var(--blue-txt); 
}

.account-form-control {
    width: 100%;
    border: 1px solid rgb(217, 217, 217);
    border-radius: 10px;
    font-size: 14px;
    padding: 0 15px;
    height: 40px;
    font-weight: 400;
    transition: border-color 0.3s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

.account-form-control:hover {
    border: 1px solid #259dff;
}

.account-form-control:disabled {
    background: #f8f9fa;
    cursor: not-allowed;
}

.account-form-hint {
    font-size: 12px;
    color: #6c757d;
    margin-top: 6px;
    text-transform: none;
}

.account-form-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.account-btn {
    font-weight: 500;
    font-size: 16px;
    padding: 10px 24px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.5s ease;
    text-transform: uppercase;
}

.account-btn-danger {
    background: #dc3545;
    color: white;
}

.account-btn-danger:hover:not(:disabled) {
    background: #c82333;
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3);
}

.account-btn-danger:disabled {
    background: #e9aeb5;
    cursor: not-allowed;
    opacity: 0.6;
    transform: none;
}

.account-btn-status {
    font-size: 14px;
    color: #6c757d;
    text-transform: none;
}

.account-btn-status-active {
    color: #28a745;
}

.account-info-card {
    color: black;
    border-radius: 5px;
    background-color: #f0f0f0b4;
    border: 0;
    display: flex;
    flex-direction: column;
    min-width: 700px;
    margin-bottom: 20px;
}

.account-info-card .account-info-head {
    display: flex;
    flex-direction: row;
    padding: 15px;
    padding-bottom: 0;
}

.account-info-card .account-info-icon {
    font-size: 28px;
    line-height: 1;
    margin-right: 10px;
}

.account-info-card .account-info-title {
    display: flex;
    flex-direction: column;
    font-size: 15px;
}

.account-info-card .account-info-title h3 {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 7px;
    color: #1a1a2e;
}

.account-info-card .account-info-body {
    padding: 15px;
}

.account-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.account-info-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.account-info-label {
    font-size: 12px;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.account-info-value {
    font-size: 15px;
    color: #1a1a2e;
    font-weight: 500;
    word-break: break-all;
    text-transform: none;
}

/* ====== Адаптивность ====== */
@media (max-width: 768px) {
    .account-security-wrap {
        margin-left: 0;
        min-width: auto;
    }
    
    .account-danger-card {
        min-width: auto;
    }
    
    .account-info-card {
        min-width: auto;
    }
    
    .account-danger-card .account-danger-head {
        padding: 16px 20px;
        flex-direction: column;
        gap: 8px;
    }
    
    .account-form-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .account-btn {
        width: 100%;
        justify-content: center;
    }
    
    .account-btn-status {
        text-align: center;
    }
    
    .account-info-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    .account-info-card .account-info-head {
        padding: 16px 20px;
        flex-direction: column;
        gap: 8px;
    }
}

@media (max-width: 480px) {
    .account-security-head h2 {
        font-size: 20px;
    }
    
    .account-info-card .account-info-body {
        padding: 16px;
    }
    
    .account-form-control {
        padding: 12px 14px;
    }
}

/* ====== session page end ======*/

/* .personal-info_area svg{
    margin-right: 15px;
} */


.profile_page .personal-info_area{
    height: 100%;
    width: auto;
    margin: 0 auto;
    padding: 0 30px;
    display: flex;
    flex-direction: column;
    top: 0;
    color: black;
}

.profile_page .contener_row .personal-info_area .content p{
    margin-bottom: 20px;
    cursor: pointer;
}

.profile_page .contener_row .personal-info_area .content p a{
    color: black;
}

.profile_page .personal-info_area table, 
.profile_page .personal-info_area tr, 
.profile_page .personal-info_area td{
    border: none;
}

.profile_page .personal-info_area table tr td{
    width: 100%;
}  

.profile_page .personal-info_area table tr td{
    height: 100%;
    text-align: left;
    padding: 0;
    padding-bottom: 16px;
    font-size: 14px;
    font-weight: 400;
}  

.clear-input_container {
    position: relative;
    display: flex;
    text-align: left;
}

.profile_page .personal-info_area td input{
    width: 700px; 
    border: 1px solid rgb(217, 217, 217);  
    border-radius: 10px;    
    font-size: 14px;
    padding: 0 15px;
    height: 40px;
    font-weight: 400; 
    margin-left: 50px;   
    transition: border-color 0.3s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; 
}

.left-input-btn{
    width: 70px;
    cursor: pointer;
    height: 40px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border: 1px solid rgb(217, 217, 217);
    display: flex;    
    text-align: center;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    border-left:0px;
}

.left-input-btn svg {
    width: 19px;
    height: 19px;
    transition: transform 0.3s ease-in-out;
    color: black;
}

.left-input-btn svg:hover {
    transform: scale(1.1) ;
    filter: drop-shadow(0 0 10px rgba(66, 153, 225, 1));
}   



.profile_page .personal-info_area table tr:nth-child(3) td, 
.profile_page .personal-info_area table tr:nth-child(5) td,
.profile_page .personal-info_area table tr:nth-child(9) td{
    padding-bottom: 50px;
}

.profile_page .personal-info_area td input:read-only{
    background-color: rgb(241, 241, 241);
    color: rgb(75, 75, 75);
}


.profile_page .personal-info_area td input:hover {
    border: 1px solid #259dff; 
}

.profile_page .personal-info_area td input:focus {
    border: 1px solid  var(--blue-back); 
}

.clear-input_container:hover .clear-btn {
    display: block;
}

.security-container {
    position: relative;
    display: flex;
    align-items: center;
}

.show-icon,
.hide-icon,
.show-icon1,
.hide-icon1{
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    display: none;
    color: #000000;
    width: 16;
    font-size: 28px;
    line-height: 1;
    z-index: 2;
    width: 18px;
    height: 18px;
}

.show-icon, .show-icon1{
    display: none; 
}

.hide-icon, .hide-icon1{
    display: none; 
}

.float-label-container .show-icon,
.float-label-container .show-icon1{
    display: inline;
}

.search-cont {
    position: relative;
    display: flex;
    align-items: center;
    margin: 10px 20px;
    width: 100%;
    box-sizing: border-box;
    overflow: visible !important;
}


.search-cont svg {
    position: absolute;
    left: 16px;
    top: 10px;
    width: 18px;
    height: 18px;
    color: #64748b;
    pointer-events: none;
    z-index: 1;
}

.search-input {
    width: 100%;
    max-width: 300px;
    padding: 10px 20px 10px 48px;
    font-size: 15px;
    color: #212121;
    background: #f0f2f5;
    border: none;
    border-radius: 12px;
    outline: none;
    transition: all 0.2s ease;
    position: relative;
    z-index: 0;
    box-sizing: border-box;
}

.search-input:focus {
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

.modal-content .search-cont{
    margin: 10px 0;
}

.search-cont label{
    font-weight: 500;
    font-size: 15px;
    margin-right: 10px;
}

.modal-main{
    width: 100%;
    box-sizing: border-box;
    max-height: 400px;
    overflow-y: auto;
    border-radius: 12px;
    border: 1px solid #e0e0e0;
    background: #ffffff;
}

/*organizations-table begin*/
.organizations-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.organizations-table thead {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #f8f9fa;
}

.organizations-table th {
    padding: 16px;
    text-align: left;
    font-weight: 600;
    color: #424242;
    border-bottom: 1px solid #e0e0e0;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.organizations-table th:first-child {
    padding-left: 20px;
    border-top-left-radius: 11px;
}

.organizations-table th:last-child {
    padding-right: 20px;
    border-top-right-radius: 11px;
}

.organizations-table tbody tr {
    transition: all 0.2s ease;
    cursor: pointer;
    border-bottom: 1px solid #f5f5f5;
}

.organizations-table tbody tr:last-child {
    border-bottom: none;
}

.organizations-table tbody tr:hover {
    background: #f8f9fa;
}

.organizations-table tbody tr:active {
    background: #e3f2fd;
}

.organizations-table td {
    padding: 16px;
    color: #424242;
    line-height: 1.4;
}

.organizations-table td:first-child {
    padding-left: 20px;
}

.organizations-table td:last-child {
    padding-right: 20px;
}

.organizations-table .organization-name {
    font-weight: 500;
    color: #212121;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.organizations-table .organization-okpo {
    color: #757575;
    font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
    font-size: 13px;
    min-width: 100px;
}

.organizations-table .no-data-row td {
    text-align: center;
    padding: 48px 16px;
    color: #9e9e9e;
    font-style: italic;
}

.organizations-table .no-data-row:hover {
    background: transparent;
    cursor: default;
}

/* Адаптивность */
@media (max-width: 768px) {
    .organizations-table th,
    .organizations-table td {
        padding: 12px;
    }
    
    .organizations-table .organization-name {
        max-width: 200px;
    }
}

.pagination-area {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 0;
}

.pagination-container {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    gap: 12px;
    background: #ffffff;
    border-radius: 12px;
    padding: 4px;
}

.pagination-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    background: #f8f9fa;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    color: #0088cc;
}

.pagination-btn:hover:not(:disabled) {
    background: #e3f2fd;
    transform: scale(1.05);
}

.pagination-btn:active:not(:disabled) {
    transform: scale(0.95);
}

.pagination-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    color: #9e9e9e;
}

.pagination-btn:disabled:hover {
    background: #f8f9fa;
    transform: none;
}

.pagination-pages {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 12px;
    font-size: 15px;
    font-weight: 500;
    color: #424242;
}

.page-current {
    color: #0088cc;
    font-weight: 600;
}

.page-separator {
    color: #9e9e9e;
    margin: 0 2px;
}

.page-total {
    color: #757575;
}

.pagination-icon {
    transition: transform 0.2s ease;
}

.pagination-btn:hover:not(:disabled) .pagination-icon {
    transform: scale(1.1);
}

.no-data {
    text-align: center;
    padding: 40px !important;
    color: #94a3b8;
    font-style: italic;
}
/*end */

@media screen and (max-width: 768px) {
    .profile_page .contener_row {
        flex-direction: column;
    }
    
    .profile_page .personal-info_area {
        padding: 0 15px;
        width: 100%;
        box-sizing: border-box;
    }
    
    .profile_page .personal-info_area table,
    .profile_page .personal-info_area tbody,
    .profile_page .personal-info_area tr,
    .profile_page .personal-info_area td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .profile_page .personal-info_area table tr {
        padding-bottom: 15px;
    }

    .profile_page .personal-info_area table tr td {
        display: block;
        width: 100% !important;
        padding: 8px 0 !important;
        text-align: left;
        height: auto !important;
    }

    .profile_page .personal-info_area table tr td:first-child {
        font-weight: 600;
        color: #333;
        padding-bottom: 5px !important;
    }
    
    .clear-input_container {
        width: 100%;
    }

    .profile_page .personal-info_area td input {
        width: 100% !important;
        margin-left: 0 !important;
        box-sizing: border-box;
    }

    .profile_page .personal-info_area table tr td[style*="display: flex"] {
        display: flex !important;
        flex-direction: row;
        align-items: center;
    }

    .pred_name {
        width: calc(100% - 70px) !important;
    }

    .modal-content {
        width: 95%;
        margin: 20px auto;
        max-height: 70vh;
        overflow-y: auto;
        box-sizing: border-box;
    }

    .organizations-table {
        font-size: 14px;
    }
    
    .organizations-table th,
    .organizations-table td {
        padding: 10px 5px;
        word-break: break-word;
    }

    .pagination-container {
        flex-wrap: wrap;
        justify-content: center;
    }

    .dop-info-cont {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin: 20px 0;
    }
    
    .blue_btn {
        width: 100%;
        box-sizing: border-box;
        font-size: 14px;
        justify-content: center;
    }
}

@media screen and (max-width: 480px) {
    .profile_page .personal-info_area {
        padding: 0 10px;
    }
    
    .rotation-fromareas_info span a,
    .rotation-fromareas_info span {
        font-size: 14px;
    }

    .modal-header h3 {
        font-size: 18px;
    }
    
    .organizations-table th,
    .organizations-table td {
        font-size: 12px;
        padding: 8px 3px;
    }
    
    .organizations-table th:nth-child(2),
    .organizations-table td:nth-child(2) {
        display: none;
    }
    
    .pagination-btn {
        padding: 8px;
    }
}

@media screen and (max-width: 600px) {
    .profile_page .personal-info_area table,
    .profile_page .personal-info_area tbody,
    .profile_page .personal-info_area tr,
    .profile_page .personal-info_area td {
        display: block;
    }
    
    .profile_page .personal-info_area table tr {
        /* border-radius: 8px;
        padding: 15px;
        border: 1px solid #fafafa; */
    }
    
    .profile_page .personal-info_area table tr td {
        display: flex;
        flex-direction: column;
        padding: 5px 0 !important;
    }
    
    .profile_page .personal-info_area table tr td:first-child {
        font-size: 13px;
        color: #666;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
}

/* ================= dop info cont ========================*/
.how-to-change-org-data{
    display: flex;
    justify-content: end;
    font-size: 13px;
    margin-bottom: 10px;
}

.dop-info-cont {
    margin-bottom: 25px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: end;
}

.dop-cont-note {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background-color: rgba(0, 0, 0, 0.007);
    border-radius: 10px;
    font-size: 13px;
    color: black;
    border: 1px solid rgba(0, 0, 0, 0.1);
    width: fit-content;
}

.dop-cont-icon {
    width: 18px;
    height: 18px;
    opacity: 0.5;
    color: currentColor;
}

.required-mark {
    color: #ff3b30;
    font-weight: 500;
    margin-left: 2px;
}

.gray-field-note {
    display: inline-block;
    padding: 2px 8px;
    background-color: rgba(142, 142, 147, 0.1);
    border-radius: 30px;
    font-size: 11px;
    color: #8e8e93;
    border: 0.5px solid rgba(142, 142, 147, 0.2);
}

.gray-field-note.red {
    background-color: var(--comment-row);
}

/* ================= dop info cont end ========================*/

.file-upload-section {
    margin: 1.5rem 0;
    width: 100%;
}

.drop-area {
    border: 2px dashed #d1d5db;
    border-radius: 12px;
    padding: 2.5rem 1.5rem;
    text-align: center;
    background-color: #f9fafb;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    min-height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.drop-area:hover {
    border-color: #3b82f6;
    background-color: #f0f7ff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1);
}

.drop-area:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}

.drop-area.highlight {
    border-color: #3b82f6;
    background-color: #eff6ff;
    border-style: solid;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.2);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(59, 130, 246, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(59, 130, 246, 0);
    }
}

.drop-area.success {
    border-color: #10b981;
    background-color: #f0fdf9;
}

.drop-area.error {
    border-color: #ef4444;
    background-color: #fef2f2;
}

#file-upload-label {
    margin: 0;
    font-size: 1rem;
    color: #374151;
    line-height: 1.5;
    font-weight: 500;
}

.file-input-label {
    color: #3b82f6;
    cursor: pointer;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
    position: relative;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
}

.file-input-label:hover {
    color: #2563eb;
    background-color: rgba(59, 130, 246, 0.1);
}

.file-input-label:active {
    color: #1d4ed8;
    transform: scale(0.98);
}

.drop-area::before {
    content: '';
    display: block;
    width: 48px;
    height: 48px;
    margin-bottom: 1rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12' /%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    transition: all 0.3s ease;
}

.drop-area:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%233b82f6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12' /%3E%3C/svg%3E");
}

.drop-area.success::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2310b981'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z' /%3E%3C/svg%3E");
}

.drop-area.error::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ef4444'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z' /%3E%3C/svg%3E");
}

.drop-area.has-file::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2310b981'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z' /%3E%3C/svg%3E");
}

.file-name {
  font-weight: 600;
  color: #10b981;
  margin-top: 0.5rem;
  font-size: 0.9rem;
  word-break: break-all;
  padding: 0.5rem 1rem;
  background: rgba(16, 185, 129, 0.1);
  border-radius: 8px;
  border: 1px solid rgba(16, 185, 129, 0.2);
}

.file-format-hint {
  font-size: 0.75rem;
  color: #6b7280;
  margin-top: 0.75rem;
  padding: 0.5rem 0.75rem;
  background: #f8fafc;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
}

.drop-area.loading {
  pointer-events: none;
}

.drop-area.loading::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.drop-area.loading::before {
  content: '⌛';
  font-size: 1.5rem;
  z-index: 1;
  position: relative;
  background: none;
}

.serch-cont {
    display: flex;
}

.serch-cont a{
    text-align: center;
    align-items: center;
    display: flex;
    justify-content: center;
    font-size: 14px;
}

.search_input{
    width: 100%;
    border: 1px solid rgb(217, 217, 217);
    border-radius: 10px;
    font-size: 14px;
    padding: 0 15px 0 15px;
    height: 30px;
    font-weight: 500;
    margin-left: 10px;
    transition: border-color 0.3s ease;
}

#chooserOganizationTableBody tr:hover{
    background-color: #ebebeb;
}

#chooserOganizationTableBody tr td{
    align-items: center;
    font-size: 14px;
    text-align: left;
    vertical-align: middle;
    padding: 0;  
    margin: 0;
    padding: 5px 7px;
    border: none;

    white-space: wrap;
}


/*================= report_area begin ==============*/
.report-area_page{
    margin-top: 70px;
    min-height: 100vh;
}

.sticky_menu{
    background-color: white;
    backdrop-filter: blur(2px);

    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: box-shadow ease-in-out 0.3s;
    position: sticky;
    top: 75px;
    width: fit-content;
    border-bottom-right-radius: 13px;
    border-top-right-radius: 13px;
    z-index: 1;
}

.sticky_menu .report-area-menu{
    background-color: transparent !important;
}

.sticky_menu.shadow {
    box-shadow: 0 4px 10px -2px rgba(0, 0, 0, 0.1);

}

.report-area-menu{
    position: relative;
    display: flex;
    font-weight: 500;
    top: 0;
    left: 0;
    width: 100%;
    overflow-x: auto;
    background-color: white;
}

.report-area-menu::-webkit-scrollbar, 
.report-area::-webkit-scrollbar{
    width: 2px;
    height: 2px;
}
  
.report-area-menu::-webkit-scrollbar-track,
.report-area::-webkit-scrollbar-track{
    border-radius: 10px;
}

.report-area-menu::-webkit-scrollbar-thumb,
.report-area::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: #d3d3d3;
}

.report-area-menu-name {
    padding: 5px 10px;
    margin: 0;    
    display: inline-block;    
    cursor: pointer;
}

.content-pod-menu {
    position: relative;
    padding: 0 10px;
    left: 0;
    right: 0;
    box-sizing: border-box;
}

.report-area_podmenu + .report-area-menu-name {
    position: relative; 
    top: 1px; 
    border-radius: 5px 5px 0 0;
    z-index: 1;
   
}

.content-pod-menu nav ul{
    display: flex;
    list-style: none;
    margin: 0;
 
}

.content-pod-menu nav ul section{
    display: flex;
    background-color: #ffffff; 
    border-radius: 10px;
    flex-direction: column;
    align-items: center;
    vertical-align: middle;
    text-align: center;
    justify-content: space-between;
    margin: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); 
    border: 2px solid #ececec;
    font-size: 13px;
    padding: 5px;
    /* height: 130px; */
}

.form-panel {
    background: #fff;
    border-radius: 12px;
    padding: 40px 20px;
}

.form-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.form-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-row--two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.form-col {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-label {
    font-size: 14px;
    font-weight: 500;
    color: #000000;
}

.input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.input-wrapper svg {
    position: absolute;
    left: 12px;
    width: 16px;
    height: 16px;
    color: var(--blue-back);
    pointer-events: none;
}

.form-input {
    padding: 10px 12px 10px 36px;
    width: 100%;
    border: 1px solid var(--border-color-blue);
    border-radius: 12px;
    font-size: 15px;
    color: black;
    background-color: #f9fcff;
    font-weight: 400;
    transition: border-color 0.3s ease;
}

.form-input.active{
    border: 2px solid var(--blue-back);
}

.report-dop-info {
    padding: 24px;
}

.report-details {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 10px;
}

.detail-item {
    flex: 1;
    min-width: 180px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    background: #f9fcff;
    border-radius: 12px;
    border: 1px solid var(--border-color-blue);
    transition: all 0.3s ease;
}

.detail-item:hover {
    background: white;
    border-color: #e2e8f0;
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
}

.detail-item.main-element{
    border: 2px solid var(--blue-back);
}

.detail-item svg,
.detail-item-link svg{
    width: 24px;
    height: 24px;
    color: #3b82f6;
    flex-shrink: 0;
}

.detail-content {
    flex: 1;
}

.detail-label {
    font-size: 12px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
    margin-bottom: 7px;
}

.detail-value {
    font-size: 16px;
    color: #1e293b;
    font-weight: 500;
    line-height: 1.4;
    word-break: break-word;
}

.time-large {
    font-size: 17px;
    font-weight: 600;
    color: #1e293b;
}

.date-small {
    font-size: 14px;
    font-weight: 400;
    color: #64748b;
    margin-top: 4px;
}

.detail-item-link {
    flex: 1;
    min-width: 250px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-radius: 12px;
    border: 2px dashed #3b82f6;
    transition: all 0.3s ease;
    text-decoration: none;
    cursor: pointer;
    position: relative;
}

.detail-item-link:hover {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    border-color: #2563eb;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(59, 130, 246, 0.2);
}

.detail-item-link .detail-icon {
    width: 24px;
    height: 24px;
    color: #3b82f6;
    flex-shrink: 0;
}

.detail-item-link .detail-content {
    flex: 1;
}

.detail-item-link .detail-label {
    font-size: 12px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
    margin-bottom: 4px;
}

.detail-item-link .detail-value {
    font-size: 16px;
    color: #3b82f6;
    font-weight: 600;
    line-height: 1.4;
    word-break: break-word;
    display: flex;
    align-items: center;
    gap: 8px;
}

.detail-item-link .detail-value svg {
    width: 16px;
    height: 16px;
    stroke: #3b82f6;
    stroke-width: 2;
}

.detail-item-link .click-hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    margin-left: 8px;
    padding: 4px 10px;
    background: #3b82f6;
    color: white;
    font-size: 11px;
    font-weight: 600;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.detail-item-link:hover .click-hint {
    background: #2563eb;
    animation: pulse 0.5s ease;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

.detail-item-link::before {
    content: '🔗';
    position: absolute;
    top: -8px;
    right: -8px;
    background: #3b82f6;
    color: white;
    font-size: 12px;
    padding: 4px 6px;
    border-radius: 20px;
    opacity: 0;
    transition: opacity 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.detail-item-link:hover::before {
    opacity: 1;
}

.functions_menu{
    display: flex; 
    flex-direction: row;
    height: 110px;
    /* margin-bottom: 5px; */
}

.functions_menu.disabled{
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
    filter: grayscale(0.8);
}

.status-tracker-simple {

    width: 100%;
    box-sizing: border-box;
    padding: 5px 2px;
    padding-top: 0;
    border-radius: 12px;

}

.tracker-dots {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    padding: 0 4px;
}

.dot {
    width: 8px;
    height: 8px;
    background: #cbd5e1;
    border-radius: 50%;
    transition: all 0.3s ease;
    position: relative;
}

.dot.completed {
    background: #10b981;
    transform: scale(1.2);
}

.dot.active {
    background: #3b82f6;
    transform: scale(1.3);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}

.tracker-bar-simple {
    width: 100%;
    height: 4px;
    background: #e2e8f0;
    border-radius: 4px;
    overflow: hidden;
}

.tracker-bar-fill-simple {
    height: 100%;
    width: 0%;
    border-radius: 4px;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    background: linear-gradient(90deg, #94a3b8, #64748b);
}

.filters-area {
    display: flex;
    gap: 10px;
    justify-content: left;
    z-index: 4;
    overflow: visible !important;
    flex-wrap: wrap;
}

.search-input-wrapper {
    min-width: 0;
    overflow: visible !important;
    position: relative;
}

@media (max-width: 768px) {
    .filters-area {
        flex-direction: column;
        gap: 5px;
        padding: 10px;
    }

    .search-cont{
        margin: 0 15px;
        width: 100%;
    }

    .search-input-wrapper {
        width: 100%;
    }
    
    .custom-dropdown,
    .region-select {
        max-width: 100%;
        width: 100%;
    }
}

.search-input {
    width: 100%;
    padding: 10px 20px 10px 48px;
    font-size: 15px;
    color: #212121;
    background: #f0f2f5;
    border: none;
    border-radius: 12px;
    outline: none;
    transition: all 0.2s ease;
    max-width: 300px;
    box-sizing: border-box;
}

.search-input:hover {
    background: #e4e6eb;
    border: none;
}

.search-input:focus {
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(0, 136, 204, 0.15);
    border: none;
}

.search-input::placeholder {
    color: #707579;
    font-weight: 400;
    opacity: 0.8;
}

.search-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    height: 20px;
    width: 20px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="%23707579"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>') no-repeat center;
    cursor: pointer;
    margin-right: 8px;
}

@media (max-width: 768px) {
    .telegram-style {
        flex-direction: column;
        gap: 12px;
    }
    
    .search-input-wrapper {
        width: 100%;
    }
    
    /* .search-input {
        padding: 12px 16px 12px 44px;
        font-size: 14px;
        height: 44px;
    }
    
    .input-icon {
        left: 14px;
        width: 18px;
        height: 18px;
    } */
}


.custom-dropdown {
    position: relative;
    width: 100%;
    max-width: 300px;
}

.dropdown-trigger {
    width: 100%;
    padding: 10px 32px 10px 48px;
    font-size: 15px;
    color: #212121;
    background: #f0f2f5;
    border: none;
    max-width: 230px;
    border-radius: 12px;
    outline: none;
    transition: all 0.2s ease;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
}

.dropdown-trigger:hover {
    background: #e4e6eb;
}

.dropdown-text {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dropdown-arrow {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    transition: transform 0.2s ease;
    stroke: #707579;
}

.custom-dropdown.open .dropdown-arrow {
    transform: rotate(180deg);
}

.dropdown-menu {
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    right: 0;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1;
    display: none;
    max-height: 310px;
    overflow-y: auto;
}

.custom-dropdown.open .dropdown-menu {
    display: block;
}

.dropdown-item {
    padding: 10px 16px;
    cursor: pointer;
    transition: background 0.2s ease;
    font-size: 14px;
    color: #212121;
}

.dropdown-item:hover {
    background: #f0f2f5;
}

.dropdown-item.selected {
    background: #e3f2fd;
    color: #0088cc;
}

.search-input:focus ~ .input-icon {
    fill: #0088cc;
}

.search-input:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.search-input:disabled:hover {
    background: #f0f2f5;
}

.search-input.error {
    border-color: #ff5252;
    background: #fff5f5;
}

.search-input.error:focus {
    box-shadow: 0 0 0 2px rgba(255, 82, 82, 0.15);
}

.input-style .search-input {
    padding-left: 40px;
    width: 100%;
}

.functions_menu_name{
    font-weight: 600;
    font-family: 13px;
    padding: 0 7px;
}

.content-pod-menu nav ul li{
    margin: 0;
    display: flex;
    border-radius: 5px;
    flex-direction: column;
    justify-content: space-between;
    margin: 7px;
    align-items: center;
    text-align: center;
    width: 65px; 
    height: 65px;   
    padding: 15px;
    cursor: pointer;
    transition: background-color 0.3s ease, padding 0.3s ease;
}

.content-pod-menu nav ul li.need-to-touch {
    animation: gentle-pulse 2s infinite ease-in-out;
}

@keyframes gentle-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.5);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(59, 130, 246, 0.1);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.5);
    }
}


.content-pod-menu nav ul li[data-action="not_viewed"] .count-img {
    color: #3b82f6;

}

.content-pod-menu nav ul li[data-action="remarks"] .count-img {
    color: #f59e0b;
}

.content-pod-menu nav ul li[data-action="to_download"] .count-img {
    color: #10b981;
}

.content-pod-menu nav ul li[data-action="to_delete"] .count-img {
    color: #ef4444;
}

.content-pod-menu nav ul li[data-action="all_reports"] .count-img {
    color: #6b7280;
}

.count-img {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.li-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-decoration: none;
    flex: 1;
}

.li-title span:first-child {
    font-size: 14px;
    color: #374151;
    min-width: 80px;
}

.count-reports {
    padding: 2px 6px;
    color: white;
    border-radius: 100px;
    font-weight: 600;
    font-size: 15px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    text-align: center;
}

.active_functions_menu{
    border-radius: 5px;
    border: none;
    background-color:#c4e8ff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.active_functions_menu .li-title{
    font-weight: 600;
}

.content-pod-menu nav ul li:hover{
    background-color:#acdfff;
    padding: 20px 15px 15px 15px;
}

.content-pod-menu nav ul li:hover img,
.content-pod-menu nav ul li:hover svg {
    filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.2));
}

.content-pod-menu nav ul li img{
    height: 40px;
    width: auto;
}

.content-pod-menu nav ul li a{
    font-size: 13px;
    padding-top: 7px;
}

.white-panel {
  display: none; 
  position: absolute;
  flex-direction: column;
  padding: 5px;
  gap: 5px;
  background: rgba(255, 255, 255, 0.459);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px 0 rgba(0,0,0,0.1);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}

.white-panel button {
    border: none;
    border-radius: 12px;
    background-color: transparent;
    color: #1e293b;
    width: 100%;
    font-size: 14px;
    font-weight: 500;
    padding: 5px 8px;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    overflow: hidden;
}

.white-panel button::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
    background-color: #e2eefa;
    transition: width 0.2s ease;
    z-index: -1;
}

.white-panel button:hover::before {
    width: 100%;
}

.white-panel button svg {
    width: 17px;
    height: 17px;
    color: #64748b;
    transition: all 0.2s ease;
}

.white-panel button:hover svg {
    color: #3b82f6;
    transform: translateX(2px);
}

.white-panel button:active {
    transform: scale(0.98);
}

.white-panel button:last-child {
    color: #dc2626;
}

.white-panel button:last-child svg {
    color: #dc2626;
}

.white-panel button:last-child::before {
    background-color: #fee2e2;
}

.white-panel button:last-child:hover {
    color: #b91c1c;
}

.white-panel button:last-child:hover svg {
    color: #b91c1c;
}

.white-panel button.disabled,
.white-panel button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    /* pointer-events: none; */
    color: #94a3b8;
}

.white-panel button.disabled svg,
.white-panel button:disabled svg {
    color: #94a3b8;
    transform: none;
}

.white-panel button.disabled:hover::before,
.white-panel button:disabled:hover::before {
    width: 0;
}

.white-panel button.disabled:active,
.white-panel button:disabled:active {
    transform: none;
}

.white-panel button:last-child.disabled,
.white-panel button:last-child:disabled {
    color: #94a3b8;
    opacity: 0.5;
}

.white-panel button:last-child.disabled svg,
.white-panel button:last-child:disabled svg {
    color: #94a3b8;
}

.white-panel button:last-child.disabled:hover,
.white-panel button:last-child:disabled:hover {
    color: #94a3b8;
}

.white-panel button:last-child.disabled:hover svg,
.white-panel button:last-child:disabled:hover svg {
    color: #94a3b8;
}

.report_row {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    touch-action: manipulation; 
}

.report-area {
    overflow-x: auto;
    margin-top: 10px;
    margin-bottom: 100px;
    padding-bottom: 5px;
    transition: opacity 0.3s ease-in-out;
    position: relative;
    width: 100%;
}

.report-area {
    transition: opacity 0.3s ease-in-out;
    position: relative;
}

.report-area.fade-out {
    opacity: 0;
}

.report-area.fade-in {
    opacity: 1;
    animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.table-report-area {
    border: none;
    font-size: 12px;
    display: block;
    border-spacing: 0px;
    border-collapse: collapse;
    background-color: #ffffff;    
    height: 100%;
}

.table-title {
    color: rgb(0, 0, 0);
    font-weight: 600;
    width: 100%;
    background-color:rgb(243, 243, 243);
}

/* // .table-title tr th {
//     padding: 10px 15px;
//     text-align: center;
//     font-size: 14px;
//     position: relative;
//     min-width: min-content;
//     border: 1px solid var(--border-color);
// } */

.table-title tr th {
    padding: 12px 16px;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    position: relative;
    min-width: min-content;
    border: 1px solid #e2e8f0;
    background-color: #f8fafc;
    color: #0f172a;
        align-items: stretch;

    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, border-bottom 0.2s ease;
}

.table-title tr th:hover {
    background-color: #f1f5f9;
    transform: translateY(-1px);
}

.table-title tr th.sort-active {
    background-color: #e0f2fe;
    color: #0284c7;
    border-bottom: 2px solid var(--blue-back);
}


.table-title tr th:first-child,
.table-title tr td:first-child {
    width: 10px;
}

.table-title tr th:nth-child(2),
.table-title tr td:nth-child(2){
    min-width: 10px;
}

.table-title tr th:nth-child(3),
.table-title tr td:nth-child(3){
    min-width: 40px;
}

.table-title tr th:last-child,
.table-title tr td:last-child{
    width: 1000vb;
}

.hascomment-row {
    background-color: var(--comment-row);
}


// SORT AND RESIZE TABLE
th .resizer {
    position: relative;
    top: 0;
    right: 0;
    width: 5px;
    height: 100%;
    cursor: col-resize;
    background-color: transparent;
    transition: background-color 0.2s;
}

th.resizable {
}

th.resizable .resizer {
    position: absolute;
    top: 0;
    right: 0;
    width: 5px;
    height: 100%;
    cursor: col-resize;
    background-color: transparent;
    transition: background-color 0.2s;
    z-index: 1;
}

.resizer:hover,
.resizer.resizing {
    background-color: var(--blue-txt);
    opacity: 0.5;
}


.sort-active .sort-icon-header {
    opacity: 1;
    visibility: visible;
}

.sort-icon-header {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.sort-label {
    display: flex;
    justify-content: center;
    cursor: pointer;
}

.sort-label:hover .sort-icon-header {
    opacity: 0.6;
    visibility: visible;
}

.sort-active .sort-icon-header {
    opacity: 1;
}

.sort-icon-header svg {
    width: 12px;
    height: 12px;
    stroke: currentColor;
    stroke-width: 2;
    transition: transform 0.2s ease;
}

.sort-icon-header svg:hover {
    transform: scale(1.1);
}

/*SORT AND RESIZE TABLE END*/


.table-report-area input[type="text"] {            
    font-size: 13px;  
    font-weight: 500;  
    width: 100%;
    border: none;
    text-align: left;
    background: none;
    color: #000000;
    box-sizing: border-box;
    min-width: min-content;
}

.table-report-area tr{
    border-bottom: 1px solid var(--border-color);
}

.table-report-area tr:hover{
    background-color: #f5f5f5;
}

.table-report-area tr td{
    padding: 10px 15px;
    text-align: left;             
    font-size: 14px;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; 
}

.table-report-area tr td input{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;   
}

.difference-cell {
    border-right: none;
    text-align: center;
}

.difference-negative {
    background-color: rgba(40, 167, 69, 0.15);
}

.difference-negative .difference-arrow {
    color: #28a745;
    font-weight: 600;
    margin-right: 4px;
}

.difference-negative .difference-value {
    color: #28a745;
    font-weight: 600;
}

.difference-positive {
    background-color: rgba(220, 53, 69, 0.15);
}

.difference-positive .difference-arrow {
    color: #dc3545;
    font-weight: 600;
    margin-right: 4px;
}

.difference-positive .difference-value {
    color: #dc3545;
    font-weight: 600;
}

.difference-zero {
    background-color: rgba(200, 200, 200, 0.15);
}

.difference-zero .difference-value {
    color: #6c757d;
    font-weight: 600;
}

.difference-empty {
    background-color: rgba(200, 200, 200, 0.15);
}

.difference-empty .difference-value {
    color: #6c757d;
    font-weight: 600;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;    
    background: #e2e8f0;
    color: #475569;
}

.status-badge svg {
    width: 16px;
    height: 16px;
}

.video-check {
    background: rgba(0, 112, 243, 0.12) !important;
    color: #0070f3 !important;
    border: 1px solid rgba(0, 112, 243, 0.25) !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

.video-check:hover {
    background: rgba(0, 112, 243, 0.2) !important;
    transform: translateY(-1px);
}

.video-check:active {
    transform: translateY(0);
}

.status-control{
    background: rgba(96, 255, 228, 0.2)!important;
    color: rgb(59, 179, 159) !important;
    border: 1px solid rgba(34, 197, 94, 0.2)!important;
}

.status-control svg{
    color: rgb(59, 179, 159) !important;
}

.status-success {
    background: rgba(34, 197, 94, 0.1)!important;
    color: #16a34a!important;
    border: 1px solid rgba(34, 197, 94, 0.2)!important;
}

.status-success svg{
    color: #16a34a!important;
}

.status-approved {
    background: rgba(34, 197, 94, 0.1)!important;
    color: #16a34a!important;
    border: 1px solid rgba(34, 197, 94, 0.2)!important;
}

.status-approved svg{
    color: #16a34a!important;
}

.status-agreed {
    background: rgba(43, 116, 70, 0.1)!important;
    color: #405e39!important;
    border: 1px solid rgba(34, 197, 94, 0.2)!important;
}

.status-agreed svg{
    color: #405e39!important;
}

.status-pending {
    background: rgba(59, 130, 246, 0.1) !important;
    color: #2563eb !important;
    border: 1px solid rgba(59, 130, 246, 0.2) !important;
}

.status-pending svg{
    color: #2563eb !important;
}

.status-warning {
    background: rgba(245, 158, 11, 0.1)!important;
    color: #d97706!important;
    border: 1px solid rgba(245, 158, 11, 0.2)!important;
}

.status-warning svg{
    color: #d97706!important;
}

.status-delete {
    background: rgba(239, 68, 68, 0.1)!important;
    color: #dc2626!important;
    border: 1px solid rgba(239, 68, 68, 0.2)!important;
}

.status-delete svg{
    color: #dc2626!important;
}

.status-draft {
    background: rgba(156, 163, 175, 0.1)!important;
    color: #6b7280!important;
    border: 1px solid rgba(156, 163, 175, 0.2)!important;
}

.status-draft svg{
    color: #6b7280!important;
}


.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    margin: 0 auto;
    border-radius: 15px;
    text-align: center;
    color: #6b7280;
}

.empty-state svg {
    width: 48px;
    height: 48px;
    color: #9ca3af;
    margin-bottom: 16px;
}

.empty-state h3 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 500;
    color: #374151;
}

.empty-state p {
    margin: 0 0 24px 0;
    font-size: 14px;
    color: #6b7280;
    max-width: 400px;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(74, 111, 165, 0.4);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(74, 111, 165, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(74, 111, 165, 0);
    }
}

.open-report-btn{
    display: flex;
    justify-content: center;
    gap: 10px;
    color: rgb(0, 0, 0);
    padding: 6px 10px;
    background-color: white;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    text-align: center;
    align-items: center;
    border: 2px solid #4a6fa5;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(74, 111, 165, 0.1);
    font-weight: 600;
}

.open-report-btn span {
    font-weight: 600;
    position: relative;
    transition: transform 0.3s ease;
}

.open-report-btn:hover{
    transform: translateY(-2px);
    // box-shadow: 0 8px 25px rgba(74, 111, 165, 0.2);
    border-color: #2c5282;
    background: linear-gradient(135deg, #ebf4ff 0%, #d6e4ff 100%);
}

.open-report-btn:hover span{
    transform: scale(1.05);
}

.open-report-btn:active{
    transform: translateY(1px);
    // box-shadow: 0 2px 10px rgba(74, 111, 165, 0.15);
    transition: all 0.1s ease;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(74, 111, 165, 0.4);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(74, 111, 165, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(74, 111, 165, 0);
    }
}

.open-report-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(74, 111, 165, 0.1);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.open-report-btn:hover::before{
    width: 200px;
    height: 200px;
}

@keyframes borderFlow {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.open-report-btn.border-animated {
    border: 2px solid transparent;
    background: linear-gradient(white, white) padding-box,
                linear-gradient(90deg, #4a6fa5, #1a56db, #4a6fa5) border-box;
    background-size: 200% 100%;
    animation: borderFlow 3s ease infinite;
}

.open-report-btn img.rotated {
    transform: rotate(-135deg);
}

/*active-report*/
// .active-report,
// .active-input{
//     background-color:var(--active-row) !important;
// }

.active-report{
    background-color:var(--active-row) !important;
}

/*active-report end*/

/*report.css end*/


/* ================= modal begin =================== */
.modal {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;  
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    transition: opacity 0.3s ease, visibility 0.3s ease;
    display: flex;
    align-items: center; 
    justify-content: center; 
    box-sizing: border-box;
}

.modal.active {
    opacity: 1;
    visibility: visible;
}

.modal-content {
    border-radius: 20px;
    background-color: rgb(255, 255, 255);
    border: 1px solid rgb(255, 255, 255);
    padding: 25px;
    width: fit-content;
    height: fit-content;
    min-width: 400px;
    max-width: 900px;
    max-height: 80vh;
    position: relative;
    overflow-y: auto;
    opacity: 0;
    transform: scale(0.8) translateY(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    margin: 0;
}

.modal.active .modal-content {
    opacity: 1;
    transform: scale(1) translateY(0);
}

.info-modal-content {
    border-radius: 20px;
    background-color: rgb(255, 255, 255);
    border: 1px solid rgb(255, 255, 255);
    width: fit-content;
    height: fit-content;
    min-width: 400px;
    max-width: 1100px;
    max-height: 80vh;
    position: relative;
    margin: 0 10px;
    opacity: 0;
    transform: scale(0.8) translateY(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    margin: 0;
}

.modal.active .info-modal-content {
    opacity: 1;
    transform: scale(1) translateY(0);
}

.modal-slides-container {
    position: relative;
    width: 100%;
}

.slide-layout {
    display: flex;
    gap: 20px;
    align-items: center;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
}

.slide-info {
    flex: 1 1 50%;
    max-width: 50%;
    padding-left: 40px;
}

.slide-counter {
    position: absolute;
    top: 30px;
    left: 30px;
    font-size: 1.1rem;
    color: #000000;
    margin: 0;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    opacity: 0.9;
    z-index: 2;
    background-color: rgba(0, 0, 0, 0.1);
    padding: 10px;
    border-radius: 10px;
    
}   

.instruction-link {
    color: var(--blue-txt-link);
    text-decoration: none; 
    font-weight: 600;
    transition: all 0.2s ease;
    border-bottom: 1px solid transparent; 
    cursor: pointer;
}

.instruction-link:hover {
    color: #0056b3;
    border-bottom-color: currentColor; 
    text-decoration: none;
}

.instruction-link:active {
    color: #004085;
    transform: translateY(1px);
}

.slide-info h3 {
    color: #000000;
    font-size: 1.5rem;
    font-weight: 500;
    margin: 0 0 16px 0;
    letter-spacing: -0.3px;
}

.slide-info p {
    color: #757575;
    line-height: 1.6;
    margin-bottom: 20px;
    font-size: 1rem;
}

.slide-info ul, 
.slide-info ol {
    color: #2d3748;
    line-height: 1.8;
    padding-left: 0;
    margin-bottom: 25px;
    list-style: none;
}

.slide-info ul li {
    margin-bottom: 4px;
    padding-left: 28px;
    position: relative;
}

.slide-info ul li::before {
    content: "●";
    color: #4299e1;
    font-size: 18px;
    position: absolute;
    left: 0;
    top: -2px;
}

.slide-info ol {
    counter-reset: item;
}

.slide-info ol li {
    counter-increment: item;
    margin-bottom: 4px;
    padding-left: 28px;
    position: relative;
}

.slide-image {
    flex: 1 1 50%;
    max-width: 50%;
    display: flex;
    justify-content: right;
    align-items: center;    
    margin: 10px;
    margin-left: none;
    background: rgb(243, 243, 243);
    border-radius: 20px;
    border: 1px solid var(--border-color);
}

.image-placeholder {
    width: 100% !important;
    max-width: 800px;
    height: auto;
    aspect-ratio: 1/1;

    padding: 10px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    overflow: hidden;
}


.image-placeholder img {
    width: 100%;
    height: auto;
    transform: scale(1.6);
    transform-origin: left;
    object-fit: cover;
    box-sizing: border-box;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);

}

.video-play-button {
    position: absolute;
    width: 70px;
    height: 70px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
    border: none;
    z-index: 2;
}

.video-play-button:hover {
    transform: scale(1.1);
    background: #ffffff;
}

.video-play-button svg {
    width: 30px;
    height: 30px;
}

.video-play-button svg path {
    fill: #333;
}


.slides-navigation-vertical {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;

}

.slide-prev-vertical,
.slide-next-vertical {
    pointer-events: auto;
    background: rgba(32, 32, 32, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 100px;
    width: 48px;
    height: 48px;
    font-size: 1.5rem;
    margin: 0 -24px;
    cursor: pointer;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    backdrop-filter: blur(4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.slide-prev-vertical svg,
.slide-next-vertical svg{
    width: 24px;
    height: 24px;

}

.slide-prev-vertical:hover,
.slide-next-vertical:hover {
    background: var(--blue-back);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

.slide-prev-vertical:active,
.slide-next-vertical:active {
    transform: scale(0.95);
}

@keyframes slideFadeInfoModal {
    from {
        opacity: 0;
        transform: translateX(40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.modal-slide {
    display: none;
    animation: slideFadeInfoModal 0.4s ease;
}

.modal-slide.active {
    display: block;
}

.info-modal-container::-webkit-scrollbar {
    width: 6px;
}

.info-modal-container::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 3px;
}

.info-modal-container::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
}

.info-modal-container::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.3);
}

.modal_table .but_tr td:first-child {
    text-align: left;
}

.modal_table .but_tr td:last-child {
    text-align: right;
}

.modal-header{
    display: flex;
    justify-content: space-between;
    margin-bottom: 25px;
    gap: 20px;
}

.change-position{
    cursor: move;
    text-align: center;
    display: flex;
    align-items: center;
    vertical-align: middle;
}

.close {
    background: rgba(32, 32, 32, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 100px;
    width: 22px;
    height: 22px;
    padding: 7px;
    position: absolute;
    color: white;
    top: 20px;
    right: 20px;    
    cursor: pointer;
    transition: 0.3s all ease-out;
    z-index: 1;
    fill: white;
}

.close:hover {
    background: rgba(255, 0, 0, 0.8);
    border-color: var(--border-color);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

.export-region-filter {
    margin: 15px 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 10px;
}

.export-region-label {
    font-size: 14px;
    font-weight: 500;
    color: #212121;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

.export-region-label::before {
    font-size: 14px;
}

.export-region-select {
    flex: 1;
    padding: 8px 12px;
    font-size: 14px;
    color: #212121;
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    cursor: pointer;
    outline: none;
    transition: all 0.2s ease;
}

.export-region-select:hover {
    border-color: #0088cc;
}

.export-region-select:focus {
    border-color: #0088cc;
    box-shadow: 0 0 0 2px rgba(0, 136, 204, 0.15);
}

.format-options {
    display: flex;
    gap: 20px;
    margin: 20px 0;
}

.format-option {
    flex: 1;
}

.format-option input[type="radio"] {
    display: none;
}

.format-option.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.format-option.disabled .format-option-content {
    cursor: not-allowed;
}

.format-selection-label {
    display: flex;
    align-items: center;
    margin-top: 25px;
    gap: 10px;
    padding: 0 5px;
}

.format-selection-title {
    font-size: 14px;
    font-weight: 500;
    color: #212121;
}

.format-selection-required {
    font-size: 12px;
    color: #ff4444;
    background: #ffe5e5;
    padding: 2px 8px;
    border-radius: 12px;
}

#export_submit_btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.format-option-content {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 2px solid #e0e0e0;
    padding: 30px;
    transition: all 0.3s ease;
    background: white;
    box-sizing: border-box;
    cursor: pointer;
    border-radius: 13px;
    width: 100%;
    min-height: 120px;
}

.format-option-content svg {
    width: 32px;
    height: 32px;
    stroke: #707579;
    flex-shrink: 0;
}

.format-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.format-title {
    font-size: 15px;
    font-weight: 500;
    color: #212121;
}

.format-description {
    font-size: 12px;
    color: #707579;
}

.format-option input[type="radio"]:checked + .format-option-content {
    border-color: var(--blue-back);
    background: linear-gradient(135deg, rgba(76, 175, 153, 0.05) 0%, rgba(76, 160, 175, 0.1) 100%);
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.2);
}

.format-option input[type="radio"]:checked + .format-option-content svg {
    stroke: var(--blue-back);
}

.format-option input[type="radio"]:checked + .format-option-content .format-title {
    color: var(--blue-back);
}

@media (max-width: 1024px) {
    .info-modal-content > div:not(.close) {
        padding: 32px;
    }
    
    .slide-layout {
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .format-options{
        flex-direction: column;
    }


    .info-modal-content > div:not(.close) {
        padding: 24px;
    }
    
    .slide-layout {
        flex-direction: column;
        gap: 24px;
    }
    
    .slide-info,
    .slide-image {
        flex: 1 1 100%;
        max-width: 100%;
        padding: 0 10px;
        box-sizing: border-box;

    }
    
    .slide-info {
        text-align: left;

        width: 100%;
    }
    
    .slide-image {
        order: -1;
    }
    
    .image-placeholder {
        max-width: 350px;
        margin: 0 auto;
    }
    
    .slides-navigation-vertical {
        padding: 0 8px;
    }
    
    .slide-prev-vertical,
    .slide-next-vertical {
        width: 40px;
        height: 40px;
        margin: 0 20px;
    }
    
    .slide-prev-vertical svg,
    .slide-next-vertical svg {
        width: 20px;
        height: 20px;
    }
    
    .slide-counter {
        top: 20px;
        left: 20px;
    }
}

@media (max-width: 480px) {
    .info-modal-content > div:not(.close) {
        padding: 20px 0;
    }

    .info-modal-content {
        width: calc(100vw - 30px);
        margin: 0 15px;
        border-radius: 14px;
        max-height: 90vh;
        box-sizing: border-box;
    }
    
    .slide-layout {
        gap: 16px;
    }
    
    .slide-info h3 {
        font-size: 1.2rem;
        margin-bottom: 12px;
    }
    
    .slide-info p,
    .slide-info li {
        font-size: 0.9rem;
        line-height: 1.5;
    }
    
    .slide-info ul,
    .slide-info ol {
        padding-left: 16px;
        margin-bottom: 16px;
    }
    
    .image-placeholder {
   
        padding: 15px;
        border-radius: 16px;
    }
    
    .slide-counter {

    }
    
    .slides-navigation-vertical {
        padding: 0 4px;
    }
    
    .slide-prev-vertical,
    .slide-next-vertical {
        width: 36px;
        height: 36px;
        margin: 0 20px;
    }
    
    .slide-prev-vertical svg,
    .slide-next-vertical svg {
        width: 18px;
        height: 18px;
    }
}

@media (max-width: 360px) {
    .info-modal-content > div:not(.close) {
        padding: 16px;
    }
    
    .image-placeholder {

        padding: 12px;
    }
    
    .slide-info h3 {
        font-size: 1.1rem;
    }
    
    .slide-info p,
    .slide-info li {
        font-size: 0.85rem;
    }
}

@media (max-width: 768px) and (orientation: landscape) {
    .info-modal-content {
        max-height: 85vh;
    }
    
    .info-modal-content > div:not(.close) {
        padding: 20px;
    }
    
    .slide-layout {
        flex-direction: row;
        gap: 20px;
    }
    
    .slide-image {
        flex: 0 0 40%;
    }
    
    .slide-info h3 {
        font-size: 1.2rem;
        margin-bottom: 10px;
    }
}

@media (min-height: 1000px) {
    .info-modal-content {
        max-height: 80vh;
    }
    
    .image-placeholder {
        max-width: 450px;
    }
}
/*end */

/*sections page begin*/
.section_row,
.section_row td,
.section_row td input {
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
}

.modal_table{
    width: 100%; 
}

.modal_table td{
    height: 34px;
    font-size: 14px; 
    font-weight: 500;   
    text-align: left;
    align-items: end;
    vertical-align: middle;
}

.model_but_area{
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    align-items: center;
    width: 100%;
    margin-top: 20px;
    gap: 5px;
}

.model_but_area.right{
    flex-direction: row;
    justify-content: end;
    text-align:end;
    text-align:right;
}

.model_but_area.nogap{
    gap: 0;
}

.model_but_area.between{

    flex-direction: row;
    gap: 10px;
}

.choose_period-cont {
    display: flex;
    justify-content: start;
}

.choose_period-cont .inc_button,
.choose_period-cont .dis_button {
    background-color: #ffffff;
    border: 1px solid #d1d5db;
    color: #111827;
    padding: 5px 16px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    border-radius: 6px;
    transition: background-color 0.2s, border-color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.choose_period-cont .inc_button:hover,
.choose_period-cont .dis_button:hover {
    background-color: #cecece;
    border-color: #9ca3af;
}

.choose_period-cont .inc_dis_input {
    max-width: 100px;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background-color: #f5f5f5;
    color: #111827;
    pointer-events: none;
    margin: 0;
    margin: 0 7px;
}

.modal_table input{
    width: 140px;
    padding: 5px 14px;
    margin-left: 20px;
    text-align: right;
    font-size: 14px; 
    border-radius: 5px;
    border: 1px solid rgb(217, 217, 217);  
    font-weight: 500; 
}

#addCommentModal .modal_table input{
    width: 250px;
    text-align: left;
}

.modal_table input:required-invalid{
    border: 2px solid red;
}

.report-info-page{
    margin: 0 auto;
    margin-top: 70px;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 2100px;
}

.ticket-area {
    max-width: 1200px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--border-color);
    margin-bottom: 80px;
}

.ticket-header__main {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.not-first-header{
    border-top: 1px solid #e0e5f0;
}

.ticket-header__left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.ticket-header__icon-wrapper {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ticket-header__icon {
    color: white;
}

.ticket-header__info h1 {
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 4px 0;
}

.ticket-header__subtitle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    opacity: 0.9;
}

.ticket-header__separator {
    opacity: 0.5;
}

.ticket-header__status {
    background: rgba(255, 255, 255, 0.2);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.status-active .status-dot {
    width: 8px;
    height: 8px;
    background: #10b981;
    border-radius: 50%;
    animation: pulse 2s infinite;
}

.ticket-header__meta {
    display: flex;
    gap: 20px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    opacity: 0.9;
}

.meta-icon {
    opacity: 0.7;
}

.messages-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    background: var(--message-header-back);
    border-bottom: 1px solid #e0e5f0;
}

.messages-header__left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.messages-header__title {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
    margin: 0;
}

.messages-header__title svg{
    color: var(--blue-back);
    width: 20px;
    height: 20px;
}

.messages-header__badge {
    background: var(--blue-back);
    color: white;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    display: inline-block;
}

.print-form {
    margin-left: auto;
}

.print-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: white;
    border: 1px solid #e0e5f0;
    border-radius: 8px;
    color: #2d3748;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.print-btn.delete {
    padding: 6px 10px;
    font-size: 13px;
}

.print-btn.delete svg{
    width: 15px;
    height: 15px;
}

.print-btn.delete:hover {
    background: rgba(255, 28, 28, 1);
    border: none;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
}

.print-btn:hover {
    background: var(--blue-back);
    border-color: var(--blue-back);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
}

.print-btn:active {
    transform: translateY(0);
}

.print-btn svg {
    transition: transform 0.2s ease;
    width: 18px;
    height: 18px;
}

.print-btn:hover .print-btn svg {
    transform: rotate(12deg);
}

.mark-read-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background: white;
    border: 1px solid #e0e5f0;
    border-radius: 6px;
    color: #2d3748;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mark-read-btn:hover {
    background: #4CAF50;
    border-color: #4CAF50;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.2);
}

.mark-read-btn svg {
    transition: transform 0.2s ease;
}

.mark-read-btn:hover svg {
    transform: scale(1.2);
}

.mark-all-read-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 10px;
    background: white;
    border: 1px solid #e0e5f0;
    border-radius: 8px;
    color: #2d3748;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mark-all-read-btn:hover {
    background: #4CAF50;
    border-color: #4CAF50;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
}

.mark-all-read-btn svg {
    width: 18px;
    height: 18px;
    transition: transform 0.2s ease;
}

.mark-all-read-btn:hover svg {
    transform: scale(1.1);
}

@media (max-width: 640px) {
    .messages-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    
    .print-form {
        width: 100%;
    }
    
    .print-btn {
        width: 100%;
        justify-content: center;
    }
}

.messages-timeline {
    background: linear-gradient(145deg, #ffffff 0%, #f8faff 100%);
    max-height: 300px;
    overflow-y: auto;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    scroll-behavior: smooth;
    border-bottom: 1px solid #e0e5f0;
}

.tickets-message {
    display: flex;
    width: 100%;
}

.tickets-message-left {
    justify-content: flex-start;
}

.tickets-message-right {
    justify-content: flex-end;
}

.tickets-message-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 400px;
    width: auto;
}

/* Для левых сообщений */
.tickets-message-left .tickets-message-content {
    align-items: flex-start;
}

/* Для правых сообщений */
.tickets-message-right .tickets-message-content {
    align-items: flex-end;
}

.message-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
    padding: 0 4px;
}

/* Выравнивание header */
.tickets-message-left .message-header {
    justify-content: flex-start;
}

.tickets-message-right .message-header {
    justify-content: flex-end;
}

.message-sender {
    font-size: 13px;
    font-weight: 600;
    color: var(--telegram-text);
    opacity: 0.9;
}

.tickets-message-right .message-sender {
    color: var(--telegram-blue);
}

.message-time {
    font-size: 12px;
    color: var(--telegram-text-light);
    opacity: 0.7;
}

.btn-sender-info {
    background: transparent;
    border: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--telegram-text-light);
    opacity: 0.6;
    transition: all 0.2s ease;
    padding: 0;
    margin-left: 4px;
}

.btn-sender-info:hover {
    background: rgba(0, 0, 0, 0.05);
    opacity: 1;
    color: var(--telegram-blue);
}

.btn-sender-info:active {
    transform: scale(0.95);
}

.message-bubble {
    padding: 12px 16px;
    border-radius: 18px;
    position: relative;
    min-width: 60px;
    max-width: 100%;
    word-wrap: break-word;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
    border: 1px solid transparent;
}

.tickets-message-left .message-bubble {
    background-color: #E8F6FF;
    border-color: #E5E5E5;
    border-bottom-left-radius: 4px;
}

.tickets-message-right .message-bubble {
    background-color: #E8F6FF;
    border-color: #D1E9F7;
    border-bottom-right-radius: 4px;
}

.text-ticket {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--telegram-text);
    padding-right: 20px;
}

.bubble-status {
    position: absolute;
    bottom: 8px;
    right: 12px;
    opacity: 0.8;
}

.bubble-status svg {
    filter: drop-shadow(0 1px 1px rgba(0,0,0,0.1));
}

.message-date {
    font-size: 11px;
    color: var(--telegram-text-light);
    opacity: 0.6;
    padding: 0 8px;
    margin-top: 2px;
    position: relative;
}

/* Выравнивание даты */
.tickets-message-left .message-date {
    text-align: left;
}

.tickets-message-right .message-date {
    text-align: right;
}

.message-date span {
    background: #F8F9FA;
    padding: 0 8px;
    position: relative;
    z-index: 2;
}

.message-group {
    margin-bottom: 8px;
}

.message-group:first-child .message-date {
    margin-top: 0;
}

.tickets-message:hover .message-bubble {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
}

.tickets-message-left:hover .message-bubble {
    background-color: #F5F5F5;
}

/* Адаптив */
@media (max-width: 768px) {
    .tickets-message-content {
        max-width: 85%;
    }
}

.form-container {
    padding: 30px;
}

.comment-form__grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 24px;
    margin-bottom: 24px;
}

.comment-form__grid_respondent{
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 24px;
    margin-bottom: 24px;
    display: flex;
    flex-direction: row;
    justify-content: center;
}


.comment-form__grid_respondent .recipient-info{
    display: flex;
    flex-direction: row;
}


.comment-form__section--info {
    padding: 20px;
}


.recipient-info {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.section-header {
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e0e5f0;
}

.section-title {
    font-size: 16px;
    font-weight: 600;
    color: #2d3748;
    margin: 0;
    position: relative;
    display: inline-block;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -9px;
    left: 0;
    width: 120px;
    height: 3px;
    background: var(--blue-back);
    border-radius: 3px;
}

.comment-form__section--message {
    border-radius: 16px;
    padding: 20px;
}

.message-field {
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: 100%;
}

.message-field__textarea {
    width: 100%;
    min-height: 120px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #e0e5f0;
    border-radius: 12px;
    color: #2d3748;
    font-size: 14px;
    line-height: 1.6;
    resize: vertical;
    transition: all 0.2s ease;
    font-family: inherit;
    box-sizing: border-box;
}

.message-field__textarea:focus {
    outline: none;
    border-color: var(--blue-back);
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.15);
}

.message-field__textarea::placeholder {
    color: #a0aec0;
    font-style: italic;
}

.message-field__counter {
    text-align: right;
    font-size: 12px;
    color: #a0aec0;
    padding-right: 4px;
}

.messages-timeline::-webkit-scrollbar {
    width: 8px;
}

.messages-timeline::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.messages-timeline::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, var(--blue-back) 0%, #764ba2 100%);
    border-radius: 4px;
}

.messages-timeline::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, #5a6fd6 0%, #6a4393 100%);
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInMessage {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 900px) {
    .comment-form__grid_respondent .recipient-info{
        flex-direction: column;
    }

    .comment-form__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .ticket-area {
        margin: 10px;
        margin-bottom: 40px;
    }
    
    .message-bubble {
        max-width: 85%;
    }
}

@media (max-width: 600px) {
    .messages-timeline {
        padding: 16px;
    }
    
    .form-container {
        padding: 20px;
    }
    
    .blue_btn {
        width: 100%;
        justify-content: center;
    }
}

/* Message audit modal dezign END*/
.choose-product-area {
    top: 150px;
    position: absolute;
    right: 55px;
    width: 100%;
    max-width: 500px;
    height: auto;
    border-radius: 10px;
    background-color: white;
    border: none;
    z-index: 100;
    display: none;
    flex-direction: column;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

.choose-product-area .table-report-area {
    width: 100%;
    display: table;
    border-collapse: collapse;
}

.choose-product-area .table-report-area tbody {
    display: block;
    overflow-y: auto;
    max-height: 250px;
}

.choose-product-area .table-report-area thead,
.choose-product-area .table-report-area tbody tr {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.choose-product-area .table-report-area thead {
    width: calc(100% - 0px);
}

.choose-product-area .table-report-area tbody tr td:first-child,
.choose-product-area .table-report-area thead th:first-child {
    width: 25%;
}

.choose-product-area .table-report-area tbody tr td:nth-child(2),
.choose-product-area .table-report-area thead th:nth-child(2) {
    width: 55%;
}

.choose-product-area .table-report-area tbody tr td:nth-child(3),
.choose-product-area .table-report-area thead th:nth-child(3) {
    width: 20%;
}

.choose-product-area .table-report-area tbody tr:hover {
    background-color: #f3f3f3;
    cursor: pointer;
}

#noResultsRow td {
    text-align: center;
    padding: 20px;
    color: #999;
    font-style: italic;
}

.serchProduct_cont {
    display: flex;
    flex-direction: row;
    text-align: center;
    align-items: center;
    justify-content: left;
    margin: 10px;
    flex-shrink: 0;
}

.serchProduct_cont input {
    width: 100%;
    max-width: none;
    height: 26px;
    padding: 0 10px;
    margin-left: 20px;
    text-align: left;
    font-size: 12px;
    border-radius: 5px;
    border: 1px solid rgb(217, 217, 217);
    font-weight: 500;
}

.serchProduct_cont a {
    font-size: 14px;
    font-weight: 500;
}

#nameOfProductButton {
    height: calc(100% - 6px);
    display: flex;
    text-align: center;
    width: 25px;
    justify-content: center;
    vertical-align: middle;
    font-size: 22px;
    align-items: center;
    font-weight: 500;
    cursor: pointer;
    position: absolute;
    padding: 2px;
    top: 0;
    right: 0;
    background-color: #f0f0f0;
    border: 1px solid rgb(217, 217, 217);
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

.choose-product-area button {
    font-size: 12px;
    margin: 3px 20px 0 0;
    width: 180px;
    height: 35px;
    z-index: 1;
}

.modal_table .table-report-area tr:hover{
    background-color: #ebebeb;
}
/*sections page end*/
/*audit page*/

.audit-area_page{
    margin-top: 70px;
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 70px);
}

.show_dop_menu{
    display: none;

}

.left_menu {
    position: -webkit-sticky;
    padding: 12px 0 8px;
    font-size: 14px;
    line-height: 17px;
    background-color: #f5f5f5;
    min-height: 100vh;
    /* box-shadow: 0 0 10px rgba(0, 0, 0, 0.144); */
    border-radius: 0;
    border-top-right-radius: 10px;
}

.sticky_status{
    position: sticky;
    top: 70px;    
    width: 280px;
}

.sticky_status svg{
    display: none;
}


.left_menu li {
    display: flex;
    justify-content: space-between;
    list-style-type: none;
    cursor: pointer;
    font-size: 14px;
    padding: 7px 30px 7px 50px;
    margin-bottom: 10px;
    white-space: nowrap;
    height: 25px;
    transition: background-color 0.3s ease, color 0.3s ease, padding 0.3s ease, margin 0.3s ease;
    position: relative;
    align-items: center;
}

.left_menu li a{
    font-weight: 500;  
}

.left_menu .content a{
    padding-left: 20px;
}

/* FAQ page */
.faq_page{
    margin-top: 60px; 
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
}

.left_menu_faq{
    position: -webkit-sticky;
    padding: 12px 0 8px;
    font-size: 14px;
    line-height: 17px;
    background-color: #f5f5f5;
    min-height: 100vh;
    border-radius: 0;
    border-top-right-radius: 5px;
}

.sticky_status_faq{
    position: sticky;
    top: 70px;    
    width: 280px;
}

.left_menu_faq li {
    display: flex;
    justify-content: space-between;
    list-style-type: none;
    cursor: pointer;
    font-size: 14px;
    padding: 7px 30px 7px 50px;
    margin-bottom: 10px;
    height: 25px;
    
    transition: background-color 0.3s ease, color 0.3s ease, padding 0.3s ease, margin 0.3s ease;
    align-items: center;
}

.left_menu_faq li a{
    font-weight: 500;  
}

.left_menu_faq .content a{
    padding-left: 20px;
}

.faq-content-row{
    display: flex;
    flex-direction: row;
    height: 100%;
}

.rotate-180 {
    transform: rotate(180deg);
    transition: transform 0.3s ease;
}

#status-faqlist li.active-question > a {
    color: var(--blue-txt-dark);
    font-weight: bold;
}

#status-faqlist li[data-question]:hover {
    background-color: #f5f5f5;
}

.info_page.info_faq{
    margin-top: 20px !important;
}

.steps-list {
    --step-color: #6390f1;
    --step-bg: #f8fafc;
    --step-border: #e2e8f0;
    --step-shadow: 0 4px 20px rgba(99, 102, 241, 0.08);
    counter-reset: step-counter;
    list-style: none;
    padding: 0;
    margin: 24px 0;
    position: relative;
}

.steps-list::before {
    content: '';
    position: absolute;
    left: 16px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, 
        var(--step-color) 0%, 
        rgba(99, 102, 241, 0.3) 100%);
    z-index: 0;
}

.steps-list li {
    position: relative;
    margin-bottom: 32px;
    padding-left: 56px;
}

.steps-list li:last-child {
    margin-bottom: 0;
}

.steps-list li::before {
    content: counter(step-counter);
    counter-increment: step-counter;
    position: absolute;
    left: 0;
    top: 0;
    width: 36px;
    height: 36px;
    background: white;
    border: 2px solid var(--step-color);
    color: var(--step-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    box-shadow: var(--step-shadow);
    transition: all 0.3s ease;
}

.steps-list li:hover::before {
    background: var(--step-color);
    color: white;
    transform: scale(1.1);
    box-shadow: 0 6px 24px rgba(99, 102, 241, 0.2);
}

.steps-list li strong {
    font-size: 16px;
    color: #1e293b;
    margin-bottom: 6px;
    font-weight: 600;
}

.steps-list li p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.6;
}


/*faq search*/
.faq-search-container {
    box-sizing: border-box;
    margin-bottom: 20px;
    margin-left: 20px;
    position: relative;
    padding: 0 15px;
    max-width: 400px;
}

.faq-search-input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 10px;
    font-size: 16px;
    box-sizing: border-box;
    transition: border-color 0.3s;
}

.faq-search-input:focus {
    outline: none;
    border-color: #002762;
    box-shadow: 0 0 0 2px rgba(0, 39, 98, 0.1);
}

.faq-search-input::placeholder {
    color: #999;
}

.faq-search-results {
    position: absolute;
    top: 100%;
    left: 15px;
    right: 15px;
    background: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
    display: none;
    color: black;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.faq-search-result-item {
    padding: 12px 15px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    font-size: 14px;
    transition: background-color 0.2s;
}

.faq-search-result-item:hover {
    background-color: #f5f5f5;
}

.faq-search-result-item:last-child {
    border-bottom: none;
}

.faq-search-no-results {
    padding: 15px;
    text-align: center;
    color: #999;
    font-size: 14px;
}

/**/

.faq_row{
    display: flex;
    flex-direction: column;
    height: 100%;
}

.faq-content-container {
    width: 100%;
    padding: 0 15px;
    margin: 0 auto 50px;
    border-radius: 8px;
    min-height: 500px;
    box-sizing: border-box;
}

.faq-content-placeholder.modern {
    text-align: center;
    padding: 80px 20px;
    margin: 20px;
    animation: fadeIn 0.5s ease;
}

.placeholder-icon svg {
    background: rgba(102, 126, 234, 0.1);
    color: var(--blue-back);
    padding: 20px;
    border-radius: 60px;
    margin-bottom: 24px;
    width: 80px;
    height: 80px;
    transition: all 0.3s ease;
}

.placeholder-icon svg:hover {
    transform: scale(1.05);
    background: rgba(102, 126, 234, 0.15);
}

.faq-content-placeholder.modern h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 22px;
    font-weight: 600;
    color: #2d3748;
    margin-bottom: 12px;
}

.faq-content-placeholder.modern h2 svg {
    width: 24px;
    height: 24px;
    color: #667eea;
}

.faq-content-placeholder.modern p {
    font-size: 15px;
    color: #718096;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .faq-content-placeholder.modern {
        padding: 50px 16px;
        margin: 15px;
    }
    
    .placeholder-icon svg {
        width: 80px;
        height: 80px;
        padding: 15px;
    }
    
    .faq-content-placeholder.modern h2 {
        font-size: 18px;
        flex-direction: column;
        gap: 8px;
    }
    
    .faq-content-placeholder.modern p {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .faq-content-placeholder.modern {
        padding: 40px 12px;
    }
    
    .placeholder-icon svg {
        width: 60px;
        height: 60px;
        padding: 12px;
    }
    
    .faq-content-placeholder.modern h2 {
        font-size: 16px;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.faq-content-active {
    animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fadeOut {
    0% { opacity: 1; }
    70% { opacity: 1; }
    100% { opacity: 0; }
}

.timestamps-list {
    max-height: 100%;

    scrollbar-width: thin;
}

.timestamps-container {
    margin-top: 20px;
    padding: 16px;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #eef0f2;
    display: none;
}

.timestamps-title {
    margin: 0 0 12px 0;
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    display: flex;
    align-items: center;
    gap: 8px;
}

.timestamps-title::before {
    content: '';
    width: 3px;
    height: 18px;
    background: #2563eb;
    border-radius: 3px;
}

.timestamps-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-right: 8px;
}

.timestamp-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: #f8fafc;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.timestamp-item:hover {
    background: #f1f5f9;
    border-color: #e2e8f0;
    transform: translateX(4px);
}

.timestamp-item.active {
    background: #eef2ff;
    border-color: #2563eb;
    box-shadow: 0 2px 4px rgba(37, 99, 235, 0.1);
}

.timestamp-item.active .timestamp-time {
    background: #2563eb;
    color: white;
}

.timestamp-item.active .timestamp-description {
    color: #1e293b;
    font-weight: 500;
}

.timestamp-time {
    font-family: 'Courier New', monospace;
    font-weight: 600;
    font-size: 13px;
    color: #2563eb;
    background: #e0e7ff;
    padding: 4px 8px;
    border-radius: 6px;
    min-width: 55px;
    text-align: center;
    transition: all 0.2s ease;
}

.timestamp-item:hover .timestamp-time {
    background: #2563eb;
    color: white;
}

.timestamp-description {
    font-size: 14px;
    color: #334155;
    line-height: 1.4;
    flex: 1;
}

.timestamp-item:hover .timestamp-description {
    color: #0f172a;
}

.timestamps-container.loading {
    opacity: 0.7;
    pointer-events: none;
}

@media (max-width: 768px) {
    .timestamps-container {
        margin-top: 16px;
        padding: 12px;
    }
    
    .timestamp-item {
        padding: 8px 10px;
    }
    
    .timestamp-time {
        font-size: 12px;
        min-width: 48px;
        padding: 3px 6px;
    }
    
    .timestamp-description {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .timestamps-list {
        max-height: 250px;
    }
    
    .timestamp-item {
        gap: 8px;
    }
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.timestamp-item {
    animation: slideIn 0.3s ease forwards;
}

.timestamp-item:nth-child(1) { animation-delay: 0.05s; }
.timestamp-item:nth-child(2) { animation-delay: 0.1s; }
.timestamp-item:nth-child(3) { animation-delay: 0.15s; }
.timestamp-item:nth-child(4) { animation-delay: 0.2s; }
.timestamp-item:nth-child(5) { animation-delay: 0.25s; }
.timestamp-item:nth-child(6) { animation-delay: 0.3s; }
.timestamp-item:nth-child(7) { animation-delay: 0.35s; }
/*faq questions.css*/

.begin-page{
    margin: 0 auto;
    width: 100%;
    max-width: 2100px;
}

.info_page{
    margin: 0 auto;
    margin-top: 60px;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 2100px;
}

.info_page_name{
    margin: 0 auto;
    padding-bottom: 20px;
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
}

.info_page_name a{
    color: var(--blue-back);
    font-size: 18px;    
    font-weight: 500;
}

.faq_question_info {
    width: 100%;
    min-height: 100vh;
    border-radius: 10px;
    box-sizing: border-box;
}

.faq-section-nav {
    border-radius: 20px;
    padding: 20px 25px;
    margin: 20px 0 30px 0;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--border-color);
}

.faq-section-nav::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    border-radius: 6px 0 0 6px;
}

.nav-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #002762;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.nav-links {
    display: flex;
    flex-direction: column;
    gap: 7px;
    counter-reset: nav-counter; 
}

.nav-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: white;
    padding: 11px 18px 11px 45px; 
    border-radius: 40px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
    color: #6390f1;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(99, 102, 241, 0.08);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

.nav-link::before {
    content: counter(nav-counter);
    counter-increment: nav-counter;
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    background: #6390f1;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 13px;
    box-shadow: 0 4px 8px rgba(99, 102, 241, 0.3);
    transition: all 0.3s ease;
}

.nav-link:hover::before {
    background: white;
    color: #002762;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 6px 12px rgba(0, 39, 98, 0.2);
}

.nav-link:hover {
    background:  #6390f1;
    color: white;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px -5px rgba(0, 39, 98, 0.4);
    border: 1px solid #6390f1;
}

.title-section{
    color: black;
    font-weight: 600;
    border-bottom: 2px solid var(--blue-back); 
    padding-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 1.4rem; 
    margin: 40px 0 20px 0; 
    padding-bottom: 10px;
}

/* Адаптивность для мобильных */
@media (max-width: 768px) {
    .faq-section-nav {
        padding: 15px;
    }
    
    .nav-links {
        flex-direction: column;
        gap: 8px;
    }
    
    .nav-link {
        width: 100%;
        justify-content: flex-start;
    }
    
    .info_page .infos h2 {
        font-size: 1.3rem;
        flex-wrap: wrap;
    }
    
    .info_page .infos h2 span:first-child {
        min-width: 40px;
        height: 40px;
        font-size: 1.2rem;
    }
}

.info_page_name h1 {
    font-size: 27px;
    color: var(--blue-txt-dark);
    margin-bottom: 40px;
    text-align: center;
    line-height: 1.3;
    padding: 0 10px;
}

.infos {
    color: #555555;
    line-height: 1.5;
    margin-top: 15px;
    padding: 0 15px;
    box-sizing: border-box;
} 

.infos h2 {
    padding: 0;
    margin: 0; 
    color: black;
    font-weight: 600;
    font-size: 17px;
    margin-bottom: 15px;
    text-align: left;
} 

.infos p {
    padding: 0;
    margin: 0; 
    color: #555555;
    font-weight: 400;
    font-size: 16px;
    margin-bottom: 15px;
    text-align: left;
} 

.infos p span{
    font-weight: 600;
    color: black;
}

.answer-highlight-second {
    box-sizing: border-box;
    background: linear-gradient(120deg, rgba(67, 97, 238, 0.1) 0%, rgba(76, 201, 240, 0.1) 100%);
    border-left: 4px solid black;
    padding: 15px 25px;
    border-radius: 0 12px 12px 0;
    margin: 15px 0;
    position: relative;
    width: 100%;   
}

.answer-highlight-second p {
    font-size: 14px !important;
    line-height: 1.2 !important;
    color: black !important;
    margin-bottom: 0 !important;
    /* font-weight: 500; */
}

.answer-highlight-second ul,
.answer-highlight-second ol {
    margin: 12px 0 15px 0;
    padding-left: 20px;
    color: #333;
}

.answer-highlight-second li {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 8px;
    padding-left: 5px;
    font-weight: 500;
}

.answer-highlight-second li:last-child {
    margin-bottom: 0;
}

.answer-highlight-second ul li {
    list-style-type: none;
    position: relative;
}

.answer-highlight-second ul li:before {
    content: "•";
    color: #000000;
    font-weight: bold;
    position: absolute;
    left: -15px;
    top: 0;
}

.answer-highlight-second nav {
    padding-top: 18px;
    padding-left: 25px;
    color: black;
}

.answer-highlight-second nav li {
    list-style-type: none;
    position: relative;
}

.answer-highlight-second nav li a{
    color: rgb(56, 56, 56);
}

.answer-highlight-second nav li:before {
    color: #000000;
    font-weight: 600;
    position: absolute;
    left: -25px;
    top: 0;
    min-width: 20px;
}

.answer-highlight-second ol {
    counter-reset: item;
    padding-left: 25px;
}

.answer-highlight-second ol li {
    counter-increment: item;
    list-style-type: none;
    position: relative;
}

.answer-highlight-second ol li:before {
    content: counter(item) ".";
    color: #000000;
    font-weight: 600;
    position: absolute;
    left: -25px;
    top: 0;
    min-width: 20px;
}

.answer-highlight-note {
    padding: 12px 15px;
    margin: 15px 0 5px 0;
    border-radius: 0 8px 8px 0;
    font-size: 15px;
    line-height: 1.5;
    color: #2d3748;
    font-weight: 500;
}

.highlight-icon {
    position: absolute;
    top: -14px;
    left: -14px;
    background: black;
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 4px 12px rgba(67, 97, 238, 0.3);
    /* z-index: 1; */
    font-weight: 600;
}

.answer-highlight-second h4 {
    color: #2d3748;
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 12px 0;
    padding: 0;
}

.disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

@keyframes slideIn {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

@keyframes slideOut {
    from { transform: translateX(0); opacity: 1; }
    to { transform: translateX(100%); opacity: 0; }
}

.media-showcase {
    margin: 40px 0;
    --video-primary: #4361ee;
    --video-secondary: #4cc9f0;
    --video-bg: #f8fafc;
    --video-text: #1e293b;
    --video-border: #e2e8f0;
}

.video-container {
    max-width: 900px;
    margin: 0 auto;
    border-radius: 20px;
    overflow: hidden;
    background: white;
    box-shadow: 
        0 4px 20px rgba(0, 0, 0, 0.08),
        0 1px 3px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-wrapper {
    position: relative;
    aspect-ratio: 16/9;
}

.video-player {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.video-poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    background-image: linear-gradient(135deg, var(--blue-back) 0%, #764ba2 100%);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.video-poster::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        45deg,
        rgba(0, 0, 0, 0.3),
        rgba(0, 0, 0, 0.1)
    );

}

.poster-content {
    position: relative;
    text-align: center;
}

.play-button {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--video-primary), var(--video-secondary));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    box-shadow: 
        0 10px 30px rgba(67, 97, 238, 0.4),
        0 0 0 10px rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
    transform: scale(1);
}

.play-button:hover {
    transform: scale(1.1);
    box-shadow: 
        0 15px 40px rgba(67, 97, 238, 0.6),
        0 0 0 10px rgba(255, 255, 255, 0.2);
}

.poster-text {
    color: white;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.video-duration {
    background: rgba(0, 0, 0, 0.6);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.5px;
}

.media-video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.video-controls {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.8),
        transparent
    );
    padding: 20px;
    padding-top: 40px;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
    pointer-events: none;
}

.video-controls * {
    pointer-events: auto;
}

.video-player:hover .video-controls,
.video-controls.visible {
    opacity: 1;
    transform: translateY(0);
}

.media-video::-webkit-media-controls {
    display: none !important;
}

.media-video::-webkit-media-controls-enclosure {
    display: none !important;
}

.control-btn {
    background: transparent;
    border: none;
    color: white;
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    position: relative;
    z-index: 11;
}

.control-btn svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.play-pause {
    background: rgba(67, 97, 238, 0.8);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.play-pause:hover {
    background: rgba(67, 97, 238, 1);
    transform: scale(1.1);
    box-shadow: 0 0 20px rgba(67, 97, 238, 0.5);
}

.play-icon {
    display: block;
}

.pause-icon {
    display: none;
}

.video-player.playing .play-icon {
    display: none;
}

.video-player.playing .pause-icon {
    display: block;
}

.progress-container {
    margin-bottom: 15px;
    position: relative;
    z-index: 11;
    cursor: pointer;
}

.progress-bar {
    height: 6px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
    position: relative;
    cursor: pointer;
    overflow: visible;
    transition: height 0.2s ease;
}

.progress-bar:hover {
    height: 8px;
}

.progress-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--video-primary), var(--video-secondary));
    border-radius: 3px;
    transition: width 0.1s linear;
}

.progress-thumb {
    position: absolute;
    top: 50%;
    left: 0%;
    width: 16px;
    height: 16px;
    background: white;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.7);
    z-index: 12;
}

.progress-bar:hover .progress-thumb {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.1);
}

.controls-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.controls-left,
.controls-right {
    display: flex;
    align-items: center;
    gap: 15px;
}

.control-btn {
    background: transparent;
    border: none;
    color: white;
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.control-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: scale(1.1);
}

.control-btn:active {
    transform: scale(0.95);
}

.time-display {
    color: white;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.5px;
}

.time-separator {
    opacity: 0.6;
    margin: 0 2px;
}

.loading-indicator {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 4;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.loading-indicator.active {
    opacity: 1;
}

.spinner {
    width: 50px;
    height: 50px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top-color: var(--video-primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.video-caption {
    padding: 20px 25px;
    border-top: 1px solid var(--video-border);
    background: var(--video-bg);
}

.caption-text {
    font-size: 16px;
    font-weight: 600;
    color: var(--video-text);
    margin: 0 0 10px 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.caption-meta {
    display: flex;
    gap: 20px;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #64748b;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.meta-item svg {
    opacity: 0.7;
}

@media (max-width: 768px) {
    .video-container {
        border-radius: 12px;
        margin: 20px 0;
    }
    
    .play-button {
        width: 60px;
        height: 60px;
    }
    
    .video-controls {
        padding: 15px;
        padding-top: 30px;
    }
    
    .controls-left,
    .controls-right {
        gap: 10px;
    }
    
    .time-display {
        font-size: 12px;
    }
    
    .video-caption {
        padding: 15px 20px;
    }
    
    .caption-text {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .video-container {
        border-radius: 8px;
    }
    
    .video-controls {
        padding: 10px;
        padding-top: 25px;
    }
    
    .caption-meta {
        flex-direction: column;
        gap: 8px;
    }
}

.video-player.playing .play-icon {
    display: none;
}

.video-player.playing .pause-icon {
    display: block;
}

.video-player.fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    background: #000;
}

.video-player.fullscreen .video-wrapper {
    height: 100%;
}


.p_img {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 25px 0;
    text-align: center;
    width: 100%;
    overflow: hidden;
}

.p_img img {
    max-width: 100%;
    height: auto;
    max-height: 450px;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.212);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.p_img img:hover {
    box-shadow: 0 12px 22px rgba(0, 0, 0, 0.1);
    filter: drop-shadow(0 15px 20px rgba(0, 0, 0, 0.2));
    transform: scale(1.01);
}

.p_img span {
    margin: 20px 0 15px 0;
    font-size: 14px;
    color: #000000;
    font-weight: 600;
    padding: 0 10px;
}

.back_post{
    display: flex;
    margin: 15px;
    align-items: center;
    color: #555555;
    font-weight: 500;
}

.back_post a{    
    cursor: pointer;
    color: #555555;
    font-size: 16px;
}

.blue_btn.faq-mobile-menu-toggle {
    display: none;
}

.faq_question_info .infos ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.faq_question_info .infos ul li {
    position: relative;
    padding: 20px;
    background: white;
    border: 1px solid #e9edf4;
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
    transition: all 0.2s ease;
    font-size: 1rem;
    line-height: 1.5;
    color: #2c3e50;
    display: flex;
    align-items: center;
    gap: 12px;
}

.faq_question_info .infos ul li::before {
    content: attr(data-number);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    background: #f0f5ff;
    color: #002762;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.9rem;
    border: 1px solid rgba(0, 39, 98, 0.1);
}

.faq_question_info .infos ul li:hover {
    border-color: #002762;
    box-shadow: 0 4px 12px rgba(0, 39, 98, 0.08);
    background: #fafcff;
}

.faq_question_info .infos ul li strong {
    color: #002762;
    font-weight: 600;
    background: rgba(0, 39, 98, 0.05);
    padding: 2px 8px;
    border-radius: 20px;
    margin: 0 2px;
}

.region-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.region-table thead tr {
    background: rgba(0, 39, 98, 0.1);
}

.region-table th {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 2px solid #002762;
    font-weight: 600;
    color: #002762;
}

.region-table td {
    padding: 10px 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.region-table tr:last-child td {
    border-bottom: none;
}

.region-table td:last-child {
    text-align: center;
    font-weight: bold;
    color: #002762;
}

.region-table tr:hover {
    background: rgba(0, 39, 98, 0.05);
}


.opred-text {
    position: relative;
    padding: 13px;
    background: white;
    border: 1px solid #e9edf4;
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
    transition: all 0.2s ease;
    font-size: 1rem;
    line-height: 1.5;
    color: #2c3e50;
    font-weight: 500;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.opred-text.fit{
    width: fit-content;
}

.opred-text:hover {
    border-color: #002762;
    box-shadow: 0 4px 12px rgba(0, 39, 98, 0.08);
    background: #fafcff;
}

.opred-text strong {
    color: #002762;
    font-weight: 600;
    background: rgba(0, 39, 98, 0.05);
    padding: 2px 8px;
    border-radius: 20px;
    margin: 0 2px;
}

.modern-faq-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px -10px rgba(0, 39, 98, 0.15);
    margin: 25px 0;
    font-size: 0.95rem;
    border: 1px solid var(--border-color);
}

.modern-faq-table thead tr {
    background: #f8f9fa;
    color: black;
}

.modern-faq-table th {
    padding: 16px 20px;
    font-weight: 600;
    text-align: left;
    font-size: 1rem;
    letter-spacing: 0.3px;
}

.modern-faq-table td {
    padding: 16px 20px;
    border-bottom: 1px solid #e9edf4;
    vertical-align: top;
}

.modern-faq-table tbody tr {
    transition: all 0.3s ease;
}

.modern-faq-table tbody tr:hover {
    background: #f8fbff;
    transform: scale(1.002);
    box-shadow: 0 4px 12px rgba(0, 39, 98, 0.05);
}

.modern-faq-table tbody tr:last-child td {
    border-bottom: none;
}

.table-badge {
    display: inline-block;
    background: rgba(0, 39, 98, 0.1);
    color: #002762;
    padding: 4px 10px;
    border-radius: 30px;
    font-size: 0.8rem;
    font-weight: 600;
    margin-left: 8px;
}

.formula-block {
    background: #f5f7fa;
    padding: 12px 16px;
    border-radius: 14px;
    font-family: 'Consolas', monospace;
    font-size: 0.9rem;
    border: 1px solid #e0e7f0;
    margin: 8px 0;
}

.section-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin: 25px 0;
}

.section-card {
    background: white;
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 10px 25px -8px rgba(0, 39, 98, 0.15);
    border: 1px solid rgba(0, 39, 98, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.section-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #002762, #4a7ec7);
}

.section-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 25px 35px -12px rgba(0, 39, 98, 0.25);
}

.section-card.fuel::before { 
    background: linear-gradient(90deg, #d97706, #fbbf24); 
}

.section-card.heat::before { 
    background: linear-gradient(90deg, #dc2626, #f87171); 
}

.section-card.electric::before { 
    background: linear-gradient(90deg, #059669, #34d399); 
}

.section-icon {
    font-size: 2.2rem;
    margin-bottom: 15px;
}

.section-title {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 15px;
    color: #002762;
}

.fuel .section-title { color: #b45309; }
.heat .section-title { color: #b91c1c; }
.electric .section-title { color: #047857; }

.toggle-details {
    background: transparent;
    border: 1px solid #d0d9e8;
    border-radius: 30px;
    padding: 8px 16px;
    margin-top: 15px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    color: #002762;
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.toggle-details:hover {
    background: #f0f5ff;
    border-color: #002762;
}

.toggle-details::after {
    content: '▼';
    font-size: 0.8rem;
    transition: transform 0.3s ease;
}

.toggle-details.active::after {
    transform: rotate(180deg);
}

.details-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
    margin-top: 0;
}

.details-content.show {
    max-height: 500px;
    margin-top: 15px;
}

.fuel-list {
    list-style: none;
    padding: 0;
    margin: 15px 0 0 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.fuel-list li {
    font-size: 0.9rem;
    padding: 6px 10px;
    background: #f8fafc;
    border-radius: 30px;
    display: inline-block;
    border: 1px solid #e9edf4;
}

.final-checklist {
    background: linear-gradient(135deg, #002762 0%, #1a3f6d 100%);
    color: white;
    padding: 30px;
    border-radius: 28px;
    margin: 40px 0 20px;
    box-shadow: 0 25px 35px -12px rgba(0, 39, 98, 0.4);
}

.checklist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 15px;
    margin-top: 20px;
}

.checklist-item {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    padding: 15px 18px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.checklist-item:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateX(5px);
}

.checklist-icon {
    font-size: 1.6rem;
    filter: drop-shadow(0 4px 6px rgba(0,0,0,0.2));
}

.checklist-text {
    font-size: 1rem;
    font-weight: 500;
}

@media (max-width: 1000px) {
    .sticky_menu{
        background-color: white;
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
        border: 1px solid rgba(255, 255, 255, 0.3);
        transition: all ease-in-out 0.3s;
        position: sticky;
        top: 75px;
        width: auto;
        border-radius: none;
    }
}

@media (max-width: 768px) {
    .modern-faq-table {
        font-size: 0.85rem;
    }
    
    .modern-faq-table th,
    .modern-faq-table td {
        padding: 12px 10px;
    }
    
    .table-badge {
        display: block;
        margin: 5px 0 0 0;
        width: fit-content;
    }
    
    .final-checklist {
        padding: 20px;
    }
    
    .checklist-grid {
        grid-template-columns: 1fr;
    }
    
    .fuel-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .faq_page {
        margin-top: 50px;
    }
    
    .faq_row {
        flex-direction: column;
    }
    
    .left_menu_faq {
        position: relative;
        min-height: auto;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        border-radius: 5px;
        margin-bottom: 20px;
    }
    
    .left_menu_faq.mobile-open {
        max-height: 500px;
        overflow-y: auto;
    }
    
    .sticky_status_faq {
        position: relative;
        top: 0;
    }
    
    .blue_btn.faq-mobile-menu-toggle {
        border-radius: 0;
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 30px;
        display: block;
    }
    
    .faq-search-container {
        max-width: 100%;
        margin: 0;
        padding: 0 20px;
        margin-bottom: 15px;
    }
    
    .faq-content-container {
        padding: 0 10px;
        margin-bottom: 30px;
    }
    
    .info_page_name h1 {
        font-size: 20px;
        padding: 0 5px;
    }
    
    .infos p {
        font-size: 15px;
    }
    
    .p_img span {
        font-size: 13px;
    }
    
    .back_post {
        margin: 10px;
    }
    
    .back_post a {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .left_menu_faq li svg {
        width: 6px;
        height: 10px;
        flex-shrink: 0;
    }
    
    .faq-search-input {
        font-size: 14px;
        padding: 10px 12px;
    }
    
    .info_page_name h1 {
        font-size: 18px;
    }
    
    .infos {
        padding: 0 10px;
    }
    
    .infos p {
        font-size: 14px;
    }
    
    .p_img {
        margin: 20px 0;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .faq_row {
        flex-direction: row;
        gap: 20px;
    }
    
    .left_menu_faq {
        width: 280px;
        flex-shrink: 0;
    }
    
    .faq-content-container {
        flex: 1;
        padding: 0 20px;
    }
    
    .info_page_name h1 {
        font-size: 23px;
    }
    
    .infos p {
        font-size: 16px;
    }
    
    .p_img img{
        max-width: 90%;
    }
}

@media (min-width: 1025px) {
    .faq_row {
        flex-direction: row;
        gap: 30px;
    }
    
    .left_menu_faq {
        width: 280px;
        flex-shrink: 0;
    }
    
    .faq-content-container {
        flex: 1;
        padding: 0 30px;
        max-width: 1200px;
    }
    
    .p_img img{
        max-width: 800px;
    }
}

@media (max-width: 360px) {
    .faq-search-container {
        padding: 0 10px;
    }
    
    .faq-search-input {
        font-size: 13px;
        padding: 8px 10px;
    }
    
    .info_page_name h1 {
        font-size: 17px;
    }
    
    .infos p {
        font-size: 13px;
    }
}

@media (max-height: 500px) and (orientation: landscape) {
    .faq_page {
        margin-top: 40px;
    }
    
    .left_menu_faq.mobile-open {
        max-height: 300px;
    }
    
    .faq-content-container {
        min-height: auto;
    }
}

.status-flow-container {
    background: #f8fafc;
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 30px;
}

.timeline-header {
    text-align: center;
    margin-bottom: 40px;
}

.timeline-title {
    font-size: 28px;
    font-weight: 700;
    color: #002762;
    margin-bottom: 8px;
}

.timeline-subtitle {
    color: #64748b;
    font-size: 16px;
}

/* Этапы */
.timeline-stage {
    margin-bottom: 40px;
}

.stage-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid #e2e8f0;
}

.stage-icon {
    font-size: 32px;
}

.stage-header h3 {
    margin: 0;
    color: #002762;
    font-size: 20px;
}

.stage-subtitle {
    margin-left: auto;
    color: #64748b;
    font-size: 14px;
    background: #e2e8f0;
    padding: 4px 12px;
    border-radius: 20px;
}

/* Карточки статусов */
.status-cards {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 20px 0;
}

.status-card {
    background: white;
    border-radius: 12px;
    padding: 25px;
    /* width: 280px; */
    box-shadow: 0 4px 6px rgba(0, 39, 98, 0.08);
    border: 2px solid transparent;
    transition: transform 0.3s, box-shadow 0.3s;
}

.status-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 12px rgba(0, 39, 98, 0.12);
}

.draft { border-color: #94a3b8; }
.control { border-color: #3b82f6; }
.approval { border-color: #8b5cf6; }
.unviewed { border-color: #0ea5e9; }

.status-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.status-icon {
    font-size: 28px;
    background: #f1f5f9;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

.status-title {
    font-weight: 600;
    color: #002762;
    flex: 1;
}

/* Особенности статуса */
.status-features, .check-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 15px 0;
}

.feature, .check-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
}

.feature-icon, .check-icon {
    color: #10b981;
    font-weight: bold;
}

/* Переходы */
.transition-arrow {
    position: relative;
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #cbd5e1, #94a3b8);
    border-radius: 2px;
}

.transition-arrow::after {
    content: '';
    position: absolute;
    right: -6px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid #94a3b8;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
}

/* Разделитель этапов */
.stage-divider {
    display: flex;
    align-items: center;
    margin: 40px 0;
    gap: 20px;
}

.divider-line {
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, transparent, #002762, transparent);
}

.divider-text {
    color: #002762;
    font-weight: 600;
    font-size: 18px;
    padding: 0 20px;
    white-space: nowrap;
}

/* Аудит этап */
.audit-cards {
    flex-direction: column;
    gap: 40px;
}

.audit-decision-center {
    background: white;
    border: 3px solid #002762;
    border-radius: 50%;
    width: 180px;
    height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 30px auto;
    position: relative;
}

.audit-decision-center::before {
    content: '';
    position: absolute;
    width: 220px;
    height: 220px;
    border: 2px dashed #cbd5e1;
    border-radius: 50%;
}

.center-icon {
    font-size: 40px;
    margin-bottom: 10px;
}

.center-title {
    font-weight: 700;
    color: #002762;
    font-size: 18px;
    text-align: center;
}

.center-subtitle {
    font-size: 12px;
    color: #64748b;
    text-align: center;
}

/* Варианты решений */
.decision-options {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 40px;
}

.decision-option {
    background: white;
    border-radius: 12px;
    padding: 25px;
    width: 250px;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border: 2px solid transparent;
}

.approved { border-color: #10b981; }
.comments { border-color: #f59e0b; }
.rejected { border-color: #ef4444; }

.option-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 15px;
}

.option-icon {
    font-size: 24px;
}

.option-title {
    font-weight: 600;
    font-size: 16px;
}

.option-result {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 15px;
    font-weight: 500;
}

.result-status {
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 14px;
}

.result-status.success { background: #d1fae5; color: #065f46; }
.result-status.warning { background: #fef3c7; color: #92400e; }
.result-status.error { background: #fee2e2; color: #991b1b; }

/* Финальные статусы */
.final-statuses {
    margin-top: 50px;
    background: white;
    border-radius: 12px;
    padding: 30px;
}

.final-statuses h4 {
    color: #002762;
    text-align: center;
    margin-bottom: 25px;
    font-size: 20px;
}

.final-status-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.final-status-item {
    padding: 25px;
    border-radius: 10px;
}

.final-status-item.success { background: #f0fdf4; }
.final-status-item.warning {  background: #fffbeb; }
.final-status-item.error {  background: #fef2f2; }

.final-icon {
    font-size: 32px;
    margin-bottom: 15px;
}

.final-content h5 {
    margin: 0 0 10px 0;
    color: #002762;
    font-size: 18px;
}

/* Особенности */
.timeline-features {
    background: white;
    border-radius: 12px;
    padding: 30px;
    margin-top: 40px;
}

.timeline-features h4 {
    color: #002762;
    text-align: center;
    margin-bottom: 25px;
}

.grid-FAQ {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin: 20px 0;
}

.card-FAQ {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #e5e7eb;
    transition: all 0.3s ease;
}

.card-FAQ:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    border-color: #d1d5db;
}

.icon-FAQ {
    width: 48px;
    height: 48px;
    background: var(--active-row);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    color: #22c55e;
}

.icon-FAQ svg{
    stroke: var(--blue-back);
    width: 24px;
    height: 24px;
}

.title-FAQ {
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 8px;
    line-height: 1.4;
}

.desc-FAQ {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.5;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: #f8fafc;
    border-radius: 10px;
}

.feature-icon {
    font-size: 24px;
    flex-shrink: 0;
}

/* Легенда */
.status-legend {
    background: white;
    border-radius: 12px;
    padding: 25px;
    margin-top: 30px;
}

.status-legend h4 {
    color: #002762;
    margin-bottom: 20px;
}

.legend-items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}

.legend-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.legend-color {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    flex-shrink: 0;
}

.legend-color.draft { background: #94a3b8; }
.legend-color.control { background: #3bf66a; }
.legend-color.approval { background: #5cf6bb; }
.legend-color.unviewed { background: #0ea5e9; }
.legend-color.success { background: #10b981; }
.legend-color.warning { background: #f59e0b; }
.legend-color.error { background: #ef4444; }

.status-summary {
    background: linear-gradient(135deg, #002762, #1e40af);
    border-radius: 12px;
    padding: 40px;
    color: white;
    margin-top: 30px;
}

.summary-header {
    text-align: center;
    margin-bottom: 30px;
}

.summary-header h3 {
    margin: 0;
    font-size: 24px;
}

.summary-content {
    max-width: 800px;
    margin: 0 auto;
}

.summary-step {
    display: flex;
    gap: 25px;
    margin-bottom: 30px;
    align-items: flex-start;
}

.step-number {
    background: white;
    color: #002762;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
    flex-shrink: 0;
}

.step-content h5 {
    margin: 0 0 8px 0;
    font-size: 18px;
    color: white;
}

.step-content p {
    margin: 0;
    color: #cbd5e1;
    line-height: 1.5;
}

/* Адаптивность */
@media (max-width: 1200px) {
    .status-cards {
        flex-direction: column;
        gap: 40px;
    }
    
    .decision-options {
        flex-direction: column;
        align-items: center;
    }
    
    .final-status-grid {
        grid-template-columns: 1fr;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .status-flow-container {
        padding: 20px;
    }
    
    .stage-header {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
    
    .stage-subtitle {
        margin-left: 0;
    }
    
    .divider-text {
        font-size: 14px;
        padding: 0 10px;
    }
}
/* FAQ page end*/

/* news id page*/

.news_portal {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    margin-top: 100px;
}

.article_crystal {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 24px;
    padding: 48px;
    box-shadow: 
        0 8px 32px rgba(0, 39, 98, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.nav_flow {
    margin-bottom: 40px;
    position: relative;
}

.nav_flow::after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(0, 39, 98, 0.1) 50%, 
        transparent 100%);
}

.back_orbital {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #002762;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.5px;
    padding: 12px 24px;
    border-radius: 50px;
    background: rgba(0, 39, 98, 0.05);
    border: 1px solid rgba(0, 39, 98, 0.1);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.back_orbital:hover {
    background: rgba(0, 39, 98, 0.1);
    transform: translateX(-8px);
    border-color: rgba(0, 39, 98, 0.2);
    gap: 16px;
}

.headline_aurora h1 {
    font-size: 42px;
    font-weight: 800;
    background: linear-gradient(135deg, #002762 0%, #4a6fa9 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.2;
    margin: 0 0 40px 0;
    padding-bottom: 24px;
    position: relative;
}

.headline_aurora h1::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, #002762, #4a6fa9);
    border-radius: 2px;
}

.content_hologram {
    display: grid;
    gap: 48px;
}

.media_illuminate {
    position: relative;
    width: fit-content;
    border-radius: 20px;
    overflow: hidden;
    margin: 0 auto;
    align-items: center;
    /* box-shadow: 0 20px 40px rgba(0, 39, 98, 0.15); */
}

.media_illuminate img {
    width: 100%;
    max-height: 300px;
    height: auto;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.news-content {
    font-size: 18px;
    line-height: 1.7;
    color: #2c3e50;
}

.news-content p {
    margin-bottom: 20px;
}

.news-content strong {
    color: #002762;
    font-weight: 600;
}

.news-link {
    color: #4a6fa9;
    text-decoration: none;
    font-weight: 500;
    border-bottom: 1px dashed #4a6fa9;
    transition: all 0.3s ease;
}

.news-link:hover {
    color: #002762;
    border-bottom-color: #002762;
    text-decoration: none;
}

.instructions {
    background: rgba(0, 39, 98, 0.03);
    border-left: 4px solid #4a6fa9;
    padding: 20px 25px;
    margin: 25px 0;
    border-radius: 0 8px 8px 0;
}

.instructions ol {
    margin: 15px 0 0 20px;
    padding-left: 0;
}

.instructions li {
    margin-bottom: 10px;
    position: relative;
    padding-left: 5px;
}

.instructions li:last-child {
    margin-bottom: 0;
}

.important-note {
    background: #fff8e1;
    border: 1px solid #ffd54f;
    padding: 15px 20px;
    border-radius: 8px;
    margin: 20px 0;
}

.important-note p {
    margin-bottom: 0 !important;
    color: #5d4037;
}

/* Адаптивность */
@media (max-width: 768px) {
    .news-content {
        font-size: 16px;
        line-height: 1.6;
    }
    
    .instructions {
        padding: 15px 20px;
        margin: 20px 0;
    }
    
    .important-note {
        padding: 12px 16px;
    }
}

/* .media_illuminate::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 40%;
    background: linear-gradient(180deg, 
        rgba(0, 39, 98, 0.2) 0%, 
        transparent 100%);
    z-index: 1;
} */

.text_spectrum {
    font-size: 18px;
    line-height: 1.8;
    color: #2c3e50;
    font-weight: 400;
}

.text_spectrum p {
    margin-bottom: 24px;
}

.text_spectrum p:first-child {
    font-size: 20px;
    font-weight: 500;
    color: #002762;
}

.article_footer {
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid rgba(0, 39, 98, 0.1);
}

.meta_tags {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.time_pulse {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #5a6c87;
    font-size: 14px;
    font-weight: 500;
    padding: 8px 16px;
    background: rgba(0, 39, 98, 0.04);
    border-radius: 50px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0, 39, 98, 0.08);
}

.tag_bubble {
    display: inline-block;
    padding: 8px 20px;
    background: linear-gradient(135deg, rgba(0, 39, 98, 0.1), rgba(74, 111, 169, 0.1));
    color: #002762;
    font-size: 14px;
    font-weight: 600;
    border-radius: 50px;
    border: 1px solid rgba(0, 39, 98, 0.15);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.tag_bubble:hover {
    background: linear-gradient(135deg, rgba(0, 39, 98, 0.15), rgba(74, 111, 169, 0.15));
    transform: translateY(-2px);
}

/* Адаптивность */
@media (max-width: 768px) {
    .news_portal {
        padding: 20px 16px;
    }
    
    .article_crystal {
        padding: 32px 24px;
        border-radius: 20px;
    }
    
    .headline_aurora h1 {
        font-size: 32px;
        margin-bottom: 32px;
        padding-bottom: 20px;
    }
    
    .media_illuminate img {
        height: 300px;
    }
    
    .text_spectrum {
        font-size: 16px;
        line-height: 1.7;
    }
    
    .content_hologram {
        gap: 32px;
    }
    
    .back_orbital {
        padding: 10px 20px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .article_crystal {
        padding: 24px 16px;
        border-radius: 16px;
    }
    
    .headline_aurora h1 {
        font-size: 28px;
    }
    
    .media_illuminate img {
        height: 200px;
    }
    
    .meta_tags {
        gap: 12px;
    }
    
    .time_pulse,
    .tag_bubble {
        padding: 6px 14px;
        font-size: 13px;
    }
}


@media (prefers-reduced-motion: no-preference) {
    .media_illuminate {
        transform-style: preserve-3d;
    }
    
    .media_illuminate img {
        transform: translateZ(0);
        transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }
}
/* news id page end*/


.personal-info_area .content {
    max-height: 0;
    overflow: hidden;
    display: none;
    transition: max-height 0.3s ease-in-out;
}

.personal-info_area .content li {
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.personal-info_area .content.active li {
    opacity: 1;
    transform: translateY(0);
}

.left_menu .content li,
.left_menu_faq .content li{
    font-size: 13px;
    font-weight: 400;  
    padding: 7px 30px 7px 50px;
}

.left_menu .content li:hover,
.left_menu_faq .content li:hover {
    background-color: rgb(223, 223, 223);
    padding: 16px 30px 16px 60px;
}

.left_menu li svg{
    margin-left: 25px;
    transition: transform 0.3s ease; 
}

.rotate-180 {
    transform: rotate(-90deg);
}

.left_menu li a,
.left_menu_faq li a{    
    word-wrap: break-word; 
    white-space: normal;
    color: black;
}

.left_menu li:hover,
.left_menu_faq li:hover{
    background-color: rgb(223, 223, 223);
    padding: 7px 30px 7px 60px;
}

.left_menu li.active_li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 10%; 
    transform: translateX(-50%); 
    width: 3px;
    border: none;
    height: 100%; 
    background-color: var(--blue-back); 
}

.dragging {
    opacity: 0.5;
}
/*audit page end*/

/* begin news*/
.news_cont {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin: 0 auto;
    padding: 2% 5%;
    margin-bottom: 40px;
}

.news_cont_title {
    font-size: 32px;
    text-align: center;
    margin-bottom: 20px;
    font-weight: 600;
}

.news_grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.news_item {
    cursor: pointer;
    background-color: #ffffff49;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    overflow: hidden;
    max-width: 350px;
}

.news_item:hover {
    background-color: #ffffff93;
    transform: translateY(-10px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.news_img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.news_content {
    padding: 15px;
}

.news_title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
    color: black;
}

.news_text {
    font-size: 14px;
    color: #000000;
}

.news_time {
    font-size: 13.5px;
    color: #3d3d3d;
    text-align: end;
    padding: 8px;
}

.news_list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
}

.news_list_scroll {
    overflow-x: auto;
    white-space: nowrap;
}
/* end news*/

/*contacts page*/

.contacts_page {
    margin: 0 auto;
    margin-top: 60px;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 2100px;
}

.modern-contact {

}

.contact-glass {
  backdrop-filter: blur(20px);

  border-radius: 13px;
  padding: 80px;
  padding-top: 0;
  position: relative;
  overflow: hidden;
  width: calc(100% - 160px);
}

.contact-title {
  font-size: 2.5rem;
  font-weight: 600;
  margin-bottom: 40px;
  background: linear-gradient(135deg, var(--text) 0%, var(--text-secondary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.contact-subtitle {
  font-size: 1.125rem;
  color: var(--text-secondary);
  margin-bottom: 48px;
  max-width: 600px;
}

.contact-methods {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 24px;
}

.phone-hidden .contact-value {
    display: none;
}

.phone-hidden .contact-value-hint {
    display: block;
    font-style: italic;
    color: #666;
    font-size: 14px;
}

.contact-value-hint {
    display: none;
}

.contact-method {
  display: flex;
  align-items: center;
  gap: 10px;
    background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1);
  border-radius: 24px;
  padding: 10px;
  transition: all 0.3s;
  color: black;
}

.contact-method:hover {
  transform: translateY(-4px);
  border-color: var(--primary);
  box-shadow: var(--glow);
}

.contact-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--glass);
  border-radius: 16px;
  border: 1px solid var(--glass-border);
  flex-shrink: 0;
}

.contact-icon svg{
    width: 25px;
    height: 25px;
}

.contact-info {
  flex: 1;
}

.contact-type {
  font-size: 0.875rem;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

.contact-value {
  font-size: 1.125rem;
  font-weight: 600;
}

.contact-value.link {

}

.map-section {
    width: 100%;
    margin-top: 40px;
  
    overflow: hidden;

}

#map {
    width: 100%;
    height: 450px;
}

.contact-method.support-link {
    cursor: pointer;
    position: relative;
    background: rgba(255, 255, 255, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.contact-method.support-link:hover {
    background: rgba(255, 255, 255, 0.4);
    transform: translateY(-4px);
    border-color: var(--primary, #4f46e5);
}

.contact-method.support-link::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    opacity: 0;
    transition: all 0.3s ease;
    color: var(--primary, #4f46e5);
}

.contact-method.support-link:hover::after {
    opacity: 1;
    right: 15px;
}

.contact-method.support-link .contact-value {
    position: relative;
    display: inline-block;
    transition: transform 0.3s ease;
}

.contact-method.support-link:hover .contact-value {
    transform: translateX(+5px);
    color: var(--primary, #4f46e5);
}

.contact-method.support-link .contact-value::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--primary, #4f46e5);
    transition: width 0.3s ease;
}

.contact-method.support-link:hover .contact-value::after {
    width: 100%;
}

.contact-method.support-link:hover .contact-icon {
    transform: scale(1.05);
    border-color: var(--primary, #4f46e5);
}

.contact-method.support-link:active {
    transform: translateY(-2px);
}

@keyframes fadeInUp {
  from {
      opacity: 0;
      transform: translateY(30px);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
}

.modern-hero {
  animation: fadeInUp 0.8s ease-out;
}

.features-container .feature-card {
  animation: fadeInUp 0.8s ease-out;
  animation-fill-mode: both;
}

.features-container .feature-card:nth-child(1) { animation-delay: 0.1s; }
.features-container .feature-card:nth-child(2) { animation-delay: 0.2s; }
.features-container .feature-card:nth-child(3) { animation-delay: 0.3s; }
.features-container .feature-card:nth-child(4) { animation-delay: 0.4s; }

@media (max-width: 1024px) {
  .hero-gradient-text,
  .contact-title{
      font-size: 2.75rem;
  }
  
  .hero-glass {
      padding: 60px 40px;
      width: calc(100% - 80px);
  }
}


@media (max-width: 768px) {

  .hero-gradient-text,
  .contact-title {
      font-size: 2rem;
  }
  
  .hero-glass {
      padding: 40px 24px;
      width: calc(100% - 48px);
  }
  
  .hero-actions {
      flex-direction: column;
  }
  
  .modern-btn {
      width: calc(100% - 52px);
      justify-content: center;
  }
  
  .contact-glass {
      padding: 40px 24px;
      width: calc(100% - 48px);
  }
  
  .contact-methods {
      grid-template-columns: 1fr;
      gap: 7px;

  }
}

@media (max-width: 520px) {
  .contact-methods {
    grid-template-columns: 1fr;
    gap: 17px;
  }
  
  .contact-method {
    padding: 16px;
    align-items: flex-start;
  }
  
  .contact-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
  }
  
  .contact-value {
    font-size: 1rem;
    word-break: break-word;
    overflow-wrap: break-word;
  }
}

@media (max-width: 480px) {
  .hero-gradient-text,
  .contact-title {
      font-size: 1.5rem;
  }
  
  .hero-subtext {
      font-size: 1.125rem;
  }
  
  .section-title {
      font-size: 1.2rem;
  }
  
  .features-container {
      grid-template-columns: 1fr;
  }
}

/*contacts.css end*/


/*admin panel*/
.navbar, .footer {
    width: 100%;
}

.container-fluid {
    width: 100%;
    padding: 0;
}
/*admin panel end*/

@media (max-width: 1440px){  
    header{
      font-size: 15px;
    }

    .name_app{
        display: flex;
        flex-direction: row;
        text-align: center;
        align-items: center;
        gap: 15px;
        white-space: nowrap;
    }    

    /*acc */
    .account_links{
        padding-bottom: 10px;
    }
  
    .account_cont .privetstvie_cont{
        width: 100%;
    }

    .acc-btn-otherbtn span{
        font-size: 14px;
    }
    /*acc end*/
}    

/* Overlay */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 2;
    opacity: 0;
    pointer-events: none;
}

.overlay.show {
    opacity: 1;
    pointer-events: auto;
}

@media (max-width: 1000px) {
    
    .header-center {
        display: none;
    }


    .news-row {
        display: flex;
        flex-direction: column;
    }

    .statistics-row-right {
        margin-right: 0;
    }


    .statistics-row-left img{
        width: 550px;
        object-fit: cover;
        height: 100%;
        padding: 0;
    }

    /*account */  
    .account_cont .privetstvie_cont{
        font-size: 25px;
        width: 100%;
    }

    .account_messages{
        margin: 0 auto;
    }
    /*account end*/


    /*profile common*/



    .profile_page .personal-info_area tr td{
        display: flex;
        flex-direction: row;
        padding: 0;
    }

    .security-container, 
    .clear-input_container{
        width: 100%;
        z-index: 0;
    }

    .profile_page .personal-info_area td input{
        margin-left: 0;   
    }

    /* .profile_page .personal-info_area table tr:nth-child(3) td, 
    .profile_page .personal-info_area table tr:nth-child(5) td, 
    .profile_page .personal-info_area table tr:nth-child(9) td  
    {
        padding-bottom: 10px; 
    } */


    /*profile common end*/


    /*profile sessions*/

    .session-this-device{
        min-width: 400px;
    }

}

/* Для мобильных устройств */
@media (max-width: 768px) {
    .header-left,
    .header-right,
    .header-center{
        padding: 0;
        margin: 0;
    } 

    .dropdown-content.show {
        display: flex;
        margin: 0;
        flex-direction: column; 
        padding: 10px 5px;
    }

    .name_app a{
        font-size: 15px !important;
    }    

    /*header end*/

    /*log_reg*/
    .page_log_reg{
        padding: 0;
        margin: 0;
        max-width: 100%;
    }

    .log-reg-form{
        box-sizing: border-box;
        width: 100%;
        margin: 0;
        padding: 20px;
    }

    .link_cont{ 
        margin-top: 10px;
    
    }
    /*log_reg end*/


    /*hellow_row*/
    .hellow_row {
        width: 100%;
        height: auto;
        flex-direction: column;
        align-items: center;
        padding: 0;
        padding-top: 120px;
    }

    .hellow_row_name,
    .hellow_row_dop_name{
        font-size: 21px;
    }

    .hellow_buttonarea {
        flex-direction: column;
    }

    .hellow_buttonarea button{
        width: 200px;
        height: 40px;
        font-size: 13px;
    }
    
    /*hellow_row end*/

    /* Контейнер с количеством пользователей, организац...*/
    .statistics-row {
        flex-direction: column;
        align-items: center;
        position: relative;
        background-color: transparent;
    }

    .statistics-row-left img {
        width: 100%; 
        height: 530px;
        background-color: transparent;
        box-shadow: none; 
    }

    .statistics-row-right {
        position: absolute;
        top: 50%; 
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%; 
        height: 100%;
        margin: 0;
        background-color: rgba(255, 255, 255, 0.8); 
    }

    .item_stat:nth-child(2){
        margin: 6% 0
    }

    .stat_name {
        font-size: 16px; 
    }
    /* end*/

    /* news_row */
    .news-row {
        padding: 6% 10% 0;
    }

    .news-row-left{
        width: 100%;
        padding: 0;
    }

    .news-row-right{

    }

    .news-row-right img{
        /* width: 100%;
        height: 100%;
        object-fit: cover;    
        margin: 0;
        padding: 0; */
        display: none;
    }

    .item_news{
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .news_name{
        font-size: 111%;
        padding-bottom: 6%;
    }

    .item_news .first_p{
        font-size: 110%;
        line-height: 23px;
    }

    .item_news .second_p{
        font-size: 100%;
        line-height: 23px;
        margin-bottom: 10px;
    }

    /* news_row end*/  

    /* modal */ 

    .close{
        font-size: 30px;
        margin-left: 20px;
    }

    .modal_table tr td{
        display: flex;
    }
    
    .modal_table input,
    .modal_table textarea{
        margin: 0;
    }

    .table-title tr th {
        font-size: 13px;
    }

    .table-report-area tr td {
        font-size: 13px;
    }

    .search_input{
        font-size: 13px;
    }

    .modal_table{
        /* border-spacing: 0 18px; */
    }

    .progress-modal-bar-container {
        width: 100%;
        height: 6px;
        background-color: black;
        border-radius: 3px;
        margin: 25px 0;
        overflow: hidden;
    }

    .progress-modal-bar {
        height: 100%;
        background: linear-gradient(90deg, #ffffff, var(--blue-back));
        border-radius: 3px;
        transition: width 0.3s ease;
    }

    .modal_table td{
        font-size: 14px; 
    }
    
    .modal_table input{
        font-size: 14px; 
    }

    .modal_table .choose_period-cont .inc_button {
        margin: 0;
    }
 
    .choose-product-area {
        top: 150px;
        position: absolute;
        right: 0;
        max-width: none;
        width: 100%;
        height: auto;
        max-height: 300px;
        
        background-color: white;
        border: none; 
        z-index: 100; 
        display: none;
        align-items: center;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    }

    .spravochniki_area {
        max-height: calc(100vh - 140px);
    }


    /*welcom modal*/

    .play-icon {
        font-size: 50px;
        margin-bottom: 10px;
    }

    .play-text {
        font-size: 16px;
        font-weight: 600;
    }

    .simple-footer {
        padding: 15px 20px;
        text-align: center;
        border-top: 1px solid #eee;
    }

    .btn-close {
        background: #f0f0f0;
        border: 1px solid #ddd;
        border-radius: 5px;
        padding: 10px 20px;
        font-size: 14px;
        cursor: pointer;
        color: #333;
    }

    .btn-close:hover {
        background: #e0e0e0;
    }

    /*profilecommon */


    .rotation-fromareas_info {
        margin: 5px 0 !important; 
        margin-top: 20px !important; 
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .rotation-fromareas_info .svg-arr{
        display: none;
    }

    .profile_page .personal-info_area{
        height: 100%;
        width: 100%; 
        padding: 0 30px;
        min-height: 100vh;
    }
    
    .profile_page .personal-info_area table{
        height: 100%;
        width: 100%;
    }

    .show_dop_menu{
        display: block;
        position: fixed;
        background-color: white;
    }

    .show_dop_menu ul{
        display: flex;
        flex-direction: row;  
        justify-content: space-between;   
        padding: 30px 30px;
        position: fixed;
        top: 55px;
        box-shadow: 0 10px 10px rgb(0, 0, 0, 0.1);
        width: calc(100% - 60px);
        background-color: white;
        z-index: 0;
    }

    .show_dop_menu ul li{
        list-style-type: none;         
        background-color: white;
    }

    .show_dop_menu li.active_li::before {
        content: '';
        position: absolute;
        bottom: 20%; 
        transform: translateX(-50%); 
        width: 100px; 
        border: none;
        height: 3px;
        background-color: var(--blue-back); 
    }

    .profile_page .personal-info_area td input{
        width: 100%; 
        
    }

    /*profilecommon end*/

    /*contacts*/

    /*contacts end*/


    /* .profile_page .left_menu {
        display: none;
    
    } */

    .session-this-device{
        min-width: 100%;
    }

    .left_menu {
        position: fixed;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        width: 90%;
        max-width: 400px;
        min-height: auto;
        padding: 0;
        margin: 0;
        border-radius: 100px;
        background: rgba(255, 255, 255, 0.25);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.3);
        box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
        transition: transform 0.3s ease, opacity 0.3s ease;
        z-index: 5;
    }
    
    .sticky_status {
        box-sizing: border-box;
        position: static;
        top: auto;
        width: 100%;
        display: flex;
        justify-content: space-around;
        align-items: center;
        padding: 0;
        margin: 0;
    }
    
    .sticky_status_faq {
        width: 100%;
    }

    .sticky_status li {
        flex-direction: column;
        padding: 8px 0;
        margin: 0;
        height: 100%;
        border-radius: 0;
        background: transparent !important;
        gap: 4px;
    }
    
    .sticky_status li a {
        font-size: 11px !important;
        font-weight: 500;
        margin-top: 4px;
        display: none;
        text-align: center;
        color: #333;
    }
    
    .sticky_status li svg {
        display: block !important;
        width: 26px !important;
        height: 26px !important;
        margin: 0 auto 4px;
        fill: #666;
        color: #666;
    }
    
    .sticky_status li.active_li svg {
        fill: var(--blue-back) !important;
        color: var(--blue-back) !important;
    }

    .sticky_status li:last-child svg {
        fill: #ff3b30;
        color: #ff3b30;
    }

    .sticky_status li.active_li,
    .sticky_status li:hover {
        background-color: rgba(0, 136, 255, 0.1);
    }

    .left_menu li.active_li::before {
        all: unset !important;
    }

    #status-faqlist{
        display: block;
    }

    .faq_question_info {
        max-width: 100%;
    }

    .p_img img {
        max-width: 100%;
        border-radius: 10px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }
}

@media(max-width: 767px){
    .footer-col{
        width: 50%;
        margin-bottom: 30px;
    }
}
@media(max-width: 574px){
    .footer-col{
        width: 100%;
    }
}

/* Cookie Banner */
.cookie-banner {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  z-index: 4;
  max-width: 800px;
  width: calc(100% - 60px);
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  animation: cookieBannerSlideUp 0.5s forwards;
}

.cookie-banner.show {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

@keyframes cookieBannerSlideUp {
  to {
      opacity: 1;
      visibility: visible;
      transform: translateX(-50%) translateY(0);
  }
}

.cookie-banner-content {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 16px;
  padding: 20px 25px;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  animation: fadeInUp 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
}

.cookie-banner-text {
  flex: 1;
  min-width: 250px;
}

.cookie-banner-text p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text, #000000);
  font-weight: 500;
}

.cookie-banner-text a {
  color: var(--blue-txt);
  text-decoration: underline;
  font-weight: 600;
  transition: all 0.2s ease;
  position: relative;
}

.cookie-banner-text a:hover {
  text-decoration: none;
}

.cookie-banner-text a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease;
}

.cookie-banner-text a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.cookie-banner-buttons {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
  align-items: center;
}

.cookie-banner-buttons button {
  cursor: pointer;
  padding: 8px 24px;
  font-size: 13px;
  min-width: 100px;
  border-radius: 10px;
  margin: 0;
  transition: all 0.3s ease;
}

.cookie-banner-buttons .succes-button {
    color: white;
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    border: none;
}

.cookie-banner-buttons .no-submit-button {
  background: var(--background-grey, #f5f5f5);
  border: 1px solid var(--border-color, #D9D9D9);
}

.cookie-banner-buttons .succes-button:hover,
.cookie-banner-buttons .no-submit-button:hover  {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

@media (max-width: 768px) {
  .cookie-banner {
      bottom: 80px; 
      width: calc(100% - 40px);
  }
  
  .cookie-banner-content {
      padding: 16px 20px;
      flex-direction: column;
      text-align: center;
      gap: 15px;
  }
  
  .cookie-banner-text {
      min-width: 100%;
  }
  
  .cookie-banner-buttons {
      width: 100%;
      justify-content: center;
  }
  
  .cookie-banner-buttons .succes-button,
  .cookie-banner-buttons .no-submit-button {
      min-width: 120px;
      padding: 8px 16px;
  }
}

@media (max-width: 480px) {
  .cookie-banner-content {
      padding: 15px;
  }
  
  .cookie-banner-buttons {
      flex-direction: column;
      gap: 8px;
  }
  
  .cookie-banner-buttons .succes-button,
  .cookie-banner-buttons .no-submit-button {
      width: 100%;
      min-width: 100%;
  }
  
  .cookie-banner-icon {
      width: 32px;
      height: 32px;
  }
  
  .cookie-banner-text p {
      font-size: 13px;
  }
}

@keyframes shine {
  0% {
      opacity: 0;
      transform: rotate(45deg) translate(-50%, -50%);
  }
  20% {
      opacity: 0.8;
  }
  100% {
      opacity: 0;
      transform: rotate(45deg) translate(50%, 50%);
  }
}

.cookie-banner:hover .cookie-banner-content {
  box-shadow: var(--glow, 0 0 10px rgba(0, 0, 0, 0.15));
}

.cookie-banner {
  animation: slideInUp 0.5s ease-out;
}

@keyframes slideInUp {
  from {
      opacity: 0;
      transform: translateX(-50%) translateY(30px);
  }
  to {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
  }
}