.stf-provider-page {
    --stf-ink: #102a43;
    --stf-muted: #617587;
    --stf-blue: #0877d1;
    --stf-border: #dfe7ec;
}

/* Current account plan, in Dashboard and My Pricing Plan. */
.stf-current-plan{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;margin:0 0 28px;border:1px solid #dfe7ec;border-radius:16px;background:#f4f9fc;scroll-margin-top:100px}
.stf-current-plan>div{min-width:0}
.stf-current-plan .stf-plan-audience{margin:0 0 18px;padding:12px 14px;border-left:3px solid #0877d1;background:#fff;border-radius:4px;line-height:1.6}
.stf-current-plan h2{margin:0 0 14px;font-size:22px;color:#102a43;line-height:1.3}
.stf-current-plan p{margin:7px 0 0;font-size:14px;color:#456579}
.stf-current-plan .stf-current-plan-name{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.stf-current-plan-name strong{display:inline-block;font-size:23px;line-height:1.2;color:#123b56}
.stf-current-plan-name span{font-size:11px;font-weight:700;color:#076dbb;background:#e1f0fb;border-radius:999px;padding:4px 9px}
.stf-current-plan .stf-current-plan-note{font-size:12px;color:#617587;line-height:1.6}
.stf-current-plan-action{flex-shrink:0;max-width:100%}
.stf-current-plan-action .stf-dash-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;min-height:46px;max-width:100%;border:1px solid #0877d1;border-radius:9px;background:#0877d1;color:#fff!important;font-size:14px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none!important}
.stf-current-plan-action .stf-dash-btn:hover{background:#0664b0}
.stf-current-plan-action .stf-dash-btn:focus-visible{outline:3px solid #0877d1;outline-offset:4px}
.stf-my-plan-content{min-width:0}
.stf-plan-upgrade{padding:28px;border:1px solid #cadfe9;border-radius:16px;background:#fff;color:#173b56}
.stf-plan-upgrade .stf-plan-upgrade-kicker{margin:0 0 10px;font-size:11px;line-height:1.5;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0877d1}
.stf-plan-upgrade h2{margin:0;font-size:26px;line-height:1.25;letter-spacing:-.025em;color:#123b56}
.stf-plan-upgrade .stf-plan-upgrade-intro{margin:12px 0 22px;font-size:14px;line-height:1.7;color:#526d80}
.stf-plan-upgrade-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
.stf-plan-upgrade-features li{position:relative;padding:18px 18px 18px 40px;border:1px solid #e1ebf2;border-radius:12px;background:#f7fbfd;min-width:0}
.stf-plan-upgrade-features li::before{content:'✓';position:absolute;left:17px;top:18px;font-weight:800;color:#0877d1}
.stf-plan-upgrade-features h3{margin:0 0 8px;font-size:16px;line-height:1.4;color:#173b56}
.stf-plan-upgrade-features p{margin:0;font-size:13px;line-height:1.7;color:#526d80}
.stf-plan-upgrade-footer{display:flex;align-items:center;gap:20px;margin-top:24px;padding-top:22px;border-top:1px solid #e1ebf2}
.stf-plan-upgrade-footer .stf-dash-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;flex-shrink:0;padding:12px 18px;border:1px solid #0877d1;border-radius:9px;background:#0877d1;color:#fff!important;font-size:14px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none!important}
.stf-plan-upgrade-footer .stf-dash-btn:hover{background:#0664b0}
.stf-plan-upgrade-footer .stf-dash-btn:focus-visible{outline:3px solid #0877d1;outline-offset:4px}
.stf-plan-upgrade-footer p{margin:0;font-size:12px;line-height:1.6;color:#617587}
@media(max-width:760px){.stf-plan-upgrade{padding:22px}.stf-plan-upgrade-features{grid-template-columns:minmax(0,1fr);gap:12px}.stf-plan-upgrade-footer{flex-direction:column;align-items:stretch;gap:12px}.stf-plan-upgrade-footer .stf-dash-btn{width:100%}}
@media(max-width:640px){.stf-current-plan{align-items:flex-start;flex-direction:column;padding:20px;gap:18px}.stf-current-plan-action{width:100%}.stf-current-plan-action .stf-dash-btn{width:100%}}

.stf-provider-area {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 32px;
    align-items: start;
    max-width: 1280px;
    margin: 38px auto 70px;
    padding: 0 22px;
    color: var(--stf-ink, #102a43);
}

.stf-provider-area.hp-row { margin-inline: auto; }
.stf-provider-page .entry-header{display:none}
.stf-sailor-dashboard{color:#173b56;line-height:1.65;min-width:0}
.stf-sailor-dashboard h1{margin:5px 0 14px;font-size:clamp(28px,4vw,40px);line-height:1.2;color:#123b56}
.stf-sailor-dashboard h2{margin:0 0 8px;font-size:21px;line-height:1.3;color:#123b56}
.stf-sailor-dashboard p{font-size:14px;color:#526d80;margin:0 0 18px}
.stf-sailor-dashboard .stf-sailor-kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#0877d1;margin:0}
.stf-sailor-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:9px;border:1px solid #0877d1;background:#0877d1;color:#fff!important;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none!important;max-width:100%;box-sizing:border-box}
.stf-sailor-button-secondary{background:#fff;color:#0877d1!important}
.stf-sailor-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}
.stf-sailor-card{padding:22px;border:1px solid #dfe7ec;border-radius:14px;background:#f7fbfd;min-width:0;overflow-wrap:anywhere;text-decoration:none!important}
.stf-sailor-card span{color:#0877d1;font-weight:700;font-size:14px}
.stf-sailor-card:hover{border-color:#0877d1;background:#eef7fd}
.stf-sailor-provider{padding:24px;border:1px solid #dfe7ec;border-radius:14px;background:#fff}
.stf-sailor-dashboard a:focus-visible{outline:3px solid #0877d1;outline-offset:3px}
.stf-provider-content .stf-alert-page{padding:0;max-width:none}
@media(max-width:980px){.stf-sailor-cards{grid-template-columns:minmax(0,1fr)}}
.stf-provider-area > .stf-provider-sidebar,
.stf-provider-area > .stf-provider-content {
    width: auto;
    max-width: none;
    min-width: 0;
    padding: 0;
    flex: none;
}

.stf-provider-navigation {
    padding: 20px 14px;
    border: 1px solid var(--stf-border, #dfe7ec);
    border-radius: 16px;
    background: #fff;
}

.stf-provider-navigation__title {
    margin: 0 10px 12px;
    color: var(--stf-muted, #617587);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.stf-provider-nav ul { display: block; list-style: none; margin: 0; padding: 0; }
.stf-provider-nav li { display: block; margin: 0; padding: 0; border: 0; }
.stf-provider-nav a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 12px;
    min-height: 44px;
    border-radius: 10px;
    color: var(--stf-ink, #102a43);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}
.stf-provider-nav a:hover,
.stf-provider-nav .hp-menu__item--current > a { background: #eaf4fc; color: #075d9d; }
.stf-provider-nav a:focus-visible,
.stf-profile-form :focus-visible { outline: 2px solid var(--stf-blue, #0877d1); outline-offset: 3px; }
.stf-provider-nav small {
    margin: 0;
    padding: 2px 7px;
    border-radius: 999px;
    background: #eaf4fc;
    color: #075d9d;
    font-size: 12px;
}
.stf-provider-nav .sub-menu { padding-inline-start: 12px; }
.stf-provider-nav .hp-menu__item--user-logout { margin-top: 12px; border-top: 1px solid var(--stf-border, #dfe7ec); padding-top: 8px; }

.stf-provider-area .stf-provider-dashboard,
.stf-provider-area .stf-my-trips { margin: 0; padding: 0; }
.stf-provider-area .stf-dash-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stf-provider-content > .hp-page__title { margin: 0 0 8px; font-size: 36px; line-height: 1.15; color: var(--stf-ink, #102a43); }
.stf-profile-intro { margin: 0 0 26px; color: var(--stf-muted, #617587); }
.stf-my-profile .hp-menu--breadcrumb { display: none; }
.stf-my-profile .hp-form__footer { margin-top: 24px; }
.stf-profile-section {
    min-width: 0;
    padding: 24px;
    margin: 0 0 24px;
    border: 1px solid var(--stf-border, #dfe7ec);
    border-radius: 16px;
    background: #fff;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.stf-profile-section legend { padding: 0 8px; color: var(--stf-ink, #102a43); font-size: 20px; font-weight: 700; }
.stf-profile-section .hp-form__field { min-width: 0; margin: 0; }
.stf-profile-section__description,
.stf-profile-section .hp-form__field--attachment-upload,
.stf-profile-section .hp-form__field--textarea,
.stf-profile-section .hp-form__field--select,
.stf-profile-section--security .hp-form__field { grid-column: 1 / -1; }
.stf-profile-section__description { margin: 0; color: var(--stf-muted, #617587); font-size: 14px; }
.stf-profile-form input:not([type=checkbox]):not([type=radio]),
.stf-profile-form textarea,
.stf-profile-form select { max-width: 100%; box-sizing: border-box; }
.stf-profile-form .hp-field--text,
.stf-profile-form .hp-field--email,
.stf-profile-form .hp-field--url,
.stf-profile-form .hp-field--password,
.stf-profile-form .hp-field--textarea,
.stf-profile-form select {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #c9d6dd;
    border-radius: 8px;
    background: #fff;
    color: var(--stf-ink, #102a43);
    font: inherit;
    font-size: 15px;
}
.stf-profile-form .hp-field--attachment-upload button { min-height: 44px; padding: 10px 14px; border-radius: 8px; }
.stf-profile-form .select2-container { max-width: 100%; font-size: 15px; }
.stf-profile-form .select2-container .select2-selection {
    min-height: 44px;
    border: 1px solid #c9d6dd;
    border-radius: 8px;
    background: #fff;
}
.stf-profile-form .select2-selection--single .select2-selection__rendered { line-height: 42px; }
.stf-profile-form .select2-selection--single .select2-selection__arrow { height: 42px; }
.stf-profile-form button[type=submit] { border-radius: 10px; background: var(--stf-blue, #0877d1); color: #fff; padding: 12px 20px; }

@media (max-width: 900px) {
    .stf-provider-area { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 24px; padding: 0 16px; }
    .stf-provider-navigation { padding: 12px; }
    .stf-provider-navigation__title { margin: 0 8px 8px; }
    .stf-provider-nav > ul { display: flex; flex-wrap: wrap; gap: 4px; }
    .stf-provider-nav a { padding: 10px; font-size: 13px; }
    .stf-provider-nav .hp-menu__item--user-logout { margin: 0; border: 0; padding: 0; }
    .stf-provider-nav .sub-menu { padding: 0; }
    .stf-profile-section { grid-template-columns: minmax(0, 1fr); padding: 18px; }
    .stf-provider-content > .hp-page__title { font-size: 30px; }
    .stf-profile-form button[type=submit] { width: 100%; }
    .stf-my-profile .hp-form__footer { flex-direction: column; align-items: stretch; gap: 16px; }
    .stf-my-profile .hp-form__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
    .stf-provider-area .stf-my-trips-head,
    .stf-provider-area .stf-dash-head { align-items: flex-start; flex-direction: column; }
    .stf-provider-area .stf-trip-row { grid-template-columns: 88px minmax(0, 1fr); gap: 13px; }
    .stf-provider-area .stf-trip-thumb { width: 88px; height: 78px; }
    .stf-provider-area .stf-trip-actions { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 640px) {
    .stf-provider-area .stf-dash-grid { grid-template-columns: minmax(0, 1fr); }
}


/* Frontend provider sign-in: keep the form comfortably away from phone edges. */
.stf-login-page .hp-page__content,
.stf-login-page .hp-form--user-login {
    box-sizing: border-box;
}

.stf-login-page .hp-form--user-login {
    width: 100%;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 640px) {
    .stf-login-page .hp-page__content {
        padding-left: 20px;
        padding-right: 20px;
    }

    .stf-login-page .hp-form--user-login {
        max-width: 100%;
    }

    .stf-login-page .hp-form--user-login input:not([type="checkbox"]):not([type="radio"]),
    .stf-login-page .hp-form--user-login button {
        box-sizing: border-box;
        max-width: 100%;
    }
}


/* Mobile provider area polish. */
.stf-provider-nav-toggle {
    display: none;
}

@media (max-width: 900px) {
    .stf-provider-navigation {
        padding: 10px;
    }

    .stf-provider-navigation__title {
        display: none;
    }

    .stf-provider-nav-toggle {
        display: flex;
        width: 100%;
        min-height: 46px;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 11px 13px;
        border: 1px solid var(--stf-border, #dfe7ec);
        border-radius: 10px;
        background: #fff;
        color: var(--stf-ink, #102a43);
        font: inherit;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
    }

    .stf-provider-nav-toggle::after {
        content: "▾";
        font-size: 14px;
        transition: transform .2s ease;
    }

    .stf-provider-navigation.is-open .stf-provider-nav-toggle::after {
        transform: rotate(180deg);
    }

    .stf-provider-nav {
        display: none;
        margin-top: 8px;
    }

    .stf-provider-navigation.is-open .stf-provider-nav {
        display: block;
    }

    .stf-provider-nav > ul {
        display: block;
    }

    .stf-provider-nav li {
        width: 100%;
    }

    .stf-provider-nav a {
        width: 100%;
        padding: 11px 12px;
        font-size: 14px;
    }

    .stf-provider-nav .hp-menu__item--user-logout {
        margin-top: 8px;
        border-top: 1px solid var(--stf-border, #dfe7ec);
        padding-top: 8px;
    }
}

@media (max-width: 640px) {
    .stf-provider-area .stf-trip-row {
        display: block;
        padding: 14px;
    }

    .stf-provider-area .stf-trip-thumb {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        margin-bottom: 14px;
    }

    .stf-provider-area .stf-trip-main h3 {
        font-size: 20px;
        line-height: 1.25;
    }

    .stf-provider-area .stf-trip-meta {
        gap: 8px 12px;
        margin-top: 10px;
    }

    .stf-provider-area .stf-trip-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 16px;
    }

    .stf-provider-area .stf-trip-actions .stf-trip-btn,
    .stf-provider-area .stf-trip-actions form,
    .stf-provider-area .stf-trip-actions form .stf-trip-btn {
        width: 100%;
    }
}


/* Mobile account menu icons. */
@media (max-width: 921px) {
    .stf-mobile-account-item > a {
        display: inline-flex !important;
        align-items: center;
        gap: 8px;
    }

    .stf-mobile-account-item > a::before {
        content: "";
        display: inline-block;
        flex: 0 0 17px;
        width: 17px;
        height: 17px;
        background-color: currentColor;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        mask-size: contain;
    }

    .stf-mobile-account-item--user > a::before {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5.33 0-8 2.67-8 6v2h16v-2c0-3.33-2.67-6-8-6Z'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5.33 0-8 2.67-8 6v2h16v-2c0-3.33-2.67-6-8-6Z'/%3E%3C/svg%3E");
    }

    .stf-mobile-account-item--signin > a::before {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M10 17v-2h4V5H4v14h10v-4h2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v6h-2V5H4v14h10v-2h-4Zm7.59-7.59L19 10.83 15.83 14H8v-2h7.83l-1.42-1.41L15.83 9 20.66 13.83 15.83 18.66 14.41 17.24 17.66 14H15.83l1.76-1.76Z'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M10 17v-2h4V5H4v14h10v-4h2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v6h-2V5H4v14h10v-2h-4Zm7.59-7.59L19 10.83 15.83 14H8v-2h7.83l-1.42-1.41L15.83 9 20.66 13.83 15.83 18.66 14.41 17.24 17.66 14H15.83l1.76-1.76Z'/%3E%3C/svg%3E");
    }
}
.stf-statistics-upgrade{padding:28px;border:1px solid #dce6ed;border-radius:16px;background:#f0f7fb;max-width:760px}
.stf-statistics-upgrade>span{display:block;margin-bottom:10px;font-size:12px;font-weight:800;color:#0877d1;letter-spacing:.06em;text-transform:uppercase}
.stf-statistics-upgrade h1{margin:0 0 15px;font-size:clamp(26px,3vw,36px);line-height:1.2;color:#123b56}
.stf-statistics-upgrade p{font-size:15px;line-height:1.7;color:#526d80}
.stf-statistics-upgrade>a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:12px;padding:11px 18px;border-radius:9px;background:#0877d1;color:#fff;text-decoration:none;font-size:14px;font-weight:700}

.stf-current-plan .stf-plan-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:12px}
.stf-current-plan .stf-plan-title-row .stf-current-plan-name{margin:0}
.stf-current-plan .stf-free-trip-action{margin:0;max-width:560px}
.stf-current-plan .stf-free-trip-action .stf-dash-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border:1px solid #0877d1;border-radius:9px;background:#0877d1;color:#fff!important;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none!important;text-align:center}
.stf-current-plan .stf-free-trip-action .stf-dash-btn:hover{background:#0664b0}
.stf-current-plan .stf-free-trip-action .stf-dash-btn:focus-visible{outline:3px solid #0877d1;outline-offset:4px}
.stf-current-plan .stf-free-trip-action p{margin:0 0 10px}

/* My Pricing Plan: one consistent reading order and form rhythm. */
.stf-my-plan-content{display:flex;flex-direction:column;gap:24px}
.stf-my-plan-content>.stf-current-plan,.stf-my-plan-content>.stf-plan-upgrade{margin:0;padding:28px;border-radius:16px}
.stf-my-plan-content>.stf-current-plan>div{width:100%}
.stf-my-plan-content #my-pricing-plan{background:#f4f9fc}
.stf-my-plan-content #my-pricing-plan .stf-plan-audience{margin-bottom:24px;padding:16px 18px;font-size:14px;line-height:1.65}
.stf-my-plan-content .stf-plan-title-row{margin-bottom:16px}
.stf-my-plan-content #stf-checkout{background:#fff;border-color:#cadfe9}
.stf-my-plan-content #stf-checkout h3{margin:0 0 16px;font-size:24px;line-height:1.3;color:#123b56}
.stf-my-plan-content #stf-checkout p{margin:0 0 14px;line-height:1.65;font-size:14px}
.stf-my-plan-content #stf-checkout form{margin-top:22px;padding-top:20px;border-top:1px solid #e1ebf2}
.stf-my-plan-content #stf-checkout label:has(input[name="promotion"]){display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-weight:600;color:#173b56}
.stf-my-plan-content #stf-checkout input[name="promotion"]{display:block;width:100%;max-width:380px;min-height:46px;padding:10px 12px;border:1px solid #bdcfdc;border-radius:8px;background:#fff;font-size:16px;color:#102a43}
.stf-my-plan-content #stf-checkout label:has(input[name="no_renew"]){display:flex;align-items:flex-start;gap:10px;max-width:600px;line-height:1.6;font-weight:400}
.stf-my-plan-content #stf-checkout input[name="no_renew"]{flex-shrink:0;width:18px;height:18px;margin:3px 0 0;accent-color:#0877d1}
.stf-my-plan-content #stf-checkout button{min-height:46px;padding:12px 20px;border:1px solid #0877d1;border-radius:9px;background:#0877d1;color:#fff;font-size:14px;font-weight:700;line-height:1.4}
.stf-my-plan-content #stf-checkout button:hover{background:#0664b0}
.stf-my-plan-content #stf-checkout :is(button,input):focus-visible{outline:3px solid #80bfee;outline-offset:3px}
.stf-my-plan-content .stf-plan-upgrade-features{gap:16px}
@media(max-width:640px){.stf-my-plan-content{gap:18px}.stf-my-plan-content>.stf-current-plan,.stf-my-plan-content>.stf-plan-upgrade{padding:20px}.stf-my-plan-content #stf-checkout h3{font-size:21px}.stf-my-plan-content #stf-checkout input[name="promotion"],.stf-my-plan-content #stf-checkout button{max-width:100%;width:100%}}

.stf-provider-nav .stf-nav-group-heading{display:block;flex-basis:100%;margin:18px 0 6px;padding:14px 10px 0;border-top:1px solid #dfe7ec}
.stf-provider-nav .stf-nav-group-heading:first-child{margin-top:0;padding-top:0;border-top:0}
.stf-provider-nav .stf-nav-group-heading span{display:block;color:#617587;font-size:10px;font-weight:800;letter-spacing:.08em;line-height:1.5;text-transform:uppercase}
