.service-ui-form{
    display:flex;
    flex-direction:column;
    gap:1.5rem;
}

.service-ui-form__alert{
    padding:1rem 1.15rem;
    border-radius:1rem;
    border:1px solid rgba(95,119,123,.18);
    background:rgba(95,119,123,.08);
    color:#365055;
    font-size:.9375rem;
    line-height:1.55;
}

.service-ui-form__alert--success{
    border-color:rgba(12,175,96,.18);
    background:rgba(12,175,96,.08);
    color:#0A8A4E;
}

.service-ui-form__alert--warning{
    border-color:rgba(245,158,11,.22);
    background:rgba(245,158,11,.12);
    color:#B45309;
}

.service-ui-form__alert--danger{
    border-color:rgba(251,44,54,.2);
    background:rgba(251,44,54,.1);
    color:#C81E1E;
}

.service-ui-form__section{
    border:1px solid #D7DFE0;
    border-radius:1.25rem;
    background:#FFFFFF;
    padding:1.4rem;
}

.service-ui-form__section-head{
    margin-bottom:1rem;
}

.service-ui-form__section-title{
    margin:0 0 .35rem;
    color:#052E31;
    font-size:1.05rem;
    font-weight:700;
    line-height:1.3;
}

.service-ui-form__section-text{
    margin:0;
    color:#5F777B;
    font-size:.925rem;
    line-height:1.6;
}

.service-ui-form__grid{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:1rem;
}

.service-ui-form__field{
    grid-column:span 12;
    display:flex;
    flex-direction:column;
    gap:.45rem;
}

.service-ui-form__field--6{
    grid-column:span 6;
}

.service-ui-form__field--4{
    grid-column:span 4;
}

.service-ui-form__field--8{
    grid-column:span 8;
}

.service-ui-form__field--full{
    grid-column:1 / -1;
}

.service-ui-form__label{
    color:#5F777B;
    font-size:.875rem;
    line-height:1.35;
}

.service-ui-form__required{
    color:#FB2C36;
    margin-left:.2rem;
    font-weight:700;
}

.service-ui-form__input,
.service-ui-form__textarea,
.service-ui-form__file{
    width:100%;
    border:1px solid #D7DFE0;
    border-radius:.8rem;
    background:#FFFFFF;
    color:#052E31;
    font-size:.95rem;
    line-height:1.45;
    outline:0;
    transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.service-ui-form__input{
    min-height:3rem;
    padding:0 .95rem;
}

.service-ui-form__select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    background-image:
        linear-gradient(45deg, transparent 50%, #5F777B 50%),
        linear-gradient(135deg, #5F777B 50%, transparent 50%);
    background-position:
        calc(100% - 1.1rem) calc(50% - .1rem),
        calc(100% - .78rem) calc(50% - .1rem);
    background-size:.42rem .42rem,.42rem .42rem;
    background-repeat:no-repeat;
    padding-right:2.5rem;
}

.service-ui-form__textarea{
    min-height:8.5rem;
    padding:.9rem 1rem;
    resize:vertical;
}

.service-ui-form__file{
    min-height:3rem;
    padding:.7rem .9rem;
}

.service-ui-form__file::file-selector-button{
    margin-right:.85rem;
    border:1px solid #D7DFE0;
    border-radius:.65rem;
    background:#F8FAFB;
    color:#365055;
    font-size:.875rem;
    font-weight:600;
    padding:.55rem .85rem;
    cursor:pointer;
    transition:border-color .2s ease, color .2s ease, background-color .2s ease;
}

.service-ui-form__file::file-selector-button:hover{
    border-color:#0CAF60;
    color:#0CAF60;
    background:#F6FFFA;
}

.service-ui-form__input::placeholder,
.service-ui-form__textarea::placeholder{
    color:rgba(95,119,123,.65);
}

.service-ui-form__input:focus,
.service-ui-form__textarea:focus,
.service-ui-form__file:focus{
    border-color:#0CAF60;
    box-shadow:0 0 0 4px rgba(12,175,96,.16);
}

.service-ui-form__hint{
    margin:0;
    color:#6A7280;
    font-size:.8125rem;
    line-height:1.45;
}

.service-ui-form__error,
.service-ui-form .help-block,
.service-ui-form .invalid-feedback{
    margin-top:.15rem;
    color:#FB2C36;
    font-size:.75rem;
    line-height:1.35;
}

.service-ui-form__check-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
}

.service-ui-form__check{
    display:flex;
    align-items:flex-start;
    gap:.75rem;
    padding:0;
    cursor:pointer;
    transition:color .2s ease;
}

.service-ui-form__check input{
    flex:0 0 auto;
    margin-top:.15rem;
}

.service-ui-form__check-text{
    color:#052E31;
    font-size:.9rem;
    line-height:1.45;
    transition:color .2s ease;
}

.service-ui-form__check:hover .service-ui-form__check-text{
    color:#0CAF60;
}

.service-ui-form__check input:checked + .service-ui-form__check-text{
    color:#0CAF60;
}

.service-ui-form__actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.85rem;
    padding-top:.2rem;
}

.service-ui-form__submit,
.service-ui-form__secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:2.9rem;
    padding:0 1.35rem;
    border-radius:.8rem;
    font-size:.95rem;
    font-weight:600;
    text-decoration:none;
    cursor:pointer;
    transition:background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.service-ui-form__submit{
    border:0;
    background:#0CAF60;
    color:#FFFFFF;
}

.service-ui-form__submit:hover{
    background:#0A9F58;
}

.service-ui-form__secondary{
    border:1px solid #D7DFE0;
    background:#FFFFFF;
    color:#365055;
}

.service-ui-form__secondary:hover{
    border-color:#0CAF60;
    color:#0CAF60;
}

.service-ui-form__filters{
    display:flex;
    flex-direction:column;
    gap:1rem;
}

.service-ui-form__filters-head{
    display:flex;
    flex-direction:column;
    gap:.35rem;
}

.service-ui-form__filters-title{
    margin:0;
    color:#052E31;
    font-size:1rem;
    font-weight:700;
}

.service-ui-form__filters-text{
    margin:0;
    color:#5F777B;
    font-size:.875rem;
    line-height:1.5;
}

.service-ui-form__reset{
    display:inline-flex;
    align-items:center;
    color:#0CAF60;
    font-size:.9rem;
    font-weight:600;
    text-decoration:none;
}

.service-ui-form__reset:hover{
    text-decoration:underline;
}

@media (max-width: 900px){
    .service-ui-form__field--6,
    .service-ui-form__field--4,
    .service-ui-form__field--8{
        grid-column:span 12;
    }
}

@media (max-width: 640px){
    .service-ui-form__section{
        padding:1rem;
        border-radius:1rem;
    }

    .service-ui-form__check-grid{
        grid-template-columns:1fr;
    }

    .service-ui-form__actions{
        flex-direction:column;
        align-items:stretch;
    }

    .service-ui-form__submit,
    .service-ui-form__secondary{
        width:100%;
    }
}
