html, body {
    height:100%;
}


body{
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 14px;
    color: #333;
    background-color: #fff;
    min-width: 1050px;
}
#header{
    background-color: #116fb3;
    color: #eaf4f5;
    width: 100%;
    margin-bottom: 12px;
}
#main{
    min-height: 100%;
    background-image: url("../images/background_texture.png");
}
.rasporka {
    clear: both;
    height: 90px;
    line-height: 1px;
}
#footer{
    height: 50px;
    position: relative;
    margin: -50px auto 0;
    background-color: #116fb3;
    color: #eaf4f5;
}
#copyright{
    display: inline-block;
    margin: 17px 0 10px 140px;
}
.wrapper{
    width: 1020px;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
#Logo{
    display: inline-block;
    margin: 10px 0 0 38px;

}
#Logo img{
    height: 80px;
    width: 80px;
}
#search_form{
    display: inline-block;
}
#search_Div{
    display: inline-block;
    vertical-align: middle;
    margin: 27px 0 0 65px;
}
#input_Search{
    background-color: #116fb3;
    border: 2px solid #eaf4f5;
    color: #eaf4f5;
    font-size: 16px;
    height: 50px;
    padding: 0 10px;
    width: 450px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}
#search_Button{
    display: inline-block;
    vertical-align: middle;
    margin: 27px 0 0 -96px;
}
#search_submit{
    width: 150px;
    height: 50px;
    background: #ecf2f5;
    color: #116fb3;
    border: none;
    font-size: 16px;
    margin: 0 0 0 100px;
    cursor: pointer;
    padding: 0;
    font-weight: normal;
}
#search_submit:hover{
    background-color: #116fb3;
    color: #eaf4f5;
}
#search_submit:active{
    background: #000;
}
input[id="input_Search"]::-moz-placeholder{
    color: #eaf4f5;
}
input[id="input_Search"]::-webkit-input-placeholder {
    color: #eaf4f5;
}
input[id="input_Search"]:-ms-input-placeholder{
    color: #eaf4f5;
}
#top_right{
    display: inline-block;
    vertical-align: middle;
    text-align: right;
    margin: 27px 0 0 38px;
}
#autorisation, #profile_link, #profile_logout{
    text-decoration: none;
    color: #edf2f4;
    font-size: 16px;
    font-weight: 400;
}
#autorisation:hover, #profile_link:hover, #profile_logout:hover{
    text-decoration: underline;
}
h2{
    text-align: center;
    font-size: 18px;
    text-transform: uppercase;
}
.select2-container--default .select2-selection--single {
    height: 28px; /* Высота поля */
    border: 1px solid #ced4da; /* Граница как у других полей */
    border-radius: 4px; /* Скругление углов */
}

.select2-container--default .select2-selection__arrow {
    height: 36px; /* Центрируем стрелку */
}

/* overlay + modal стили (можно вынести в css-файл) */
#cookie-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0,0,0,0.45);
    backdrop-filter: blur(4px);
    z-index: 99999;
}
#cookie-modal {
    width: 92%;
    max-width: 620px;
    background: #fff;
    color: #222;
    border-radius: 10px;
    padding: 20px 22px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.35);
    text-align: left;
    font-family: Arial, Helvetica, sans-serif;
}
#cookie-modal p { margin: 0 0 12px 0; font-size: 15px; line-height: 1.45; color:#222; }
#cookie-modal a { color: #1976d2; text-decoration: underline; font-weight:600; }
#cookie-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:8px; }
#cookie-accept {
    background: #3fa34d;
    color:#fff;
    border:0;
    padding:8px 14px;
    border-radius:6px;
    cursor:pointer;
    font-weight:600;
}
#cookie-accept[disabled] { opacity:0.6; cursor:not-allowed; }
#cookie-cancel {
    background: transparent;
    border: 1px solid #ddd;
    padding:8px 12px;
    border-radius:6px;
    cursor:pointer;
    color: #2b2b2b;
}
@media(max-width:480px){
    #cookie-modal{ padding:16px; }
    #cookie-actions{ justify-content:center; flex-direction:column-reverse; }
}

/*Вход - login*/
#logpage{
    margin: 70px auto;
    width: 330px;
}
#logpage > p{
    text-align: center;
}
#loginform{
    margin: 40px auto 26px;
    text-align: center;
}
#loginform .error{
    border: 1px solid #d96100;
}
#login_remember{
    margin: 18px 0 0 0;
}
#login_remember_label{
    height: 20px;
    width: 17px;
    display: inline-block;
    background: url("../images/checkbox.png") no-repeat;
    cursor: pointer;
}
#login_remember_checkbox{
    display: none;
}
#login_remember_checkbox:checked + #login_remember_label{
    background-position: 0 -24px;
}
#login_forgotten_pass{
    color: #a6a6a6;
    font-size: 16px;
    margin-left: 20px;
}
#login_forgotten_pass:hover{
    color: black;
}
#login_button{
    margin: 34px 0 0 0;
    color: #ffffff;
    background: #144466;
    height: 44px;
    width: 176px;
    border: none;
    font-size: 18px;
    cursor: pointer;
    padding: 0;
}
#login_button:hover{
    background: #1c94c4;
}


/*Ссылки глобально*/
a{
    color: #116fb3;
    text-decoration: none;
}
a:hover{
    color: #c02825;
    font-weight: bold;
}

/*Конопки глобально*/
button, input[type="submit"] {
    border: none;
    cursor: pointer;
    background-color: #144466;
    color: #edf2f4;
    padding: 5px;
    font-weight: bold;
    margin: 2px 0;
}
button:hover, input[type="submit"]:hover{
    background-color: #1c94c4;
    color: #edf2f4;
}


/*Меню*/
ul.dropdown{
    height: 48px;
}
ul.dropdown li{

}
ul.dropdown, ul.dropdown_inside{
    list-style-type: none;
    padding: 0;
}
ul.dropdown li.dropdown_top{
    display: inline;
    float: left;
    position: relative;
}
ul.dropdown li.dropdown_top>a{
    width: 150px;
    display: block;
}
ul.dropdown a.dropdown_top{
    background: #116fb3;
    color: #edf2f4;
    text-align: center;
    font-size: 16px;
    height: 48px;
    line-height: 48px;
    text-decoration: none;
    text-transform: uppercase;
}
ul.dropdown a.dropdown_top:hover {
    background-color: #144466;
    font-weight: normal;
}
ul.dropdown li.dropdown_top:hover .dropdown_inside {
    display: block;
    left: 0;
}
ul.dropdown .dropdown_inside{
    background-color: #116fb3;
    z-index: 10;
    position: absolute;
    display: none;
    width: 300px;
    max-width: 400px;
    padding: 8px 8px 4px;
}
ul.dropdown>li:hover>a{
    background-color: #116fb3;
}
ul.dropdown_inside li {
    margin-bottom: 4px;
    height: 30px;
}
ul.dropdown_inside li a{
    color: #edf2f4;
    padding: 3px 7px;
    font-size: 14px;
    font-weight: 300;
    text-decoration: none;
    white-space: nowrap;
    height: 24px;
    line-height: 24px;
}
ul.dropdown_inside li a:hover {
    background-color: #144466;
    width: 284px;
}
ul.dropdown_inside li span{
    color: #edf2f4;
    font-size: 14px;
    font-weight: 300;
}
ul.dropdown_inside li:last-child span{
    display: none;
}

.t_head{
    margin-bottom: 4px;
}
.t_body{
    margin-top: 4px;
}
.t_body > ul{
    margin: 4px 0;
}
.t_body > ul:hover{
    background-color: white;
}
.t_body_row > a{
    display: block;
}


/*Ссылка-кнопка фильтра отгруженной продукции для главной*/
#main_filter{
    display: block;
    height: 24px;
    line-height: 24px;
    width: 250px;
    cursor: pointer;
    background-color: #144466;
    color: #edf2f4;
    padding: 5px;
    font-weight: bold;
    margin: 2px 0 14px;
    text-align: center;
    position: absolute;
    right: 100px;
}
#main_filter:hover{
    background-color: #116fb3;
}


/*cпойлер для таблиц*/
.spoiler-content{
    display:none;  /**скрываем блок контента спойлера**/
    padding:15px 20px; /**добавляем внутренний отступ**/
    border:1px solid #ccc; /**рамка блока контента спойлера**/
    margin-top:5px; /**отступ сверху**/
    background:#F0F0F0; /**фон блока контента спойлера**/
}
/**Стили блока оборачивающего каждый блок**/
.spoiler-block{
    margin:10px 0;
}
/**Стили кнопки спойлера**/
.spoiler-title {
    border:1px solid #B9B9B9;
    background: #ccc;/**обычный фон для браузеров, которые не поддерживают градиент**/
    padding:2px 4px;/**внутренний отступ**/
    text-decoration:none;/**убираем подчёркивание у ссылки**/
    color:#000; /**цвет текста ссылки**/
    display:block; /**делаем ссылку на всю ширину**/
}
.spoiler-title:hover{
    color: #000;
    font-weight: normal;
}


/*Таблица комплектующих изделий*/
#t_components{
    margin: 20px 0;
}
#t_components .t_head{
    font-size: 16px;
    font-weight: bold;
}
#t_components .t_body_row{
    display: inline-block;
    min-width: 136px;
    max-width: 136px;
    width: 136px;
}
#t_components .t_body_row_storage{
    display: inline-block;
    min-width: 210px;
    max-width: 210px;
    width: 210px;

}
#t_components #t_components_create input{
    width: 134px;
    margin: 2px 0;
}
#t_components #t_components_create_income input{
    width: 134px;
}
#t_components a{
    color: #116fb3;
}
#t_components a:hover{
    color: #c02825;
    font-weight: bold;
}
#t_components #t_components_create #t_comp_bind_chbox{
    display: none;
}
#t_components #t_components_create_income #t_comp_bind_chbox{
    display: none;
}
#t_components #t_components_create #t_comp_bind_chbox_label{
    height: 20px;
    width: 17px;
    display: inline-block;
    background: url("../images/checkbox.png") no-repeat;
    cursor: pointer;
}
#t_components #t_components_create_income #t_comp_bind_chbox_label{
    height: 20px;
    width: 17px;
    display: inline-block;
    background: url("../images/checkbox.png") no-repeat;
    cursor: pointer;
}
#t_components #t_components_create #t_comp_bind_chbox:checked + #t_comp_bind_chbox_label{
    background-position: 0 -24px;
}
#t_components #t_components_create_income #t_comp_bind_chbox:checked + #t_comp_bind_chbox_label{
    background-position: 0 -24px;
}
#t_components .t_components_income_info{
    margin-top: 10px;
}

/**/
#t_comp_use .t_order_detail .t_head{
    font-size: 14px;
    font-weight: bold;
}
#t_comp_use .t_order_detail .t_body_row{
    display: inline-block;
    min-width: 136px;
    max-width: 136px;
    width: 136px;
}

/*Таблица продукци*/
#t_goods{
    margin: 20px 0;
}
#t_goods .t_head{
    font-size: 16px;
    font-weight: bold;
}
#t_goods .t_body_row{
    display: inline-block;
    min-width: 146px;
    max-width: 146px;
    width: 146px;
}
#t_goods #t_goods_form input{
    width: 144px;
}


/*Таблица запчастей*/
#t_reps{
    margin: 20px 0;
}
#t_reps .t_head{
    font-size: 16px;
    font-weight: bold;
}
#t_reps .t_body_row{
    display: inline-block;
    min-width: 146px;
    max-width: 146px;
    width: 146px;
}
#t_reps #t_reps_form input{
    width: 144px;
}


/*Таблица потребителей*/
#t_buyers{
    margin: 20px 0;
}
#t_buyers .t_head,
#t_buyers .t_body > ul {
    display: grid;
    grid-template-columns: 146px 146px 146px 100px;
    column-gap: 4px;
    align-items: center;
}
#t_buyers .t_head {
    margin-bottom: 4px;
    font-size: 16px;
    font-weight: bold;
}
#t_buyers .t_body {
    margin-top: 4px;
}
#t_buyers .t_body > ul {
    margin: 4px 0;
    padding: 0;
    list-style: none;
}

/*
 * Сбрасываем прежнюю inline-block-раскладку только
 * для ячеек таблицы потребителей.
 */
#t_buyers .t_head > .t_body_row,
#t_buyers .t_body > ul > .t_body_row {
    display: block;
    width: auto;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
    padding: 3px 0;
}

/* Колонка действий */
#t_buyers .t_head > .t_body_row:last-child,
#t_buyers .t_body > ul > .t_body_row:last-child {
    text-align: center;
}

#t_buyers .t_body_row > a {
    display: block;
}

#t_buyers .t_body_row .buyer_del {
    height: 30px;
    line-height: 30px;
    padding: 0 10px;
    text-align: center;
    font-size: 14px;
}

/* Убираем стандартный отступ у статуса */
#t_buyers .t_buyers_done {
    margin: 0;
    height: 30px; /* Для совместимости с кнопками */
    line-height: 30px;
    padding: 0 10px;
}

#t_buyers #t_buyers_create input {
    width: 144px;
}
#t_buyers #t_buyers_create label {
    font-size: 12px;
}
#t_buyers #buyer_is_div {
    display: inline-block;
}
#t_buyers #t_buyers_create #buyer_is_factory {
    width: 10px;
    margin-left: 8px;
}
#t_buyers #buyer_is_factory_label {
    height: 20px;
    width: 17px;
    vertical-align: middle;
    display: inline-block;
    background: url("../images/checkbox.png") no-repeat;
    cursor: pointer;
}
#t_buyers #buyer_is_factory{
    display: none;
}
#t_buyers #buyer_is_factory:checked + #buyer_is_factory_label{
    background-position: 0 -24px;
}

/*Таблица заказов конкретного потребителя*/
#t_buyers_orders .t_head{
    font-size: 14px;
    font-weight: bold;
}
#t_buyers_orders .t_body_row{
    display: inline-block;
    min-width: 106px;
    max-width: 106px;
    width: 106px;
}
#t_buyers_orders .shipment_ticket{
    height: 30px;
    width: 73px;
    text-align: center;
    background-color: #144466;
    color: #edf2f4;
    font-weight: bold;
    padding: 5px 5px;
    margin: 2px 0;
    font-size: 13.3px;
}
#t_buyers_orders .shipment_ticket:hover{
    background-color: #1c94c4;
    color: #edf2f4;
}
/*Вложенные таблицы детализации партий для заказа*/
#t_buyers_orders .t_order_detail .t_body_row{
    min-width: 126px;
    max-width: 126px;
    width: 126px;
}

/*Таблица заявок */
#t_orders{
    margin-top: 10px;
}
#t_orders .t_head{
    font-size: 14px;
    font-weight: bold;
}
#t_orders .t_body_row{
    display: inline-block;
    min-width: 136px;
    max-width: 136px;
    width: 136px;
}
#t_orders .t_body_row_buyer{
    display: inline-block;
    min-width: 200px;
    max-width: 200px;
    width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
}
#t_orders .t_body_row_buyer a{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#t_orders #t_orders_create{
    margin-left: 138px;
}
#t_orders #t_orders_create input{
    width: 134px;
}
#t_orders #t_orders_create select{
    width: 136px;
}
#t_orders .t_orders_done{
    text-align: center;
    font-weight: 500;
    color: #00b711;
}
#t_orders .order_del{

}
#t_orders .order_del:hover{

}
#t_orders #total{
    min-width: 200px;
    max-width: 200px;
    width: 200px;
}

/*Таблица заявок для главной */
#t_orders_main .t_head{
    font-size: 14px;
    font-weight: bold;
}
#t_orders_main .t_body_row{
    display: inline-block;
    min-width: 106px;
    max-width: 106px;
    width: 106px;
}
#t_orders_main .spoiler-content{
    display: block;
}
#t_orders_main .t_order_detail{
    font-size: 12px;
}
#t_orders_main .t_order_detail .comment_row{
    width: auto;
    max-width: 460px;
    width: 460px;
    position: relative;
}
#t_orders_main .t_order_detail .t_order_maintext{
    height: 15px;
    min-width: 200px;
    max-width: 330px;
    width: 200px;
    border: 0px;
    padding: 0px;
    display: inline-block;
    background-color: midnightblue;
    color: #F0F0F0;
    font-size: 12px;
}
#t_orders_main .t_order_detail .t_order_maintext_btn{
    height: 15px;
    padding: 0 2px;
    margin: 0 0 0 2px;
    display: inline-block;
    font-size: 12px;
    position: absolute;
    top: 0px;
    right: 0px;
}

/*Таблица страховых запасов*/
#t_stocks .t_head{
    font-size: 14px;
    font-weight: bold;
}
#t_stocks .t_body_row{
    display: inline-block;
    min-width: 190px;
    max-width: 190px;
    width: 190px;
}
#t_stocks .t_body .red_text{
    color: #cd0a0a;
    font-weight: 800;
}

/*Таблица списка отказов*/
#t_fails .t_head{
    font-size: 14px;
    font-weight: bold;
}
#t_fails .t_body_row{
    display: inline-block;
    min-width: 190px;
    max-width: 190px;
    width: 190px;
}
#t_fails .t_body .red_text{
    color: #cd0a0a;
    font-weight: 800;
}
#t_fails_form span{
    display: inline-block;
    height: 21px;
    vertical-align: middle;
}
#t_fails_form #text{
    margin-top: 4px;
    min-width: 400px;
    min-height: 100px;
}

/*Таблица рассчёта КИ под произвольное количество продукции*/
#t_comp_calc td{
    width: 150px;
}

/*Сводная таблица КИ, испытывающих недостатки в количестве для текущих заявок*/
#t_sufficiency{
    max-width: 100%;
    margin-top: 16px;
    margin-bottom: 30px;
}
#t_sufficiency thead{
    font-size: 16px;
    font-weight: bold;
}
#t_sufficiency thead td{
    width: 75px;
    font-size: 10px;
}
#t_sufficiency tr:hover{
    background-color: white;
}

/*Форма привязки КИ к продукции*/
#t_comp_bind #t_comp_bind_chbox{
    display: none;
}
#t_comp_bind #t_comp_bind_chbox_label{
    height: 20px;
    width: 17px;
    display: inline-block;
    background: url("../images/checkbox.png") no-repeat;
    cursor: pointer;
}
#t_comp_bind #t_comp_bind_chbox:checked + #t_comp_bind_chbox_label{
    background-position: 0 -24px;
}

/*Таблица журнала внутренних отказов*/
#t_j_in_fails .t_head{
    font-size: 14px;
    font-weight: bold;
}
#t_j_in_fails .t_body_row{
    display: inline-block;
}
#t_j_in_fails .t_body_row_1{
    width: 30px;
    min-width: 30px;
}
#t_j_in_fails .t_body_row_2{
    width: 80px;
    min-width: 80px;
}
#t_j_in_fails .t_body_row_3{
    width: 38px;
    min-width: 38px;
}
#t_j_in_fails .t_body_row_4{
    width: 85px;
    min-width: 85px;
    overflow-wrap: break-word;
}
#t_j_in_fails .t_body_row_5{
    width: 85px;
    min-width: 85px;
}
#t_j_in_fails .t_body_row_6{
    width: 85px;
    min-width: 85px;
    overflow-wrap: break-word;
}
#t_j_in_fails .t_body_row_7{
    width: 80px;
    min-width: 80px;
    overflow-wrap: break-word;
}
#t_j_in_fails .t_body_row_8{
    width: 93px;
    min-width: 93px;
    overflow-wrap: break-word;
}
#t_j_in_fails .t_body_row_9{
    min-width: 100px;
    width: 100px;
}
#t_j_in_fails .t_body_row_10{
    width: 72px;
    min-width: 72px;
    overflow-wrap: break-word;
}
#t_j_in_fails .t_body_row_11{
    width: 72px;
    min-width: 72px;
    overflow-wrap: break-word;
 }
#t_j_in_fails .t_body_row_12{
    width: 110px;
    min-width: 110px;
}

/*Таблица журнала внешних отказов*/
#t_j_out_fails .t_head{
    font-size: 14px;
    font-weight: bold;
    display: flex;
}
#t_j_out_fails .t_body > ul{
    display: flex;
}
#t_j_out_fails .t_body_row{
    display: inline-block;
    margin: auto 4px auto 0;
}
#t_j_out_fails .t_body_row_1{
    width: 30px;
    min-width: 30px;
}
#t_j_out_fails .t_body_row_2{
    width: 100px;
    min-width: 100px;
}
#t_j_out_fails .t_body_row_3{
    width: 60px;
    min-width: 60px;
}
#t_j_out_fails .t_body_row_4{
    width: 130px;
    min-width: 130px;
}
#t_j_out_fails .t_body_row_5{
    width: 140px;
    min-width: 140px;
}
#t_j_out_fails .t_body_row_6{
    width: 140px;
    min-width: 140px;
}
#t_j_out_fails .t_body_row_7{
    width: 80px;
    min-width: 80px;
    overflow-wrap: break-word;
}
#t_j_out_fails .t_body_row_8{
    width: 60px;
    min-width: 60px;
}
#t_j_out_fails .t_body_row_9{
    min-width: 110px;
    width: 110px;
}
#t_j_out_fails .t_body_row_10{
    width: 80px;
    min-width: 80px;
}
#t_j_out_fails .t_body_row_12{
    min-width: 240px;
    width: 240px;
}
/* --- Спойлер формы добавления --- */
.jof-spoiler {
    margin: 15px 0;
    border: 1px solid #b5c4d4;
    background-color: #ffffff;
    max-width: 760px; /* Ограничиваем общую ширину, чтобы форма не растягивалась на весь FullHD */
}
.jof-spoiler .spoiler-title {
    display: block;
    padding: 8px 12px;
    background-color: #e9eef3;
    color: #003366;
    font-weight: bold;
    font-size: 13px;
    text-decoration: none;
    border-bottom: 1px solid #b5c4d4;
}

.jof-spoiler .spoiler-title:hover {
    background-color: #dce4ec;
    color: #005B9E;
}

.jof-spoiler .spoiler-title .spoiler-icon {
    display: inline-block;
    width: 12px;
    font-weight: bold;
    color: #005B9E;
}

.jof-spoiler .spoiler-content {
    padding: 12px 15px;
    background-color: #f1f5f9;
}
/* Стили для поля примечаний в журнале внешних отказов */
#t_j_out_fails #note {
    width: 100%;
    min-height: 100px;
    margin-bottom: 10px;
    resize: vertical;
    box-sizing: border-box;
}
/* --- Модульная сетка полей --- */
.quality-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-start;
}

/* Ряд 1: Продукция (220px) + Кол-во (70px) + Потребитель (300px) */
.form-row-main .fg-good  { width: 220px; }
.form-row-main .fg-qty   { width: 70px; }
.form-row-main .fg-buyer { width: 310px; }

/* Ряд 2: Рег. № (220px) + № акта (180px) + Дата акта (150px) */
.form-row-docs .fg-doc  { width: 220px; }
.form-row-docs .fg-act  { width: 180px; }
.form-row-docs .fg-date { width: 150px; }

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group.full-width {
    width: 100%;
    max-width: 620px; /* Ширина под первые два ряда */
}

/* Подписи к полям */
.form-group label {
    font-size: 12px;
    font-weight: bold;
    color: #2c3e50;
    margin-bottom: 3px;
    white-space: nowrap;
}

.required {
    color: #b81900;
}

/* Базовые инпуты в корпоративном строгом стиле */
.quality-form input[type="text"],
.quality-form input[type="number"],
.quality-form input[type="date"],
.quality-form select,
.quality-form textarea {
    width: 100%;
    height: 28px;
    padding: 2px 6px;
    font-size: 13px;
    font-family: inherit;
    color: #222222;
    background-color: #ffffff;
    border: 1px solid #a6b9cb;
    border-radius: 0 !important;
    box-sizing: border-box;
    outline: none;
}

/* Центрируем короткие цифры */
.quality-form input[type="number"] {
    text-align: center;
}

/* Примечание: многострочное поле */
.quality-form textarea {
    height: auto;
    min-height: 65px;
    padding: 6px;
    line-height: 1.3;
    resize: vertical; /* Исполнитель может потянуть вниз, если пишет много текста */
}

/* Фокус полей */
.quality-form input:focus,
.quality-form select:focus,
.quality-form textarea:focus {
    border-color: #005B9E;
    box-shadow: 0 0 0 1px #005B9E;
}

/* Кнопка */
.form-actions {
    margin-top: 5px;
    padding-top: 8px;
    border-top: 1px solid #e2e8f0;
    max-width: 620px;
}

.form-actions input[type="submit"] {
    width: 220px; /* Кнопку тоже делаем аккуратной, а не гигантской плитой */
    height: 32px;
    background-color: #005B9E;
    color: #ffffff;
    border: 1px solid #004070;
    border-radius: 0 !important;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
}

.form-actions input[type="submit"]:hover {
    background-color: #004070;
}

.form-actions input[type="submit"]:active {
    background-color: #002b4d;
}


/* JOF: контраст полей и состояния фокуса */
#t_joutfails_form input[type="text"],
#t_joutfails_form input[type="number"],
#t_joutfails_form input[type="date"],
#t_joutfails_form select,
#t_joutfails_form textarea {
    background-color: #ffffff;
    border-color: #91a8be;
    color: #243447;
}

/* Подсказки в полях */
#t_joutfails_form input::placeholder,
#t_joutfails_form textarea::placeholder {
    color: #718096;
    opacity: 1;
}

/* Фокус обычных полей */
#t_joutfails_form input:not([type="submit"]):focus,
#t_joutfails_form select:focus,
#t_joutfails_form textarea:focus {
    border-color: #005b9e;
    box-shadow: 0 0 0 2px rgba(0, 91, 158, 0.15);
}

/* Select2: обычное состояние */
#t_joutfails_form .select2-container--default
.select2-selection--single {
    background-color: #ffffff;
    border: 1px solid #91a8be;
    border-radius: 0;
}

/* Select2: открытый список */
#t_joutfails_form .select2-container--default.select2-container--open
.select2-selection--single,
#t_joutfails_form .select2-container--default.select2-container--focus
.select2-selection--single {
    border-color: #005b9e;
    box-shadow: 0 0 0 2px rgba(0, 91, 158, 0.15);
}

/* Неактивное поле продукции */
#t_joutfails_form .select2-container--default.select2-container--disabled
.select2-selection--single {
    background-color: #e5ebf1;
    border-color: #b5c4d4;
    box-shadow: none;
    cursor: not-allowed;
}


/* Адаптив для маленьких экранов */
@media (max-width: 640px) {
    .form-row-2col,
    .form-row-2col-unequal {
        grid-template-columns: 1fr;
    }
}

/*Внешние отказы (рекламации и т.д.) детально*/
#t_j_out_fails_detail h3{
    font-size: 16px;
    margin: 20px 0 10px;
    text-align: center;
}

/*Таблица детализации отгрузок конкретного товара*/
#t_good_detail{
    margin: 20px 0;
}
#t_good_detail .t_head{
    font-size: 16px;
    font-weight: bold;
}
#t_good_detail .t_body_row{
    display: inline-block;
    min-width: 146px;
    max-width: 146px;
    width: 146px;
}
#t_good_detail_shipments .t_head{
    font-size: 14px;
    font-weight: bold;
}
#t_good_detail_shipments .t_body_row{
    display: inline-block;
    min-width: 106px;
    max-width: 106px;
    width: 106px;
}
#t_good_detail_shipments .t_body_row_1{
    min-width: 250px;
    width: 250px;
}
#t_good_buyers_summary {
    width: 100%;
    margin-bottom: 20px;
}

.t_good_buyers_summary .t_head {
    display: flex;
    background-color: #f0f0f0;
    font-weight: bold;
    border-bottom: 1px solid #ccc;
}

.t_good_buyers_summary .t_body {
    display: flex;
    flex-direction: column;
}

.t_good_buyers_summary .t_body ul {
    display: flex;
    border-bottom: 1px solid #eee;
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.t_good_buyers_summary .t_body ul:hover {
    background-color: #f9f9f9;
}

.t_good_buyers_summary .t_body_row {
    padding: 4px;
    text-align: left;
}

.t_good_buyers_summary .t_body_row_buyer {
    flex: 2;
}

.t_good_buyers_summary .t_body_row_quantity {
    flex: 1;
    text-align: center;
}

.t_good_buyers_summary a {
    color: #0066cc;
    text-decoration: none;
}

.t_good_buyers_summary a:hover {
    color: #c02825;
    font-weight: bold;
}


/*Таблица журнала внутренних отказов*/
#warranty_cars .t_head{
    font-size: 14px;
    font-weight: bold;
}
#warranty_cars .t_body_row{
    display: inline-block;
}
#warranty_cars .t_body_row_1{
    width: 30px;
    min-width: 30px;
}
#warranty_cars .t_body_row_2{
    width: 150px;
    min-width: 150px;
}
#warranty_cars .t_body_row_3{
    width: 150px;
    min-width: 150px;
}
#warranty_cars .t_body_row_4{
    width: 100px;
    min-width: 100px;
}
#warranty_cars .t_body_row_5{
    width: 100px;
    min-width: 100px;
}
#warranty_cars .t_body_row_6{
    width: 100px;
    min-width: 100px;
    overflow-wrap: break-word;
}

/*Страница акта исследования продукции*/
#research_act{
    font-family: "Times New Roman", 'Times New Roman', Times, serif;
    color: black;
    font-size: 12pt;
}

/* Таблица нерешённых отказов (8D) на странице "Качество" */
#open8d{
    margin-bottom: 20px;
    border: solid #c1c1c1 1px;
    max-width: 300px;
    position: absolute;
    right: 450px;
}
#open8d .open8d_text{
    display: inline-block;
    width: 270px;
    text-align: right;
}
#open8d .open8d_quantity{
    display: inline-block;
    width: 25px;
    text-align: center;
    font-weight: 600;
}

/*Таблица журнала внутренних отказов*/
#t_jop .t_head{
    font-size: 14px;
    font-weight: bold;
}
#t_jop .t_body_row_1{
    width: 30px;
    min-width: 30px;
    display: inline-block;
    text-decoration: inherit;
}
#t_jop .t_body_row_2{
    width: 150px;
    min-width: 150px;
    display: inline-block;
    text-decoration: inherit;
}
#t_jop .t_body_row_3{
    width: 250px;
    min-width: 250px;
    display: inline-block;
    text-decoration: inherit;
}
#t_jop .t_body_row_4{
    width: 450px;
    min-width: 450px;
    display: inline-block;
    text-decoration: inherit;
}
#t_jop .t_body_row_5{
    width: 100px;
    min-width: 100px;
    display: inline-block;
    text-decoration: inherit;
}
#t_jop #t_jop_form #note{
    height: 100px;
    max-height: 100px;
    width: 1000px;
    max-width: 1000px;
    margin-bottom: 8px;
}


/* Класс универсальной таблицы */
.table_universal .t_head{
    font-size: 14px;
    font-weight: bold;
}
.table_universal .t_body_row{
    width: 80px;
    min-width: 30px;
    display: inline-block;
    text-decoration: inherit;
}


/* Главная страница версия 2024 */
.late_shipments, .today_shipments_column{
    display: inline-block;
    max-width: 178px;
    min-width: 178px;
    width: 178px;
    margin: 2px 1px;
    padding-right: 1px;
}
.future_shipments{
    display: inline-block;
    max-width: 360px;
    min-width: 178px;
    width: 360px;
    margin: 2px 1px;
    padding-right: 1px;
}
.late_shipments .late_shipments_column_head{
    text-align: center;
    background: #b81900;
    color: #F0F0F0;
    font-weight: bold;
    margin: 2px 0;
}
.t_body .shipment_cell{
    border: solid 1px black;
    margin-bottom: 10px;
    width: 170px;
    max-width: 170px;
    padding: 0 2px;
    background: #F0F0F0;
    font-weight: 100;
}
.t_body .shipment_cell:hover{
    background: #ffffff;
}
.t_body .shipment_cell a{
    display: block;
    padding: 2px;
}
.t_body .shipment_cell a span{
    display: block;
    color: black;
}
.t_body .shipment_cell .shipment_cell_body_buyer{
    margin-bottom: 5px;
    max-width: 150px;
}
.t_body .shipment_cell .shipment_cell_body_date_to_sh{
    margin-top: 5px;
}
.t_body .shipment_cell .shipment_cell_body_good,
.t_body .shipment_cell .shipment_cell_body_quantity{
    font-weight: 700;
}
.late_shipments .shipment_cell{
    border-left: solid 3px #b81900;
}
.today_shipments{
    display: inline-block;
}
.today_shipments .today_shipments_column_head{
    text-align: center;
    background: #e78f08;
    color: #F0F0F0;
    font-weight: bold;
    margin: 2px 0;
}
.today_shipments .shipment_cell{
    border-left: solid 3px #e78f08;
}
.future_shipments .future_shipments_column_head{
    text-align: center;
    background: #116fb3;
    color: #F0F0F0;
    font-weight: bold;
    margin: 2px 0;
}
.future_shipments .shipment_cell{
    border-left: solid 3px #116fb3;
    display: inline-block;
}
.ready_shipments{
    display: block;
}
.ready_shipments .ready_shipments_column_head{
    text-align: center;
    background: #00b711;
    color: #F0F0F0;
    font-weight: bold;
    margin: 2px 0;
}
.ready_shipments .shipment_cell{
    border-left: solid 3px #00b711;
    display: inline-block;
}

/* Файлы для скачивания */
.file-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.file-item {
    display: flex;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid #eee;
}
.file-icon, .file-preview {
    margin-right: 15px;
}
.file-info {
    flex: 1;
}
.file-info a {
    font-weight: bold;
    color: #116fb3;
    text-decoration: none;
}
.file-info a:hover {
    text-decoration: underline;
}
.file-meta {
    font-size: 12px;
    color: #777;
    margin-top: 3px;
}
.no-files {
    text-align: center;
    padding: 20px;
    color: #777;
}
.no-files img {
    max-width: 100px;
    margin-bottom: 10px;
}