/*  ==========  GENERAL SECTION  ==========  */
:root{
    --color-main: #1a73e8;
    --dark-blue: #000D30;
    --color-text-secondary: #708086;
    --color-border: rgb(218, 220, 224);
	--color-gray-bg: rgb(246, 247, 248);
	--color-light-red: rgb(255,103,70);

    --font-primary: 'Manrope', sans-serif;
    --font-secondary: 'Rubik', sans-serif;
    
    --box-shadow: 0 0 20px rgb(95 125 149 / 12%);
}
*{
    margin: 0;
    padding: 0;
}
html{scroll-behavior: smooth; height: 100%;}
body{
    height: 100%;
    display: flex;
    flex-direction: column;
    font-family: var(--font-primary);
    background-color: #f1f5f8;
}
#content{flex-grow: 1;}

a{text-decoration: none; transition: .1s all;}
img{max-width: 100%;}

.flex-centered{width: 100%; display: flex; align-items: center; flex-direction: column;}
.flex-column{display: flex; flex-direction: column;}
.text-fill{
    width: 100%;
    font-size: 14px;
    color: var(--color-text-secondary);
    font-family: var(--font-secondary);
}
.mark-text{color: var(--color-main); font-weight: 500;}
.required{color:red;}
.page-header{
    width: 100%;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.1;
}


.container{
	width: 100%;
    max-width: 1200px;
}
/* ===== CONTAINER WITH COLUMN ===== */
.container-grid{
    display: grid;
    grid-template-columns: 1fr 270px;
    justify-content: space-between;
    gap: 20px;
}
@media screen and (max-width: 767px){
    .container-grid{display: flex !important; flex-direction: column !important;}
}
/* ===== END CONTAINER WITH COLUMN ===== */
section{width: 100%;}
span.mark{color: var(--color-main);}

.pad-16{padding: 16px 0;}
.pad-top-16{padding-top: 16px;}
.pad-bottom-16{padding-bottom: 16px;}
.pad-32{padding: 32px 0;}
.pad-top-32{padding-top: 32px;}
.pad-bottom-32{padding-bottom: 32px;}
.pad-64{padding: 64px 0;}
.pad-top-64{padding-top: 64px;}
.pad-bottom-64{padding-bottom: 64px;}


.input-group{
    display: flex;
    flex-direction: column;
    align-items: start;
    position: relative;
}
.input-group .invalid-input{border-bottom:2px solid #f55;}
.input-group label{
    font-size: 14px;
    font-weight: 600;
    padding-bottom: 7px;
}
.input-group select{
    width: 100%;
    padding: 7px;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid var(--color-border);
    border-left: 2px solid var(--color-main);
    font-family: var(--font-primary);
    outline: none;
}

.input-group input,
.input-group textarea{
    width: 100%;
    padding: 12px 18px;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid var(--color-border);
    font-family: var(--font-primary);
    outline: none;
    border-radius: 4px;
    color: #000;
}
.input-group textarea{
    resize: vertical;
    min-height: 100px;
}
.input-group input:focus,
.input-group textarea:focus{border-color: var(--color-main)}
.input-group input:disabled,
.input-group textarea:disabled{opacity: .8; cursor: not-allowed; background-color: #eaeaea;}
.input-group input[type="file"]{
    opacity: 0;
    position: absolute;
    left: -10000px;
}
.input-group .label-mask-file{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 80px;
    border: 2px dashed var(--color-border);
    border-radius: 4px;
    cursor: pointer;
}
.input-group .label-mask-file:hover{
    border-color: var(--color-main);
}
.input-group .input-checkbox{
    float: left;
    display: flex;
    gap: 10px;
}
.input-group .input-checkbox input{
    width: 24px;
    height: 24px;
}

.row{width: 100%;}
/* BUTTONS */
.button{
    border-radius: 4px;
    box-shadow: none;
    box-sizing: border-box;
    font-family: "Manrope", sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.25px;
    padding: 10px 20px;
    background: white;
    color: var(--color-main);
    border: 1px solid var(--color-border);
    cursor: pointer;
}
.button-yes{background-color: var(--color-main);color:#fff;}
.button-no{color:#f55;}
.button:hover{opacity: .85;}
/* END BUTTONS */

.grid-col-2{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.grid-col-3{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
}

.alert-area{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    border-radius: 3px;
    overflow: hidden;
}
.alert-area .alert{
    width: 100%;
    text-align: center;
    margin: 0;
    font-family: var(--font-secondary);
    padding: 14px 12px;
    box-sizing: border-box;
    color: #333;
    font-size: 14px;
}
.alert-area .alert.error{background-color: #d333;border-left:3px solid #f55;}
.alert-area .alert.no_error{background-color: #f6f6f6;border-left:3px solid #49B264;}

.scroll-x{
    width: 100%;
    overflow-x: auto;
}

#cabinet-layout{display: flex;}
.note-editor.note-frame{width: 100%;}

@media screen and (max-width: 1200px){
	/* .container{
        padding-left: 10px;
        padding-right: 10px;
        box-sizing: border-box;
    } */
}
@media screen and (max-width: 767px){
    *{cursor: default;}
    .grid-col-3{grid-template-columns: 1fr 1fr;}
}
@media screen and (max-width: 480px){
    .adaptive-padding {padding: 0;}
    .grid-col-2{grid-template-columns: 1fr;}
    .grid-col-3{grid-template-columns: 1fr;}
}
/*  ==========  END GENERAL SECTION  ==========  */





/*  ==========  HEADER SECTION  ==========  */
header{
    width: 100%;
    padding: 12px 0;
    background-color: #fff;
    border-bottom: 1px solid var(--color-border);
}
header .container{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header h1{font-size: 26px;}
.exit{
    color: var(--color-text-secondary);
    text-decoration: none;
}
.exit:hover{color: var(--dark-blue);}
/*  ==========  END HEADER SECTION  ==========  */



/*  ==========  FOOTER SECTION  ==========  */
footer{
    width: 100%;
    padding: 12px;
    color: var(--color-text-secondary);
    border-top: 1px solid #ddd;
    background-color: #FFF;
}
footer span a{color: var(--logo-blue); text-decoration: none;}
footer span a:hover{border-bottom: 1px solid var(--logo-blue);}
/*  ==========  END FOOTER SECTION  ==========  */





/* ========== AUTH FORM ========== */
.auth-form-wrap{
    display: flex;
    flex-direction: column;
    gap: 10px; 
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    margin-top: 25px;
    margin-bottom: 25px;
    border: 1px solid var(--color-border);
    border-left: 0;
    border-right: 0;
    background-color: #fff;
}
.auth-form-wrap h2.header{font-size: 18px; text-align: center;}
.auth-form-wrap .text-fill{text-align: center;}

#login-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
#login-form .button-yes{
    width: 100%;
    height: 50px;
    font-weight: bold;
    letter-spacing: 3px;
    text-transform: uppercase;
    transition: .3s;
}
#login-form .form-btn:hover{letter-spacing: 5px;}
/* ========== END AUTH FORM ========== */





/*  ==========  SIDEBAR SECTION  ==========  */
#sidebar{
    display: flex;
    flex-direction: column;
    width: 300px;
    height: 100%;
    background: #161A21;
    position: fixed;
    left: -300px;
    z-index: 1;
}
#sidebar .header{
    width: 100%;
    height: 70px;
    padding: 16px;
    box-sizing: border-box;
}
#sidebar .header .logotype{
    height: 100%;
}
#sidebar .block{
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 16px;
    box-sizing: border-box;
    margin-bottom: 2px;
    border-radius: 10px;
    border-top: 3px solid #000;
}
#sidebar .block:last-child{
    align-self: flex-end;
}
#sidebar .head{
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
}
#sidebar .top .head{font-size: 20px;}
#sidebar .item{
    display: flex;
    gap: 10px;
    width: 100%;
    padding: 12px 20px;
    box-sizing: border-box;
    color: var(--color-text-secondary);
    text-decoration: none;
    border-radius: 100px;
    font-weight: 600;
}
#sidebar .item i{
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#sidebar .item:hover{color: #ccc;}
#sidebar .text{color: var(--color-text-secondary);}

.opened-menu #sidebar{left:0}
.opened-menu #main{padding-left: 300px;box-sizing: border-box;}
@media screen and (max-width: 1020px){
    .opened-menu #sidebar{left:-300px}
    .opened-menu #main{padding: 0;}
    #sidebar{left:0;}
}
/*  ==========  END SIDEBAR SECTION  ==========  */





/*  ==========  MAIN SECTION  ==========  */
#main{
    display: flex;
    flex-direction: column;
    flex: 1;
}
#main .header{
    width: 100%;
    height: 70px;
    padding: 16px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border-bottom: 1px solid var(--color-border);
}
#main .header h2{font-size: 24px; font-weight: 600;}
#main .header .menu_icon{
    font-size: 22px;
    cursor: pointer;
}
#main .header .menu_icon i{display:none;}
#main .header .menu_icon i.menu_switch{display:block;}

#main .content{
    display: flex;
    flex-direction: column;
    align-items: start;
    padding: 20px;
    box-sizing: border-box;
}

#main .block{
    width: 100%;
    background-color: #fff;
    padding: 16px;
    box-sizing: border-box;
    border: 1px solid var(--color-border);
}
@media screen and (max-width: 1020px){
    #main .header .menu_icon i{display:block}
    #main .header .menu_icon i.menu_switch{display:none;}
}
@media screen and (max-width: 425px){#main .content{padding: 8px;}}
/*  ==========  END MAIN SECTION  ==========  */





/*  ==========  SEARCH SECTION  ==========  */
.new-elem{
    display: flex;
    align-items: center;
    gap: 8px;
}
.new-elem span{
    font-size: 14px;
    color: var(--color-text-secondary);
}
#search{
    display: flex;
    gap: 8px;
}
#search .input-group input,
#search .button-yes{
    height: 38px;
    padding: 8px 14px;
}
/*  ==========  END SEARCH SECTION  ==========  */





/*  ==========  SPARK TABLE SECTION  ==========  */
.spark-table{
    width: 100%;
    border-left: 2px solid var(--color-main);
    background-color: #fff;
}
.spark-table tr{
    display: table-row;
    outline: none;
}
.spark-table tbody tr:hover{background: #F5F7FA;}
.spark-table .expired{background: rgba(235, 64, 52,.3);}

.spark-table td, th{
    padding: 12px;
    box-sizing: border-box;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
}
.spark-table td span.description{
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    
}
.spark-table td{
    max-width: 250px;
    min-width: 100px;
}
.spark-table td span.type{
    max-width: 100%;
    border: 1px solid var(--color-border);
    border-radius: 100px;
    font-size: 12px;
    padding: 4px 10px;
    box-sizing: border-box;
    word-break: break-all;
    white-space: unset !important;
}
.spark-table td span.name{
    line-height: 40px;
    box-sizing: border-box;
    font-family: var(--font-secondary);
}
.spark-table td span.number{
    display: flex;
    align-items: center;
    gap: 7px;
}
.elem-button{
    float: left;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background-color: #ecf5ff;
    border: 1px solid #d9ecff;
    border-radius: 5px;
    font-size: 14px;
    cursor: pointer;
    color: #000;
}
.spark-table td.td-fix-width{
    min-width: 240px;
    white-space: unset !important;
}
.spark-table td li{
    list-style: none;
    padding: 5px;
    border: 1px solid var(--color-border);
    border-radius: 3px;
    background-color: #f6f6f9;
    font-size: 14px;
}
.spark-table td img{
    max-width: 100px;
    max-height: 50px;
}
@media screen and (max-width: 480px){.spark-table td li{font-size: 12px; padding: 3px;}}
/*  ==========  END SPARK TABLE SECTION  ==========  */





/*  ==========  ITEM EDITING FORM SECTION  ==========  */
#edit form{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
#edit form .images-list{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 5px;
    border: 1px solid var(--color-border);
    border-radius: 4px;
}
#edit form .images-list .item{
    padding: 12px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between; 
    width: 100%;
    font-family: var(--font-primary);
    border-bottom: 1px solid var(--color-border);
    font-size: 14px;
}
#edit form .images-list .item .smallitemimage{
    margin-right: 10px;
}
#edit form .images-list .item .name{
    display: flex;
    align-items: center;   
}
#edit form .images-list .item .remove{
    display: flex;
    gap: 3px;
    align-items: center;
    color: #aeaebe;
    cursor: pointer;
    font-size: 12px;
}
#edit form .images-list .item .remove:hover{color: #f55}
#edit form .productsList{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
}
#edit form .productsList .item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    gap: 8px;
    padding: 8px;
    box-sizing: border-box;
    border: 1px solid var(--color-border);
    border-radius: 5px;
    font-family: var(--font-secondary);
    font-weight: 400;
}
#edit form .productsList .item span.name{
    max-width: 140px;
    max-height: 45px;
    font-size: 12px;
    color: var(--color-text-title);
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
#edit form .productsList .item span.type{
    max-width: 100%;
    font-size: 12px;
    word-break: break-all;
    white-space: unset !important;
    opacity: .6;
}
#edit form .productsList .item input{
    width: unset;
    padding: unset;
    background-color: #fff;
    border: unset;
}
#edit form .special-input-table{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 20% 20% 44px;
    gap: 10px;
    padding-bottom: 7px;
}
#edit form .special-input-table:first-child{padding-bottom: 0;}
#edit form .special-input-table .button{
    height: 44px;
    padding: 0;
}
#edit form .dropdown-content{
	position: absolute;
	top: calc(100% - 7px);
	left: 0;
    width: 100%;
	max-height: 300px;
	display: flex;
    flex-direction: column;
	background: #fff;
	box-shadow: var(--box-shadow);
	border-radius: 4px;
    overflow-y: auto;
    border: 1px solid var(--color-border);
    z-index: 1;
}
#edit form .dropdown-content .list{
    display: flex;
    flex-direction: column;
}
#edit form .dropdown-content .list .item{
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    box-sizing: border-box;
    font-size: 15px;
}
#edit form .dropdown-content .list .item:hover{background-color: var(--color-gray-bg);}
#edit form .dropdown-content .list .item .icon{
    width: 21px;
    height: 21px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6e7494;
}
#edit form .dropdown-content .list .item .value{
    width: 100%;
    height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    font-family: var(--font-secondary);
}
#edit form .dropdown-content .list .item .price{
    max-width: 90px;
    font-size: 12px;
    color: var(--color-main);
    margin-left: 10px;
}
#edit form .special-input-table-2{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 22% 44px;
    gap: 10px;
    padding-bottom: 7px;
}
#edit form .special-input-table-2:first-child{padding-bottom: 0;}
#edit form .special-input-table-2 .button{
    height: 44px;
    padding: 0;
}
/*  ==========  END ITEM EDITING FORM SECTION  ==========  */

.smallitemimage {
    width: 50px;
    height: 50px;
    object-fit: contain;
    border: 1px solid var(--color-border);
}


/*  ==========  MODAL SECTION  ==========  */
.blackout{background: rgba(0,0,0,.4);}
.fullscreen{
    position: fixed;
    width: 100%;
    height: 100%;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    z-index: 10;
    top: 0;
    left: 0;
}
.modal-block{
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 450px;
    height: max-content;
    /* max-height: 90%; */
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    padding: 22px;
    box-sizing: border-box;
    position: relative;
}
.modal-block .close{
    width: 15px;
    height: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 10px;
    font-size: 14px;
    color: #666;
    cursor: pointer;
    border-radius: 100px;
    border: 1px solid var(--color-border);
}
.modal-block .modal-top{
    width: 100%;
    color: #000;
    font-weight: 600;
    font-size: 20px;
}
.modal-block .text-block{
    box-sizing: border-box;
    color: var(--color-text-secondary);
    font-size: 14px;
}
.modal-block .action-wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-top: 16px;
    border-top: 1px solid var(--color-border);
    gap: 10px;
}
/*  ==========  END MODAL SECTION  ==========  */
