/*Трекер*/

@import url("/tracker.css");





/*Сторінка статистики*/

@import "stat.css";





/*Сторінка картки*/

@import "rituals.css";



/*Сторінка профілю*/

@import "profile.css";





*{

	margin: 0;

	padding: 0;

	box-sizing: border-box;

	/*font-family: Inter ,serif;*/

	font-family: Montserrat ,serif;

}



/* Фонове затемнення з блюром */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.4);
    backdrop-filter: blur(4px);
    display: none; /* Приховано за замовчуванням */
    align-items: center;
    z-index: 99999;
    font-family: 'Montserrat', sans-serif;
    padding: 20px;
}

/* Сама картка (Bottom Sheet) */
.bottom-sheet {
    width: 100%;
    max-width: 420px;
    background: #ffffff;
    border-radius: 24px;
    padding: 40px 24px 30px;
    box-sizing: border-box;
    
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    position: relative;
}

/* Клас для активації анімації */
.modal-overlay.active .bottom-sheet {
    /*transform: translate(-50%, -25%);*/
}

.modal-icon {
    text-align: center;
    font-size: 44px;
    margin-bottom: 16px;
}

.modal-title {
    margin: 0 0 12px 0;
    font-size: 24px;
    color: #0f172a;
    text-align: center;
    font-weight: 700;
}

.modal-subtitle {
    margin: 0 0 32px 0;
    font-size: 15px;
    color: #64748b;
    text-align: center;
    line-height: 1.6;
}

.input-group input {
    width: 100%;
    padding: 18px 20px;
    border: 2px solid #f1f5f9;
    border-radius: 16px;
    font-size: 16px;
    outline: none;
    transition: all 0.2s;
    box-sizing: border-box;
    color: #0f172a;
}

.input-group input:focus {
    border-color: #3dbca7; /* М'ятний акцент при фокусі */
    background: #f0fdfa;
}

.btn-primary {
    width: 100%;
    background: #619bad;
    color: #ffffff;
    border: none;
    padding: 18px;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    margin-top: 24px;
    box-shadow: 0 4px 12px rgba(97, 155, 173, 0.25);
    transition: opacity 0.2s;
}

.btn-primary:active {
    opacity: 0.9;
    transform: scale(0.98);
}

.btn-secondary {
    width: 100%;
    background: none;
    border: none;
    color: #94a3b8;
    margin-top: 16px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
}



    /* Головний екран */



    .index_page{

    	max-width: 480px;

    	width: 100%;

    	margin: 0 auto;

    }



    .hero_wrapper {

        padding: 60px 20px 40px;

        text-align: center;

        background: radial-gradient(circle at top right, #eef2ff 0%, #f8fafc 100%);

        border-radius: 0 0 40px 40px;

        margin-bottom: 30px;

    }



    .hero_badge {

        display: inline-block;

        padding: 6px 16px;

        background: rgba(90, 155, 174, 0.1);

        color: #5A9BAE;

        border-radius: 20px;

        font-size: 13px;

        font-weight: 700;

        margin-bottom: 20px;

        text-transform: uppercase;

        letter-spacing: 1px;

    }



    .hero_wrapper h1 {

        font-size: 32px;

        font-weight: 800;

        line-height: 1.2;

        color: #1a202c;

        margin-bottom: 15px;

    }



    .hero_wrapper p {

        font-size: 16px;

        color: #718096;

        line-height: 1.6;

        max-width: 320px;

        margin: 0 auto 30px;

    }



    /* Кнопки */

    .cta_group {

        display: flex;

        flex-direction: column;

        gap: 12px;

        max-width: 300px;

        margin: 0 auto;

    }



    .btn_main {

        background: #5A9BAE;

        color: white;

        padding: 20px;

        border-radius: 22px;

        font-weight: 700;

        font-size: 16px;

        text-decoration: none;

        box-shadow: 0 10px 20px rgba(90, 155, 174, 0.2);

        transition: transform 0.2s;

    }



    .btn_main:active { transform: scale(0.96); }



    .btn_login {

        color: #5A9BAE;

        padding: 15px;

        font-weight: 700;

        text-decoration: none;

        font-size: 14px;

    }



    /* Картки переваг */

    .features_list {

        display: grid;

        grid-template-columns: 1fr 1fr;

        gap: 15px;

        padding: 0 20px 40px;

    }



    .feat_card {

        background: white;

        padding: 20px;

        border-radius: 24px;

        box-shadow: 0 4px 15px rgba(0,0,0,0.02);

        border: 1px solid #f1f5f9;

    }



    .feat_icon {

        font-size: 24px;

        margin-bottom: 10px;

        display: block;

    }



    .feat_card h4 {

        font-size: 14px;

        font-weight: 700;

        margin-bottom: 5px;

    }



    .feat_card p {

        font-size: 12px;

        color: #a0aec0;

        line-height: 1.4;

    }



    .full_width {

        grid-column: span 2;

        display: flex;

        align-items: center;

        gap: 15px;

    }



.auth_page {

    display: flex;

    align-items: center;

    justify-content: center;

    min-height: 80vh;

    padding: 20px;

}



.auth_card {

    background: white;

    padding: 40px 25px 25px;

    border-radius: 30px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.05);

    text-align: center;

    max-width: 360px;

    margin: 0 auto;

}



.auth_card h2 { margin-bottom: 10px; font-weight: 800; }

.auth_card p { color: #718096; font-size: 14px; margin-bottom: 25px; }



.input_group input {

    width: 100%;

    padding: 15px;

    border-radius: 15px;

    border: 1px solid #edf2f7;

    background: #f8fafc;

    font-size: 16px;

    outline: none;

}



.btn_primary {

    display: block;

    background: #5A9BAE;

    color: white;

    padding: 18px;

    border-radius: 18px;

    text-decoration: none;

    font-weight: 700;

    border: none;

    width: 100%;

    cursor: pointer;

}



.btn_secondary {

    display: block;

    margin-top: 15px;

    color: #5A9BAE;

    text-decoration: none;

    font-size: 14px;

    font-weight: 600;

}



/* Контейнер повідомлення */

.modal_notify {

	display: none;

	position: fixed;

	top: 0;

	left: 0;

	width: 100%;

	height: 100%;

	background: rgba(0, 0, 0, 0.4); /* затемнення фону */

	z-index: 10000;

	align-items: center;

	justify-content: center;

}



/* Саме вікно */

.modal_content {

	background: #fff;

	width: 345px;

	padding: 30px;

	border-radius: 20px;

	text-align: center;

	box-shadow: 0 15px 30px rgba(0,0,0,0.2);

	animation: popIn 0.3s ease-out;

}



@keyframes popIn {

	0% { transform: scale(0.8); opacity: 0; }

	100% { transform: scale(1); opacity: 1; }

}



.modal_icon {

	font-size: 50px;

	margin-bottom: 15px;

}



.modal_text {

	font-size: 16px;

	font-weight: 500;

	color: #4B5563;

	line-height: 1.4;

	margin-bottom: 20px;

}



.modal_close {

	background: #3DBCA7;

	color: #fff;

	border: none;

	padding: 10px 30px;

	border-radius: 10px;

	font-weight: 600;

	cursor: pointer;

	width: 100%;

}



/* Класи станів */

.modal_success .modal_icon::before { content: "✅"; }

.modal_error .modal_icon::before { content: "⚠️"; }



html{

	min-height: 100vh;

}



body{

	min-height: 100vh;

	padding-bottom: 60px;

}



body.home{

	padding-bottom: 0;

}



li{

	list-style: none;

}



a{

	text-decoration: none;

}



.nav_fixed{

	width: 100%;

	max-width: 450px;

	margin: 0 auto;

	height: 45px;

	background: #F8FAFD;

	position: fixed;

	bottom: 0;

	left: 50%;

	transform: translateX(-50%);

	border-radius: 25px 25px 0 0;

	box-shadow: 0 0 20px rgba(0, 0, 0, .2);

	display: flex;

	align-items: center;

	justify-content: space-between;

	overflow: hidden;

	z-index: 9999;

}



.nav_fixed li{

	width: 25%;

	text-align: center;

	height: 100%;

	display: block;

}



.nav_fixed li.active{

	background: #E7F1F2;

}







.nav_fixed li a{

	height: 100%;

	display: flex;

	align-items: center;

	justify-content: center;

}



.nav_fixed img{

	max-width: 26px;

	width: 100%;

	display: block;

}



.nav_burger{

	width: 31px;

	height: 24px;

	position: relative;

	-webkit-transform: rotate(0deg);

	-moz-transform: rotate(0deg);

	-o-transform: rotate(0deg);

	transform: rotate(0deg);

	-webkit-transition: .5s ease-in-out;

	-moz-transition: .5s ease-in-out;

	-o-transition: .5s ease-in-out;

	transition: .5s ease-in-out;

	cursor: pointer;

	margin-left: 10px;

	display: none;

}



.nav_burger span{

	display: block;

	position: absolute;

	height: 3px;

	width: 100%;

	background: #525252;

	border-radius: 9px;

	opacity: 1;

	left: 0;

	-webkit-transform: rotate(0deg);

	-moz-transform: rotate(0deg);

	-o-transform: rotate(0deg);

	transform: rotate(0deg);

	-webkit-transition: .25s ease-in-out;

	-moz-transition: .25s ease-in-out;

	-o-transition: .25s ease-in-out;

	transition: .25s ease-in-out;

}



.nav_burger span:nth-child(1) {

	top: 0px;

	-webkit-transform-origin: left center;

	-moz-transform-origin: left center;

	-o-transform-origin: left center;

	transform-origin: left center;

}



.nav_burger span:nth-child(2) {

	top: 10px;

	-webkit-transform-origin: left center;

	-moz-transform-origin: left center;

	-o-transform-origin: left center;

	transform-origin: left center;

}



.nav_burger span:nth-child(3) {

	top: 20px;

	-webkit-transform-origin: left center;

	-moz-transform-origin: left center;

	-o-transform-origin: left center;

	transform-origin: left center;

}



.nav_burger.open span:nth-child(1) {

	-webkit-transform: rotate(45deg);

	-moz-transform: rotate(45deg);

	-o-transform: rotate(45deg);

	transform: rotate(45deg);

	top: -3px;

	left: 4px;

}



.nav_burger.open span:nth-child(2) {

	width: 0%;

	opacity: 0;

}



.nav_burger.open span:nth-child(3) {

	-webkit-transform: rotate(-45deg);

	-moz-transform: rotate(-45deg);

	-o-transform: rotate(-45deg);

	transform: rotate(-45deg);

	top: 20px;

	left: 4px;

}







.container{

	max-width: 1260px;

	width: 100%;

	margin: 0 auto;

	padding: 0 15px;

}



.top_line{

	width: 100%;

	background: #F8FAFD;

	/*box-shadow: 0 3px 10px #E8E8E8;*/

	border-bottom: 1px solid #E8E8E8;

	position: fixed;

	top: 0;

	left: 0; 

	padding: 10px 0;

	z-index: 999;

}



.top_line a.logo img{

	display: block;

}



.top_line .container{

	display: flex;

	align-items: center;

	justify-content: space-between;

}



.top_line nav{

	display: flex;

	align-items: center;

}



.top_line nav ul{

	display: flex;

	align-items: center;

	justify-content: space-between;

	margin-right: 80px;

}



.top_line nav ul a{

	padding: 0 20px;

	color: #000;

	transition: color .3s;

}



.top_line nav ul a:hover{

	color: #40bd9e;

	transition: color .3s;

}



.top_line .nav_option{

	display: flex;

	align-items: center;

}



.top_line .nav_option .auth{

	padding: 0 15px;

}



.top_line .nav_option .auth img{

	max-width: 28px;

	display: block;

}



.top_line .nav_option button {

	background: transparent;

	border: 0;

	cursor: pointer;

	padding: 0 15px;

	transform: rotate(0deg);

	transition: transform .5s;

}



.top_line .nav_option button:hover{

	transform: rotate(90deg);

	transition: transform .5s;

}



.top_line .nav_option button img{

	max-width: 28px;

	display: block;

}





header .container{

	display: flex;

	justify-content: space-between;

}



.header_col:first-child{

	max-width: 496px;

	width: 100%;

}



header h1{

	font-size: 40px;

	margin-top: 120px;

}



.sub_head{

	margin-top: 30px;

	font-size: 18px;

	line-height: 28px;

}



.sub_head span{

	color: #3dbca7;

	font-weight: 500;

}



.head_reg{

	display: inline-block;

	font-size: 16px;

	font-weight: 700;

	color: #fff;

	text-transform: uppercase;

	background: #3DBCA7;

	padding: 0 23px;

	line-height: 47px;

	margin-top: 45px;

	border-radius: 5px;

	transition: background .3s;

}



.head_reg:hover{

	background: #25a38e;

	transition: background .3s;

}



/* РЕЄСТРАЦІЯ */



.reg_page{

	margin-top: 100px;

}



.form_page{

	margin: 0 auto;

	max-width: 355px;

	width: 100%;

	padding: 33px 23px 85px;

	border: 1px solid #C4CFDF;

	border-radius: 10px;

	overflow: hidden;

	position: relative;

}



.form_title{

	text-align: center;

	font-size: 20px;

	text-transform: uppercase;

	font-weight: 600;

	margin-bottom: 40px;

}



.input_box{

	width: 100%;

	margin-top: 15px;

	display: block;

}



.input_box:first-child{

	margin-top: 0;

}



.input_box input{

	width: 100%;

	height: 40px;

	border-radius: 5px;

	padding-left: 50px;

	border: 1px solid #C4CFDF;

	outline: none;

	font-size: 14px;

}



.input_email{

	background: url(img/main_ico.png) no-repeat 14px center;

	background-size: 24px;

}

.input_pass{

	background: url(img/pass_icon.png) no-repeat 14px center;

	background-size: 24px;

}



.form_page button{

	margin-top: 35px;

	width: 100%;

	border-radius: 6px;

	height: 44px;

	color: #fff;

	border: none;

	outline: none;

	background: #3DBCA7;

	font-size: 14px;

	text-transform: uppercase;

	cursor: pointer;

	font-weight: 600;

}



.form_page .regul{

	color: #9c9c9c;

	font-size: 12px;

	line-height: 15px;

	margin-top: 15px;

}



.form_page .regul a{

	text-decoration: underline;

	color: #3dbca7;

}





.form_link{

	position: absolute;

	bottom: 0;

	left: 0;

	background: #F8FAFD;

	width: 100%;

	height: 45px;

	display: flex;

	align-items: center;

	justify-content: space-between;

	padding: 0 20px;

}



.form_link a{

	font-size: 13px;

	color: #000;

}





