@charset "UTF-8";
html, body{margin: 0px; padding: 0px; border: 0px; width:100%;}
*{margin: 0; padding: 0; box-sizing: border-box; font-family: 'MontserratMedium', sans-serif; font-size:14px;}
.d_none{display:none!important;}
body{background-color: #f5f5f5; margin: 0px; padding:0px; border:0px;}
.auth{display: flex; justify-content: center; align-items: center;}
button{width: 100%; padding: 14px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 8px; cursor: pointer; font-size: 16px; font-weight: 500; transition: transform 0.2s;}
.load_imgs button{padding: 10px 20px; font-size: 16px; background: #007bff; color: white; border: none; border-radius: 5px; cursor: pointer; margin-right: 10px; display: inline-block; width: initial; transition: none;}
.load_imgs button:active{transform: none;}
.load_imgs button:hover{background: #0056b3; transition: none;}
.load_imgs button:disabled{background: #6c757d; cursor: not-allowed;}
h1, h2{color: #333; margin: 20px 0px; text-align: center; font-family: 'Vetrino';}
h1{font-size: 20px;}
h2{text-align: center; color: #333; margin-bottom: 30px; font-size: 18px;}
input{width: 100%; padding: 12px; border: 2px solid #e1e1e1; border-radius: 8px; font-size: 14px; transition: border-color 0.3s;}
input:focus{outline: none; border-color: #667eea;}
label{display: block; color: #555; font-weight: 500;}
table{width: 100%; border-collapse: collapse; margin-top: 20px;}
th, td{padding: 12px; text-align: left; border-bottom: 1px solid #ddd;}
th{background-color: #f8f9fa; font-weight: bold;}
tr:hover{background-color: #f5f5f5;}
.auth-container{background: white; padding: 40px; border-radius: 15px; box-shadow: 0 10px 40px rgba(0,0,0,0.2); width: 100%; max-width: 400px; position: relative; margin:20px;}
.back-link a{color: #667eea; text-decoration: none; font-size: 14px;}
.logo_auth a:hover{text-decoration: underline;}
.logo_auth{text-align: center; margin-top: 20px;}
.logo_auth .logo_bot{background-color: #2b2b2b; padding: 10px;}
.btn-danger{background-color: #dc3545; color: white;}
.btn-logout{background-color: #6c757d; color: white;}
.btn-primary{background-color: #007bff; color: white;}
.btn-primary:hover{background-color: #0056b3;}
.btn-secondary{background-color: #6c757d; color: white;}
.btn-secondary:hover{background-color: #545b62;}
.btn-success{background-color: #28a745; color: white;}
.btn-success:hover{background-color: #218838;}
.btn-warning{background-color: #ffc107; color: #333;}
.btn-green{background-color: lightgreen; color: #333;}
.btn-yellow{background-color: yellow; color: #333;}
.btn-red{background-color: red; color: #ffffff;}
.btn{padding: 10px 10px; border: none; border-radius: 5px; cursor: pointer; text-decoration: none; display: inline-block; font-size: 14px; margin: 2px; transition: background-color 0.3s;}
.container{max-width: 1200px; margin: 0px auto 20px auto; background: white; padding: 20px; border-radius: 10px; box-shadow: 0 2px 4px rgba(0,0,0,0.1);}
.error-message{background-color: #fee; color: #c33; padding: 12px; border-radius: 8px; margin-bottom: 20px; font-size: 14px; border: 1px solid #fcc;}
.error{background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb;}
.form-group{margin-bottom: 20px;}
.header > div{margin-bottom:20px;}
.message{padding: 15px; border-radius: 5px; margin-bottom: 20px; font-size: 14px;}
.no-products{text-align: center; padding: 40px; color: #999;}
.no-users{text-align: center; padding: 40px; color: #666; background: #f9f9f9; border-radius: 8px;}
.product-checkbox{margin-right: 15px; width: 18px; height: 18px; cursor: pointer;}
.product-code{display: inline-block; background-color: #e9ecef; padding: 2px 8px; border-radius: 3px; font-family: monospace; font-size: 12px; margin-right: 10px;}
.product-info{flex: 1;}
.product-info{display: flex; flex-direction: row; align-items: center; width: 100%; justify-content: space-between;}
.product-img >img{max-width: 100px; max-height: 100px;}
.product-item{align-items: center; padding: 5px; border-bottom: 1px solid #eee; transition: background-color 0.2s; margin: 5px;}
.product-item.selected{background-color: #e3f2fd;}
.product-item:hover{background-color: #f8f9fa; cursor:pointer;}
.product-item:last-child{border-bottom: none;}
.product-name{font-weight: 500; color: #333; display: flex; align-items: center;}
.products-count{font-size: 14px; color: #666;}
.products-list{max-height: 600px; overflow-y: auto; border: 1px solid #dee2e6; border-radius: 5px; position: relative;}
#productsForm .toolbar{display: flex; flex-direction: row; justify-content: space-between;}
.products-toolbar{display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; padding: 10px; background-color: #f8f9fa; border-radius: 5px; width: 49.5%;}
.save-panel{margin-top: 20px; padding: 20px; background-color: #f8f9fa; border-radius: 8px; border: 1px solid #dee2e6; display: flex; justify-content: space-between; align-items: center;}
.select-all-label{display: flex; align-items: center; cursor: pointer; font-size: 14px; color: #007bff;}
.select-all-label input{margin-right: 8px; width:20px!important; height:20px!important;}
.settings-panel{background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin-bottom: 20px; border: 1px solid #dee2e6;}
.stats{font-size: 14px; color: #666;}
.success{background-color: #444444; color: #ffffff; border: 1px solid #008418;}
.time-select{padding: 8px; border-radius: 4px; border: 1px solid #ddd; font-size: 14px; min-width: 200px;}
.user-info{background-color: #e3f2fd; padding: 15px; border-radius: 8px; margin-bottom: 20px; border: 1px solid #b6d4fe;}
.user-link:hover{text-decoration: underline;}
.user-link{color: #007bff; text-decoration: none; font-weight: bold;}
.search{display: flex; justify-content: space-between; width:100%;}
.search :nth-child(1){width:70%;}
.search :nth-child(2){width:30%;}
.load_imgs .stats{background: #f8f9fa; padding: 15px; border-radius: 5px; margin-bottom: 20px;}
.load_imgs .stats div{margin: 5px 0;}
.load_imgs .progress-container{margin: 20px 0;}
.load_imgs .progress{height: 30px; background-color: #e9ecef; border-radius: 5px; overflow: hidden; position: relative;}
.load_imgs .progress-bar{height: 100%; background: linear-gradient(90deg, #007bff, #0056b3); transition: width 0.3s ease; display: flex; align-items: center; justify-content: center; color: white; font-weight: bold; min-width: 50px;}
.load_imgs .progress-text{text-align: center; margin-top: 10px; font-size: 14px; color: #666;}
.load_imgs .log-container{max-height: 400px; overflow-y: auto; background: #1e1e1e; color: #d4d4d4; padding: 15px; border-radius: 5px; font-family: 'Courier New', monospace; font-size: 12px; margin-top: 20px;}
.load_imgs .log-entry{margin: 3px 0; padding: 3px 5px; border-bottom: 1px solid #333;}
.load_imgs .log-entry.success{color: #9bc2a2;}
.load_imgs .log-entry.error{color: #ff0000;}
.load_imgs .log-entry.info{color: #569cd6;}
.load_imgs .button-group{margin: 20px 0;}
.load_imgs .status{font-weight: bold; margin: 10px 0;}
.load_imgs .status.running{color: #007bff;}
.load_imgs .status.completed{color: #28a745;}
.load_imgs .status.error{color: #dc3545;}
.card {box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); margin-bottom: 1.5rem;}
.table th {background-color: #f8f9fa;}
.badge {font-size: 0.85rem; padding: 0.5em 0.75em;}
.required:after {content: " *"; color: red;}
.user_list{display: flex; flex-direction: row; justify-content: space-between;}
.user_list > div{background-color:#f9f9f9; padding: 15px; border-radius: 15px;}
.user_list > div:nth-child(1){width:39.5%;}
.user_list > div:nth-child(2){width:59.5%;}
.user_list h5{font-family: 'Vetrino'; font-size: 16px; font-weight: 600; margin-bottom: 20px;}
.user_list .pass{display:block;}
.user_list .pass > div :nth-child(1){width:69.5%;}
.user_list .pass > div :nth-child(2){width:29.5%;}
#addUserForm > div{margin-bottom:20px;}
#addUserForm > div input{margin-bottom: 20px; border-bottom: 1px solid #cccccc; padding-bottom: 10px;}
#addUserForm > div label{margin-bottom:10px;}
#addUserForm > div select{width:100%; padding: 12px; border: 2px solid #e1e1e1; border-radius: 8px; font-size: 14px; transition: border-color 0.3s;}
.alert-success{margin-bottom:10px;}
.coder{position: fixed; bottom: 0px; right: 0px; color: #7f7f7f; font-size:12px; padding: 3px 5px;}
.s_adm{text-align: right;}
.list_data{position: relative; overflow: auto;}
.vremya{display: flex; align-items: center; gap: 15px; flex-wrap: wrap; font-size: 13px; font-weight: 500; color:#555;}
.vremya > label{font-size:15px;}
.header .adm_m{text-align: right;}
.header .adm_menu{display:none;}
.header .adm_m .close{display:none;}
.ov_no{overflow:hidden;}
@media (max-width: 500px){
.header .adm_menu{display: block; text-align: right; font-size: 16px;}
.header .adm_m{display: block; cursor: pointer; font-size: 16px; text-align: right;}
.auth-container{padding: 30px; width: calc(100% - 30px);}
.header .adm_m .close{content:'закрыть';margin-bottom: 40px; cursor: pointer; font-size: 16px; position: relative; display: block;}
.header .adm_m{text-align: right; display: none; flex-direction: column; background-color: #ffffff; margin: 0px; padding: 20px; position: absolute; z-index: 999; width: 100%; top: 0px; left: 0px; right: 0px; bottom: 0px;}
.header .adm_m > .btn{width: 100%; text-align: left; margin: 5px 2px;}
#productsForm .toolbar{display:block;}
.toolbar > div{width:100%;}
.user-info{line-height:130%;}
.time-select{width:100%;}
th, td{padding:7px; line-height: 100%;}
th{font-size:13px;}
}
.pagination{text-align: center; margin-top: 20px;}
.pagination .pagination-controls {display: inline-flex; align-items: center; gap: 5px; flex-wrap: wrap; justify-content: center;}
.pagination .page-link {padding: 8px 12px; background: #f0f0f0; border: 1px solid #ddd; text-decoration: none; color: #333; border-radius: 4px; cursor: pointer; width:initial;}
.pagination .page-link:hover {background: #e0e0e0;}
.pagination .page-current{padding: 8px 12px; background: #007bff; color: white; border: 1px solid #0056b3; border-radius: 4px; font-weight: bold;}
.pagination .page-dots {padding: 8px 4px; color: #666;}
.pagination .page-info {margin-left: 10px; color: #666; font-size: 0.9em;}

.list_end{}
.list_end h3{color: #333; margin-top: 20px; text-align: center; font-family: 'Vetrino'; font-size: 20px;}


.log-entry.warning {color: #856404; background-color: #fff3cd;}
.status.warning {background: #fff3cd; color: #856404; border: 1px solid #ffc107;}
#forceBtn {background: #dc3545; color: white; border: 1px solid #bd2130;}
#forceBtn:hover {background: #c82333;}
#forceBtn:disabled {background: #6c757d; border-color: #545b62;}