@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/be-vietnam-pro/be-vietnam-pro-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(./fonts/be-vietnam-pro/be-vietnam-pro-vietnamese-400-normal.woff2) format('woff2');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(./fonts/be-vietnam-pro/be-vietnam-pro-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(./fonts/be-vietnam-pro/be-vietnam-pro-vietnamese-600-normal.woff2) format('woff2');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(./fonts/be-vietnam-pro/be-vietnam-pro-latin-700-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(./fonts/be-vietnam-pro/be-vietnam-pro-vietnamese-700-normal.woff2) format('woff2');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* Scoped to the account and tracking panels. */
.tns-account-shell,
.tns-account-orders,
.tns-tracking-panel,
.tns-order-detail {
    --tns-ink: #2d211e;
    --tns-muted: #62534e;
    --tns-accent: #8e3026;
    --tns-accent-hover: #6e231c;
    --tns-border: #e7d9d2;
    --tns-surface: #fbf6f3;
    color: var(--tns-ink);
    font-family: 'Be Vietnam Pro', system-ui, sans-serif;
    line-height: 1.55;
}
.tns-account-shell :is(h2, h3, h4),
.tns-account-orders h2,
.tns-tracking-panel h3,
.tns-order-detail :is(h2, h3) {
    color: var(--tns-ink);
    font-family: 'Be Vietnam Pro', system-ui, sans-serif !important;
    font-weight: 700;
    letter-spacing: normal;
    line-height: 1.25;
}
.tns-account-welcome h2 {
    font-size: clamp(1.5rem, 4vw, 2.125rem);
}

/* Account entry and standalone lookup: one primary task on each screen. */
.tns-service-page .scf-launcher { display: none !important; }
.tns-account-entry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(24px, 4vw, 56px);
    max-width: 1000px;
    margin: 24px auto 48px;
    padding: 0;
    align-items: start;
}
.tns-account-entry .tns-account-welcome {
    padding: 24px 0;
    margin: 0;
    border: 0;
    background: transparent;
}
.tns-account-entry h1, .tns-lookup-page h1 {
    font: 700 clamp(28px, 3vw, 38px)/1.25 'Be Vietnam Pro', sans-serif;
    color: #2d211e;
    letter-spacing: -.025em;
    margin: 0 0 16px;
}
.tns-account-entry > .account-login-inner { min-width: 0; }
.tns-account-entry .account-login-inner {
    padding: 24px;
    border: 1px solid #e7d9d2;
    border-radius: 16px;
    background: #fbf6f3;
}
.tns-account-entry .tns-phone-login {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    margin: 0;
}
.tns-account-entry .tns-phone-login h3 { font-size: 20px; }
.tns-account-entry .tns-phone-login [data-send-sms] { width: 100%; margin-right: 0; }
.tns-account-entry .tns-password-login { border-top: 1px solid #e7d9d2; margin: 16px 0 0; padding-top: 8px; }
.tns-account-entry .tns-password-login > summary { color: #6e231c; font-weight: 600; }
.tns-account-benefits { list-style: none; margin: 24px 0; padding: 0; }
.tns-account-benefits li { position: relative; margin: 12px 0; padding-left: 26px; font-size: 15px; }
.tns-account-benefits li::before { content: '✓'; position: absolute; left: 0; color: #8e3026; font-weight: 700; }
.tns-account-lookup-link { border-top: 1px solid #e7d9d2; padding-top: 20px; }
.tns-account-lookup-link strong { font-size: 15px; }
.tns-account-lookup-link p { font-size: 14px; margin: 6px 0 8px; color: #62534e; }
.tns-account-lookup-link a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; }
.tns-account-entry #customer_login { grid-column: 2; margin: 0; }
.tns-account-entry #customer_login > .col { width: 100%; max-width: 100%; flex-basis: 100%; padding: 0; border: 0; }
.tns-account-entry #customer_login > .col + .col { margin-top: 20px; }
.container.tns-lookup-page { max-width: 780px; margin-left: auto; margin-right: auto; padding: 32px 20px 48px; font-family: 'Be Vietnam Pro', sans-serif; color: #2d211e; }
.tns-service-nav { display: inline-flex; gap: 4px; background: #f5efeb; border-radius: 12px; padding: 4px; margin-bottom: 28px; }
.tns-service-nav a { display: inline-flex; align-items: center; justify-content: center; padding: 10px 18px; min-height: 44px; color: #62534e; font-size: 14px; font-weight: 600; border-radius: 9px; }
.tns-service-nav a[aria-current] { color: #6e231c; background: #fff; box-shadow: 0 1px 4px #2d211e14; }
.tns-lookup-intro > p:last-child { color: #62534e; margin-bottom: 24px; }
.tns-lookup-page .tns-track-page { width: 100%; max-width: none; margin: 0; padding: 0; }
.tns-lookup-page .tns-track-page .tns-track { max-width: none; background: #fbf6f3; border-color: #e7d9d2; border-radius: 16px; }
.tns-lookup-page .tns-track-head h2 { font-size: 20px; }
.tns-lookup-page .tns-track .tns-btn { background: #8e3026; color: #fff !important; border-color: #8e3026; font-weight: 700; min-height: 48px; }
.tns-lookup-page .tns-track .tns-btn:hover { background: #6e231c; }
.tns-lookup-page .tns-track .tns-btn:disabled { opacity: .65; cursor: wait; }
.tns-lookup-account { text-align: center; margin: 20px 0 0; font-size: 14px; color: #62534e; }
.tns-lookup-account a { color: #8e3026; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.tns-service-nav a:focus-visible, .tns-lookup-account a:focus-visible { outline: 2px solid #8e3026; outline-offset: 3px; }
@media (max-width: 700px) {
    .tns-account-entry { display: flex; flex-direction: column; gap: 20px; margin: 0 auto 32px; max-width: 520px; }
    .tns-account-entry > *, .tns-account-entry #customer_login { width: 100%; }
    .tns-account-entry .tns-account-welcome { padding: 0; }
    .tns-account-entry .tns-account-welcome h1 { font-size: 28px; }
    .tns-account-entry .tns-account-benefits { margin: 16px 0; }
    .tns-account-entry .tns-account-benefits li { margin: 8px 0; font-size: 14px; }
    .tns-account-entry .tns-account-lookup-link { padding-top: 12px; }
    .tns-account-entry .tns-account-lookup-link p { display: none; }
    .tns-account-entry .account-login-inner { padding: 20px; }
    .container.tns-lookup-page { padding: 24px 16px 40px; }
    .tns-service-nav { display: flex; }
    .tns-service-nav a { flex: 1; padding: 10px 8px; }
    .tns-lookup-page .tns-track { padding: 20px; }
    .tns-lookup-account a { display: inline-block; min-height: 44px; padding-top: 10px; }
}
.tns-account-welcome,
.tns-tracking-panel,
.tns-order-detail {
    border: 1px solid var(--tns-border);
    border-radius: 1rem;
    background: var(--tns-surface);
    padding: clamp(1rem, 3vw, 1.625rem);
    margin-bottom: 1.25rem;
}
.tns-account-welcome p:last-child,
.tns-tracking-panel > p:last-child,
.tns-order-detail dl:last-child {
    margin-bottom: 0;
}
.tns-account-shell a,
.tns-account-orders a,
.tns-tracking-panel a,
.tns-order-detail a:not(.button) {
    color: var(--tns-accent);
    text-decoration: underline;
    text-underline-offset: .15em;
    font-weight: 600;
}
.tns-account-shell :is(input, select, button),
.tns-tracking-panel :is(input, button),
.tns-order-detail .button {
    font-family: inherit;
}
.tns-account-shell label,
.tns-tracking-panel label {
    font-weight: 600;
}
.tns-account-shell input:not([type="checkbox"], [type="hidden"]),
.tns-tracking-panel input {
    min-height: 46px;
    font-size: 16px;
    border-radius: .5rem;
}
.tns-account-shell :focus-visible,
.tns-tracking-panel :focus-visible,
.tns-account-orders :focus-visible,
.tns-order-detail :focus-visible {
    outline: 2px solid var(--tns-accent);
    outline-offset: 2px;
}
.tns-account-shell .button.tns-account-primary,
.tns-tracking-panel .button.tns-account-primary,
.tns-order-detail .button.tns-account-primary {
    color: #fff;
    background: var(--tns-accent);
    border: 1px solid var(--tns-accent);
    text-decoration: none;
}
.tns-account-shell .button.tns-account-primary:hover,
.tns-tracking-panel .button.tns-account-primary:hover,
.tns-order-detail .button.tns-account-primary:hover {
    background: var(--tns-accent-hover);
}
.tns-account-shell .button.tns-account-secondary {
    display: inline-flex;
    color: var(--tns-accent);
    background: #fff;
    border: 1px solid var(--tns-accent);
}
.tns-account-shell .button:is(.tns-account-primary, .tns-account-secondary),
.tns-tracking-panel .button.tns-account-primary,
.tns-order-detail .button.tns-account-primary {
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border-radius: .5rem;
    padding: .65em 1em;
    font-size: .9375rem;
    line-height: 1.35;
    font-weight: 700;
    text-transform: none;
    letter-spacing: normal;
    white-space: normal;
}
.tns-tracking-panel {
    scroll-margin-top: 7rem;
}
.tns-tracking-fields {
    display: grid;
    gap: .75rem 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 1rem;
}
.tns-tracking-fields input {
    margin-bottom: .25rem;
}
.tns-account-hint,
.tns-account-eyebrow {
    color: var(--tns-muted);
    font-size: .875rem;
    margin-bottom: .75rem;
}
.tns-account-eyebrow {
    font-weight: 700;
    margin-bottom: .375rem;
}
.tns-tracking-error {
    border-left: 3px solid var(--tns-accent);
    background: #fff;
    padding: .75rem;
    color: var(--tns-accent-hover);
    font-weight: 600;
}
.tns-tracking-result {
    margin-bottom: 1rem;
}
.tns-order-detail dt {
    font-weight: 600;
}
.tns-order-detail dd {
    margin-inline-start: 0;
    margin-bottom: .5rem;
}
.tns-account-shell .tns-otp-check {
    text-align: left;
}
.tns-otp-check .xoo-ml-otp-sent-txt {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 .75rem;
    margin-bottom: .5rem;
    font-size: .9375rem;
}
.tns-otp-check .xoo-ml-otp-notice-cont {
    height: auto;
}
.tns-account-shell .tns-otp-check .xoo-ml-notice:empty {
    display: none;
}
.tns-otp-check .xoo-ml-otp-input-cont {
    display: flex;
    gap: .35rem;
    justify-content: flex-start;
    margin: 1rem 0;
}
.tns-account-shell .tns-otp-check input.xoo-ml-otp-input {
    flex: 0 1 2.625rem;
    min-width: 0;
    width: 100%;
    height: 46px;
    margin: 0;
    padding: .25rem;
    border: 1px solid #aa958b;
    background: #fff;
    font-size: 1.125rem;
    text-align: center;
}
.tns-account-shell .tns-otp-check input.xoo-ml-otp-input:focus {
    outline: 2px solid var(--tns-accent);
    outline-offset: 1px;
    border-color: var(--tns-accent);
}
.tns-account-shell .tns-otp-check button.xoo-ml-otp-submit-btn {
    max-width: none;
    margin: 0;
}
.tns-account-shell .tns-account-text-button {
    min-height: 44px;
    margin: 0;
    padding: .25rem .125rem;
    background: none;
    border: 0;
    color: var(--tns-accent);
    font: inherit;
    font-weight: 600;
    text-decoration: underline;
    text-transform: none;
    white-space: normal;
}
.tns-account-shell .xoo-ml-otp-resend-link:is(.xoo-ml-disabled, .xoo-ml-processing) {
    opacity: .6;
    cursor: wait;
}

@media (max-width: 520px) {
    .tns-tracking-fields {
        grid-template-columns: minmax(0, 1fr);
    }
    .tns-account-shell .button:is(.tns-account-primary, .tns-account-secondary),
    .tns-tracking-panel .button.tns-account-primary {
        width: 100%;
        margin-right: 0;
    }
}

.tns-phone-login [hidden] {
    display: none !important;
}
.tns-phone-login input {
    margin: .25rem 0 .75rem;
}
.tns-phone-login form button {
    margin-bottom: .75rem;
}
.tns-phone-login [data-phone-status]:empty {
    display: none;
}

.tns-phone-login {
    scroll-margin-top: 130px;
}
.tns-phone-login h3 {
    margin-top: 0;
}
.tns-password-login {
    margin: .75rem 0 1.5rem;
}
.tns-password-login > summary {
    cursor: pointer;
    color: #62534e;
    padding: .5rem 0;
    font-size: .875rem;
    min-height: 44px;
}
.tns-password-login[open] > summary {
    margin-bottom: .75rem;
}
.tns-phone-login .tns-account-text-button {
    display: inline-block;
    width: auto;
    min-height: 44px;
    padding: .5rem .25rem;
    border: 0;
    background: transparent;
    color: var(--tns-accent);
    font-size: .875rem;
    text-decoration: underline;
}
.tns-phone-login [data-resend]:disabled {
    opacity: .65;
}
.tns-phone-login [data-phone-status] {
    margin-bottom: 0;
}
@media (max-width: 520px) {
    .tns-account-welcome {
        padding: 1rem;
    }
    .tns-account-welcome h2 {
        font-size: 1.375rem;
    }
    .tns-account-welcome .tns-account-skip {
        display: inline-block;
        padding: .375rem 0;
    }
}

