

.customer-service-page {
    margin: 0;
    background: #f5f7fc;
    color: #14233d;
    font: 16px/1.55 system-ui, Arial, sans-serif
}

.customer-service-page header {
    background: white;
    padding: 16px max(5%, calc((100% - 1120px)/2));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #e4e8f1
}

.customer-service-page a {
    color: #1658ae;
    text-decoration: none
}

.customer-service-page .logo {
    font-size: 38px;
    font-weight: 800;
    letter-spacing: -2px;
    background: linear-gradient(95deg, #00a9d6, #2048d7, #7c32c5, #ed0870);
    color: transparent;
    background-clip: text
}

.customer-service-page .logo span {
    font-size: 11px;
    vertical-align: top;
    color: #14233d
}

.customer-service-page nav {
    display: flex;
    gap: 14px;
    flex-wrap: wrap
}

.customer-service-page main {
    width: min(1100px, 92%);
    margin: 32px auto;
    min-height: 65vh
}

.customer-service-page .hero {
    background: linear-gradient(115deg, #102968, #6434a8, #df237d);
    color: white;
    border-radius: 24px;
    padding: 34px;
    margin-bottom: 25px
}

.customer-service-page .hero h1 {
    margin: 0 0 8px;
    font-size: clamp(28px, 4vw, 44px)
}

.customer-service-page .hero p {
    margin: 0
}

.customer-service-page .card {
    background: #fff;
    border: 1px solid #e0e4ef;
    box-shadow: 0 7px 30px #29346a12;
    border-radius: 19px;
    padding: 26px;
    margin-bottom: 22px
}

.customer-service-page h2 {
    margin: 0 0 14px
}

.customer-service-page form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px
}

.customer-service-page .full {
    grid-column: 1/-1
}

.customer-service-page label {
    display: flex;
    flex-direction: column;
    font-size: 14px;
    font-weight: 700;
    gap: 5px
}

.customer-service-page input,
.customer-service-page select,
.customer-service-page textarea {
    padding: 12px 13px;
    border: 1px solid #bcc7de;
    border-radius: 10px;
    font: inherit;
    background: white
}

.customer-service-page textarea {
    min-height: 108px
}

.customer-service-page button,
.customer-service-page .btn {
    border: 0;
    border-radius: 11px;
    padding: 13px 22px;
    background: #2939ae;
    color: white;
    cursor: pointer;
    font-weight: 700;
    font: inherit;
    display: inline-block
}

.customer-service-page .btn.secondary {
    background: #edf1ff;
    color: #263b8c
}

.customer-service-page .note {
    color: #62718b;
    font-size: 14px
}

.customer-service-page .error {
    background: #fff0f0;
    color: #a40022;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 15px
}

.customer-service-page .success {
    background: #e8f9f1;
    color: #056849;
    padding: 16px;
    border-radius: 12px
}

.customer-service-page .tag {
    background: #e9efff;
    padding: 5px 12px;
    border-radius: 18px;
    display: inline-block
}

.customer-service-page .data {
    width: 100%;
    border-collapse: collapse
}

.customer-service-page .data td,
.customer-service-page .data th {
    padding: 11px;
    border-bottom: 1px solid #e1e7f2;
    text-align: left
}

.customer-service-page .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap
}

.customer-service-page footer {
    text-align: center;
    color: #62718b;
    padding: 25px;
    font-size: 13px
}

@media(max-width:680px) {
    .customer-service-page header {
        padding: 12px 4%;
        display: block
    }

    .customer-service-page .logo {
        font-size: 32px
    }

    .customer-service-page nav {
        font-size: 13px;
        margin-top: 10px
    }

    .customer-service-page form {
        grid-template-columns: 1fr
    }

    .customer-service-page .hero,
    .customer-service-page .card {
        padding: 20px
    }
}