style_icon:root {
    --main_color: #697790;
    --font_size:16px;
}


html 
{
  -moz-box-sizing: border-box; 
  box-sizing: border-box; 
  -webkit-box-sizing:border-box;
  margin: 0px;
  padding: 0px;
}

* , *::before , *::after
{
  -moz-box-sizing: border-box; 
  box-sizing: border-box; 
  -webkit-box-sizing:border-box;
}

@font-face {
    font-family: 'icomoon';
    src: url('/fonts/icomoon.woff2?v=2026_01_19') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: block; /* для иконок ЛУЧШЕ block */
}

@font-face
{
 font-family: "Calibri"; 
 src: url("/fonts/calibri.ttf"); 
 src: url("/fonts/calibri.ttf") format("embedded-opentype"),
 url("/fonts/calibri.ttf") format("woff"), 
 url("/fonts/calibri.ttf") format("truetype"); 
 font-style: normal; 
 font-weight: normal; 
}

@font-face 
{
 font-family: "Calibri"; 
 src: url("/fonts/calibrib.ttf"); 
 src: url("/fonts/calibrib.ttf") format("embedded-opentype"),
 url("/fonts/calibrib.ttf") format("woff"), 
 url("/fonts/calibrib.ttf") format("truetype"); 
 font-style: bold; 
 font-weight: bold; 
}

@font-face 
{
 font-family: "Calibri"; 
 src: url("/fonts/calibrii.ttf"); 
 src: url("/fonts/calibrii.ttf") format("embedded-opentype"),
 url("/fonts/calibrii.ttf") format("woff"), 
 url("/fonts/calibrii.ttf") format("truetype"); 
 font-style: italic; 
 font-weight: normal; 
}

@font-face 
{
 font-family: "Calibri"; 
 src: url("/fonts/calibril.ttf"); 
 src: url("/fonts/calibril.ttf") format("embedded-opentype"),
 url("/fonts/calibril.ttf") format("woff"), 
 url("/fonts/calibril.ttf") format("truetype"); 
 font-style: italic; 
 font-weight: bold;
}



#coords {
    margin-top: 10px;
    font-size: 18px;
    font-weight: bold;
}

.class_nopadding{
    padding: 0px !important;
}

body
{
	color: #000;
	position:relative;
	width:100%;
	width:100%;
	padding:0px;
	margin:0px;
	background-repeat:repeat;
	font-size:16px;
	font-family: "Calibri", Tahoma, Geneva, sans-serif;
 }

/*************************************/

body
{
    min-height: 100vh;
    background-image:  url("3.jpg");
    background-size: cover;
}



/* ✅ ГЛАВНЫЙ layout */
#for_filter
{
    min-height: 100vh;
    display: flex;
    flex-direction: column;

    height: 100vh;
    width: 100%;
 /*   background-color: #FFF;*/
}

/* 🔥 ГЛАВНОЕ */
.main_screen_new {
    flex: 1 1 auto;
    min-height: 0;          /* ОБЯЗАТЕЛЬНО */
    position: relative;
    /*background-color: #FFF;*/
}

.main_screen_new_role5 {
    flex: 1 1 auto;
    min-height: 0;          /* ОБЯЗАТЕЛЬНО */
    border-bottom: solid 2px #000;
    border-top: solid 2px #000;
    /*background-color: #FFF;*/
}


/* обычные блоки */
.header {
    flex: 0 0 auto;
    /*background-color: rgba(0,0,0,0.3);*/
    color: #FFF;
}

.header a{
    color: #FFF;
}

.menu_top {
    flex: 0 0 auto;
    background-color: rgba(255,255,255,0.8);
    border-bottom: solid 1px #000;
}

.footer {
    flex: 0 0 auto;
    text-align: center;
    /*background-color: rgba(0,0,0,0.3);*/
    padding-top: 7px;
    padding-bottom: 7px;
    color: #FFF;
    font-size: 11px;
}

.header_in
{
    display: flex;
    justify-content: space-between;
}

/**************************************/

select {
    /* all: unset; сбрасывает почти все стили */
    font-family: "Calibri", Tahoma, Geneva, sans-serif;
    /*padding: 0.5em;*/
    border: 1px solid #ccc;
    background: white;
    font-size:16px;
}

button{
    cursor: pointer;
}

img
{
  border:0px;
  display:block;
}

form
{
  padding:0px; 
  margin:0px;
  display:inline-block;
  box-sizing: border-box;
  width:100%;
}

.main_input
{
   border:solid 1px #CCC;
  border-radius:3px;
  padding:3px;
  padding-left:5px;		
  padding-right:5px;
    outline: none;
}


.time_input
{
   border:solid 0px #CCC;
  border-radius:3px;
  padding:3px;
  padding-left:5px;		
  padding-right:5px;
  font-weight:bold;
  color:#0080FF;
}

form input,form textarea , form select
{
   border:solid 1px #CCC;
  border-radius:3px;
  padding:3px;
  padding-left:5px;		
  padding-right:5px;		


	padding:5px !important;
	background-color:#f8f8f8;
	border:solid 1px #ededed;
	outline:none;

}

.bold{
    font-weight: bold;
    text-transform: uppercase;
}




.std_input
{
   border:solid 1px #CCC;
  border-radius:3px;
  padding:10px;
  padding-left:15px;		
  padding-right:15px;		
  width: 100%;
    outline: none;
}

.std_input::placeholder{
    font-family: "Calibri", Tahoma, Geneva, sans-serif;
    font-style: normal;
    font-size: 16px;
    color: #cccccc;
}


.std_code {
  width: 80px;
}

.number
{
	text-align:right;
}

.number:focus
{
	text-align:left;
}

form input[disabled="disabled"]
{
	background-color:#EEE;
	color:#000;
}

form select
{
  border:solid 1px #ededed;
  border-radius:3px;
  padding:2px;
  padding-left:5px;		
  padding-right:5px;		
}

form textarea:focus
{
    box-shadow:4px 4px 4px rgba(0, 0, 0, 0.1);
	background-color:#FFFFE6;
}

form select:focus
{
    box-shadow:4px 4px 4px rgba(0, 0, 0, 0.1);
	background-color:#FFFFE6;
}

form input:focus
{
    box-shadow:4px 4px 4px rgba(0, 0, 0, 0.1);
	background-color:#FFFFE6;
}

p
{
	padding:0px;
	margin:0px;
}

h1,h2,h3,h4
{
	padding:0px;
	margin:0px;
}

img 
{
	display:inline-block;
}

label
{
	display:inline-block;
}

div
{

	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-box-sizing:border-box;

	display:inline-block;
	height:auto;
	width:auto;

	line-height:1.2;
}


.main_screen {
  height: 100vh;
  width: 100%;
  background-color: #FFF;
  display: flex;
  flex-direction: column;
  /*background-image: url("bg.jpg");*/
  background-image: url("3.jpg");
  background-size: cover;

}

.main_screen_no_bg{
    background: none;
}

.main{
    flex: 1; /* Основной контент растягивается */
    width: 100%;
    overflow: auto; /* Прокрутка, если контента много */
    padding: 20px;
}



.footer{
    display: flex;
    height: 50px;
    justify-content: center;
    align-items: center;
    color: #FFF;
    gap:10px;
}

.footer a{
    color: #FFF;
}


.main_left_top_screen {
    display: flex;
    color: #FFF;
    justify-content:center;
    align-items: center;
}


.main_top_screen {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    color: #FFF;
    padding-top: 0px;
}

.main_top_screen_20{
    margin-top: 20px;

}


.menu {
    padding:20px ;
    display: flex;
    justify-content: space-between;
    gap:10px;
}


.menu_not_padd{
    padding: 0px;
}

.menu_not_padd .login_block_in{
    background: none !important;
}

.m_scr
{
    display: block;
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}


.block
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: solid 1px #3F8DF2;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    gap: 10px;
}

.button_main {
    background-color: #546ee5;
    border-radius: 3px;
    padding: 7px;
    padding-right: 8px;
    padding-left: 8px;
    padding-right: 5px;
    padding-left: 5px;
    border: solid 1px #546ee5;
    padding-left: 10px;
    padding-right: 10px;
    color: #FFF;
    cursor: pointer;
    width: 100%;
    text-decoration: none;
    display: inline-block;
}

.button_main:hover {
    background-color: #ffff00;
    color: #546ee5;
}

.button_main_top10{
    text-align: center;
    padding-top: 10px;
    width: 100%;
    margin-bottom: 30px;
}

.grad-line{
    height: 1px;              /* толщина линии */
    width: 100%;
    display: flex;
    border: 0;                 /* убираем стандартную рамку hr */
    background: linear-gradient(90deg,#0053bb 0%,#ffffff 50%,#016ec9 100%);
    border-radius: 2px;        /* слегка скруглим края (по желанию) */
    margin-bottom: 30px;
    justify-content: center;
    align-items: center;

}

.grad-line-top{
    margin-top: 10px;
    margin-bottom: 10px;
}



/*****************************************************************************************************/

.login_win
{
    display:block;
    width: auto;
    height: auto;
}

.login_win h3{
    display: block;
    margin-bottom: 20px;
}


.login_win .line{
    display: flex;
}

.login_win .center{
    text-align: center;
    margin-top: 20px;
}

.login_win .row{
    display: block;
    margin-bottom: 15px;
}

.login_win .row_center{
    text-align: center;
}

.login_win .row:last-child{
    margin-bottom: 0px;
}

.login_win .row label{
    display: block;
    margin-bottom: 3px;;
}

.login_win a{
    text-decoration: underline;
    color: #0080FF;
    font-size: 14px;
    display: block;
    text-align:center;
}

#code_img{
    display: flex;
    align-items:center;
    gap: 10px;;
}

.red_border{
    border: solid 1px #F00;
}

.red_text{
    color: #F00;
}

.error_text{
    font-size: 11px;
    color: #F00;
    display: block;
}

.login_block_in{
    display: flex;
    /*background-color: rgba(255, 255, 255, 0.1);*/
    border-radius: 5px;
    padding: 10px;
    gap:10px;
    color: #000;
}

.login_block_in_no_bg{
    background-color: unset;
    gap:20px;
}

.login_block_in a{
    color: #FFF;
    text-decoration: none;
}

.login_block_in a:hover{
    text-decoration: underline;
}

.cabinet
{
    padding: 20px;
    width: auto;
    flex-grow:0;
    box-shadow: 14px 14px 14px rgba(0, 0, 0, 0.1);
    color: #000;
    background-color: rgba(255,255,255,0.6);
    border-radius: 10px;
}


.cabinet h2{
    text-align: left;
    margin-bottom: 20px;
}

.main_block_column{
    display: flex;
    flex-direction: column;
    width: auto;
    gap: 20px;
    max-width: 800px;
}

.table{
    border-collapse: collapse;
    border: 1px solid #e3dcdc;
    width: 100%;
}

.table td, .table th{
    border: 1px solid #e3dcdc;
    padding: 15px;
    background-color: #FFF;
    vertical-align: top;
}

.foot_button{
    display: flex;
    justify-content: center;
    text-align: center;
    padding-bottom: 5px;
    gap:10px;
    padding-top: 30px;
}

.auto_width{
    width: auto !important;
    padding-top: 3px;
    padding-bottom: 3px;

}

.td_razdel{
    min-width: 200px;
}

.td_value{
    min-width: 200px;
}

/******************************************/


.row_edit {
    display: block;
    margin-bottom: 14px;
}


.row_edit_flex {
    display: flex;
    gap:10px;

}


.row_edit_flex_left {
    display: flex;
    gap:10px;

}

.row_edit_flex_left input{
    width: auto !important;
}


.row_edit_flex_nowith div{
    width: auto !important;
}

.row_edit_flex select{
    height: 38px;
}

.row_edit div{
    width: 100%;
}

.row_edit:last-child{
    margin-bottom: 0px;
}

.row_edit label, .row_edit input{
    display: block;
}

.row_edit input{
    width: 100%;
    padding: 10px !important;
    background-color: #f9f9f9  !important;
}

.row_edit textarea{
    width: 100%;
    padding: 10px !important;
    background-color: #f9f9f9  !important;
    font-size: 16px;
    font-family: "Calibri", Tahoma, Geneva, sans-serif;
}


.row_edit select{
    width: 100%;
    padding: 10px !important;
    background-color: #f9f9f9  !important;
}

.row_edit label{
    margin-bottom: 1px;
    color: #737373  !important;

}

.frm_closebtn{
    border:solid 1px #F00;
    display: inline-block;
    width: 18px;
    height: 18px;
}

.button_dialog {
    background-color: #f0f0f0;
    border-radius: 3px;
    padding: 7px;
    border: solid 1px #b5b5b5;
    padding-left: 10px;
    padding-right: 10px;
    color: #000;
    cursor: pointer;
    background: linear-gradient(0deg, #ccc,#fff);
    display: flex;
    gap:5px;
    transition: background-color 0.3s ease; /* Плавный переход */
}

.button_dialog:active {
    background: linear-gradient(0deg, #aaa,#fff);
}

.button_dialog_pad3{
    padding: 3px;
    padding-left: 10px;
    padding-right: 10px;
}

.td_line{
    height: 10px;
    background-color: #e3e3e3  !important;
}

.td_logo_company{
    display: block;
    border: solid 1px #AAA;
    width: 100px;
    height: 100px;
}

.td_logo_company img{
    width:100% ;
}

.td_logo_block{
    display: flex;
    gap:10px;
}

.main_view{
    display: flex;
    flex-direction: column;
    gap:10px;
    padding: 20px;
    justify-content: center;
    align-items: center;
}

.main_view_w400{
    width: 100%;
    max-width: 500px;

}

.main_view h1{
    font-size: 42px;
    text-align: center;
}

.main_view p{
    font-size: 24px;
    text-align: center;
}


.main_view_header{
    display: flex;
    flex-direction: column;
    gap:10px;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;

}

.main_logo{
    width: 100px;
    height: 100px;
}

.main_logo img{
    width: 100%;
    height: 100%;
    border-radius: 50%;
    padding: 2px;
}


/******************************************************************/

.nice-line
{
    display: flex;
    align-items: center;
    width: 100%;
    gap:20px;
    justify-content: center;
    margin-top: 10px;
    margin-bottom: 10px;
}


.line_1 {
    height: 1px;
    width: 25%;
    display: flex;
    background: linear-gradient(90deg, #0053bb 0%, #688bf2 50%);
}

.line_11 {
    height: 1px;
    width: 25%;
    display: flex;
    background: linear-gradient(270deg, #0053bb 0%, #688bf2 50%);
}

.move_button {
    border: none;
    background-color: #FFF;
    cursor: move;
}

/***********************************************/
.draw_phone_out
{
    width: 400px;
    height: auto;
    display: flex;
    /*border: solid 1px #0f74a8;*/
    border-radius: 10px;
    padding: 2px;
    box-shadow: 14px 14px 14px rgba(0, 0, 0, 0.1);
    background-color: #FFF;
}

.draw_phone_in{
    border-radius: 10px;
    /*border: solid 1px #0f74a8;*/
    width: 500px;
    height: auto;
    min-height: 700px;
    display: flex;
}

.draw_phone_content{
    padding: 20px;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.maket_top{
    border-bottom: solid 1px #FFF;
    background-color: #0f74a8;
}

.row_content{
    width: 100%;
    height: auto;
    display: flex;
    border: dashed 1px #000;
    flex-grow: 1;
    color: #000;
    justify-content: center;
    align-items: center;
    padding: 10px;
    margin-bottom: 10px;
    text-align: center;
}

.row_content:hover{
    border: dashed 1px #007aff;

}


.row_content_a{
    background-color: #0f74a8;
    transition: all 0.4s ease; /* Плавный переход */
    cursor: pointer;
}

.row_content_a a{
    color: #FFF;
    text-decoration: none;
    cursor: pointer;
}

.row_content_a:hover {
    background-color: #439fce;

}

.left_mnu{
    display: flex;
    align-items: center;
    justify-content: center;
}

.left_mnu a{
    color: #FFF;
}

.row_content_edit
{
    position: relative;
    transition: all 0.4s ease; /* Плавный переход */
}

.row_content_edit:hover  .row_content_edit_menu
{
   display:flex ;
}



.row_content_edit_menu
{
    position: absolute;
    left: 100%;
    top: 0px;
    height: auto;
    width: auto;
    background-color: #F0F0F0;
    padding: 5px;
    z-index: 1;
    display: none;
    gap:5px;
    transition: all 0.4s ease; /* Плавный переход */
}

.row_content_edit_menu a{
    border: solid 1px #cecece;
    padding: 5px;
    display: block;
    height: 28px;
}

.row_content_edit_menu a:hover{
    background-color: #FFF;
}

.row_content_add_button{
    border: none;
}

.row_content_add_button:hover{
    border: none;
}

.footer_edit{
    background-color: #0f74a8;
}

#d3rfsg4323424yfcsdfd ,
#IDEditImageForm ,
#IDEditLinkForm ,
#IDEditTextForm ,
#IDEditLineForm ,
#IDEditRazdelForm,
#IDEditTovarForm,
#IDEditTextEditorForm,
#IDType_0 ,
#IDType_1 {
    width: 100%;
}


.edit_flex_photo{
    display: flex;
    gap:20px;
}

.edit_flex_photo_src{
    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #000;
    /*width: 100px;
    height: 100px;*/

    overflow: hidden;
}

.edit_flex_photo_src img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

#edf_image{
    display: none;
}

/***********************************************/

.edit_flex_photo_src_vid{
    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #000;
    width: 100px;
    height: 100px;
    max-width: 100px;
    max-height: 100px;

    overflow: hidden;
}

.edit_flex_photo_src_vid img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}


/*******************************************/
.row_content_edit {
    cursor: move;
    user-select: none;
}

.drag-over {
    border: 2px dashed #007bff;
    background-color: rgba(0, 123, 255, 0.1);
}


.button_event {
    display: flex;
    gap:5px;
    background-color: #546ee5;
    border-radius: 3px;
    padding: 7px;
    padding-right: 8px;
    padding-left: 8px;
    padding-right: 5px;
    padding-left: 5px;
    border: solid 1px #546ee5;
    padding-left: 10px;
    padding-right: 10px;
    color: #FFF;
    cursor: pointer;
    width: auto;
    background: linear-gradient(to top, #546ee5, #6782ff);
}

.button_event_hide{
    display: none;
}


/*************************************************/

.row_content_text h1{
 font-size: 35px;
}

/***********************************/
.main_view_links{
    display: flex;
    flex-direction: column;
    gap:15px;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.row_main_link{
    display: block;
    padding: 3px;
    background-color: #0f74a8;
    color: #FFF;
    width: 100%;
    flex-grow: 1;
    text-align: center;
    text-decoration: none;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 22px;

}


.row_main_text{
    text-align: center;
}

.row_main_text p{
    display: block;
    margin-bottom: 15px;
    font-size: 18px;
}

.row_main_link {
    text-align: center;
    transition: all 0.4s ease; /* Плавный переход */
}

.row_main_link:hover{
    background-color: #038bf3;
}

.row_main_line{
   width: 100%;
}

.my_link{
    color: #FFF;
    margin-top: 20px;
}

.help_edit{
    font-size: 12px;
    padding-left: 5px;
    padding-right: 5px;
    color: #AAA;
}

.cls_style_text{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}



.cls_style_text  .cls_style_text_item{
    display: inline-block;
    padding: 10px;
    border: solid 2px #ddd;
    width: auto;
    cursor: pointer;
    text-align: center;
}

.cls_style_text_item_select{
    color: #FFF;
    border: solid 2px #546ee5 !important;
    color: #000;
}

.cls_style_text  .cls_style_text_item:hover{
    background-color: #cecece;
}

@media (max-width: 550px) {
    .cls_style_text
    {
        flex-direction: column;
    }

    .cls_style_text  .cls_style_text_item {
        width: 100%;
    }
}

.style_icon_link {
    display: flex;
    flex-direction: column;
    background-color: #FFF;
    gap: 10px;
}


.style_icon_link_item {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #0f74a8;
    color: #fff;
    padding: 10px 10px 10px 40px; /* место под иконку */
    position: relative;
    font-family: Arial, sans-serif;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    background-color: #FFF;
    color: #000;
    border: solid 2px #ddd;
}

.style_icon_link_item::before {
    content: var(--icon);
    font-family: icomoon !important;
    font-size: 20px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease, color 0.3s ease;
}

/* Эффект при наведении */
.style_icon_link_item:hover {
    background-color: #1290cc; /* чуть светлее фон */
    border: solid 2px #FF0000;
}

.style_icon_link_item:hover::before {
    transform: translate(5px, -50%); /* немного двигаем вправо */
    color: #ffeb3b; /* меняем цвет иконки на желтоватый */
}

.cls_style_link_item_select{
    background-color: #0f74a8;
    color: #fff;
}


/**********************************************************************************************/



.style_icon_link_item_main {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #0f74a8;
    color: #fff;
    padding: 10px 10px 10px 40px; /* место под иконку */
    position: relative;
/*    font-family: Arial, sans-serif;*/
    font-size: 22px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px;
}

.style_icon_nopad
{
    padding: 0px 10px 0px 40px; /* место под иконку */
}

.style_icon_link_item_main::before {
    content: var(--icon);
    font-family: icomoon !important;
    font-size: 24px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease, color 0.3s ease;
}

/* Эффект при наведении */
.style_icon_link_item_main:hover {
    background-color: #1290cc; /* чуть светлее фон */
}

.style_icon_link_item_main:hover::before {
    transform: translate(5px, -50%); /* немного двигаем вправо */
    color: #ffeb3b; /* меняем цвет иконки на желтоватый */
}


.block-scrum {
   display: flex;
   margin-bottom: 20px;
   font-size: 11px;
   color: #234cd0;
   gap:5px;
}

.block-scrum:empty{
    display: none;
}

.block-scrum  a{
    color: #234cd0;
}

/******************************/
.row_content_main_text{
    width: 100%;
    height: auto;
    display: flex;
    color: #000;
    margin-bottom: 10px;
}

.row_content:hover{
    border: dashed 1px #007aff;
}

.text_css{
    display: block;
    width: 100%;
    height: auto;
}

/****************************/
.edit_img_tovar_block
{
    display: flex;
    justify-content: center;
    gap:10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.edit_img_tovar_block_div {
   position: relative;
    width: auto !important;
}

.edit_menu_tov{
    position: absolute;
    top: 0px;
    left: 0px;
}

.img_tov_photo{
    width: 100px;
    height: 100px;
    border: solid 1px #AAA;
    padding: 1px;
}

.label_center{
    text-align: center;
    width: 100%;
}

.flex_center{
    display: flex;
    justify-content: center;
}


/****************************************/

.row_content_tovar{
    display: flex;
    gap:10px;
    flex-wrap: wrap;
    justify-content: space-around;
}

.block_tovar{
    display: block;
/*    border: solid 1px #F00;*/
    width: 150px;
    height: auto;
    padding: 1px;
    box-shadow:4px 4px 4px rgba(0, 0, 0, 0.1);
    position: relative;

}

.block_tovar_photo {
    width: 100%;
    aspect-ratio: 1 / 1;    /* квадрат, можно 4/3, 16/9 и т.д. */
    overflow: hidden;
    background: #f2f2f2;
    position: relative;
}

.tovar_no_photo
{
    position: absolute;
    inset: 0;                     /* растягиваем на весь блок */
    display: flex;
    align-items: center;           /* вертикальный центр */
    justify-content: center;       /* горизонтальный центр */

    background: #e0e0e0;
    color: #777;
    font-size: 14px;
    text-align: center;
}

.block_tovar_photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;     /* 🔥 как background-size: cover */
    object-position: center;
    display: block;
}

.block_tovar_name{
    text-align: center;
    width: 100%;
    color: #000;
}

.block_tovar_name a{
    color: #000;
    text-decoration: none;
    font-weight: bold;
}


.row_content_edit_tovar
{
    position: relative;
    transition: all 0.4s ease; /* Плавный переход */
}

.row_content_edit_menu_tovar
{
    position: absolute;
    right: 0px;
    top: 0px;
    height: auto;
    width: auto;
    padding: 5px;
    z-index: 1;
    display: flex;
    gap:5px;
    transition: all 0.4s ease; /* Плавный переход */
}

.row_content_edit_menu_tovar a{
    border: solid 1px #cecece;
    padding: 5px;
    display: block;
    height: 28px;
    background-color: #FFF;
}

.row_content_edit_menu_tovar a:hover{
    background-color: #FFF;
}


.row_block_tovar
{
    display: flex;
    width: 100%;
    gap: 10px;
    flex-wrap: wrap;
    color: #000;
}

.row_block_tovar .block_tovar
{
    background-color: #FFF;
    min-width: 150px;
    max-width: 200px;
    width: 100%;

}

/************************************/

.myshop_main
{
    width: 100%;
    height: auto;
    display: flex;
    border-radius: 10px;
    padding: 10px;
    box-shadow: 14px 14px 14px rgba(0, 0, 0, 0.1);
    background-color: #FFF;
    justify-content:space-between;
    max-width: 1200px;
    background-color: rgba(255,255,255,0.8);
}

.myshop_main_long{
    max-width:none;

}

.myshop_main_left
{
    width: 100%;
    max-width: 300px;
    /*border: solid 1px #F00;*/
    padding: 5px;
}

.myshop_main_right
{
    flex-grow: 1;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
}

.myshop_win
{
    border-radius: 3px;
    /*background-color: #C6C6C6;*/
    width: 100%;
    margin-bottom: 20px;
    box-shadow:4px 4px 4px rgba(0, 0, 0, 0.1);
}

.myshop_win:last-child{
    margin-bottom: 0px;
}

.myshop_win_link {
    box-shadow:none;
    justify-content: center;
    display: flex;
    padding-bottom: 10px;
}

.myshow_win_header
{
    width: 100%;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    display: flex;
    justify-content: space-between;
    background-color: #7575B3;
    color: #FFF;
    padding: 5px;
    padding-left: 7px;
    padding-right: 7px;
    margin-bottom: 2px;
    font-weight: bold;
    text-transform: uppercase;
}

.myshow_win_body
{
  display: flex;
  flex-direction: column;
  gap:0px;
}




.myshow_win_body a
{
    /*display: block;
    width: 100%;
    height: auto;
    padding: 5px;
    padding-left: 7px;
    padding-right: 7px;
    background-color: #F0F0F0;
    text-decoration: none;
    color: #000;*/
}


.myshow_win_body_row:hover{
    background-color: #3F8DF2;
}

.myshow_win_body_row:hover a{
    color:#FFF;
}

.myshow_win_body_row_select{
    background-color: #7F97B7  !important;
    color:#FFF !important;
}

.myshow_win_body_row_select a{
    color:#FFF !important;
}

.myshow_win_body_no_data
{
    display: flex;
    justify-content: center;
    align-items: center;
    color: #777;
    background-color: #FFF;
    padding: 5px;
    text-align: center;
}




.button_action {
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFF;
    border: solid 1px #3F8DF2;
    width: 20px;
    height: 20px;
    text-decoration: none;
    font-weight: bold;
}

.button_action:hover{
    background-color: #ffff00;
}

.myshow_win_body_row{
    display: flex;
    background-color: #F0F0F0;
    padding: 5px;
    padding-left: 7px;
    padding-right: 7px;
    margin-bottom: 1px;
}

.myshow_win_body_row_menu{
    flex-grow:1;
    cursor: pointer;
}

.myshow_win_body_row_menu a{
    text-decoration: none;
    color: #000;
    display: flex;
    gap:5px;
}

.myshow_win_body_row_menu a img{
    width: 20px;
    height: 20px;
    border-radius: 50%;
}

.myshow_win_body_row_action
{
    display: flex;
    gap:2px;
}

.html_text {
    display: block;
    font-size: 16px;
    line-height: 1.6;
    color: #222;
    word-wrap: break-word;
}

.html_text{
    display:block;
    font-size:16px;
    line-height:1.6;
    color:#222;
    word-wrap:break-word;
}

/*.html_text h1{font-size:2em;margin:1.2em 0 .6em;font-weight:600}
.html_text h2{font-size:1.7em;margin:1.2em 0 .6em;font-weight:600}
.html_text h3{font-size:1.4em;margin:1.2em 0 .6em;font-weight:600}
.html_text h4{font-size:1.2em;margin:1em 0 .5em;font-weight:600}
.html_text h5{font-size:1.05em;margin:1em 0 .5em;font-weight:600}
.html_text h6{font-size:.95em;margin:1em 0 .5em;font-weight:600}*/

.html_text h1{font-size:2em;margin:1.2em 0 .6em;font-weight:600; margin-top: 0px;}
.html_text h2{font-size:1.7em;margin:1.2em 0 .6em;font-weight:600; margin-top: 0px;}
.html_text h3{font-size:1.4em;margin:1.2em 0 .6em;font-weight:600; margin-top: 0px;}
.html_text h4{font-size:1.2em;margin:1em 0 .5em;font-weight:600; margin-top: 0px;}
.html_text h5{font-size:1.05em;margin:1em 0 .5em;font-weight:600; margin-top: 0px;}
.html_text h6{font-size:.95em;margin:1em 0 .5em;font-weight:600; margin-top: 0px;}


.html_text p{margin:0 0 1em}

.html_text ul,
.html_text ol{margin:0 0 1em 1.5em;padding:0}

.html_text li{margin:.3em 0}

.html_text a{color:#0066cc;text-decoration:underline}
.html_text a:hover{text-decoration:none}

.html_text b,
.html_text strong{font-weight:600}

.html_text i,
.html_text em{font-style:italic}

.html_text u{text-decoration:underline}

.html_text blockquote{
    margin:1em 0;
    padding:.5em 1em;
    border-left:4px solid #ddd;
    background:#f9f9f9;
    color:#555
}

.html_text code{
    background:#f4f4f4;
    padding:.15em .3em;
    border-radius:3px;
    font-family:monospace;
    font-size:.95em
}

.html_text pre{
    background:#f4f4f4;
    padding:1em;
    overflow:auto;
    margin:1em 0
}

.html_text img{
    max-width:100%;
    height:auto;
    display:block;
    margin:1em 0
}

.html_text table{
    width:100%;
    border-collapse:collapse;
    margin:1em 0
}

.html_text th,
.html_text td{
    border:1px solid #ddd;
    padding:.5em;
    text-align:left
}

.html_text th{
    background:#f2f2f2;
    font-weight:600
}

.html_text hr{
    border:none;
    border-top:1px solid #ddd;
    margin:2em 0
}

.html_text small{
    font-size:.85em;
    color:#666
}

.table_tvr{
    border-collapse: collapse;
    border: 1px solid #e3dcdc;
    width: 100%;
    color: #000;
}

.table_tvr th{
    border: 1px solid #e3dcdc;
    padding: 5px;
    background-color: #f4f4f4;
    vertical-align: top;
}

.table_tvr td{
    border: 1px solid #e3dcdc;
    padding: 5px;
    background-color: #FFF;
    /*vertical-align: center;*/
}

.td_num
{
    text-align: right;
}

.td_logo{
    width: 50px;
    height: 50px;
}

.td_actions{
    display: flex;
    gap:10px;
    justify-content: center;
}

.panel_buttons{
    display: flex;
    justify-content: center;
    text-align: center;
    gap:10px;
}

.title_tovar{
    font-size: 18px;
}

.button_arrow{
    border-radius: 10px;
    padding: 8px;
    padding-left: 20px;
    padding-right: 20px;
    background-color: #7878B9;
    text-decoration: none;
    color: #FFF;
}

.button_arrow:hover
{
    background-color: #6e6ebf;
}


/***************************/
.logo_shop
{
    width: auto;
    height: 70px;
    border: solid 1px #e3dcdc;
    padding: 1px;
}

.logo_shop_main
{
    width: auto;
    height: 40px;
    padding: 1px;
}

.bg_shop{
    background-color: #FFF;
}


.shop_header{
    display: block;
    border: solid 1px #F00;
}

.menu_shop
{
    align-items: center;
    display: flex;
    position: relative;
}

.menu_shop a
{
    align-items: center;
    display: flex;
}

.menu_shop_korz{
    display: flex;
    flex-direction: column;
    text-decoration: none;
}

.menu_shop_find{
    flex-grow:1;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
}

.menu_shop_find input{
    width: 100%;
    border-radius: 5px;
    border: solid 1px #aaa;
    padding: 8px;
    outline: none;
}

.menu_shop_find input::placeholder {
    font-style: italic;
    color: #BBB;
}

.shop_menu
{
    background-color:rgba(255,255,255,0.8);
    padding: 10px;
}

.shop_menu_in {
    display: flex;
    gap:10px;
    justify-content: center;
    position: relative;
}

.shop_menu_in a{
    color: #000;
    text-decoration: none;
    font-weight: bold;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.shop_menu_in a:hover{
    color: #3F8DF2;
}

.shop_kar
{
    display: flex;
    flex-direction: column;
    gap:10px;
    box-shadow:0px 0px 14px rgba(0, 0, 0, 0.1);
    padding: 10px;
    min-width: 230px;
    max-width: 230px;
    border-radius: 12px;
    position: relative;
    background-color: #FFF;
}

.shop_kar:hover{
    box-shadow:0px 0px 14px rgba(0, 0, 0, 0.2);

}

.shop_kar_image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;        /* 🔥 всегда квадрат */
    overflow: hidden;
    border-radius: 12px;        /* опционально */
    background: #f2f2f2;        /* если фото не загрузилось */
}

.shop_kar_image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;          /* 🔥 как background-size: cover */
    object-position: center;
    display: block;
}

.shop_kar_title {
    display: flex;
    justify-content: center;
    text-align: center;
}

.shop_kar_title  a{
    color: #000;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.shop_kar_title  a:hover{
    color: #5c72ca;
}

.shop_kar_cena
{
    color: #5c72ca;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.shop_main_2panel
{
    display: flex;
    justify-content: space-around ;
    color: #FFF;
    gap:10px;
}

.shop_main_screen {
    display: flex;
    justify-content: space-around ;
    color: #FFF;
    gap:10px;
    flex-wrap: wrap;
    flex-grow: 1;
}

.a_button_find
{
    position: absolute !important;
    z-index: 1;
    right: 30px !important;
    font-size: 25px;
    text-decoration: none;
    top: 10px !important;
}

.icon-button-find:before {
    content: "\E90F";
    color: #bbb;
    font-size: 20px;
}

.html_text_shop{
    color: #000 !important;
    font-size: 18px !important;
}

.shop_view_tovar{
    display: flex;
    justify-content: space-between;
    gap:10px;
    padding-top: 10px;
}

.images_view{
    display: flex;
    justify-content: space-between;
    gap:5px;
}

.images_view_list{
    display: flex;
    flex-direction: column;
    gap:5px;
}

.images_view_list:empty {
    display: none;
}

.images_view_list img
{
    width: 50px;
    height: 50px;
    border: solid 1px #aaa;
    padding: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.images_view_list img:hover{
    border: solid 2px #3F8DF2;
}

.images_view_main img
{
    width: 450px;
    height: 450px;
    border: solid 1px #aaa;
    padding: 1px;

}

.shop_view_tovar_main
{
    flex-grow:1;
    display: flex;
    flex-direction: column;
    gap:10px;
    padding-left: 20px;
}

.tovar_price{
    font-weight: bold;
    font-size: 28px;
    color: #0004FF;
}


.not_p_center p{
    text-align: left !important;
}


.row_content_logo{
    display: flex;
    justify-content: center;
    width: 100%;          /* контейнер на всю доступную ширину */
}

.row_content_logo img{
    display: block;
    width: 100%;          /* тянем по ширине */
    height: auto;         /* высота автоматом */
}


.row_main_img{
    width: 100%;
    display: block;
}

.row_main_img img{
    display: block;
    width: 100%;     /* до конца по ширине */
    height: auto;    /* высота сама */
}


/***************************/

.header_menu_top{
    display: flex;
    justify-content: space-between;
    padding-left: 40px;
    padding-right:40px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
}

.flex_input_2in{
    display: flex;
    gap:10px;
}


.table_norm_fix {
    width: 100%;
    border-collapse: collapse;
    box-shadow:4px 4px 4px rgba(0, 0, 0, 0.1);

}

.table_norm_fix tr:nth-child(even) {
    background-color: #f2f2f2; /* Цвет для чётных строк */
}

.table_norm_fix tr:nth-child(odd) {
    background-color: #ffffff; /* Цвет для нечётных строк */
}


.row_select_id {
    background-color: #fff000 !important;
    transition: background-color 3s ease;
}




.table_norm_fix tr:hover {
    background-color: rgba(174, 215, 255, 0.22);
    color: #000;
}


.table_norm_fix thead {
    position: sticky;
    top: 0;
    background: white;
    z-index: 10;
}

.table_norm_fix tr th{
    background-color: #f0f0f0;
    border: solid 1px #dbdbdb;
    padding: 6px;
}

.table_norm_fix td {
    padding: 7px;
    border: solid 1px #dbdbdb;
    text-align: left;
}

.table_fix{
    width: 100%;
}






.block_section_fix{
    overflow-y: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}



/******************/
.button_add_korzina {
    border-radius: 5px;
    padding: 10px;
    padding-right: 10px;
    padding-left: 10px;
    padding-left: 12px;
    padding-right: 12px;
    border: none;
    background-color: #2f89b5;
    color: #FFF;

}

.button_add_korzina:hover {
    background-color: #4492bc;

}

.korzina_info_small
{
    background-color: #ff7800;
    color: #FFF;
    padding: 3px;
    border-radius: 50%;
    position: absolute;
    right: 0px;
    top: 0px;
    z-index: 1;
    font-size: 11px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 20px;
}

.korzina_info_small:empty {
    display: none;
}

.block_kozina {
    display: inline-block;
    width: auto;
    height: auto;
    z-index: 1;
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
}

.shop-scrum{
  display: flex;
  gap:5px;
  align-items: center;
  padding:5px;
  padding-top: 5px;
  padding-bottom: 5px;
}

.shop-scrum-pad20{
    padding-left: 20px;
    padding-top: 20px;
}

.shop-scrum:empty{
    display: none;
}

.shop-scrum a
{
    color: #0000FF;
    text-decoration: none;
}

.logo_main{
    width: 40px;
    height: 40px;
}

.load_json{
    display: flex;
    justify-content: center;
    align-items: center;
    gap:10px;
}

.role5_main_screen {
    display: flex;
    justify-content: space-around ;
    color: #000;
    gap:10px;
    flex-wrap: wrap;
    padding-top: 10px;
}

.block_firma
{
    display: flex;
    /*background: rgba(255,255,255,0.5);*/
    background-color: #FFF;
    box-shadow:4px 4px 4px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    width: 100%;
    padding: 10px;
    gap:10px;


    background-color: #0f74a8;
    color: #fff;
    position: relative;
    font-family: Arial, sans-serif;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;

}

.block_firma:hover {
    background-color: #1290cc; /* чуть светлее фон */
}

.block_firma:hover {
    box-shadow:7px 7px 7px rgba(0, 0, 0, 0.1);
    cursor: pointer;

}

.firma_main_logo{
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #000;
    width: 100px;
    height: 100px;
    overflow: hidden;
}
.firma_main_logo img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}


.firma_info
{
    display: flex;
    flex-direction: column;
}

.firma_info_center{
    justify-content: center;
}

.firma_info h2{
    margin-bottom: 10px;
}

.firma_info a{
    color: #FFF;
    text-decoration: none;
}


.firma_h1
{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 10px;
    padding-top: 5px;
}


.firma_h1 a{
    text-decoration: none;
    color: #FFF;
    font-weight: bold;
    font-size: 24px;
    text-align: center;
}

.main_center_screen {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #FFF;
    gap:20px;
}


.main_logo_top{
    width: 100%;
}

.main_logo_top img{
    border:solid 1px #FFF ;
    box-shadow:0px 0px 4px rgba(0, 0, 0, 0.1);
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.main_scr_multi
{
    display: flex;
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
    width: 100%;
    flex-direction: column;
    gap:20px;
}

.main_block_links{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    gap:20px;
    flex-wrap: wrap;
}

/****************************/
.hero{
    position: relative;
    height: 100px;
    overflow: hidden;

    display:flex;
    align-items:center;
    justify-content:center;
    border: solid 1px #FFF;
}

/* фон-карусель */
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    width:200%;

    background: linear-gradient( 90deg, #1f6fa8 0%, #2d66a3 25%, #355fa0 50%, #377cc6 75%, #1f6fa8 100% );

    background-size:50% 100%;
    animation:bgSlide 6s linear infinite;
    z-index:0;
}



.hero img{
    position:relative;
    z-index:2;
    height:70px;
    width:auto;
}

@keyframes bgSlide{
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

@keyframes shine{
    from { transform: translateX(35%) translateY(-35%); }
    to   { transform: translateX(-35%) translateY(35%); }
}

/*************************************/

.main_menu
{
    display: flex;
    justify-content: center;
    background-color: #5050c4;
    text-align: center;
}

.main_menu_black{
    background-color: #000;
}

.main_menu_black:empty{
    display: none;
}

.main_menu a{
    color: #FFF;
    text-decoration: none;
    padding-left:15px;
    padding-right:15px;
    padding-top: 7px;
    padding-bottom: 7px;
    border-right: solid 1px #dbdbdb;
    display: flex;
    gap:7px;
}

.main_menu a:first-child {
    border-left: solid 1px #dbdbdb;
}

.main_menu_black a{
    border-right: solid 1px #005e95;
}
.main_menu_black a:first-child {
    border-left: solid 1px #005e95;
}


.main_menu a:hover {
    color: #FFF;
    background-color: #6767d4;
    background-color: #005e95;
    color: #ffff00;
    transition: 0.3s ease; /* вот это делает плавность */
}

.main_screen_new_role10 {
    flex: 1 1 auto;
    min-height: 0;          /* ОБЯЗАТЕЛЬНО */
    border-bottom: solid 2px #000;
    background-image: url("/css/b4.jpg");
    background-size: cover;
    /*background-color: #FFF;*/
}


/**********************************/
.admin_header {
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: solid 1px #2a2f43;
}

.admin_main {
    flex: 1;
    background-color: #FFF;
    width: 100%;
    overflow: auto;
    padding: 20px;
    background-image: url(b4.jpg);
    background-size: contain;
}

.admin_footer {
    display: flex;
    height: 50px;
    justify-content: center;
    align-items: center;
    border-top: solid 1px #d9d9d9;
    color: #FFF;
}

.admin_footer a{
    color: #FFF;
}

.admin_m_scr_full
{
    width: auto;
}


.block_section_header_lr {
    justify-content: space-between;
}
.block_section_header {
    background-color: #546ee5;
    background-color: #517d97;
    /*background: linear-gradient(to top, #546ee5, #6782ff);*/
    color: #FFF;
    font-weight: bold;
    display: flex;
    width: 100%;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    align-items: center;
}

.block_section_header .div_line {
    padding: 12px;
    border-right: solid 1px #FFF;
    align-items: center;
    height: 100%;
    display: flex;
}

.admin_table_fix {
    max-height: 100%;
    overflow-y: auto;
    border-bottom: 1px solid #ccc;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.admin_table_fix_no_100{
    height: auto !important;
}

.paginations {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 10px;
    margin-bottom: 20px;
}

.pan_buttons_center {
    display: flex;
    justify-content: center;
}
.pan_buttons {
    margin-top: 10px;
    display: flex;
    gap: 10px;
}

.m_scr_fixed {
    overflow-y: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.head_std_select{
    padding: 0px !important;
    background-color:#517d97;
    border:none;
    border-radius: 3px;
    color: #FFF;
    font-size: 16px;
    cursor: pointer;
}

.head_std_select_b{
    font-weight: bold;
    text-transform: uppercase;

}


.head_std_select option {
    cursor: pointer;
}

.uslogo{
    width: 50px;
    height: 50px;
}

.reset_for_filter{
    height: auto !important;
}

#installBtnPrgramm {
    position: fixed;
    left: 0px;
    bottom: 0px;
    width: 40px;
    height: 40px;
    display: block;
    border-radius: 3px;
    background-color: #ff6900;
    border: solid 1px #FFF;
}

.installBtnPrgramm_zp {
    position: fixed;
    left: 0px;
    right: 0px;
    bottom: 0px;
    height: auto;
    display: block;
    border-radius: 3px;
    background-color: #ff6900;
    border-top: solid 1px #ff964c;
    border-bottom: solid 1px #cd5200;
    border-left: solid 1px #ff964c;
    border-right: solid 1px #cd5200;

    color: #FFF;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    flex-direction: column;
    padding-top: 10px;
    padding-bottom: 10px;
}

.installBtnPrgramm_zp small{
    font-style: normal;
    font-weight: normal;
}

.installBtnPrgramm_All_info{
    font-size: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap:10px;
}


.admin_header_bg{
    background: linear-gradient(0deg, #004c79,#005e95);
}
.hide_block{
    display: none !important;
}


/*******************************************************/
.table_wrap{
    max-height: 100%;
    overflow-y: auto;
}

.table_grid{
    border-collapse: collapse;
    border: 1px solid #e3dcdc;
    width: 100%;
}

.table_grid td,
.table_grid th{
    border: 1px solid #e3dcdc;
    padding:7px;
    background-color: #FFF;
    vertical-align: top;
}

.table_grid thead th{
    position: sticky;
    top: 0;
    background: #F2F2F2;
    z-index: 2;
}

.table_grid tbody tr:nth-child(even) td{
    background-color: #f9f9f9;
}

.table_grid tbody tr:nth-child(odd) td{
    background-color: #ffffff;
}


.href_a{
    text-decoration: none;
    border-bottom: dashed 1px #000;
    color: #000;
}

.href_a:hover{
    color: #004c79;
}

.message_window_block{
    padding: 10px;
    text-align: center;
}

.a_white{
    color: #FFF;
    display: flex;
    gap:5px;
}



.div_line_gap5{
    gap:5px;
}

.div_line_a_white a {
    color: #FF0;
}

.head_row{
    background-color: #e5e5e5  !important;
}

.head_row_bold{
    font-weight: bold;
}

.block_select_hist_date{
    display: flex;
    gap:5px;
    flex-wrap: wrap;
    max-width: 700px;
    padding: 10px;
}

.block_select_hist_date a{
    display: inline-block;
    width:auto;
    height: auto;
    border: solid 1px #005e95;
    padding: 5px;
    border-radius: 3px;
    text-decoration: none;
    color: #005e95;
}

.block_select_hist_date a:hover {
    background-color: #3F8DF2;
    color: #FFF;
}

.td_center{
    text-align: center !important;
}

.view_info_user{
    display: flex;
    justify-content:space-between;
    background-color: #FFF;
}

.view_info_user_lr{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    padding: 10px;
    gap: 5px;
}

.view_info_user_row {
    color: #555;
}

.view_info_user_row b{
    color: #000;
}


.tr_error td {
    color: #F00;
}

.ProgressBarLoad{
    display: flex;
    gap: 3px;
    padding: 10px;
    justify-content: center;
    position: relative;
}

.ProgersssBarText{
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ProgressBarItem {
    display: flex;
    width: 15px;
    height: 15px;
    border: solid 1px #B3B3B3;
    background-color: #FFF;
}

.progressBar{
    width:100%;
    height:30px;
    border:1px solid #ccc;
    background:#eee;
    position: relative;
}

.Progersss{
    width:0%;
    height:100%;
    background: linear-gradient(0deg, #707bd0,#b2ccfb);
    transition:width 0.2s;
}

/***********************/

.shop_main_catalog{
    display: flex;
    flex-direction: column;
    max-width: 220px;
    width: 100%;
    height: auto;
    gap:2px;
}


.shop_main_catalog_row
{
    display: flex;
    width: 100%;
    align-items: center;
    gap: 10px;
    padding: 5px;
    background-color: #ececec;
    border-radius: 5px;
    min-height: 40px;
    cursor: pointer;
}

.shop_main_catalog_row:hover {
    background-color: #CCE2FF;
}

.shop_main_catalog_row a {
    display: flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    color: #000;
}

.shop_main_catalog_row a img{
    width: 30px;
    height: 30px;
    border-radius: 5px;
}

.vid_all_img{
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 5px;
    border: solid 1px #aaa;
    background-color: #FFF;
}

.shop_kar_no_tovar{
    color: #000;
}


/****************************/

.myshow_win_body_bg{
    flex-direction: row;
    gap:10px;
    padding: 10px;
}

.body_bg_block {
    display: block;
    width: 30px;
    height: 30px;
    cursor: pointer;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all 0.4s ease; /* Плавный переход */
}

.body_bg_block:hover {
    box-shadow:4px 4px 4px rgba(0, 0, 0, 0.1);
}

.body_bg_0
{
    background-color: #FFF;
}

.body_bg_1{
    background-image:  url("/css/fons/1.png");
}


.body_bg_1 .login_block_in div a{
    color: #000;
}

.body_bg_1 .header a {
    color: #000;
}


.body_bg_2{
    background-image:  url("/css/fons/2.png");
}

.body_bg_2 .login_block_in div a{
    color: #000;
}

.body_bg_2 .header a {
    color: #000;
}

.body_bg_3{
    background-image:  url("/css/fons/3.png");
}
.body_bg_4{
    background-image:  url("/css/fons/4.png");
}

.body_bg_4 .login_block_in div a{
    color: #000;
}

.body_bg_4 .header a {
    color: #000;
}

.body_bg_5{
    background-image:  url("/css/fons/5.png");
}

.body_bg_5 .login_block_in div a{
    color: #000;
}


.body_bg_5 .header a {
    color: #000;
}

.body_bg_6{
    background-image:  url("/css/fons/6.png");
}

.body_bg_6 .login_block_in div a{
    color: #000;
}

.body_bg_6 .header a {
    color: #000;
}



/******************************/
.install-help-popup{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

.install-help-popup.show{
    display: flex !important;
}

.install-help-popup__content{
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 14px;
    padding: 20px;
    box-sizing: border-box;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.install-help-popup__title{
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
}

.install-help-popup__text{
    font-size: 15px;
    line-height: 1.5;
    color: #333;
    white-space: pre-line;
}

.install-help-popup__close{
    margin-top: 18px;
    border: 0;
    background: #111;
    color: #fff;
    padding: 10px 16px;
    border-radius: 8px;
    cursor: pointer;
}


.open_menu {
    display: flex;
    flex-direction: column;
    position: absolute;
    z-index: 2;

    background-color: #DDD;
    gap: 1px;
    padding: 1px;

    /* АНИМАЦИЯ */
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;

    transition: all 0.25s ease;
}

.open_menu.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.open_menu a{
    padding: 7px;
    padding-left: 8px;
    padding-right: 8px;
    text-decoration: none;
    color: #000;
    background-color: #FBFBFB;
}

.open_menu a:hover
{
    background-color: #E1EEFF;
}


.find_block{
    background-color: #FFF;
    border-radius: 3px;
    padding: 3px;
    position: relative;
    padding-right: 20px;
}

.find_block input {
    border: none;
    outline: none;
}

.find_block input::placeholder {
    font-style: italic;
    color: #aaa;
}

.find_block a{
    position: absolute;
    z-index: 1;
    right: 7px;
    top: 2px;
}

/**********************************************/

.menu_block
{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 5px;
    position: absolute;
    inset: 0;
    background-color: #FFF;
    align-content: start; /* ВОТ ЭТО ГЛАВНОЕ */
    padding: 3px;
    z-index: 2;
}

/* карточка ВСЕГДА квадрат */
.menu_block_vid {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    border: solid 1px #d8d8d8;
    border-radius: 3px;
    background-color: #FFF;
    overflow: hidden;
    padding: 2px;
    cursor: pointer;
}

/* картинка занимает верх */
.menu_block_img {
    flex: 1; /* занимает всё доступное */
    overflow: hidden;
}

.menu_block_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* текст снизу фиксированный */
.menu_block_text {
    padding: 10px;
    text-align: center;

    /* чтобы не раздувал блок */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.menu_block_text a{
    text-decoration: none;
    color: #000;
    text-transform: uppercase;
    font-weight: bold;
}

.menu_btn_katalog{
    position: absolute;
    left: 0px;
    top: -5px;
    display: block;
    width: 20px;
    height:30px;
    cursor: pointer;
    z-index: 2;
    display: none;
}


.row_dolg_saldo{
    display: flex;
    width: 100%;
    padding: 7px;
    gap: 10px;
    background-color: #E5E5E5;
    /*justify-content: space-between;*/

}

.row_dolg_saldo:empty{
    display: none;
}

.tr_vipl td
{
    background-color: #E9E9E9 !important;
    font-weight: bold;
}


/******************/

.fullscreen_block {
    position: fixed;
    inset: 0;
    background-color: #FFF;
    z-index: 999999;

    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Arial;
}

/* основной контейнер */
.pin_box {
    text-align: center;
    color: #000;

    width: 100%;
    max-width: 500px;
    padding: 20px;
    box-sizing: border-box;
    position: relative;
}

/* заголовок */
.pin_title {
    margin-bottom: 15px;
    font-size: 18px;
    display: block;
}

.pin_info {
    margin-bottom: 15px;
    font-size: 18px;
    display: block;
}


/* точки */
.pin_dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 55px;
}

.pin_dot {
    width: 14px;
    height: 14px;
    border: 2px solid #000;
    border-radius: 50%;
}

.pin_dot.active {
    background: #000;
}

/* клавиатура */
.pin_pad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;

    max-width: 400px; /* ограничиваем всю клаву */
    margin: 0 auto;
}

/* кнопки */
.pin_btn {
    width: 100%;
    aspect-ratio: 1 / 1;

    max-width: 120px; /* 🔥 ограничение роста */

    background: #AAA;
    border-radius: 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: clamp(18px, 5vw, 28px);
    cursor: pointer;
    user-select: none;

    transition: transform 0.1s, background 0.1s;
}

/* эффект нажатия */
.pin_btn:active {
    background: #F00;
    transform: scale(0.95);
}

.pin_btn.active {
    background: #F00;
    transform: scale(0.95);
}

.pin_btn:empty {
    visibility: hidden; /* или display: none; */
}

.pin_box_close_block{
    display: block;
    position: absolute;
    z-index: 1;
    right: 10px;
    top: 10px;
}


.admin_main_center{
   display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}


.swiper {
    width: 100%;
    height: 300px; /* регулируй */
    display: none;
}

.swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-slide img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}


.map-wrap {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 */
}

.map-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.help_block{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    margin-top: 10px;
}

.help_block_link {
  display: block;
}

.help_block_link a{
    display: inline-block;
    width: auto;
    padding: 5px;
    padding-right: 5px;
    padding-left: 5px;
    border-radius: 3px;
    background-color: #4C8191;
    text-decoration: none;
    color: #FFF;
    font-size: 12px;
    padding-left: 7px;
    padding-right: 7px;
}

.help_block_link {
    display: block;
}

.help_block_link_text{
    padding: 6px;
    border: solid 1px #aaa;
    background-color: #E9E9E9;
    color: #000;
}

.help_block_link_text_hide{
    display: none;

}


/**************/

.installBtnPushMesage
{
    position: fixed;
    left: 0px;
    right: 0px;
    bottom: 0px;
    top: 0px;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(255,255,255,0.5);
    padding: 10px;
}

.installBtnPushMesage .winview{
    display: flex;
    flex-direction: column;
    background-color: #FFF;
    color: #000;
    padding: 20px;
    max-width: 300px;
    gap: 20px;
    border-radius: 5px;
    box-shadow: 0px 0px 33px rgba(0, 0, 0, 0.5);
    background: linear-gradient(45deg, #92c7ff 0%, #e9f3ff 50%, #99bfff 100%);
}

.winview_row
{
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}




/*****************************************************************************************************************************/
/*****************************************************************************************************************************/
/*****************************************************************************************************************************/



.main_view_links {
    display: flex;
    flex-direction: column;
    gap: 5px;

    width: 100%;
    max-width: 546px;
    margin: 0 auto;

    font-family: Arial, sans-serif;
}

.main_view_links, .main_view_links * {
    box-sizing: border-box;
}

/* Кнопки меню */
.main_view_links > a.row_main_link,
.main_view_links > a.style_icon_link_item_main {
    position: relative;
    display: flex;
    align-items: center;

    width: 100%;
    min-height: 70px;
    margin: 0;
    padding: 12px 48px 12px 80px;

    border: 1px solid rgba(77, 208, 255, 0.65);
    border-radius: 12px;

    background: linear-gradient(165deg, rgba(0, 209, 255, 0.42), transparent 42%), linear-gradient(100deg, #1045aa 0%, #085bc5 55%, #008fea 100%);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.25),     inset 0 -1px 2px rgba(0, 34, 119, 0.3),     0 5px 10px rgba(20, 39, 139, 0.2);

    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    overflow-wrap: anywhere;
    justify-content: flex-start;
    transition: filter 0.2s ease,     transform 0.2s ease,     box-shadow 0.2s ease;
}

/* Иконка слева — IcoMoon */
.main_view_links > a.row_main_link::before, .main_view_links > a.style_icon_link_item_main::before {
    content: var(--icon, "");

    position: absolute;
    top: 50%;
    left: 8px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 56px;
    height: 56px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 13px;

    font-family: "icomoon" !important;
    font-size: 34px;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    color: #fff;

    background: linear-gradient(145deg, #10bceb, #008bd4);
    box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.22),     0 2px 4px rgba(0, 45, 130, 0.12);

    transform: translateY(-50%);

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Стрелка справа */
.main_view_links > a.row_main_link::after, .main_view_links > a.style_icon_link_item_main::after {
    content: "";

    position: absolute;
    top: 50%;
    right: 27px;

    width: 13px;
    height: 13px;
    margin: 0;
    padding: 0;

    border: 0;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    border-radius: 1px;

    background: none;
    box-shadow: none;

    transform: translateY(-50%) rotate(45deg);
}

/* Наведение */
@media (hover: hover)
{
    .main_view_links > a.row_main_link:hover, .main_view_links > a.style_icon_link_item_main:hover {
        filter: brightness(1.12);
        transform: translateY(-1px);
    }
}

/* Нажатие */
.main_view_links > a.row_main_link:active,
.main_view_links > a.style_icon_link_item_main:active {
    transform: translateY(1px);
}

/* Фокус с клавиатуры */
.main_view_links > a:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

/* Разделитель */
.main_view_links > .row_main_line {
    width: 100%;
    margin: 8px 0;
    padding: 0;
}

.main_view_links .nice-line {
    display: flex;
    align-items: center;
    gap: 30px;

    height: 26px;
    margin: 0;
}

.main_view_links .nice-line .line_1, .main_view_links .nice-line .line_11 {
    position: static;
    flex: 1;

    width: auto;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;

    background: rgba(255, 255, 255, 0.45);
}

/* Стрелка вниз между линиями */
.main_view_links .nice-line .icon-a-down {
    position: static;
    display: block;
    flex: 0 0 20px;

    width: 20px;
    height: 20px;
    margin: -9px 0 0;
    padding: 0;

    border: 0;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;

    background: none;
    transform: rotate(45deg);
}

.main_view_links .nice-line .icon-a-down::before, .main_view_links .nice-line .icon-a-down::after {
    content: none;
}

/* Телефон */
@media (max-width: 600px)
{
    .main_view_links > a.row_main_link, .main_view_links > a.style_icon_link_item_main {
        min-height: 64px;
        padding: 12px 38px 12px 78px;

        border-radius: 17px;
        font-size: 18px;
    }

    .main_view_links > a.row_main_link::before, .main_view_links > a.style_icon_link_item_main::before {
        left: 11px;

        width: 46px;
        height: 46px;

        border-radius: 11px;
        font-size: 29px;
    }

    .main_view_links > a.row_main_link::after, .main_view_links > a.style_icon_link_item_main::after {
        right: 19px;
        width: 11px;
        height: 11px;
    }
}



/*********************/

.menu_icon_grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(46px, 1fr));
    gap: 7px;

    width: 100%;
    max-width: 420px;
    max-height: 260px;
    padding: 10px;
    overflow-y: auto;

    border: 1px solid #d8e0eb;
    border-radius: 10px;
    background: #f5f7fb;
}

.menu_icon_btn {
    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 0;
    height: 46px;
    padding: 0;

    border: 1px solid #d8e0eb;
    border-radius: 8px;
    background: #fff;
    color: #40516a;
    cursor: pointer;

    transition: background 0.15s,     color 0.15s,     border-color 0.15s;
}

.menu_icon_btn::before {
    content: attr(data-symbol);
    font-family: "icomoon" !important;
    font-size: 25px;
    font-weight: normal;
    font-style: normal;
    line-height: 1;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.menu_icon_btn_none {
    font-family: Arial, sans-serif;
    font-size: 12px;
}

.menu_icon_btn_none::before {
    content: none;
}

@media (hover: hover) {
    .menu_icon_btn:hover {
        border-color: #168beb;
        background: #eaf4ff;
    }
}

.menu_icon_btn.is_selected {
    border-color: #0878dc;
    background: #0878dc;
    color: #fff;
}

.menu_icon_btn:focus-visible {
    outline: 2px solid #0878dc;
    outline-offset: 2px;
}


/***************MAIN*****************************************************/

/* Список категорий */
.main_block_links {
    display: flex;
    flex-direction: column;
    gap: 10px;

    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.main_block_links,
.main_block_links * {
    box-sizing: border-box;
}

/* Карточка категории */
.main_block_links > .block_firma {
    position: relative;
    display: flex;
    align-items: center;
    gap: 24px;

    width: 100%;
    min-height: 86px;
    margin: 0;
    padding: 9px 52px 9px 12px;

    border: 1px solid rgba(77, 208, 255, 0.65);
    border-radius: 12px;

    background:
            linear-gradient(
                    165deg,
                    rgba(0, 209, 255, 0.35),
                    transparent 45%
            ),
            linear-gradient(
                    100deg,
                    #1045aa 0%,
                    #085bc5 55%,
                    #008fea 100%
            );

    box-shadow:
            inset 0 1px 1px rgba(255, 255, 255, 0.25),
            inset 0 -1px 2px rgba(0, 34, 119, 0.25),
            0 5px 12px rgba(20, 39, 139, 0.2);

    color: #fff;
    cursor: pointer;

    transition:
            filter 0.2s ease,
            transform 0.2s ease;
}

/* Плитка для картинки */
.main_block_links > .block_firma > .firma_main_logo {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 66px;

    width: 66px;
    height: 66px;
    margin: 0;
    padding: 2px;
    overflow: hidden;

    border: 0;
    border-radius: 12px;

    background: linear-gradient(145deg, #10bceb, #008bd4);

    box-shadow:
            inset 0 1px 2px rgba(255, 255, 255, 0.3),
            0 2px 4px rgba(0, 45, 130, 0.12);
}

/* Картинка внутри плитки */
.main_block_links .firma_main_logo img {
    display: block;

    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;

    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;

    object-fit: contain;
}

/* Название категории */
.main_block_links > .block_firma > .firma_info {
    position: static;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    flex: 1;
    min-width: 0;

    width: auto;
    height: auto;
    margin: 0;
    padding: 0;

    text-align: left;
}

.main_block_links .firma_info h2 {
    margin: 0;
    padding: 0;

    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: none;
    overflow-wrap: anywhere;
}

.main_block_links .firma_info h2 a,
.main_block_links .firma_info h2 a:visited {
    color: inherit;
    text-decoration: none;
}

/* Пустое описание не занимает место */
.main_block_links .firma_info small:empty {
    display: none;
}

.main_block_links .firma_info small {
    margin-top: 5px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
    line-height: 1.4;
}

/* Стрелка справа */
.main_block_links > .block_firma::after {
    content: "";

    position: absolute;
    top: 50%;
    right: 25px;

    width: 13px;
    height: 13px;

    border-top: 3px solid #fff;
    border-right: 3px solid #fff;

    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}

/* Наведение мыши */
@media (hover: hover) {
    .main_block_links > .block_firma:hover {
        filter: brightness(1.12);
        transform: translateY(-1px);
    }
}

/* Нажатие */
.main_block_links > .block_firma:active {
    transform: translateY(1px);
}

/* Выделение при переходе с клавиатуры */
.main_block_links .firma_info h2 a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 5px;
    border-radius: 3px;
}

/* Телефон */
@media (max-width: 600px) {
    .main_block_links {
        gap: 8px;
    }

    .main_block_links > .block_firma {
        gap: 15px;
        min-height: 74px;
        padding: 9px 39px 9px 10px;
        border-radius: 12px;
    }

    .main_block_links > .block_firma > .firma_main_logo {
        flex-basis: 54px;
        width: 54px;
        height: 54px;
        padding: 7px;
        border-radius: 12px;
    }

    .main_block_links .firma_info h2 {
        font-size: 18px;
    }

    .main_block_links > .block_firma::after {
        right: 18px;
        width: 11px;
        height: 11px;
    }
}

.main_block_links .firma_main_logo img {
    border-radius: 12px;
}



/****************************************/

/* Второй экран — организации */
.main_block_links.main_block_links_in > .block_firma {
    gap: 20px;
    min-height: 120px;
    padding: 14px 48px 14px 16px;

    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 12px;

    background: linear-gradient(
            120deg,
            rgba(255, 255, 255, 0.88),
            rgba(239, 230, 255, 0.78)
    );

    box-shadow:
            inset 0 1px 1px rgba(255, 255, 255, 0.6),
            0 6px 16px rgba(38, 40, 120, 0.16);

    color: #14254b;
}

/* Логотип организации */
.main_block_links.main_block_links_in
> .block_firma > .firma_main_logo {
    flex: 0 0 90px;

    width: 90px;
    height: 90px;
    padding: 2px;

    border: 0;
    border-radius: 12px;
    background: #fff;

    box-shadow: 0 3px 9px rgba(40, 49, 110, 0.12);
}

.main_block_links.main_block_links_in .firma_main_logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Название */
.main_block_links.main_block_links_in .firma_info h2 {
    color: #14254b;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
}

.main_block_links.main_block_links_in .firma_info h2 a,
.main_block_links.main_block_links_in .firma_info h2 a:visited {
    color: inherit;
    text-decoration: none;
}

/* Описание */
.main_block_links.main_block_links_in .firma_info small {
    display: block;
    margin-top: 7px;

    color: #526080;
    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.main_block_links.main_block_links_in .firma_info small:empty {
    display: none;
}

/* Синяя стрелка справа */
.main_block_links.main_block_links_in > .block_firma::after {
    border-color: #008fea;
}

/* Фокус с клавиатуры */
.main_block_links.main_block_links_in .firma_info h2 a:focus-visible {
    outline-color: #0878dc;
}

/* Наведение */
@media (hover: hover) {
    .main_block_links.main_block_links_in > .block_firma:hover {
        filter: brightness(1.04);
        transform: translateY(-1px);
    }
}

/* Телефон */
@media (max-width: 600px) {
    .main_block_links.main_block_links_in > .block_firma {
        gap: 13px;
        min-height: 98px;
        padding: 12px 35px 12px 12px;
        border-radius: 12px;
    }

    .main_block_links.main_block_links_in
    > .block_firma > .firma_main_logo {
        flex-basis: 70px;

        width: 70px;
        height: 70px;
        padding: 2px;
        border-radius: 12px;
    }

    .main_block_links.main_block_links_in .firma_info h2 {
        font-size: 18px;
    }

    .main_block_links.main_block_links_in .firma_info small {
        margin-top: 5px;
        font-size: 13px;
    }

    .main_block_links.main_block_links_in > .block_firma::after {
        right: 16px;
    }
}


/********************/

.main_view_links > a.row_main_link,
.main_view_links > a.style_icon_link_item_main {
    font-size: 19px;
    font-weight: 600;
}

@media (max-width: 600px) {
    .main_view_links > a.row_main_link,
    .main_view_links > a.style_icon_link_item_main {
        font-size: 17px;
    }
}

/**************************/

.comback_block {
    box-sizing: border-box;
    width: 100%;
    max-width: 600px;
    margin: 20px auto 18px;
    padding: 0 12px;
    font-family: Arial, sans-serif;
}

/* Назад к категориям */
.comback_link {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    color: rgba(255, 255, 255, 0.85);
    font-size: 16px;
    line-height: 1.4;
    text-decoration: none;

    transition: color 0.2s;
}

/* Стрелка влево */
.comback_arrow {
    position: relative;
    display: inline-block;
    flex: 0 0 23px;
    width: 23px;
    height: 2px;
    background: currentColor;
}

.comback_arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;

    width: 10px;
    height: 10px;
    box-sizing: border-box;

    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;

    transform: translateY(-50%) rotate(45deg);
}

/* Название выбранного каталога */
.comback_title {
    margin: 16px 0 0;
    padding: 0;

    color: #fff;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

@media (hover: hover) {
    .comback_link:hover {
        color: #fff;
        text-decoration: underline;
        text-underline-offset: 4px;
    }
}

.comback_link:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 5px;
}

@media (max-width: 600px) {
    .comback_block {
        margin: 16px auto 14px;
        padding: 0 10px;
    }

    .comback_link {
        font-size: 15px;
    }

    .comback_title {
        margin-top: 12px;
        font-size: 24px;
    }
}

.comback_block {
    margin: 12px auto 10px;
}

.comback_title {
    margin: 7px 0 0;
    line-height: 1.2;
}

/******************************************************************************/


/* Окно входа */
.frmWindow:has(.login_win) {
    box-sizing: border-box;
    /*width: 420px;
    max-width: calc(100vw - 24px);*/
    padding: 0;

    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 20px;

    background: linear-gradient(135deg, #f9fbff, #eee9ff);

    box-shadow:
            0 18px 55px rgba(24, 36, 100, 0.3),
            inset 0 1px 0 rgba(255, 255, 255, 0.8);

    color: #14254b;
    font-family: Arial, sans-serif;
}

.frmWindow:has(.login_win) *,
.frmWindow:has(.login_win) *::before,
.frmWindow:has(.login_win) *::after {
    box-sizing: border-box;
}

/* Заголовок окна */
.frmWindow:has(.login_win) .frmWindowTitle {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 64px;
    margin: 0;
    padding: 14px 18px 14px 24px;

    border: 0;
    border-radius: 19px 19px 0 0;

    background: linear-gradient(110deg, #1045aa, #008fea);
    color: #fff;
}

.frmWindow:has(.login_win) .frmWindowTitleFlex {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0;

    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}

/* Кнопка закрытия */
.frmWindow:has(.login_win) .frmCloseBtnWin {
    position: static;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin: 0;
}

.frmWindow:has(.login_win) .frmCloseBtnWin a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;
    padding: 0;

    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.14);

    color: #fff;
    text-decoration: none;
    transition: background 0.2s;
}

/* Крестик */
.frmWindow:has(.login_win) .frmCloseBtnWin a::before,
.frmWindow:has(.login_win) .frmCloseBtnWin a::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;

    width: 17px;
    height: 2px;
    margin: 0;

    background: currentColor;
    border: 0;
    border-radius: 2px;
}

.frmWindow:has(.login_win) .frmCloseBtnWin a::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.frmWindow:has(.login_win) .frmCloseBtnWin a::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* Содержимое */
.frmWindow:has(.login_win) .frmWindowList {
    margin: 0;
    padding: 24px;
    background: transparent;
    border: 0;
    border-radius: 0 0 19px 19px;
}

.login_win {
    width: 100%;
    margin: 0;
    padding: 0;
}

.login_win > .row {
    width: 100%;
    margin: 0 0 15px;
    padding: 0;
}

.login_win > .row:last-child {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;

    margin: 20px 0 0;
}

/* Поля ввода */
.login_win .std_input {
    display: block;
    width: 100%;
    min-width: 0;
    height: 49px;
    margin: 0;
    padding: 0 15px;

    border: 1px solid #d3daeb;
    border-radius: 11px;
    background: #fff;

    color: #14254b;
    font-family: Arial, sans-serif;
    font-size: 16px;
    line-height: normal;

    box-shadow: inset 0 1px 3px rgba(30, 50, 100, 0.04);

    transition:
            border-color 0.2s,
            box-shadow 0.2s;
}

.login_win .std_input::placeholder {
    color: #8792aa;
    opacity: 1;
}

.login_win .std_input:focus {
    outline: none;
    border-color: #098ee7;
    box-shadow: 0 0 0 3px rgba(9, 142, 231, 0.14);
}

/* Капча — если будет показана */
.login_win .row > label {
    display: block;
    margin-bottom: 8px;
    color: #526080;
    font-size: 14px;
    line-height: 1.4;
}

.login_win #form_id_label_code {
    display: flex;
    align-items: center;
    gap: 12px;
}

.login_win .std_code {
    flex: 1;
    width: 0;
    min-width: 0;
}

.login_win #IDDrawCode {
    display: block;
    flex-shrink: 0;
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

/* Кнопка входа */
.login_win .button_main {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 49px;
    margin: 5px 0 0;
    padding: 12px 20px;

    border: 1px solid rgba(77, 208, 255, 0.65);
    border-radius: 11px;

    background: linear-gradient(110deg, #1045aa, #008fea);

    box-shadow:
            inset 0 1px 1px rgba(255, 255, 255, 0.2),
            0 4px 10px rgba(8, 91, 197, 0.2);

    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    text-transform: none;

    cursor: pointer;
    transition:
            filter 0.2s,
            transform 0.2s;
}

.login_win .button_main:active {
    transform: translateY(1px);
}

.login_win .button_main:disabled {
    opacity: 0.6;
    cursor: default;
    transform: none;
}

/* Регистрация и восстановление */
.login_win #IDRegistration,
.login_win #IDRestore {
    margin: 0;
    padding: 0;

    font-size: 14px;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
}

.login_win #IDRegistration {
    color: #0878ce;
    font-weight: 600;
}

.login_win #IDRestore {
    color: #63718c;
}

/* Наведение */
@media (hover: hover) {
    .frmWindow:has(.login_win) .frmCloseBtnWin a:hover {
        background: rgba(255, 255, 255, 0.25);
    }

    .login_win .button_main:not(:disabled):hover {
        filter: brightness(1.1);
    }

    .login_win #IDRegistration:hover,
    .login_win #IDRestore:hover {
        text-decoration: underline;
        text-underline-offset: 3px;
    }
}

/* Фокус с клавиатуры */
.login_win .button_main:focus-visible,
.login_win a:focus-visible {
    outline: 2px solid #0878ce;
    outline-offset: 4px;
}

.frmWindow:has(.login_win) .frmCloseBtnWin a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* Телефон */
@media (max-width: 480px) {
    .frmWindow:has(.login_win) .frmWindowTitle {
        min-height: 58px;
        padding: 12px 14px 12px 18px;
    }

    .frmWindow:has(.login_win) .frmWindowList {
        padding: 20px 18px;
    }
}


#form_id_password , #code_img {
    display: flex;
    gap:10px;
    align-items: center;
}

#form_id_password input  , #code_img input {
    flex: 0 0 100px;
    width: 100px;
    min-width: 0;
    box-sizing: border-box;
    text-align: center;
}

#form_id_password img{
    width: 50px;
    height: auto;

}




