.itp-service {
    margin: 0;
    color: #222f47;
    background: #f5f7fb;
    font: 1rem/1.5 "Exo 2", Exo2, system-ui, sans-serif;
}
.itp-service a { color: #235baf; }
.itp-service :focus-visible { outline: 2px solid #1264d7; outline-offset: 3px; }
.service-shell { max-width: 72rem; padding: 0 1.25rem; margin-inline: auto; }
.service-header { background: #222f47; color: #fff; }
.service-nav { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.service-nav nav { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.service-nav a, .service-nav button { color: #fff; }
.service-nav form { margin: 0; }
.service-nav button { background: transparent; border: 0; font: inherit; cursor: pointer; text-decoration: underline; }
.service-brand { text-decoration: none; font-size: 1.3rem; font-weight: 700; white-space: nowrap; }
.service-main { padding-block: 2rem 4rem; }
.service-main h1 { font-size: clamp(1.65rem, 4vw, 2.5rem); margin: .4rem 0 1rem; }
.service-main h2 { margin: 1.4rem 0 .5rem; }
.service-heading, .service-filters { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem 1rem; }
.service-heading { justify-content: space-between; }
.service-filters { align-items: end; margin: 1rem 0; }
.service-filters label { display: grid; gap: .25rem; }
.service-filters :is(input, select, button), .service-button { min-height: 2.5rem; box-sizing: border-box; border-radius: .35rem; padding: .45rem .75rem; font: inherit; }
.service-filters :is(input, select) { color: #222f47; border: 1px solid #a9b8cf; background: #fff; }
.service-filters button, a.service-button { border: 0; background: #235baf; color: #fff; cursor: pointer; text-decoration: none; }
.service-card, .service-table { background: #fff; border: 1px solid #dbe3f0; border-radius: .55rem; }
.service-card { padding: 1rem 1.25rem; }
.service-card dl { display: grid; grid-template-columns: minmax(8rem, 27%) 1fr; gap: .6rem; }
.service-card dd { margin: 0; overflow-wrap: anywhere; }
.service-card dt { font-weight: 600; }
.preserve-lines { white-space: pre-wrap; }
.service-table { overflow-x: auto; }
.service-table table { width: 100%; border-collapse: collapse; text-align: left; }
.service-table th, .service-table td { padding: .75rem .85rem; border-bottom: 1px solid #e0e6ef; }
.service-table thead { background: #edf2f9; }
.service-table tbody tr:last-child > * { border: 0; }
.service-status { border-left: 3px solid #235baf; background: #e5eefb; padding: .65rem .85rem; }
@media (max-width: 550px) {
    .service-nav { align-items: flex-start; flex-direction: column; padding-block: .8rem; gap: .45rem; }
    .service-main { padding-top: 1.35rem; }
    .service-card dl { grid-template-columns: 1fr; gap: .3rem; }
    .service-card dd { margin-bottom: .6rem; }
}
