.survey-page{
    padding:60px 0 80px;
}

.survey-wrap{
    max-width:850px;
    margin:auto;
}

.survey-card{
    background:var(--dark);
    border:1px solid var(--border);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
}

.survey-header{
    display:flex;
    align-items:center;
    gap:18px;
    padding:28px;
    border-bottom:1px solid var(--border);
}

.survey-header img{
    width:60px;
    height:60px;
    object-fit:contain;
    filter: brightness(0) invert(1);
}

.survey-title h1{
    font-size:1.7rem;
    margin-bottom:4px;
}

.survey-title p{
    color:var(--muted);
}

.survey-body{
    padding:35px;
}

.survey-question{
    margin-bottom:45px;
}

.survey-question h3{
    font-size:1.08rem;
    margin-bottom:10px;
    line-height:1.6;
}

.survey-question p{
    color:var(--muted);
    font-size:.92rem;
    margin-bottom:18px;
}

.checkbox-group{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.checkbox-item{
    display:flex;
    align-items:center;
    gap:14px;

    padding:15px 18px;

    border:1px solid var(--border);
    border-radius:14px;

    transition:var(--transition);
    cursor:pointer;
}

.checkbox-item:hover{
    border-color:var(--teal-2);
    background:rgba(255,255,255,.03);
}

input[type="checkbox"],
input[type="radio"]{
    accent-color:var(--teal-2);
    width:18px;
    height:18px;
}

.rating-group{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
}

.rating-item{
    border:1px solid var(--border);
    border-radius:14px;

    padding:18px 10px;

    text-align:center;
    cursor:pointer;

    transition:var(--transition);
}

.rating-item:hover{
    border-color:var(--teal-2);
    background:rgba(255,255,255,.03);
}

.rating-item input{
    margin-bottom:10px;
}

textarea{
    width:100%;
    min-height:180px;

    background:var(--dark-card);
    color:var(--white);

    border:1px solid var(--border);
    border-radius:16px;

    padding:18px;

    resize:none;
}

textarea:focus{
    outline:none;
    border-color:var(--teal-2);
}

.survey-submit{
    width:100%;

    border:none;
    border-radius:16px;

    padding:18px;

    background:var(--teal-2);
    color:var(--black);

    font-weight:700;
    font-size:1rem;

    cursor:pointer;
    transition:var(--transition);
}

.survey-submit:hover{
    transform:translateY(-2px);
    opacity:.95;
}

.survey-alert{
    margin-bottom:20px;

    padding:18px;

    border-radius:14px;

    background:#16351f;
    border:1px solid #2f8f46;

    color:#8ff0a4;
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:18px;
}

.input-group{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.input-group label{
    font-size:.92rem;
    font-weight:500;
    color:var(--white);
}

.input-group input{
    width:100%;

    padding:16px 18px;

    background:var(--dark-card);
    color:var(--white);

    border:1px solid var(--border);
    border-radius:14px;

    font-size:.95rem;

    transition:var(--transition);
}

.input-group input::placeholder{
    color:var(--muted);
}

.input-group input:focus{
    outline:none;
    border-color:var(--teal-2);

    background:rgba(255,255,255,.03);
}

.input-group input[type="date"]::-webkit-calendar-picker-indicator{
    filter:invert(1);
    opacity:.85;
    cursor:pointer;
}

@media (max-width: 1024px) {

    .survey-page{
        padding:80px 0 70px;
    }

    .survey-wrap{
        max-width:90%;
    }

    .survey-header{
        padding:24px;
    }

    .survey-title h1{
        font-size:1.5rem;
    }

    .survey-body{
        padding:30px;
    }

    .survey-question h3{
        font-size:1rem;
    }

    .rating-group{
        grid-template-columns:repeat(5,1fr);
        gap:12px;
    }

    .rating-item{
        padding:16px 8px;
    }

}

@media (max-width: 768px) {

    .survey-page{
        padding:70px 0 60px;
    }

    .survey-wrap{
        max-width:95%;
    }

    .survey-card{
        border-radius:16px;
    }

    .survey-header{
        padding:22px;
        gap:14px;
        align-items:flex-start;
    }

    .survey-header img{
        width:52px;
        height:52px;
    }

    .survey-title h1{
        font-size:1.3rem;
        line-height:1.4;
    }

    .survey-title p{
        font-size:.9rem;
    }

    .survey-body{
        padding:24px;
    }

    .survey-question{
        margin-bottom:36px;
    }

    .survey-question h3{
        font-size:.98rem;
        line-height:1.6;
    }

    .survey-question p{
        font-size:.85rem;
    }

    .checkbox-group{
        gap:12px;
    }

    .checkbox-item{
        padding:14px 16px;
        font-size:.92rem;
    }

    .rating-group{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    .rating-item{
        padding:16px 10px;
    }

    textarea{
        min-height:160px;
        padding:16px;
        font-size:.92rem;
    }

    .survey-submit{
        padding:16px;
        font-size:.95rem;
    }

    .form-grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .input-group input{
        padding:15px 16px;
        font-size:.92rem;
    }

}

@media (max-width: 480px) {

    .survey-page{
        padding:60px 0 50px;
    }

    .survey-wrap{
        max-width:100%;
    }

    .survey-card{
        border-radius:14px;
    }

    .survey-header{
        padding:18px;
        gap:12px;
    }

    .survey-header img{
        width:46px;
        height:46px;
    }

    .survey-title h1{
        font-size:1.1rem;
    }

    .survey-title p{
        font-size:.82rem;
        line-height:1.5;
    }

    .survey-body{
        padding:18px;
    }

    .survey-question{
        margin-bottom:30px;
    }

    .survey-question h3{
        font-size:.92rem;
        line-height:1.7;
    }

    .survey-question p{
        font-size:.8rem;
        margin-bottom:14px;
    }

    .checkbox-group{
        gap:10px;
    }

    .checkbox-item{
        padding:13px 14px;
        border-radius:12px;
        font-size:.85rem;
    }

    .rating-group{
        grid-template-columns:repeat(2,1fr);
        gap:10px;
    }

    .rating-item{
        padding:14px 8px;
        border-radius:12px;
        font-size:.9rem;
    }

    textarea{
        min-height:140px;
        padding:14px;
        border-radius:14px;
        font-size:.85rem;
    }

    .survey-submit{
        padding:15px;
        border-radius:14px;
        font-size:.9rem;
    }

    .survey-alert{
        padding:14px;
        font-size:.85rem;
        border-radius:12px;
    }

    .form-grid{
        gap:12px;
    }

    .input-group label{
        font-size:.85rem;
    }

    .input-group input{
        padding:14px;
        border-radius:12px;
        font-size:.85rem;
    }

}