:root {
	--main-bg-color: #f7f7f7;
	--main-font-color: #111;
	--grad-bg-color-1: #dbeafe;
	--grad-bg-color-2: #bfdbfe;
	--grad-bg-color-3: #f8fafc;
	--input-border-color: #d9dfe8;
	--input-border-color-focus: #2563eb;
	--button-font-color: #fff;
	--button-bg-color: #2563eb;
	--button-bg-color-hover: #1d4ed8;
	--box-shadow-color: rgba(37,99,235,.12);
	--h1-color: #111;
	--a-footer-color: #94a3b8;
	--notes-color: #9a3412;
	--notes-bg-color: #fff7ed;
	--notes-border-color: #f97316;
	--err-color: #7f1d1d;
	--err-bg-color: #fee2e2;
	--err-border-color: #dc2626;
	--ok-color: #14532d;
	--ok-bg-color: #dcfce7;
	--ok-border-color: #16a34a;
	--date-font-color: #64748b;
	--sum-bg-color: #eff6ff;
	--sum-border-color: #bfdbfe;
	--sum-title-color: #64748b;
	--sum-summa-color: #2563eb;
	--back-bg-color: #f8fafc;
	--back-border-color: #e2e8f0;
	--back-color: #334155;
	--back-bg-color-hover: #eff6ff;
	--back-color-hover: #2563eb;
	--history-border-color: #e2e8f0; 
	--history-time-bg-color: #eff6ff; 
	--history-time-color: #2563eb; 
	--history-notes-color: #475569;
	--logout-bg-color: #e2e8f0;
	--logout-color: #334155;
	--line-bg-color: #f8fafc;
	--line-title-color: #64748b;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}
html {
	width: 100%;
	height: 100%;
	cursor: default;
}
body {
	color: var(--main-font-color);
	font-family: Inter, sans-serif;
	margin: 0px;
	padding: 0px;
	background: var(--main-bg-color);
}
input {
	width: 100%;
	box-sizing: border-box;
	height: 48px;
	padding: 0 16px;
	margin: 10px 0px;
	border: 1px solid var(--input-border-color);
	border-radius: 12px;
	font-size: 15px;
	transition: .2s;
}
input[type=file]{
	position:absolute;
	z-index:-1;
	opacity:0;
	display:block;
	width:0;
	height:0;
}
select, textarea {
    width:100%;
    box-sizing:border-box;
    padding:0 16px;
    border:1px solid var(--input-border-color);
    border-radius:12px;
    font-size:15px;
    font-family:Inter, sans-serif;
    transition:.2s;
}
select {
    height:48px;
	margin: 10px 0px;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    padding-right:40px;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M3.646 5.646a.5.5 0 0 1 .708 0L8 9.293l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E")
        no-repeat right 12px center;
}
textarea{
    min-height:120px;
    padding:16px;
	margin: 10px 0px;
    resize:vertical;
}
input:focus, select:focus, textarea:focus {
	outline: none;
	border-color: var(--input-border-color-focus);
	box-shadow:0 0 0 4px var(--box-shadow-color);
}
button, .bt {
    width: 100%;
    height: 50px;
	margin: 10px 0px;
    border: none;
    border-radius: 12px;
    background: var(--button-bg-color);
    color: var(--button-font-color);
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: .2s;
	-webkit-user-select: none;
	user-select: none;
}
button:hover, .bt:hover {
    background: var(--button-bg-color-hover);
    transform: translateY(-1px);
}
h1 {
	text-align: center;
	color: var(--h1-color);
	line-height: 1;
}
h3 {
	text-align: center;	
}
a {
    color: var(--main-font-color);
	text-decoration: none;
    transition: .2s;
}
a:hover {
	color: var(--button-bg-color);
}
.container {
	max-width: 460px;
	margin: 25px auto;
	border-radius: 24px;
	padding: 32px;
	box-shadow: 0 10px 30px rgba(0,0,0,.08);
    background: rgba(255,255,255,.75);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255,255,255,.3);
}
.footer {
    text-align: center;
    font-size: 13px;
    padding: 30px;
}
.footer a {
    color: var(--a-footer-color);
}
.notes, .error, .success {
    padding: 14px 18px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.5;
}
.notes {
    background: var(--notes-bg-color);
    border-left: 5px solid var(--notes-border-color);
    color: var(--notes-color);
}
.error {
    background: var(--err-bg-color);
    border-left: 5px solid var(--err-border-color);
    color: var(--err-color);
}
.success {
    background: var(--ok-bg-color);
    border-left: 5px solid var(--ok-border-color);
    color: var(--ok-color);
}
.logout-btn{
    position:absolute;
    right:20px;
    top:20px;
    padding:8px 14px;
    border-radius:999px;
    background:var(--logout-bg-color);
    color:var(--logout-color);
    text-decoration:none;
    font-size:14px;
}
.text-center{
    text-align:center;
}
.menu-grid{
    display:grid;
    /*
	grid-template-columns:repeat(
        auto-fit,
        minmax(130px,1fr)
    );*/
    gap:12px;
}
.menu-item{
    min-height:110px;
    text-decoration:none;
    color: var(--main-font-color);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
	
	margin: 15px; /*!!!*/
}
.menu-item:hover{
    transform:translateY(-3px);
    color: var(--main-font-color);
}
.menu-item span{
    font-size:28px;
    line-height:1;
    margin-bottom:10px;
}
.profile-card{
    text-align:center;
}
.profile-date{
    font-size:13px;
    color: var(--date-font-color);
    margin-bottom:8px;
}
.profile-name{
    font-size:24px;
    font-weight:700;
    color:var(--main-font-color);
    margin-bottom:16px;
}
.profile-balance{
    display:inline-flex;
    flex-direction:column;
    padding:12px 24px;
    background: var(--sum-bg-color);
    border:1px solid var(--sum-border-color);
    border-radius:14px;
}
.profile-balance span{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:var(--sum-title-color);
}
.profile-balance strong{
    font-size:24px;
    font-weight:700;
    color:var(--sum-summa-color);
    margin-top:4px;
}
.page-header{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
}
.page-header h1{
    margin:0;
    text-align:left;
}
.back-icon{
    min-width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:var(--back-bg-color);
    border:1px solid var(--back-border-color);
    text-decoration:none;
    color:var(--back-color);
    transition:.2s;
	cursor:pointer;
}
.back-icon:hover{
    background:var(--back-bg-color-hover);
    color:var(--back-color-hover);
}
.history-month{
    margin:24px 0 12px;
    font-size:18px;
    font-weight:700;
}
.history-card{
    padding:18px;
    margin-bottom:12px;
    background:#fff;
    border:1px solid var(--history-border-color);
    border-radius:16px;
	color:var(--main-font-color);
}
.history-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:10px;
}
.history-day{
    font-weight:600;
}
.history-time{
    padding:4px 10px;
    border-radius:999px;
    background:var(--history-time-bg-color);
    color:var(--history-time-color);
    font-size:13px;
    font-weight:600;
}
.history-alert{
    padding:4px 10px;
    border-radius:999px;
    background:var(--err-bg-color);
    color:var(--err-border-color);
    font-size:13px;
    font-weight:600;
	text-align:center;
}
.history-note{
    color:var(--history-notes-color);
    line-height:1.6;
    font-size:14px;
	text-align: justify;
}
a .history-card, .history-card.a {
    transition: .2s;
	cursor:pointer;
}
a .history-card:hover, .history-card:hover.a{
    transform: translateY(-1px);
	box-shadow:0 0 0 4px var(--box-shadow-color);
}
.none{
	display:none;
}
.loading-bar{
	position:absolute;
	left:calc(50% - 100px);
	top:calc(50% - 100px);
}
.subscription-title{
    font-size:22px;
    font-weight:700;
    margin-bottom:20px;
}
.subscription-grid{
    display:grid;
    gap:12px;
}
.subscription-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 16px;
    background: var(--line-bg-color);
    border-radius:12px;
}
.subscription-item span{
    color:var(--line-title-color);
    font-size:14px;
}
.subscription-item strong{
    font-size:15px;
    font-weight:600;
	text-align: right;
}
.subscription-item.ok{
    background:var(--ok-bg-color);
}
.subscription-item.ok strong{
    color:var(--ok-color);
}
.subscription-item.danger{
    background:var(--err-bg-color);
}
.subscription-item.danger strong{
    color:var(--err-color);
}
.input-file-text{
	padding:50px 10px;
	font-size:140%;
	overflow:hidden;
}
.bt{
	display: flex;
    justify-content: center;
    align-items: center;
}
.langs{
    display:flex;
    gap:12px;
	flex-wrap: wrap;
    justify-content:center;
    margin-bottom:24px;
}
.lang{
    flex:1;
    max-width:180px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:12px 16px;
    text-decoration:none;
    color:var(--main-font-color);
    background:#fff;
    border:1px solid var(--input-border-color);
    border-radius:14px;
    transition:.2s;
    font-weight:500;
}
.lang img{
    width:24px;
    height:24px;
    border-radius:50%;
    object-fit:cover;
}
.lang:hover{
    border-color:var(--button-bg-color);
    transform:translateY(-2px);
    box-shadow:0 8px 20px var(--box-shadow-color);
}
.lang.active{
    background:var(--button-bg-color);
    border-color:var(--button-bg-color);
    color:#fff;
}
.lang.active:hover{
    background:var(--button-bg-color-hover);
}
.red{
	color:var(--err-border-color);
}
.green{
	color:var(--ok-border-color);
}
.gray{
	color:var(--line-title-color);
}
.center{
	text-align:center;
}
.data-cont{
	margin: 10px 0px;
}
.data-empty{
	text-align:center;
	color:var(--line-title-color);
}
.scroll-x{
	display: flex;
	gap: 10px;
	overflow: hidden;
	overflow-x: visible;
}
.nav-month{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 10px 0px;
}
.calendar-day{
	cursor:pointer;
	color: var(--history-notes-color);
	background: var(--sum-bg-color);
	padding: 5px;
	border-radius: 50px;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 50px;
	height: 50px;
	justify-content: center;
	text-align: center;
	font-size: 75%;
	transition: .2s;
}
.calendar-day:hover{
	background: var(--sum-border-color);
}
.calendar-master{
	cursor:pointer;
	display: flex;
    flex-direction: column;
    text-align: center;
    font-size: 75%;
	color: var(--history-notes-color);
	transition: .2s;
	margin: 0px 3px;
}
.calendar-master img{
	border-radius: 100px;
}
.calendar-day.calendar-cur{
	background: var(--button-bg-color);
	color: var(--button-font-color);
}
.calendar-day.calendar-cur:hover{
	background: var(--button-bg-color-hover);
}
.calendar-master.calendar-cur img{
	box-shadow: var(--button-bg-color) 0px -2px 5px 1px;
}
.input-num{
	display: flex;
	align-content: center;
	justify-content: space-between;
	align-items: center;
}
.input-num button{
	min-width: 48px;
    max-width: 96px;
}
.input-num input{
	margin: 10px;
	text-align: center;
}
#amount_stock{
	padding-bottom: 10px;
}
.stock-line{
	margin: 10px 0px;
	color: var(--date-font-color);
}
.bold{
	font-weight: bold;
}
.search-mark{
	font-weight: bold;
	color: var(--notes-border-color);
}
.history-lite{
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.calendar-days, .calendar-masters, .calendar-time{
	padding: 10px 0px
}
.calendar-time-close{
	color: var(--date-font-color);
}
.srv-l-bt{
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.srv-w-bt{
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.record-srv-name{
    min-width: 0px;
    overflow-wrap: break-word;
}
.mark-cnt{
	background: var(--notes-border-color);
    border-radius: 7px;
    padding: 2px 5px;
    margin-left: 3px;
    color: var(--main-bg-color);
}
@media (max-width:526px){
	.container {
		margin: 10px 5px;
	}
}