.input-group{
    margin-bottom:22px;
}

.method-box{
    display:flex;
    gap:12px;
}

.method{
    flex:1;
    padding:10px;
    border-radius:16px;
    background:#F2F7F6;
    text-align:center;
    cursor:pointer;
    transition:0.3s;
    font-weight:500;
}

.method.active{
    background:linear-gradient(135deg,#007f5f,#55a630);
    color:#fff;
}

.method input{
    display:none;
}

.section-title{
    font-size:16px;
    font-weight:500;
    color:#007f5f;
    margin-bottom:22px;
}

.main-result{
    background:#F2F7F6;
    padding:24px;
    border-radius:24px;
    margin-bottom:20px;
}

.main-label{
    color:#365951;
    margin-bottom:10px;
}

.main-value{
    font-size:28px;
    font-weight:600;
}

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:18px;
}

.small-card{
    background:#F2F7F6;
    border-radius:22px;
    padding:20px;
    transition:0.3s;
}

.small-card:hover{
    transform:translateY(-4px);
}

.small-title{
    color:#365951;
    margin-bottom:10px;
    font-size:14px;
}

.small-value{
    font-size:18px;
    font-weight:600;
    color:#192c27;
}

.progress-wrap{
    margin-top:25px;
}

.progress-top{
    display:flex;
    justify-content:space-between;
    margin-bottom:12px;
}

.progress-bar{
    width:100%;
    height:20px;
    background:#dfe7e3;
    border-radius:50px;
    overflow:hidden;
}

.progress{
    height:100%;
    width:0%;
    background:linear-gradient(90deg,#007f5f,#55a630);
    transition:1s ease;
}

.timeline{
    margin-top:25px;
    position:relative;
}

.timeline::before{
    content:"";
    position:absolute;
    left:14px;
    top:0;
    width:4px;
    height:100%;
    background:#55a630;
}

.timeline-item{
    position:relative;
    padding-left:45px;
    margin-bottom:25px;
}

.timeline-item::before{
    content:"";
    position:absolute;
    left:5px;
    top:5px;
    width:20px;
    height:20px;
    background:#007f5f;
    border-radius:50%;
}

.timeline-title{
    font-weight:700;
    margin-bottom:6px;
}

.timeline-text{
    color:#365951;
    line-height:1.6;
}

.calendar{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}

.calendar-card{
    background:#F2F7F6;
    border-radius:20px;
    padding:20px;
    text-align:center;
}

.calendar-card span{
    display:block;
    margin-top:8px;
    font-weight:700;
}

.checklist{
    display:grid;
    gap:14px;
}

.check-item{
    background:#F2F7F6;
    padding:18px;
    border-radius:18px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.badge{
    padding:8px 14px;
    border-radius:50px;
    background:#007f5f;
    color:#fff;
    font-size:13px;
}

.tip-box{
    background:linear-gradient(135deg,#007f5f,#55a630);
    color:#fff;
    border-radius:24px;
    padding:24px;
    line-height:1.8;
}
