@font-face {
    font-family: "Inter";
    src: url("./fonts/inter-cyrillic-400.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    unicode-range: U+0400-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Balance page */
.td-balance-page {
    display: grid;
    gap: 1.35rem;
    max-width: 1120px;
}

.td-balance-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    align-items: stretch;
    gap: 1rem;
}

.td-balance-hero-copy,
.td-balance-hero-card,
.td-balance-payment-card,
.td-balance-info-card,
.td-balance-section {
    border-radius: 28px;
    background: #fff;
    box-shadow: var(--td-shadow);
}

.td-balance-hero-copy {
    display: grid;
    align-content: center;
    min-height: 210px;
    padding: clamp(1.35rem, 3vw, 2.2rem);
}

.td-balance-hero-copy h1 {
    margin: .2rem 0 .55rem;
    color: var(--td-ink);
    font-size: clamp(2.1rem, 4vw, 3.65rem);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: .96;
}

.td-balance-hero-copy p {
    max-width: 680px;
    margin: 0;
    color: var(--td-muted);
    font-size: 1.02rem;
    line-height: 1.55;
}

.td-balance-hero-card {
    display: grid;
    align-content: center;
    min-height: 210px;
    padding: clamp(1.25rem, 2.5vw, 1.85rem);
    color: #101828;
    background:
        radial-gradient(circle at 85% 12%, rgba(255, 255, 255, .74), transparent 32%),
        var(--td-yellow);
}

.td-balance-hero-card span,
.td-balance-hero-card small {
    color: rgba(16, 24, 40, .64);
    font-weight: 700;
}

.td-balance-hero-card strong {
    margin: .35rem 0 .1rem;
    font-size: clamp(3.1rem, 6vw, 5rem);
    font-weight: 800;
    letter-spacing: -.07em;
    line-height: .9;
}

.td-balance-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 1rem;
}

.td-balance-payment-card,
.td-balance-info-card,
.td-balance-section {
    padding: clamp(1.15rem, 2.5vw, 1.8rem);
}

.td-balance-payment-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.1rem;
    margin-bottom: 1.2rem;
}

.td-balance-payment-head h2,
.td-balance-info-card h2,
.td-balance-section-head h2 {
    margin: 0;
    color: var(--td-ink);
    font-size: clamp(1.45rem, 2.6vw, 2rem);
    font-weight: 800;
    letter-spacing: -.035em;
}

.td-balance-payment-head p,
.td-balance-section-head p {
    max-width: 620px;
    margin: .45rem 0 0;
    color: var(--td-muted);
    font-size: .96rem;
    line-height: 1.5;
}

.td-balance-payment-head img {
    width: min(188px, 35vw);
    aspect-ratio: 2.25 / 1;
    flex: 0 0 auto;
    border-radius: 20px;
    object-fit: cover;
}

.td-balance-payment-form {
    display: grid;
    gap: .9rem;
}

.td-balance-amount-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
}

.td-balance-amount-option {
    display: grid;
    gap: .12rem;
    min-height: 78px;
    padding: .85rem .9rem;
    border: 1px solid #edf1f7;
    border-radius: 18px;
    background: #f6f8fc;
}

.td-balance-amount-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.td-balance-amount-option:has(input:checked) {
    border-color: rgba(var(--td-blue-rgb), .18);
    background: #eef4ff;
}

.td-balance-amount-option span {
    color: var(--td-ink);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -.025em;
}

.td-balance-amount-option small {
    color: var(--td-muted);
    font-size: .78rem;
    font-weight: 600;
}

.td-balance-custom-amount {
    display: grid;
    gap: .45rem;
}

.td-balance-custom-amount > span {
    color: #344054;
    font-size: .84rem;
    font-weight: 700;
}

.td-balance-custom-amount > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .55rem .65rem .55rem 1rem;
    border-radius: 20px;
    background: #f6f8fc;
}

.td-balance-custom-amount .form-control {
    min-height: 44px;
    border: 0;
    border-radius: 14px;
    background: #fff;
    box-shadow: none;
    font-weight: 700;
}

.td-balance-custom-amount small {
    color: var(--td-muted);
    font-size: .82rem;
    font-weight: 700;
    white-space: nowrap;
}

.td-balance-payment-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 20px;
    color: #101828;
    background: var(--td-yellow);
}

.td-balance-payment-summary span,
.td-balance-payment-summary strong,
.td-balance-payment-summary small {
    display: block;
}

.td-balance-payment-summary small {
    margin-top: .15rem;
    color: rgba(16, 24, 40, .66);
    font-size: .8rem;
}

.td-balance-payment-summary b {
    flex: 0 0 auto;
    font-size: 1.2rem;
    letter-spacing: -.035em;
}

.td-balance-payment-form .btn {
    justify-self: start;
    min-height: 48px;
    padding: .78rem 1.35rem;
    border: 0;
    border-radius: 24px;
    color: #101828;
    background: var(--td-yellow);
    opacity: .8;
}

.td-balance-payment-form p {
    margin: 0;
    color: var(--td-muted);
    font-size: .84rem;
    line-height: 1.45;
}

.td-balance-info-card {
    display: grid;
    align-content: start;
    gap: 1rem;
    background: #f2f6fd;
}

.td-balance-rule-list {
    display: grid;
    gap: .65rem;
}

.td-balance-rule-list > div {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
    padding: .75rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, .78);
}

.td-balance-rule-list i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    color: var(--td-blue);
    background: #fff;
}

.td-balance-rule-list strong,
.td-balance-rule-list small {
    display: block;
}

.td-balance-rule-list strong {
    color: var(--td-ink);
    font-size: .92rem;
    font-weight: 800;
    line-height: 1.2;
}

.td-balance-rule-list small {
    margin-top: .15rem;
    color: var(--td-muted);
    font-size: .78rem;
    line-height: 1.35;
}

.td-balance-section {
    display: grid;
    gap: 1rem;
}

.td-balance-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.td-balance-price-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.td-balance-price-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
    padding: 1rem;
    border: 0;
    border-radius: 20px;
    background: #f8fafd;
}

.td-balance-price-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    color: var(--td-blue);
    background: #eef4ff;
}

.td-balance-price-card h3 {
    margin: 0;
    color: var(--td-ink);
    font-size: .98rem;
    font-weight: 800;
    letter-spacing: -.015em;
}

.td-balance-price-card p {
    margin: .25rem 0 0;
    color: var(--td-muted);
    font-size: .82rem;
    line-height: 1.4;
}

.td-balance-price-card strong {
    grid-column: 1 / -1;
    justify-self: start;
    padding: .42rem .68rem;
    border-radius: 999px;
    color: #101828;
    background: var(--td-yellow);
    font-size: .82rem;
}

.td-balance-history-wrap {
    overflow-x: auto;
}

.td-balance-history-table {
    width: 100%;
    min-width: 720px;
    border-collapse: separate;
    border-spacing: 0;
}

.td-balance-history-table th,
.td-balance-history-table td {
    padding: .9rem .85rem;
    border-bottom: 1px solid #edf1f7;
    color: #475467;
    font-size: .9rem;
    vertical-align: middle;
}

.td-balance-history-table th {
    color: var(--td-muted);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.td-balance-history-table tbody tr:last-child td {
    border-bottom: 0;
}

.td-balance-history-reason {
    color: var(--td-ink);
    font-weight: 700;
}

.td-balance-delta {
    display: inline-flex;
    justify-content: center;
    min-width: 70px;
    padding: .34rem .58rem;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 800;
}

.td-balance-delta--plus {
    color: #087443;
    background: #dcfae6;
}

.td-balance-delta--minus {
    color: #b42318;
    background: #fee4e2;
}

.td-balance-empty {
    display: grid;
    justify-items: center;
    gap: .3rem;
    padding: 2rem 1rem;
    color: var(--td-muted);
    text-align: center;
}

.td-balance-empty i {
    color: var(--td-blue);
    font-size: 1.8rem;
}

.td-balance-empty strong {
    color: var(--td-ink);
}

/* Admin balance */
.td-admin-balance-overview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.td-admin-balance-card {
    max-width: 1120px;
}

.td-admin-balance-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    max-width: 1120px;
}

.td-admin-balance-action-card {
    max-width: none;
}

.td-admin-balance-form {
    display: grid;
    grid-template-columns: minmax(260px, 1.2fr) minmax(180px, .55fr) minmax(220px, .9fr) auto;
    gap: .85rem;
    align-items: end;
}

.td-admin-balance-form--stacked {
    grid-template-columns: minmax(0, 1fr);
}

.td-admin-balance-form--stacked button {
    justify-self: start;
}

.td-admin-balance-form label,
.td-admin-balance-search {
    display: grid;
    gap: .38rem;
}

.td-admin-balance-form label > span {
    color: #344054;
    font-size: .8rem;
    font-weight: 800;
}

.td-admin-token-input {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    padding: .42rem .65rem .42rem .42rem;
    border-radius: 14px;
    background: #f6f8fc;
}

.td-admin-token-input .form-control {
    border: 0;
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
}

.td-admin-token-input small {
    color: var(--td-muted);
    font-size: .76rem;
    font-weight: 700;
}

.td-admin-balance-list-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.td-admin-balance-search {
    grid-template-columns: minmax(220px, 320px) auto;
    align-items: end;
}

.td-admin-balance-table-wrap {
    overflow-x: auto;
}

.td-admin-balance-table {
    width: 100%;
    min-width: 680px;
    border-collapse: separate;
    border-spacing: 0;
}

.td-admin-balance-table th,
.td-admin-balance-table td {
    padding: .9rem .85rem;
    border-bottom: 1px solid #edf1f7;
    color: #475467;
    font-size: .9rem;
}

.td-admin-balance-table th {
    color: var(--td-muted);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.td-admin-balance-table tbody tr:last-child td {
    border-bottom: 0;
}

.td-admin-balance-table strong {
    color: var(--td-ink);
}

.td-admin-balance-pill {
    display: inline-flex;
    padding: .38rem .64rem;
    border-radius: 999px;
    color: #101828;
    background: var(--td-yellow);
    font-size: .82rem;
    font-weight: 800;
}

@media (max-width: 991.98px) {
    .td-balance-hero,
    .td-balance-grid {
        grid-template-columns: 1fr;
    }

    .td-balance-price-grid,
    .td-admin-balance-overview,
    .td-admin-balance-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .td-admin-balance-form {
        grid-template-columns: 1fr 1fr;
    }

    .td-admin-balance-form button {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

@media (max-width: 575.98px) {
    .td-balance-page {
        gap: 1rem;
    }

    .td-balance-hero-copy,
    .td-balance-hero-card,
    .td-balance-payment-card,
    .td-balance-info-card,
    .td-balance-section {
        border-radius: 22px;
    }

    .td-balance-payment-head,
    .td-balance-section-head,
    .td-admin-balance-list-head {
        flex-direction: column;
    }

    .td-balance-payment-head img {
        width: 150px;
    }

    .td-balance-amount-grid,
    .td-balance-price-grid,
    .td-admin-balance-overview,
    .td-admin-balance-actions,
    .td-admin-balance-form,
    .td-admin-balance-search {
        grid-template-columns: 1fr;
    }

    .td-balance-custom-amount > div,
    .td-balance-payment-summary {
        align-items: stretch;
        flex-direction: column;
    }

    .td-balance-custom-amount > div {
        grid-template-columns: 1fr;
    }

    .td-balance-payment-form .btn,
    .td-admin-balance-form button,
    .td-admin-balance-search .btn {
        width: 100%;
    }
}

@font-face {
    font-family: "Inter";
    src: url("./fonts/inter-latin-400.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    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: "Inter";
    src: url("./fonts/inter-cyrillic-500.woff2") format("woff2");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    unicode-range: U+0400-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: "Inter";
    src: url("./fonts/inter-latin-500.woff2") format("woff2");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    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: "Inter";
    src: url("./fonts/inter-cyrillic-600.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    unicode-range: U+0400-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: "Inter";
    src: url("./fonts/inter-latin-600.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    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: "Manrope";
    src: url("./fonts/manrope-cyrillic-500.woff2") format("woff2");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    unicode-range: U+0400-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: "Manrope";
    src: url("./fonts/manrope-latin-500.woff2") format("woff2");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    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: "Manrope";
    src: url("./fonts/manrope-cyrillic-600.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    unicode-range: U+0400-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: "Manrope";
    src: url("./fonts/manrope-latin-600.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    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: "Manrope";
    src: url("./fonts/manrope-cyrillic-700.woff2") format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    unicode-range: U+0400-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: "Manrope";
    src: url("./fonts/manrope-latin-700.woff2") format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    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;
}

:root {
    --td-black: #101828;
    --td-ink: #182033;
    --td-muted: #667085;
    --td-border: #e7ebf2;
    --td-bg: #ffffff;
    --td-surface: #f6f8fc;
    --td-card: #ffffff;
    --td-blue: #3c6ad8;
    --td-blue-rgb: 60, 106, 216;
    --td-blue-hover: #315cbe;
    --td-blue-pressed: #294fa6;
    --td-navy: #172033;
    --td-yellow: #fcdd42;
    --td-pink: #f006b8;
    --td-radius-lg: 28px;
    --td-radius-md: 18px;
    --td-sidebar-width: 286px;
    --td-shadow: 0 18px 55px rgba(24, 32, 51, .08);
    --bs-primary: var(--td-blue);
    --bs-primary-rgb: var(--td-blue-rgb);
    --bs-link-color: var(--td-blue);
    --bs-link-color-rgb: var(--td-blue-rgb);
    --bs-link-hover-color: var(--td-blue-hover);
}

body {
    min-height: 100vh;
    background: var(--td-bg);
    color: var(--td-ink);
    font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-optical-sizing: auto;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: "Manrope", "Inter", ui-sans-serif, system-ui, sans-serif;
    font-weight: 600;
    line-height: 1.22;
    letter-spacing: -.02em;
}

.td-panel {
    background: #fff;
    border: 1px solid var(--td-border);
    border-radius: 8px;
    padding: 1.25rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.td-panel-soft {
    background: #f8fafc;
    border: 1px solid var(--td-border);
    border-radius: 8px;
    padding: .85rem 1rem;
}

.td-stat,
.td-mini {
    background: #fff;
    border: 1px solid var(--td-border);
    border-radius: 8px;
    padding: 1rem;
}

.td-stat span,
.td-mini span {
    display: block;
    color: var(--td-muted);
    font-size: .875rem;
}

.td-stat strong {
    display: block;
    font-size: 2rem;
    line-height: 1.1;
}

.td-mini strong {
    display: block;
    margin-top: .25rem;
}

.td-finding-note {
    height: 100%;
    border: 1px solid #fff;
    border-radius: 16px;
    padding: .85rem;
    background: #f4f6fa;
    box-shadow: none;
}

.td-finding-note span {
    display: block;
    color: var(--td-muted);
    font-size: .8rem;
    margin-bottom: .35rem;
}

.td-finding-note strong {
    display: block;
    margin-bottom: .35rem;
}

.td-finding-note p {
    margin: 0;
}

.td-empty,
.td-loading {
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    padding: 1.5rem;
    background: #fff;
    color: var(--td-muted);
}

.td-analysis-progress {
    height: 26px;
    border-radius: 7px;
    background: #eef0f4;
    box-shadow: none;
}

.td-process-notice {
    margin-top: .55rem;
    color: var(--td-muted);
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.45;
}

.td-process-notice--compact {
    margin-top: .45rem;
    font-size: .76rem;
}

.td-score-panel,
.td-subdomain-check {
    border: 1px solid var(--td-border);
    border-radius: 8px;
    padding: 1rem;
    background: #fff;
}

.td-score-number {
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1;
}

.td-score-number span {
    color: var(--td-muted);
    font-size: 1rem;
    font-weight: 500;
}

.td-score-progress {
    height: 26px;
    border-radius: 7px;
}

.td-analysis-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.td-wizard-nav {
    top: 32px;
}

.td-wizard-nav .td-step-item {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: .65rem;
    align-items: center;
    min-height: 58px;
}

.td-step-copy {
    display: grid;
    gap: .16rem;
    min-width: 0;
}

.td-step-label {
    color: inherit;
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.25;
}

.td-step-status {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    border-radius: 999px;
    padding: .13rem .46rem;
    background: #f3f5f9;
    color: var(--td-muted);
    font-size: .74rem;
    font-weight: 500;
    line-height: 1.25;
}

.td-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    color: #8b95a7;
    background: #f0f2f6;
    font-size: .82rem;
    font-weight: 600;
    line-height: 1;
}

.td-step-complete {
    color: #111827;
    background: #f9fafb;
}

.td-step-locked {
    background: transparent;
}

.td-keywords {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.td-keyword-pill {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    max-width: 100%;
    min-height: 30px;
    border: 1px solid var(--td-border);
    border-radius: 999px;
    padding: .2rem .35rem .2rem .65rem;
    background: #fff;
    font-size: .875rem;
}

.td-keyword-view {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.td-keyword-label {
    overflow-wrap: anywhere;
}

.td-keyword-pill form {
    margin: 0;
}

.td-keyword-edit-form {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-width: min(520px, 80vw);
}

.td-keyword-edit-form .form-control {
    min-width: min(320px, 48vw);
}

.td-keyword-pill .btn {
    padding: .05rem .35rem;
    color: #6b7280;
    text-decoration: none;
}

.td-manual-keyword {
    border: 1px solid var(--td-border);
    border-radius: 8px;
    padding: 1rem;
    background: #fff;
}

.td-keyword-frequency-list {
    display: grid;
    gap: .75rem;
}

.td-keyword-frequency {
    border: 1px solid var(--td-border);
    border-radius: 8px;
    padding: 1rem;
    background: #fcfcfd;
}

.td-choice-group {
    border: 1px solid var(--td-border);
    border-radius: 8px;
    padding: .75rem;
    background: #fff;
}

.td-tariff-description {
    max-width: 680px;
    line-height: 1.5;
}

.td-keyword-picker .form-select,
.td-keyword-picker .btn,
.td-manual-keyword-input,
.td-manual-keyword-button {
    height: 50px;
    min-height: 50px;
}

.td-keyword-picker {
    border-radius: 16px;
    padding: 1.5rem;
    background: #f4f6fa;
}

.td-keyword-picker-grid,
.td-manual-keyword-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 250px);
    column-gap: 1rem;
    row-gap: .65rem;
    align-items: start;
}

.td-keyword-picker-grid {
    grid-template-areas:
        "label ."
        "select button"
        "description description"
        "note note";
}

.td-keyword-picker-grid--compact {
    grid-template-areas:
        "select button"
        "description description"
        "note note";
}

.td-keyword-picker-label {
    grid-area: label;
    margin-bottom: 0;
    font-weight: 600;
}

.td-keyword-picker-select {
    grid-area: select;
    width: min(100%, 520px);
}

.td-keyword-picker-button {
    grid-area: button;
    width: 100%;
}

.td-keyword-picker-submit {
    grid-area: button;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .8rem;
}

.td-keyword-picker-submit .td-keyword-picker-button {
    flex: 1 1 auto;
    grid-area: auto;
    min-width: 0;
    width: auto;
}

.td-keyword-picker-description {
    grid-area: description;
    max-width: 760px;
    color: #667085;
    font-size: .9rem;
    line-height: 1.55;
}

.td-keyword-picker-note {
    grid-area: note;
    line-height: 1.45;
}

.td-city-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .5rem;
}

.td-city-option {
    min-height: 54px;
    margin: 0;
    border: 1px solid var(--td-border);
    border-radius: 6px;
    padding: .5rem .5rem .5rem 2rem;
    background: #fcfcfd;
}

.td-city-sources {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.td-city-sources span {
    border: 1px solid var(--td-border);
    border-radius: 999px;
    padding: .15rem .5rem;
    background: #f8fafc;
}

.td-city-result-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: .5rem;
    max-height: 360px;
    overflow: auto;
    padding-right: .15rem;
}

.td-city-result {
    border: 1px solid var(--td-border);
    border-radius: 6px;
    padding: .65rem;
    background: #fcfcfd;
}

.td-city-result strong,
.td-city-result span,
.td-city-result small {
    display: block;
}

.td-city-result span,
.td-city-result small {
    color: var(--td-muted);
}

.td-generation-settings {
    border: 1px solid var(--td-border);
    border-radius: 8px;
    padding: 1rem;
    background: #f8fafc;
}

.td-group-list {
    max-height: none;
}

.td-ad-browser-toolbar {
    display: grid;
    grid-template-columns: minmax(180px, .8fr) minmax(280px, 1.4fr);
    gap: .75rem;
    align-items: end;
    border: 1px solid var(--td-border);
    border-radius: 10px;
    padding: 1rem;
    background: #f8fafc;
}

.td-ad-browser-toolbar-active {
    grid-template-columns: minmax(180px, .8fr) minmax(180px, .8fr) minmax(280px, 1.4fr);
}

.td-ad-browser-toolbar-simple {
    grid-template-columns: 1fr;
}

.td-ad-browser-toolbar-simple .td-ad-browser-stats {
    min-height: 0;
}

.td-ad-browser-stats {
    min-height: 62px;
    border: 1px solid var(--td-border);
    border-radius: 8px;
    padding: .65rem .75rem;
    background: #fff;
}

.td-ad-browser-stats span,
.td-ad-browser-stats small {
    display: block;
    color: var(--td-muted);
    font-size: .78rem;
}

.td-ad-browser-stats strong {
    display: block;
    margin-top: .1rem;
}

.td-city-filter {
    min-width: 0;
}

.td-city-filter .form-select {
    min-width: 0;
}

.td-group-navigator {
    border: 1px solid var(--td-border);
    border-radius: 10px;
    padding: 1rem;
    background: #fff;
}

.td-group-nav-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

.td-group-nav-card {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: .6rem;
    align-items: center;
    min-height: 58px;
    border: 1px solid var(--td-border);
    border-radius: 8px;
    padding: .55rem .65rem;
    color: #111827;
    background: #fcfcfd;
    text-decoration: none;
}

.td-group-nav-card:hover {
    border-color: #9ca3af;
    color: #111827;
    background: #fff;
}

.td-group-nav-card strong,
.td-group-nav-card small {
    display: block;
}

.td-group-nav-card strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.td-group-nav-card small {
    color: var(--td-muted);
}

.td-group-nav-number,
.td-group-summary-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #111827;
    color: #fff;
    font-size: .78rem;
    font-weight: 700;
}

.td-group {
    border: 1px solid var(--td-border);
    border-radius: 10px;
    background: #fcfcfd;
    scroll-margin-top: 88px;
    overflow: hidden;
}

.td-group[open] {
    border-color: #cbd5e1;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}

.td-group-summary {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto 20px;
    gap: .7rem;
    align-items: center;
    min-height: 68px;
    padding: .8rem 1rem;
    background: #fff;
    cursor: pointer;
    list-style: none;
}

.td-group-summary::-webkit-details-marker {
    display: none;
}

.td-group-summary:hover {
    background: #f8fafc;
}

.td-group-summary-main strong,
.td-group-summary-main small {
    display: block;
}

.td-group-summary-main small {
    margin-top: .15rem;
    color: var(--td-muted);
}

.td-group-summary-toggle::before {
    content: '+';
    color: var(--td-muted);
    font-size: 1.25rem;
    line-height: 1;
}

.td-group[open] .td-group-summary-toggle::before {
    content: '−';
}

.td-group-body {
    border-top: 1px solid var(--td-border);
    padding: 1rem;
}

.td-group-assets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    border: 1px solid var(--td-border);
    border-radius: 8px;
    padding: .85rem;
    background: #fff;
}

.td-sitelink-list {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.td-sitelink {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    border: 1px solid var(--td-border);
    border-radius: 999px;
    padding: .2rem .55rem;
    color: #111827;
    background: #f8fafc;
    font-size: .875rem;
    text-decoration: none;
}

.td-sitelink:hover {
    border-color: #111827;
    color: #111827;
}

.td-ad {
    border: 1px solid var(--td-border);
    border-radius: 8px;
    padding: .75rem;
    background: #fff;
}

.td-ad-image {
    width: 120px;
    height: 72px;
    object-fit: cover;
    border: 1px solid var(--td-border);
    border-radius: 6px;
    background: #f3f4f6;
}

@media (max-width: 991.98px) {
    .td-ad-browser-toolbar,
    .td-group-nav-grid,
    .td-group-overview,
    .td-group-image-editor-body,
    .td-group-assets,
    .td-group-asset-form,
    .td-group-asset-form--sitelink {
        grid-template-columns: 1fr;
    }

    .td-group-summary {
        grid-template-columns: 34px minmax(0, 1fr) auto 20px;
    }

    .td-group-image-card,
    .td-group-image-editor {
        grid-column: auto;
        grid-row: auto;
    }

    .td-group-overview,
    .td-group-overview.is-editing {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .td-group-image-editor-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .td-group-image-tabs {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

}

@media (max-width: 575.98px) {
    .td-city-filter .d-flex,
    .td-group-navigator > .d-flex {
        align-items: stretch !important;
        flex-direction: column;
    }

    .td-group-navigator .btn-group {
        width: 100%;
    }

    .td-group-navigator .btn-group .btn {
        flex: 1 1 0;
    }
}

textarea,
input,
select,
.btn {
    border-radius: 6px !important;
}

.td-app-shell {
    min-height: 100vh;
}

.td-sidebar {
    position: fixed;
    inset: 20px auto auto 20px;
    z-index: 1020;
    width: var(--td-sidebar-width);
    height: calc(100vh - 40px);
    height: calc(100dvh - 40px);
    max-height: calc(100vh - 40px);
    max-height: calc(100dvh - 40px);
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    overflow-x: hidden;
    overflow-y: auto;
    color: #fff;
    background:
        radial-gradient(circle at 78% 5%, rgba(var(--td-blue-rgb), .2), transparent 30%),
        linear-gradient(180deg, #1a2540 0%, #111827 100%);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 30px;
    box-shadow: 0 24px 70px rgba(16, 24, 40, .22);
    overscroll-behavior: contain;
    scrollbar-color: rgba(255, 255, 255, .28) transparent;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
}

.td-sidebar::-webkit-scrollbar,
.td-mobile-nav .offcanvas-body::-webkit-scrollbar {
    width: 6px;
}

.td-sidebar::-webkit-scrollbar-track,
.td-mobile-nav .offcanvas-body::-webkit-scrollbar-track {
    background: transparent;
}

.td-sidebar::-webkit-scrollbar-thumb,
.td-mobile-nav .offcanvas-body::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(255, 255, 255, .24);
}

.td-sidebar:hover::-webkit-scrollbar-thumb,
.td-mobile-nav .offcanvas-body:hover::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, .38);
}

.td-sidebar-brand {
    padding: .35rem .35rem .75rem;
}

.td-brand {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.td-brand:hover {
    color: inherit;
}

.td-brand-logo,
.td-brand-fallback {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
}

.td-brand-logo {
    object-fit: contain;
    filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .14));
}

.td-brand-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    color: #fff;
    background: var(--td-blue);
    font-weight: 900;
}

.td-brand-text {
    display: grid;
    min-width: 0;
    line-height: 1.05;
}

.td-brand-text strong {
    font-family: "Manrope", "Inter", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -.03em;
}

.td-brand-text small {
    margin-top: .2rem;
    color: rgba(255, 255, 255, .58);
    font-size: .75rem;
}

.td-sidebar-nav {
    display: grid;
    gap: .35rem;
}

.td-sidebar-link {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-height: 46px;
    padding: .7rem .85rem;
    border-radius: 16px;
    color: rgba(255, 255, 255, .74);
    font-weight: 600;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.td-sidebar-link i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    font-size: 1rem;
}

.td-sidebar-link:hover {
    color: #fff;
    background: rgba(255, 255, 255, .08);
    transform: translateX(2px);
}

.td-sidebar-link.active {
    color: #fff;
    background: var(--td-blue);
    box-shadow: 0 10px 24px rgba(var(--td-blue-rgb), .24);
}

.td-nav-badge {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 22px !important;
    height: 22px;
    margin-left: auto;
    padding: 0 .34rem;
    border-radius: 7px;
    color: #fff !important;
    background: #ff00b6;
    box-shadow: 0 0 0 3px rgba(255, 0, 182, .14);
    font-size: .68rem !important;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.td-nav-badge[hidden] {
    display: none !important;
}

.td-sidebar-footer {
    display: grid;
    gap: .75rem;
    margin-top: auto;
}

.td-balance-card {
    display: block;
    padding: 1rem;
    border-radius: 22px;
    color: #111;
    background: var(--td-yellow);
}

.td-balance-card span {
    display: block;
    color: rgba(17, 17, 17, .64);
    font-size: .8rem;
    font-weight: 700;
}

.td-balance-card-title {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.td-balance-card-title i {
    color: #111;
    font-size: 1rem;
}

.td-balance-card strong {
    display: block;
    margin-top: .4rem;
    font-size: 1.35rem;
    letter-spacing: -.025em;
}

.td-balance-topup {
    display: inline-flex;
    align-items: center;
    gap: .15rem;
    margin-top: .75rem;
    color: #111;
    font-size: .82rem;
    font-weight: 600;
    text-decoration: none;
}

.td-balance-topup:hover,
.td-balance-topup:focus {
    color: #111;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.td-user-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .7rem;
    align-items: center;
    padding: .75rem;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 22px;
    background: rgba(255, 255, 255, .07);
}

.td-user-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    color: var(--td-black);
    background: #fff;
    font-weight: 900;
}

.td-user-meta {
    min-width: 0;
}

.td-user-meta span {
    display: block;
    overflow: hidden;
    color: rgba(255, 255, 255, .86);
    font-size: .86rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.td-logout-link {
    margin: .15rem 0 0;
    padding: 0;
    border: 0;
    color: rgba(255, 255, 255, .54);
    background: transparent;
    font-size: .8rem;
}

.td-logout-link:hover {
    color: #fff;
}

.td-main {
    min-height: 100vh;
    margin-left: calc(var(--td-sidebar-width) + 40px);
    padding: 32px 34px 56px 0;
}

.td-page-container {
    width: 100%;
    max-width: 1180px;
    margin: 0;
}

.td-mobile-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 72px;
    padding: .75rem 1rem;
    border-bottom: 1px solid rgba(229, 231, 235, .86);
    background: rgba(255, 255, 255, .9);
    backdrop-filter: blur(16px);
}

.td-mobile-header .td-brand-text strong {
    color: var(--td-black);
}

.td-mobile-balance {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: .25rem .7rem;
    border-radius: 999px;
    color: #fff;
    background: var(--td-blue);
    font-size: .86rem;
    font-weight: 900;
    text-decoration: none;
}

.td-mobile-nav {
    height: 100vh;
    height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    color: #fff;
    background: var(--td-black);
}

.td-mobile-nav .offcanvas-header {
    flex: 0 0 auto;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.td-mobile-nav .offcanvas-body {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom));
    overscroll-behavior: contain;
    scrollbar-color: rgba(255, 255, 255, .28) transparent;
    scrollbar-width: thin;
}

.td-mobile-nav .btn-close {
    filter: invert(1);
}

.td-public-navbar {
    top: 16px;
    width: min(1045px, calc(100% - 48px));
    margin: 16px auto 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 34px;
    color: #111827;
    background: rgba(237, 242, 248, .9);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.td-public-navbar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    max-width: none;
    min-height: 80px;
    padding: 10px 18px 10px 22px;
}

.td-public-brand {
    display: inline-flex;
    align-items: center;
    gap: .58rem;
    min-width: 0;
    color: #111827;
    font-family: "Manrope", "Inter", ui-sans-serif, system-ui, sans-serif;
    font-size: 1.62rem;
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1;
    text-decoration: none;
}

.td-public-brand:hover {
    color: #111827;
}

.td-public-brand-logo,
.td-public-brand-fallback {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
}

.td-public-brand-logo {
    object-fit: contain;
}

.td-public-brand-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: #111827;
    background: var(--td-yellow);
    font-size: .78rem;
    letter-spacing: -.02em;
}

.td-public-navbar .td-public-login {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 .95rem;
    border: 0;
    border-radius: 22px !important;
    color: #111827;
    background: var(--td-yellow);
    box-shadow: none;
    font-family: "Manrope", "Inter", ui-sans-serif, system-ui, sans-serif;
    font-size: .94rem;
    font-weight: 700;
    letter-spacing: -.02em;
    text-decoration: none;
}

.td-public-navbar .td-public-login:hover,
.td-public-navbar .td-public-login:focus-visible,
.td-public-navbar .td-public-login:active {
    border-color: var(--td-yellow);
    color: #111827;
    background: #ffe764;
    box-shadow: none;
}

.td-home .td-public-navbar .container {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.td-public-header-analyzer {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-5px) scale(.985);
    transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
}

.td-public-header-analyzer.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition-delay: 0s;
}

.td-public-header-analyzer .td-landing-analyzer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0;
    width: min(100%, 540px);
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 22px;
    background: transparent;
    box-shadow: none;
}

.td-public-header-analyzer .td-landing-analyzer-field {
    min-height: 44px;
    padding: 0 12px;
    border-radius: 22px 0 0 22px;
}

.td-public-header-analyzer .td-landing-analyzer input {
    font-size: .94rem;
}

.td-public-header-analyzer .td-landing-analyzer-submit {
    min-height: 44px;
    padding: 0 .85rem;
    border-radius: 0 22px 22px 0 !important;
    color: #111827;
    background: var(--td-yellow);
    font-size: .94rem;
}

.td-public-header-analyzer .td-landing-analyzer-submit:hover,
.td-public-header-analyzer .td-landing-analyzer-submit:focus {
    color: #111827;
    background: #ffe764;
}

.td-public-main {
    padding-top: 3rem;
    padding-bottom: 4rem;
}

.td-public.td-legal .td-public-main {
    padding-bottom: 0;
}

.td-public.td-auth-layout .td-public-main {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    min-height: 100dvh;
    padding: clamp(24px, 5vh, 52px) 1rem;
}

.td-home .td-public-main.container {
    max-width: none;
    padding: 0;
}

.td-authenticated h1,
.td-authenticated .h1,
.td-authenticated .h2,
.td-authenticated .h3 {
    font-weight: 600;
    letter-spacing: -.025em;
}

.td-authenticated h1,
.td-authenticated .h3 {
    font-size: clamp(2rem, 2.8vw, 3.25rem);
}

.td-authenticated .lead {
    color: #475467;
    font-size: clamp(1.05rem, 1.5vw, 1.28rem);
}

.td-page-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: clamp(1.2rem, 2vw, 1.65rem);
    border: 1px solid var(--td-border);
    border-radius: 32px;
    background: #fff;
    box-shadow: var(--td-shadow);
}

.td-page-kicker {
    margin-bottom: .35rem;
    color: var(--td-muted);
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.td-dashboard-heading,
.td-simple-heading {
    padding-top: .2rem;
}

.td-campaign-heading {
    padding-top: .2rem;
}

.td-campaign-heading h1 {
    color: var(--td-ink);
}

.td-campaign-site-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    max-width: 100%;
    margin-top: .55rem;
    color: var(--td-muted);
    font-size: .9rem;
    text-decoration: none;
}

.td-campaign-site-link span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.td-campaign-site-link i {
    flex: 0 0 auto;
    color: #98a2b3;
}

.td-campaign-site-link:hover,
.td-campaign-site-link:focus {
    color: var(--td-blue);
}

.td-campaign-owner {
    display: flex;
    align-items: center;
    gap: .35rem;
    width: fit-content;
    max-width: 100%;
    margin-top: .35rem;
    padding: .26rem .5rem;
    border-radius: 8px;
    color: #344054;
    background: #eef1f5;
    font-size: .78rem;
    font-weight: 600;
}

.td-campaign-owner i {
    flex: 0 0 auto;
    color: #667085;
}

.td-campaign-owner--hero {
    margin-top: 0;
    background: rgba(var(--td-blue-rgb), .1);
    color: var(--td-blue);
}

.td-campaign-owner--hero i {
    color: var(--td-blue);
}

.td-support-readonly-note {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    max-width: 760px;
    margin-top: 1rem;
    padding: .85rem 1rem;
    border-radius: 12px;
    color: #344054;
    background: #eef2f8;
    font-size: .9rem;
    line-height: 1.5;
}

.td-support-readonly-note i {
    flex: 0 0 auto;
    color: var(--td-blue);
}

.td-dashboard-heading h1,
.td-simple-heading h1 {
    color: var(--td-ink);
}

.td-guide-card {
    position: relative;
    display: flex;
    overflow: hidden;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    min-height: 470px;
    padding: 0;
    color: var(--td-ink);
    background: var(--td-navy);
}

.td-guide-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 35% center;
    background: rgba(var(--td-blue-rgb), .1);
}

.td-guide-card::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(90deg, rgba(11, 20, 40, .18) 0%, rgba(11, 20, 40, 0) 72%);
}

.td-guide-content {
    position: relative;
    z-index: 1;
    width: min(310px, calc(100% - 3rem));
    max-width: none;
    margin: 1.5rem;
    padding: 1.25rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 42px rgba(8, 15, 30, .22);
    backdrop-filter: blur(14px);
}

.td-guide-content .text-secondary {
    color: var(--td-muted) !important;
}

@media (min-width: 992px) {
    .td-dashboard-support > .td-dashboard-guide-col {
        flex: 0 0 54%;
        width: 54%;
    }

    .td-dashboard-support > .td-dashboard-chat-col {
        flex: 0 0 46%;
        width: 46%;
    }
}

.td-feedback-card {
    display: flex;
    flex-direction: column;
}

.td-feedback-card form {
    margin-top: auto;
}

.td-feedback-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 1rem;
    border-radius: 12px;
    color: #fff;
    background: var(--td-blue);
    font-size: 1.2rem;
}

.td-feedback-card textarea {
    min-height: 118px;
    resize: vertical;
}

.td-back-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-bottom: 1rem;
    color: var(--td-blue);
    font-weight: 600;
    text-decoration: none;
}

.td-back-link:hover {
    color: var(--td-blue-hover);
}

.td-instruction-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.td-instruction-grid--detailed {
    gap: 1.15rem;
}

.td-instruction-step {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.td-instruction-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    color: #fff;
    background: var(--td-blue);
    font-weight: 700;
}

.td-instruction-actions {
    display: grid;
    gap: .58rem;
    margin: .9rem 0 0;
    padding: 0;
    list-style: none;
}

.td-instruction-actions li {
    position: relative;
    padding-left: 1.05rem;
    color: var(--td-muted);
    font-size: .92rem;
    line-height: 1.48;
}

.td-instruction-actions li::before {
    position: absolute;
    top: .64em;
    left: .15rem;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    content: "";
    background: var(--td-blue);
}

.td-instruction-control {
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    padding: .1rem .48rem;
    border-radius: 999px;
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .1);
    font-weight: 700;
    white-space: nowrap;
}

.td-instruction-finish {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.text-secondary {
    color: var(--td-muted) !important;
}

.td-panel,
.td-stat,
.td-mini,
.td-score-panel,
.td-subdomain-check,
.td-manual-keyword,
.td-keyword-frequency,
.td-generation-settings,
.td-ad-browser-toolbar,
.td-group-navigator,
.td-group,
.td-empty,
.td-loading {
    border-color: var(--td-border);
    border-radius: var(--td-radius-lg);
    box-shadow: var(--td-shadow);
}

.td-panel,
.td-stat,
.td-mini,
.td-score-panel,
.td-subdomain-check,
.td-manual-keyword,
.td-group-navigator,
.td-group,
.td-empty,
.td-loading {
    background: rgba(255, 255, 255, .92);
}

.td-panel {
    padding: clamp(1.15rem, 2vw, 1.75rem);
}

.td-panel-soft,
.td-generation-settings,
.td-ad-browser-toolbar,
.td-choice-group,
.td-keyword-frequency,
.td-group-assets,
.td-ad {
    border-color: var(--td-border);
    border-radius: var(--td-radius-md);
    background: var(--td-surface);
}

.td-stat {
    min-height: 146px;
    padding: 1.25rem;
    background: #fff;
}

.td-stat strong {
    margin-top: .45rem;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    font-weight: 700;
    letter-spacing: -.045em;
}

.td-mini strong {
    font-size: 1.05rem;
}

.btn {
    border-color: var(--td-blue);
    border-radius: 8px !important;
    color: #fff;
    background: var(--td-blue);
    font-weight: 600;
    box-shadow: none;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.btn-dark,
.btn-outline-dark,
.btn-outline-secondary,
.btn-secondary {
    border-color: var(--td-blue);
    color: #fff;
    background: var(--td-blue);
    box-shadow: none;
}

.btn:hover,
.btn:focus,
.btn-dark:hover,
.btn-dark:focus,
.btn-outline-dark:hover,
.btn-outline-dark:focus,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    border-color: var(--td-blue-hover);
    color: #fff;
    background: var(--td-blue-hover);
    box-shadow: 0 8px 18px rgba(var(--td-blue-rgb), .24);
}

.btn:active,
.btn.active {
    border-color: var(--td-blue-pressed);
    color: #fff;
    background: var(--td-blue-pressed);
    box-shadow: 0 3px 8px rgba(var(--td-blue-rgb), .18);
}

.btn:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 4px rgba(var(--td-blue-rgb), .18);
}

.btn-link {
    border-color: transparent;
    color: var(--td-blue);
    background: transparent;
}

.btn-link:hover,
.btn-link:focus {
    border-color: transparent;
    color: var(--td-blue-hover);
    background: rgba(var(--td-blue-rgb), .07);
    box-shadow: none;
}

.btn:disabled,
.btn.disabled {
    border-color: #9eb3e6;
    color: #fff;
    background: #9eb3e6;
    box-shadow: none;
}

.badge.text-bg-dark {
    color: #fff !important;
    background: var(--td-black) !important;
}

.badge.text-bg-light {
    color: var(--td-black) !important;
    background: #f8fafc !important;
}

.form-control,
.form-select {
    border-color: var(--td-border);
    border-radius: 16px !important;
    padding: .72rem .9rem;
    background-color: #fff;
}

.form-control-sm,
.form-select-sm {
    min-height: 38px;
    padding: .45rem .7rem;
    border-radius: 12px !important;
}

.input-group .form-control {
    border-top-left-radius: 18px !important;
    border-bottom-left-radius: 18px !important;
}

.input-group .btn {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.table {
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--td-border);
}

.table-responsive.td-panel {
    overflow: hidden;
}

.table > :not(caption) > * > * {
    padding: .95rem 1rem;
}

.table thead th {
    color: var(--td-muted);
    background: #f8fafc;
    font-size: .76rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.table tbody tr:hover > * {
    background: rgba(var(--td-blue-rgb), .045);
}

.td-wizard-nav {
    top: 32px;
    --bs-list-group-border-width: 0;
    --bs-list-group-border-color: transparent;
    --bs-list-group-active-color: var(--td-ink);
    --bs-list-group-active-bg: transparent;
    --bs-list-group-active-border-color: transparent;
    display: grid;
    gap: .32rem;
    padding: .35rem;
    border: 0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(24, 32, 51, .09);
}

.td-wizard-nav .td-step-item {
    position: relative;
    box-sizing: border-box;
    border: 0;
    border-radius: 15px !important;
    padding: .78rem .72rem;
    color: var(--td-ink);
    background: transparent;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease;
}

.td-wizard-nav .list-group-item + .list-group-item,
.td-wizard-nav .list-group-item + .list-group-item.active {
    margin-top: 0;
    border-top-width: 0;
}

.td-wizard-nav .td-step-item:hover {
    color: var(--td-ink);
    background: #f7f8fb;
}

.td-wizard-nav .td-step-item.active {
    color: var(--td-ink);
    background: #f3f5f9;
    box-shadow: none;
}

.td-wizard-nav .td-step-item.active .td-step-label {
    color: var(--td-ink);
}

.td-group-nav-number,
.td-group-summary-number {
    border: 0;
    color: #fff;
    background: var(--td-blue);
}

.td-wizard-nav .td-step-item.active .td-step-number,
.td-wizard-nav .td-step--running .td-step-number {
    color: #fff;
    background: var(--td-blue);
}

.td-wizard-nav .td-step--done .td-step-number {
    color: #16845b;
    background: #e9f7ef;
}

.td-wizard-nav .td-step--done .td-step-status {
    color: #16845b;
    background: #e9f7ef;
}

.td-wizard-nav .td-step--locked .td-step-number {
    color: #a0a8b8;
    background: #f2f4f7;
}

.td-wizard-nav .td-step--locked .td-step-label,
.td-wizard-nav .td-step--locked .td-step-status {
    color: #98a2b3;
}

.td-wizard-nav .td-step--locked .td-step-status {
    background: transparent;
    padding-right: 0;
    padding-left: 0;
}

.td-wizard-nav .td-step-item.active .td-step-number {
    color: #fff;
    background: var(--td-blue);
}

.td-wizard-nav .td-step-item.active .td-step-status {
    color: var(--td-muted);
    background: #e8ebf1;
}

.td-step-locked {
    opacity: 1;
}

.progress {
    height: 26px;
    border-radius: 7px;
    background-color: #eef0f4;
    box-shadow: none;
}

.progress-bar.bg-dark,
.progress-bar {
    border-radius: inherit;
    background-color: var(--td-blue) !important;
    transition: width .35s ease;
}

.td-loading {
    border-style: solid;
    background: #fff;
}

.td-analysis-loading-card {
    position: relative;
    overflow: hidden;
    margin-top: .75rem;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.td-analysis-loading-head {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.td-analysis-loading-title {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
}

.td-analysis-loading-title .spinner-border {
    flex: 0 0 auto;
    margin-top: .15rem;
    color: var(--td-blue);
}

.td-analysis-timer {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: flex-end;
    color: var(--td-muted);
}

.td-analysis-timer strong {
    color: var(--td-ink);
    font-variant-numeric: tabular-nums;
}

.td-export-panel {
    position: relative;
    display: grid;
    gap: 1rem;
}

.td-export-head {
    max-width: 840px;
}

.td-export-copy {
    min-width: 0;
}

.td-export-copy h2 {
    margin: 0 0 .65rem;
    color: var(--td-ink);
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -.02em;
}

.td-export-copy p {
    margin: 0;
    color: var(--td-muted);
    font-size: .96rem;
    line-height: 1.55;
}

.td-export-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    padding: .55rem;
    border-radius: 18px;
    background: var(--td-surface);
}

.td-export-summary > div {
    display: grid;
    align-content: center;
    min-height: 68px;
    padding: .78rem .9rem;
    border-radius: 14px;
    background: #fff;
}

.td-export-summary small {
    color: var(--td-muted);
    font-size: .78rem;
    font-weight: 600;
}

.td-export-summary strong {
    margin-top: .08rem;
    color: var(--td-ink);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -.015em;
    line-height: 1.05;
}

.td-export-progress-card {
    padding: .95rem;
    border-radius: 18px;
    background: var(--td-surface);
}

.td-export-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
}

.td-export-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: .62rem 1rem;
    border-radius: 12px !important;
    font-size: .95rem;
    font-weight: 700;
}

.td-export-primary,
.td-export-primary:focus {
    border-color: var(--td-blue);
    color: #fff;
    background: var(--td-blue);
}

.td-export-primary:hover {
    border-color: var(--td-blue-hover);
    color: #fff;
    background: var(--td-blue-hover);
    box-shadow: 0 8px 18px rgba(var(--td-blue-rgb), .2);
}

.td-export-secondary,
.td-export-secondary:focus {
    border-color: var(--td-border);
    color: var(--td-blue);
    background: #fff;
}

.td-export-secondary:hover {
    border-color: rgba(var(--td-blue-rgb), .24);
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .06);
    box-shadow: none;
}

@media (max-width: 767.98px) {
    .td-export-summary {
        grid-template-columns: 1fr;
    }

    .td-export-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .td-export-actions .btn {
        width: 100%;
    }
}

.td-keyword-pill,
.td-sitelink,
.td-city-option,
.td-city-result,
.td-ad-browser-stats,
.td-group-nav-card {
    border-color: var(--td-border);
    border-radius: 16px;
}

.td-keyword-pill,
.td-ad-browser-stats,
.td-group-nav-card {
    background: #fff;
}

.td-group-nav-card:hover {
    border-color: rgba(var(--td-blue-rgb), .45);
    box-shadow: 0 10px 26px rgba(24, 32, 51, .08);
}

.td-group-summary {
    border-radius: 0;
    background: #fff;
}

.td-group[open] {
    border-color: rgba(var(--td-blue-rgb), .45);
}

.td-group-summary-toggle::before {
    color: var(--td-black);
}

.td-ad-image {
    width: 150px;
    height: 90px;
    border-color: var(--td-border);
    border-radius: 16px;
}

.td-page-hero,
.td-panel,
.td-panel-soft,
.td-stat,
.td-mini,
.td-finding-note,
.td-empty,
.td-loading,
.td-score-panel,
.td-subdomain-check,
.td-manual-keyword,
.td-keyword-frequency,
.td-choice-group,
.td-city-option,
.td-city-result,
.td-generation-settings,
.td-ad-browser-toolbar,
.td-ad-browser-stats,
.td-group-navigator,
.td-group-nav-card,
.td-group,
.td-group-assets,
.td-sitelink,
.td-keyword-pill,
.td-ad,
.td-wizard-nav,
.td-ad-image,
.accordion-item {
    border: 0 !important;
}

.td-keyword-pill,
.td-sitelink,
.td-city-option,
.td-city-result,
.td-ad-browser-stats,
.td-group-nav-card {
    background: #f4f6fa;
}

.td-score-panel {
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.td-analysis-context > [class*="col-"] {
    display: flex;
}

.td-analysis-context .td-mini {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 118px;
    border: 0 !important;
    border-radius: 16px;
    background: #f4f6fa;
    box-shadow: none;
}

.td-analysis-context .td-mini strong {
    flex: 1;
}

.td-analysis-summary p {
    color: #475467;
    font-size: 1rem;
    line-height: 1.65;
}

.td-analysis-intro,
.td-step-intro {
    max-width: 760px;
    color: #667085;
    font-size: .95rem;
    line-height: 1.55;
}

.td-generation-empty {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    border-radius: 16px;
    padding: 1.25rem;
    color: #667085;
    background: #f4f6fa;
}

.td-generation-empty > i {
    display: grid;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .12);
    font-size: 1.05rem;
}

.td-generation-start {
    border-radius: 16px;
    padding: 1.25rem;
    background: #f4f6fa !important;
    box-shadow: none;
}

.td-generation-start-head,
.td-generation-results-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.td-generation-stat span,
.td-generation-stat small,
.td-generation-field small {
    display: block;
    color: #667085;
    font-size: .8rem;
    line-height: 1.35;
}

.td-generation-stat strong {
    display: block;
    margin-top: .15rem;
    color: var(--td-ink);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.td-generation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1rem;
}

.td-generation-field {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    min-height: 100%;
    border-radius: 14px;
    padding: 1rem;
    background: #fff;
}

.td-generation-field-title {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--td-ink);
    font-weight: 600;
    line-height: 1.3;
}

.td-generation-field-title i {
    color: var(--td-blue);
}

.td-generation-field .form-select,
.td-generation-field .form-control,
.td-generation-submit {
    min-height: 50px;
}

.td-generation-radio-list {
    display: grid;
    gap: 0;
}

.td-generation-radio-list label {
    display: flex;
    gap: .75rem;
    align-items: center;
    min-height: 48px;
    margin: 0;
    padding: .55rem 0;
    border-bottom: 1px solid #eef1f6;
    color: #344054;
    font-size: .92rem;
    line-height: 1.35;
    cursor: pointer;
}

.td-generation-radio-list label:last-child {
    border-bottom: 0;
}

.td-generation-radio-list .form-check-input,
.td-generation-city-details .form-check-input {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    margin: 0;
    border: 2px solid #c7cfdd;
    background-color: #fff;
    cursor: pointer;
    box-shadow: none;
}

.td-generation-radio-list .form-check-input {
    border-radius: 7px;
}

.td-generation-radio-list .form-check-input:checked,
.td-generation-city-details .form-check-input:checked {
    border-color: var(--td-blue);
    background-color: var(--td-blue);
}

.td-generation-radio-list .form-check-input:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4' d='m5 10.5 3.2 3.2L15 7'/%3e%3c/svg%3e");
}

.td-generation-radio-list .form-check-input:focus,
.td-generation-city-details .form-check-input:focus {
    border-color: var(--td-blue);
    box-shadow: 0 0 0 4px rgba(var(--td-blue-rgb), .14);
}

.td-generation-radio-list label:has(.form-check-input:checked) {
    color: var(--td-ink);
}

.td-generation-city-details {
    grid-column: 1 / -1;
    overflow: hidden;
    border-radius: 14px;
    background: #fff;
}

.td-generation-city-details summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    cursor: pointer;
    list-style: none;
}

.td-generation-city-details summary::-webkit-details-marker {
    display: none;
}

.td-generation-city-details summary span {
    color: var(--td-ink);
    font-weight: 600;
}

.td-generation-city-summary-arrow {
    width: 8px;
    height: 8px;
    border-right: 2px solid #98a2b3;
    border-bottom: 2px solid #98a2b3;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .18s ease;
}

.td-generation-city-details[open] .td-generation-city-summary-arrow {
    transform: rotate(225deg) translate(-2px, -2px);
}

.td-generation-city-tools {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: 0 1rem .65rem;
    color: #98a2b3;
    font-size: .86rem;
    line-height: 1.35;
}

.td-generation-city-tools button {
    border: 0;
    padding: 0;
    color: var(--td-blue);
    background: transparent;
    font: inherit;
    line-height: inherit;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-decoration-thickness: 1px;
    text-underline-offset: .22em;
    cursor: pointer;
}

.td-generation-city-tools button:hover,
.td-generation-city-tools button:focus {
    color: var(--td-blue-hover);
    text-decoration: none;
}

.td-generation-city-tools button:focus-visible {
    outline: 2px solid rgba(var(--td-blue-rgb), .24);
    outline-offset: 3px;
    border-radius: 4px;
}

.td-generation-city-details .td-city-grid {
    gap: .65rem;
    padding: 0 1rem 1rem;
    background: #fff;
}

.td-generation-city-details .td-city-option,
.td-generation-city-details .td-city-result {
    background: #fff !important;
}

.td-generation-city-details .td-city-option {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    column-gap: .7rem;
    row-gap: .42rem;
    align-items: start;
    min-height: 94px;
    border: 0;
    border-radius: 14px;
    padding: .8rem;
    background: #fff !important;
    cursor: pointer;
    transition: background-color .18s ease;
}

.td-generation-city-details .td-city-option:has(.form-check-input:checked) {
    background: var(--td-surface) !important;
}

.td-generation-city-details .td-city-option .form-check-input {
    grid-column: 1;
    grid-row: 1 / span 2;
    float: none;
    margin-top: .05rem;
}

.td-generation-city-details .td-city-option .form-check-label {
    grid-column: 2;
    flex: 1 1 auto;
    min-width: 0;
    color: var(--td-ink);
    font-weight: 600;
    line-height: 1.25;
}

.td-generation-city-details .td-city-option small {
    margin-top: .12rem;
    color: #667085 !important;
    font-size: .8rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.td-city-option-price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-column: 2;
    justify-self: start;
    min-height: 24px;
    padding: .25rem .5rem;
    border-radius: 999px;
    color: #172033;
    background: var(--td-yellow);
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.15;
    white-space: nowrap;
}

.td-generation-recreate-details {
    overflow: hidden;
    border-radius: 16px;
    background: #f4f6fa;
}

.td-generation-recreate-details > summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    cursor: pointer;
    list-style: none;
}

.td-generation-recreate-details > summary::-webkit-details-marker {
    display: none;
}

.td-generation-recreate-details > summary span:first-child {
    color: var(--td-ink);
    font-weight: 600;
}

.td-generation-recreate-details[open] > summary .td-generation-city-summary-arrow {
    transform: rotate(225deg) translate(-2px, -2px);
}

.td-generation-recreate {
    border-radius: 0;
    padding: 0 1.25rem 1.25rem;
}

.td-generation-recreate .td-generation-grid {
    margin-top: 0;
}

.td-generation-start-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: .4rem;
}

.td-generation-time-note {
    max-width: 520px;
    color: #667085;
    font-size: .88rem;
    line-height: 1.45;
}

.td-generation-submit-row {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.td-generation-total-cost {
    display: grid;
    flex: 0 0 auto;
    gap: .12rem;
    text-align: right;
    white-space: nowrap;
}

.td-generation-total-cost small {
    color: #98a2b3;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.2;
}

.td-generation-total-cost strong {
    color: var(--td-ink);
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.2;
}

.td-generation-submit {
    flex: 0 0 auto;
    min-width: 230px;
}

.td-generation-progress {
    margin-top: .95rem;
}

.td-generation-result-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}

.td-generation-summary {
    display: grid;
    grid-template-columns: minmax(130px, .45fr) minmax(130px, .45fr) minmax(280px, 1.1fr);
    gap: .75rem;
    align-items: stretch;
    border-radius: 16px;
    padding: .75rem;
    background: #f4f6fa;
}

.td-generation-summary--simple {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.td-generation-summary--active {
    grid-template-columns: minmax(120px, .35fr) minmax(120px, .35fr) minmax(180px, .55fr) minmax(280px, 1fr);
}

.td-generation-stat,
.td-city-filter {
    border-radius: 14px;
    padding: .9rem;
    background: #fff;
}

.td-generation-stat {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    column-gap: .7rem;
    align-items: center;
    align-content: center;
    row-gap: .08rem;
}

.td-generation-stat i {
    grid-row: 1 / span 3;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .12);
}

.td-generation-stat span {
    line-height: 1.15;
}

.td-generation-stat strong {
    margin-top: 0;
    font-size: 1.05rem;
    line-height: 1.15;
}

.td-generation-stat--wide strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.td-generation-index {
    overflow: hidden;
    border-radius: 16px;
    padding: 0;
    background: #f4f6fa;
}

.td-generation-index > summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    cursor: pointer;
    list-style: none;
}

.td-generation-index > summary::-webkit-details-marker {
    display: none;
}

.td-generation-index > summary span {
    color: var(--td-ink);
    font-weight: 600;
}

.td-generation-index > summary small {
    color: #667085;
}

.td-generation-index .td-group-nav-grid {
    padding: 0 1rem 1rem;
}

.td-group {
    border-radius: 16px !important;
    background: #fff;
    box-shadow: none !important;
}

.td-group[open] {
    background: #f4f6fa;
}

.td-group-summary {
    grid-template-columns: 36px minmax(0, 1fr) auto 18px;
    gap: .85rem;
    min-height: 66px;
    background: transparent;
}

.td-group-summary:hover {
    background: #f4f6fa;
}

.td-group[open] .td-group-summary {
    background: #f4f6fa;
}

.td-group-summary-number {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    color: #667085;
    background: #e8ebf1;
    font-size: .86rem;
}

.td-group[open] .td-group-summary-number {
    color: #fff;
    background: var(--td-blue);
}

.td-group-summary-main strong {
    line-height: 1.2;
}

.td-group-summary-main small {
    margin-top: .02rem;
    line-height: 1.2;
}

.td-group-disabled-label {
    color: #d92d20;
}

.td-group--disabled {
    opacity: .72;
}

.td-group--disabled[open] {
    opacity: 1;
}

.td-group-actions {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.td-group-actions form {
    display: inline-flex;
    margin: 0;
}

.td-group-action-btn {
    display: inline-grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border: 0;
    border-radius: 9px;
    padding: 0;
    color: #667085;
    background: transparent;
    cursor: pointer;
}

.td-group-action-btn:hover,
.td-group-action-btn:focus {
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .1);
}

.td-group-action-btn--danger:hover,
.td-group-action-btn--danger:focus {
    color: #d92d20;
    background: rgba(217, 45, 32, .08);
}

.td-group-summary-toggle {
    justify-self: center;
    width: 9px;
    height: 9px;
    border-right: 2px solid #98a2b3;
    border-bottom: 2px solid #98a2b3;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .18s ease, border-color .18s ease;
}

.td-group-summary-toggle::before {
    content: none !important;
}

.td-group-summary:hover .td-group-summary-toggle {
    border-color: var(--td-blue);
}

.td-group[open] .td-group-summary-toggle {
    transform: rotate(225deg) translate(-2px, -2px);
}

.td-group-body {
    border-top: 0;
    padding: 0 1rem 1rem;
}

.td-group-overview {
    width: auto;
    max-width: none;
}

.td-group-overview.is-editing {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 254px minmax(0, 1fr);
    column-gap: 1rem;
    align-items: start;
    width: auto;
}

.td-group-overview.is-editing .td-group-asset-head {
    grid-column: 1 / -1;
}

.td-group-overview.is-editing .td-group-image-card {
    grid-column: 1;
    grid-row: 2;
}

.td-group-overview.is-editing .td-group-image-editor {
    grid-column: 2;
    grid-row: 2;
    margin-top: 0;
}

.td-group-overview.is-editing .td-group-image-progress {
    grid-column: 1 / -1;
    grid-row: 3;
}

.td-group-site-strip {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-height: 46px;
    border-radius: 14px;
    padding: .72rem .9rem;
    background: #fff;
}

.td-group-asset {
    min-height: 100%;
    border-radius: 14px;
    background: #fff;
}

.td-group-site-label {
    flex: 0 0 auto;
    color: #98a2b3;
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: .02em;
    line-height: 1.25;
    text-transform: uppercase;
}

.td-group-site-link,
.td-group-site-empty {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-width: 0;
    color: var(--td-blue);
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.35;
}

.td-group-site-link span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.td-group-site-link {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .22em;
}

.td-group-site-link:hover {
    color: var(--td-blue-hover);
    text-decoration: none;
}

.td-group-site-empty {
    color: #667085;
}

.td-group-image-card {
    overflow: hidden;
    margin: 0;
    max-width: 254px;
    border-radius: 12px;
    background: #eef0f4;
}

.td-group-image-editor {
    min-width: 0;
    margin-top: .9rem;
    overflow: visible;
    border-radius: 0;
    background: transparent;
}

.td-group-image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #eef0f4;
}

.td-group-image-editor-head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
    margin-bottom: .7rem;
    padding: 0;
}

.td-group-image-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: .35rem;
    min-width: 0;
}

.td-group-image-tabs button {
    border: 0;
    border-radius: 9px;
    padding: .34rem .55rem;
    color: #667085;
    background: transparent;
    font-size: .82rem;
    line-height: 1.2;
    cursor: pointer;
}

.td-group-image-tabs button:hover,
.td-group-image-tabs button:focus {
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .08);
}

.td-group-image-tabs button.active {
    color: #fff;
    background: var(--td-blue);
}

.td-group-image-editor-body {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
}

.td-group-image-tool {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .7rem;
    align-items: start;
    border-top: 1px solid #eef1f6;
    border-radius: 0;
    padding: .75rem 0 0;
    background: transparent;
}

.td-group-image-tool--collection {
    grid-template-columns: minmax(0, 1fr);
}

.td-group-image-tool-copy h5 {
    margin: 0 0 .15rem;
    color: var(--td-ink);
    font-size: .92rem;
    font-weight: 600;
}

.td-group-image-tool-copy p {
    margin: 0;
    color: #667085;
    font-size: .82rem;
    line-height: 1.4;
}

.td-group-image-file {
    display: grid;
    gap: .45rem;
    margin: 0;
}

.td-group-image-file > span {
    color: #667085;
    font-size: .78rem;
    line-height: 1.25;
}

.td-group-image-tool .form-control,
.td-group-image-tool .btn {
    min-height: 36px;
}

.td-group-image-tool .btn {
    width: 100%;
}

.td-group-image-progress {
    margin-top: .85rem;
    border-radius: 12px;
    padding: .75rem .85rem;
    background: #f4f6fa;
}

.td-group-image-progress-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin-bottom: .55rem;
    color: #667085;
    font-size: .84rem;
}

.td-group-image-progress-head strong {
    color: var(--td-ink);
    font-variant-numeric: tabular-nums;
}

.td-group-image-progress-bar {
    height: 14px;
    border-radius: 5px;
}

.td-image-collection {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
    gap: .4rem;
}

.td-image-choice {
    position: relative;
    overflow: hidden;
    margin: 0;
    border: 2px solid transparent;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
}

.td-image-choice input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.td-image-choice img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.td-image-choice:hover {
    border-color: #d7dce8;
}

.td-image-choice:has(input:checked) {
    border-color: var(--td-blue);
    box-shadow: 0 0 0 3px rgba(var(--td-blue-rgb), .14);
}

@media (max-width: 991.98px) {
    .td-group-overview.is-editing {
        display: block;
        grid-column: auto;
    }

    .td-group-overview.is-editing .td-group-image-editor {
        margin-top: .9rem;
    }

    .td-group-image-tool {
        grid-template-columns: 1fr;
    }

    .td-group-image-tool .btn {
        width: 100%;
    }
}

.td-group-assets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    border-radius: 14px;
    padding: 0;
    background: transparent;
}

.td-group-asset {
    padding: 1rem;
}

.td-group-asset-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin-bottom: .65rem;
}

.td-group-asset-head h5 {
    margin: 0;
    color: var(--td-ink);
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.25;
}

.td-group-asset-edit {
    display: inline-grid;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 0;
    border-radius: 9px;
    color: #667085;
    background: transparent;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease;
}

.td-group-asset-edit:hover,
.td-group-asset-edit:focus {
    color: var(--td-blue);
    background: transparent;
}

.td-group-asset.is-editing .td-group-asset-edit {
    color: var(--td-blue);
    background: transparent;
}

.td-group-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.td-group-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    max-width: 100%;
    min-height: 30px;
    border-radius: 9px;
    padding: .32rem .58rem;
    color: #344054;
    background: #f4f6fa;
    font-size: .84rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.td-group-chip--negative {
    color: #4b5565;
    background: #eef1f6;
}

.td-group-chip--more {
    color: #667085;
}

.td-group-chip--link {
    padding-right: .2rem;
    padding-left: 0;
    color: var(--td-blue);
    background: transparent;
}

.td-group-chip--link > a {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .22em;
}

.td-group-chip--link > a:hover {
    color: var(--td-blue-hover);
    text-decoration: none;
}

.td-group-chip--editable form {
    display: none;
    margin: 0;
}

.td-group-asset.is-editing .td-group-chip--editable form {
    display: inline-flex;
}

.td-group-chip--editable button {
    display: inline-grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border: 0;
    border-radius: 7px;
    padding: 0;
    color: #98a2b3;
    background: transparent;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
}

.td-group-chip--editable button:hover,
.td-group-chip--editable button:focus {
    color: #d92d20;
    background: rgba(217, 45, 32, .08);
}

.td-group-empty-note {
    color: #667085;
    font-size: .86rem;
    line-height: 1.4;
}

.td-group-asset-form {
    display: none;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
    margin-top: .75rem;
}

.td-group-asset.is-editing .td-group-asset-form {
    display: grid;
}

.td-group-asset-form--sitelink {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1fr) auto;
}

.td-group-asset-form .form-control,
.td-group-asset-form .btn {
    min-height: 38px;
}

.td-group-ad-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin: 1rem 0 .65rem;
}

.td-group-ad-head h4 {
    margin: 0;
    color: var(--td-ink);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
}

.td-group-ad-head span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    min-height: 26px;
    border-radius: 8px;
    padding: .1rem .5rem;
    color: #667085;
    background: #fff;
    font-size: .8rem;
    font-variant-numeric: tabular-nums;
}

.td-ad {
    position: relative;
    overflow: hidden;
    border: 0 !important;
    border-radius: 14px !important;
    padding: 1rem;
    background: #fff;
    box-shadow: none;
}

.td-ad-preview {
    position: relative;
    min-width: 0;
    padding-right: 5rem;
}

.td-ad-preview-actions {
    position: absolute;
    top: -.2rem;
    right: -.2rem;
    display: inline-flex;
    align-items: center;
    gap: .1rem;
}

.td-ad-preview-actions form {
    display: inline-flex;
    margin: 0;
}

.td-ad-edit-toggle {
    position: static;
}

.td-ad.is-editing .td-ad-edit-toggle {
    color: var(--td-blue);
}

.td-ad-delete-toggle:hover,
.td-ad-delete-toggle:focus {
    color: #d92d20;
    background: transparent;
}

.td-ad-preview-title {
    display: inline;
    color: var(--td-blue);
    font-size: 1.08rem;
    font-weight: 500;
    line-height: 1.35;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.td-ad-preview-title:hover,
.td-ad-preview-title:focus {
    color: var(--td-blue-hover);
    text-decoration: none;
}

.td-ad-preview-address {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .2rem .42rem;
    margin-top: .3rem;
    color: #18723b;
    font-size: .84rem;
    line-height: 1.35;
}

.td-ad-preview-address strong {
    font-weight: 600;
}

.td-ad-preview-label {
    color: #667085;
    font-size: .76rem;
}

.td-ad-preview-text {
    max-width: 920px;
    margin: .35rem 0 0;
    color: #344054;
    font-size: .93rem;
    line-height: 1.45;
}

.td-ad-preview-sitelinks,
.td-ad-preview-callouts {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem .55rem;
    margin-top: .5rem;
    font-size: .86rem;
    line-height: 1.35;
}

.td-ad-preview-sitelinks a {
    color: var(--td-blue);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
}

.td-ad-preview-sitelinks a:hover,
.td-ad-preview-sitelinks a:focus {
    color: var(--td-blue-hover);
    text-decoration: none;
}

.td-ad-preview-sitelinks a + a::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 3px;
    margin: 0 .55rem .14em 0;
    border-radius: 50%;
    background: #98a2b3;
}

.td-ad-preview-callouts span + span::before {
    content: '·';
    margin-right: .55rem;
    color: #98a2b3;
}

.td-ad-preview-callouts {
    color: #667085;
    font-size: .8rem;
}

.td-ad-edit-form {
    margin-top: 1rem;
    border-top: 1px solid #eef1f6;
    padding-top: 1rem;
}

.td-ad-edit-form .form-label {
    margin-bottom: .32rem;
    color: #667085;
    font-size: .78rem;
}

.td-ad-edit-form .form-control {
    min-height: 38px;
}

.td-ad-edit-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-top: .8rem;
}

.td-ad-edit-actions > div {
    display: flex;
    align-items: center;
    gap: .5rem;
}

@media (max-width: 767.98px) {
    .td-home .td-public-navbar .container {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .td-public-header-analyzer {
        display: none;
    }

    .td-public-navbar .td-public-login {
        justify-self: end;
        width: fit-content;
    }
}

@media (max-width: 575.98px) {
    .td-ad-preview-title {
        font-size: 1rem;
    }

    .td-ad-edit-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .td-ad-edit-actions > div,
    .td-ad-edit-actions .btn {
        width: 100%;
    }

    .td-ad-edit-actions .btn {
        flex: 1 1 0;
    }
}

.td-ad-image {
    border-radius: 14px;
    background: #eef0f4;
    object-fit: cover;
}

.td-generation-next {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    border-radius: 16px;
    padding: 1rem;
    background: #f4f6fa;
}

.td-keyword-results-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
}

.td-keyword-group-count {
    flex: 0 0 auto;
    border-radius: 8px;
    padding: .38rem .62rem;
    color: #667085;
    background: #f4f6fa;
    font-size: .78rem;
    line-height: 1.2;
}

.td-keyword-frequency-list {
    gap: .65rem;
}

.td-keyword-frequency {
    overflow: hidden;
    border-radius: 16px !important;
    padding: 0;
    background: #fff;
    box-shadow: none;
}

.td-keyword-frequency[open] {
    background: #f4f6fa;
}

.td-keyword-frequency-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 18px;
    gap: .85rem;
    align-items: center;
    padding: 1rem 1.1rem;
    cursor: pointer;
    list-style: none;
}

.td-keyword-frequency-summary::-webkit-details-marker {
    display: none;
}

.td-keyword-frequency-summary::after {
    width: 8px;
    height: 8px;
    border-right: 2px solid #98a2b3;
    border-bottom: 2px solid #98a2b3;
    content: "";
    transform: rotate(45deg) translateY(-2px);
    transition: transform .18s ease;
}

.td-keyword-frequency[open] > .td-keyword-frequency-summary::after {
    transform: rotate(225deg) translate(-2px, -2px);
}

.td-keyword-frequency-summary:focus-visible {
    outline: 3px solid rgba(var(--td-blue-rgb), .18);
    outline-offset: -3px;
}

.td-keyword-frequency-body {
    padding: 0 1.1rem 1rem;
}

.td-keyword-columns,
.td-keyword-view {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 110px 104px;
    gap: .75rem;
    align-items: center;
}

.td-keyword-columns {
    padding: .15rem 0 .45rem;
    color: #98a2b3;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.td-keyword-columns span:nth-child(2) {
    text-align: right;
}

.td-keywords {
    display: grid;
    gap: 0;
}

.td-keyword-pill {
    display: block;
    min-height: 0;
    border-radius: 0;
    padding: .72rem 0;
    background: transparent;
    box-shadow: inset 0 -1px rgba(152, 162, 179, .2);
    font-size: .9rem;
}

.td-keyword-pill:last-child {
    box-shadow: none;
}

.td-keyword-label {
    color: #344054;
    font-weight: 500;
    line-height: 1.4;
}

.td-keyword-count {
    justify-self: end;
    color: #667085;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.td-keyword-row-actions {
    display: inline-flex;
    justify-content: flex-end;
    gap: .2rem;
}

.td-keyword-icon-btn {
    display: inline-grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border: 0 !important;
    border-radius: 7px !important;
    padding: 0 !important;
    color: #667085 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.td-keyword-icon-btn:hover,
.td-keyword-icon-btn:focus-visible {
    color: var(--td-blue) !important;
    background: rgba(var(--td-blue-rgb), .1) !important;
}

.td-keyword-delete-btn:hover,
.td-keyword-delete-btn:focus-visible {
    color: #b4232c !important;
    background: #fdebec !important;
}

.td-keyword-delete-form.is-confirming .td-keyword-delete-btn {
    width: auto;
    padding: 0 .55rem !important;
    color: #b4232c !important;
    background: #fdebec !important;
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
}

.td-keyword-edit-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: .5rem;
    align-items: center;
    width: 100%;
    min-width: 0;
}

.td-keyword-edit-form .form-control {
    min-width: 0;
}

.td-keyword-edit-form .btn {
    min-height: 38px;
}

.td-keyword-edit-form .btn-dark {
    color: #fff !important;
}

.td-manual-keyword {
    border-radius: 16px !important;
    padding: 1.25rem;
    background: #f4f6fa !important;
    box-shadow: none !important;
}

.td-keyword-workspace-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: baseline;
    margin-bottom: 1rem;
}

.td-keyword-workspace-tab {
    border: 0;
    border-bottom: 1px dotted currentColor;
    padding: 0;
    color: var(--td-blue);
    background: transparent;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.35;
    cursor: pointer;
}

.td-keyword-workspace-tab.active {
    border-bottom-color: transparent;
    color: var(--td-ink);
    font-weight: 600;
    cursor: default;
}

.td-keyword-workspace-tab:not(.active):hover {
    color: var(--td-blue-hover);
}

.td-keyword-workspace-tab:focus-visible {
    border-radius: 3px;
    outline: 3px solid rgba(var(--td-blue-rgb), .18);
    outline-offset: 3px;
}

.td-keyword-workspace-separator {
    color: #98a2b3;
    font-size: .9rem;
}

.td-keyword-picker.td-keyword-picker--embedded {
    border-radius: 0;
    padding: 0;
    background: transparent;
}

.td-manual-keyword-grid {
    grid-template-areas:
        "input button"
        "note note";
}

.td-manual-keyword-input {
    grid-area: input;
}

.td-manual-keyword-button {
    grid-area: button;
    width: 100%;
}

.td-manual-keyword-note {
    grid-area: note;
    line-height: 1.5;
}

.td-keyword-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 1.5rem;
}

@media (max-width: 767.98px) {
    .td-keyword-results-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .td-keyword-frequency-summary {
        grid-template-columns: minmax(0, 1fr) auto 16px;
        padding: .9rem;
    }

    .td-keyword-frequency-body {
        padding: 0 .9rem .8rem;
    }

    .td-keyword-columns {
        display: none;
    }

    .td-keyword-view {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "label actions"
            "count actions";
        gap: .2rem .65rem;
    }

    .td-keyword-label {
        grid-area: label;
    }

    .td-keyword-count {
        grid-area: count;
        justify-self: start;
        font-size: .8rem;
    }

    .td-keyword-count::before {
        color: #98a2b3;
        content: "Частотность: ";
    }

    .td-keyword-row-actions {
        grid-area: actions;
    }

    .td-keyword-edit-form {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .td-keyword-edit-form .form-control {
        grid-column: 1 / -1;
    }

    .td-manual-keyword-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "input"
            "note"
            "button";
    }
}

.td-analysis-overview {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.td-analysis-overview-item {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 30px;
    border: 0;
    border-radius: 8px;
    padding: .32rem .62rem;
    color: var(--td-muted);
    background: #f4f6fa;
    font-family: inherit;
    font-size: .8rem;
    font-weight: 500;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease;
}

.td-analysis-overview-item strong {
    font-size: .9rem;
    font-weight: 700;
}

.td-analysis-overview-item--bad strong {
    color: #b4232c;
}

.td-analysis-overview-item--warning strong {
    color: #9a6700;
}

.td-analysis-overview-item--ok strong {
    color: #157347;
}

.td-analysis-overview-item:not(:disabled):hover {
    color: var(--td-ink);
    background: #e9edf3;
}

.td-analysis-overview-item:disabled {
    cursor: default;
    opacity: .52;
}

.td-analysis-overview-item--bad.active {
    color: #8f2d36;
    background: #fdebec;
}

.td-analysis-overview-item--warning.active {
    color: #735500;
    background: #fff3c4;
}

.td-analysis-overview-item--ok.active {
    color: #17603f;
    background: #e8f6ee;
}

.td-analysis-overview-item:focus-visible {
    outline: 3px solid rgba(var(--td-blue-rgb), .2);
    outline-offset: 2px;
}

.td-findings-section[hidden],
.accordion-item[hidden],
.td-analysis-overview-item[hidden] {
    display: none !important;
}

#analysis .accordion {
    display: grid;
    gap: .3rem;
}

#analysis .accordion-item {
    background: transparent;
}

#analysis .accordion-button {
    min-height: 60px;
    border-radius: 12px !important;
    padding: .75rem 1rem;
    color: var(--td-ink);
    background: transparent;
    box-shadow: none;
}

#analysis .accordion-button:hover,
#analysis .accordion-button:not(.collapsed) {
    color: var(--td-ink);
    background: #f4f6fa;
    box-shadow: none;
}

#analysis .accordion-button:focus {
    box-shadow: none;
}

#analysis .accordion-button.collapsed .td-finding-description {
    display: none !important;
}

.td-finding-heading-copy {
    min-width: 0;
    line-height: 1.3;
}

#analysis .accordion-body {
    padding: 1rem 0 .75rem;
}

.td-analysis-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.td-analysis-restart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    margin: 0;
}

.td-analysis-action-btn {
    display: inline-flex;
    width: 186px;
    min-width: 186px;
    min-height: 42px;
    align-items: center;
    justify-content: center;
}

.td-analysis-restart .td-analysis-action-btn {
    border-color: rgba(var(--td-blue-rgb), .4);
    color: var(--td-blue);
    background: #fff;
    box-shadow: none;
}

.td-analysis-restart .td-analysis-action-btn:hover,
.td-analysis-restart .td-analysis-action-btn:focus {
    border-color: var(--td-blue);
    color: var(--td-blue-hover);
    background: rgba(var(--td-blue-rgb), .06);
    box-shadow: none;
}

.td-panel > h2,
.td-panel > h3,
.td-panel > h4 {
    margin-bottom: 1rem;
}

.td-panel.td-guide-card {
    padding: 0;
    background: var(--td-navy);
}

.td-guide-content > h2,
.td-feedback-card > h2,
.td-instruction-step h2 {
    margin-bottom: .5rem !important;
}

.td-guide-content > p,
.td-feedback-card > p {
    margin-bottom: 1.5rem !important;
}

.td-status {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .3rem .65rem;
    border-radius: 8px;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.td-status--success {
    color: #157347;
    background: #e8f6ee;
}

.td-status--info {
    color: #2455b8;
    background: #eaf0ff;
}

.td-status--progress {
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .1);
}

.td-status--danger {
    color: #b4232c;
    background: #fdebec;
}

.td-status--neutral {
    color: #596273;
    background: #eef1f5;
}

.td-demo-pill {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-weight: 700;
    min-height: 30px;
    padding: .32rem .7rem;
    border-radius: 8px;
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .1);
    font-size: .78rem;
    white-space: nowrap;
}

.td-demo-inline {
    padding: .75rem .85rem;
    border-radius: 10px;
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .1);
    font-size: .88rem;
    font-weight: 600;
}

.td-new-campaign-demo-note {
    max-width: 620px;
    margin-top: 1rem;
    color: var(--td-muted);
    font-size: .84rem;
    line-height: 1.5;
}

.td-admin-settings {
    display: grid;
    gap: 1.25rem;
    max-width: 1120px;
}

.td-admin-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    max-width: 1120px;
    margin-bottom: 1.25rem;
}

.td-admin-page-head .td-page-kicker {
    display: flex;
    align-items: center;
    gap: .4rem;
}

.td-admin-navigation {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem;
    max-width: 1120px;
    margin-bottom: 1.5rem;
    padding: .55rem;
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--td-shadow);
}

.td-admin-navigation-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    gap: .4rem;
}

.td-admin-navigation-link,
.td-admin-access {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: .78rem .85rem;
    border-radius: 11px;
}

.td-admin-navigation-link {
    color: #475467;
    text-decoration: none;
    transition: color .18s ease, background-color .18s ease;
}

.td-admin-navigation-link:hover,
.td-admin-navigation-link:focus-visible {
    color: var(--td-blue);
    background: #f5f7fb;
}

.td-admin-navigation-link.active {
    color: var(--td-blue);
    background: #eef2f8;
}

.td-admin-navigation-link > i,
.td-admin-access > i {
    flex: 0 0 auto;
    color: #98a2b3;
    font-size: 1.05rem;
}

.td-admin-navigation-link.active > i {
    color: var(--td-blue);
}

.td-admin-navigation-link span,
.td-admin-access span,
.td-admin-navigation-link strong,
.td-admin-navigation-link small,
.td-admin-access strong,
.td-admin-access small {
    display: block;
    min-width: 0;
}

.td-admin-navigation-link strong,
.td-admin-access strong {
    overflow: hidden;
    font-size: .84rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.td-admin-navigation-link small,
.td-admin-access small {
    overflow: hidden;
    margin-top: .12rem;
    color: var(--td-muted);
    font-size: .7rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.td-admin-access {
    max-width: 235px;
    color: #344054;
    background: #f5f7fa;
}

.td-admin-access > i {
    color: #25875a;
}

@media (min-width: 1280px) {
    .td-page-container.td-admin-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 238px;
        align-items: start;
        gap: 0 1.25rem;
        max-width: 1360px;
    }

    .td-admin-layout > :not(.td-admin-navigation) {
        grid-column: 1;
        width: 100%;
        max-width: none;
    }

    .td-admin-layout > .td-admin-navigation {
        position: sticky;
        top: 24px;
        grid-column: 2;
        grid-row: 1 / span 100;
        grid-template-columns: 1fr;
        align-content: start;
        width: 100%;
        max-width: none;
        max-height: calc(100vh - 48px);
        margin: 0;
        overflow-y: auto;
        scrollbar-color: rgba(72, 91, 126, .26) transparent;
        scrollbar-width: thin;
    }

    .td-admin-layout > .td-admin-navigation::-webkit-scrollbar {
        width: 4px;
    }

    .td-admin-layout > .td-admin-navigation::-webkit-scrollbar-track {
        background: transparent;
    }

    .td-admin-layout > .td-admin-navigation::-webkit-scrollbar-thumb {
        border-radius: 999px;
        background: rgba(72, 91, 126, .26);
    }

    .td-admin-layout .td-admin-navigation-links {
        grid-template-columns: 1fr;
    }

    .td-admin-layout .td-admin-navigation-link,
    .td-admin-layout .td-admin-access {
        min-height: 58px;
        padding: .68rem .75rem;
    }

    .td-admin-layout .td-admin-access {
        max-width: none;
    }
}

.td-admin-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    max-width: 1120px;
    margin-bottom: 1.25rem;
}

.td-admin-overview-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-height: 88px;
    padding: 1rem;
    border-radius: 16px;
    color: var(--td-text);
    background: #fff;
    box-shadow: var(--td-shadow);
    text-decoration: none;
    transition: background-color .18s ease;
}

.td-admin-overview-card:hover,
.td-admin-overview-card:focus-visible {
    color: var(--td-text);
    background: #f9fafc;
}

.td-admin-overview-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    color: var(--td-blue);
    background: #eef2f8;
}

.td-admin-overview-card > span:nth-child(2) > small,
.td-admin-overview-card > span:nth-child(2) > strong {
    display: block;
}

.td-admin-overview-card > span:nth-child(2) > small {
    margin-bottom: .15rem;
    color: var(--td-muted);
    font-size: .72rem;
}

.td-admin-overview-card > span:nth-child(2) > strong {
    font-size: .9rem;
    font-weight: 600;
}

.td-admin-overview-card .td-status {
    padding: .3rem .48rem;
    font-size: .68rem;
}

.td-admin-overview-arrow {
    color: #98a2b3;
}

.td-admin-card {
    display: grid;
    gap: 1.5rem;
    padding: clamp(1.25rem, 2.5vw, 2rem);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--td-shadow);
}

.td-newsletter-overview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.td-newsletter-card {
    max-width: 1120px;
}

.td-newsletter-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.td-newsletter-card-head h2 {
    color: #344054;
    font-weight: 700;
}

.td-newsletter-card-count,
.td-newsletter-source {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: .32rem .55rem;
    border-radius: 8px;
    color: #667085;
    background: #f2f4f7;
    font-size: .74rem;
    font-weight: 600;
}

.td-newsletter-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, .34fr) auto;
    align-items: end;
    gap: .8rem;
    padding: 1rem;
    border-radius: 14px;
    background: #f7f9fc;
}

.td-newsletter-filters label {
    display: grid;
    gap: .38rem;
    min-width: 0;
}

.td-newsletter-filters label > span {
    color: #475467;
    font-size: .76rem;
    font-weight: 600;
}

.td-newsletter-search-field {
    position: relative;
}

.td-newsletter-search-field > i {
    position: absolute;
    top: 50%;
    left: .78rem;
    z-index: 1;
    color: #98a2b3;
    transform: translateY(-50%);
}

.td-newsletter-search-field .form-control {
    padding-left: 2.3rem;
}

.td-newsletter-filters .btn {
    min-height: 38px;
}

.td-newsletter-table-wrap {
    overflow-x: auto;
}

.td-newsletter-table {
    width: 100%;
    min-width: 700px;
    border-collapse: collapse;
}

.td-newsletter-table th,
.td-newsletter-table td {
    padding: .9rem .7rem;
    border-bottom: 1px solid #edf0f5;
    text-align: left;
    vertical-align: middle;
}

.td-newsletter-table th {
    color: #667085;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.td-newsletter-table td {
    color: #667085;
    font-size: .84rem;
}

.td-newsletter-table td strong {
    color: #344054;
    font-weight: 600;
}

.td-newsletter-table tbody tr:last-child td {
    border-bottom: 0;
}

.td-newsletter-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: .3rem .5rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
}

.td-newsletter-status--active {
    color: #147b4b;
    background: #eaf8f0;
}

.td-newsletter-status--unsubscribed {
    color: #667085;
    background: #f2f4f7;
}

.td-newsletter-actions {
    text-align: right !important;
}

.td-newsletter-actions form {
    display: inline-flex;
}

.td-newsletter-empty {
    display: grid;
    justify-items: center;
    gap: .35rem;
    padding: 2.6rem 1rem;
    border-radius: 14px;
    color: #667085;
    background: #f7f9fc;
    text-align: center;
}

.td-newsletter-empty > i {
    color: var(--td-blue);
    font-size: 1.8rem;
}

.td-newsletter-empty > strong {
    color: #344054;
    font-size: .95rem;
}

.td-newsletter-empty > span {
    max-width: 430px;
    font-size: .82rem;
    line-height: 1.5;
}

.td-support-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.td-support-card {
    max-width: 1120px;
    margin-bottom: 1.25rem;
}

.td-support-page-shell {
    display: flex;
    min-width: 0;
    min-height: 0;
    width: 100%;
    height: 100%;
}

.td-support-fullscreen {
    overflow: hidden;
}

.td-support-fullscreen .td-main {
    display: flex;
    height: 100dvh;
    min-height: 100dvh;
    padding-bottom: 32px;
}

.td-support-fullscreen .td-page-container {
    display: flex;
    min-height: 0;
    height: 100%;
}

.td-support-chat {
    --td-support-chat-gutter: clamp(1.25rem, 1.8vw, 1.75rem);

    display: flex;
    overflow: hidden;
    flex-direction: column;
    width: 100%;
    min-height: 0;
    color: var(--td-text);
    background: #fff;
}

.td-support-chat--page {
    height: 100%;
    max-width: none;
    border: 0;
    border-radius: 18px;
    box-shadow: var(--td-shadow);
}

.td-support-chat--compact {
    --td-support-chat-gutter: 1.25rem;

    min-height: 470px;
    padding: 0;
}

.td-support-chat-head {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem var(--td-support-chat-gutter, 1.25rem);
    border-bottom: 0;
    background: #fff;
}

.td-support-chat:not(.td-support-chat--empty) .td-support-chat-head::after,
.td-admin-support-dialog-head::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -22px;
    left: 0;
    height: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .72) 42%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
}

.td-support-chat-title {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    min-width: 0;
}

.td-support-chat-title h2,
.td-support-chat-title p {
    margin: 0;
}

.td-support-chat-title p {
    max-width: 600px;
    font-size: .76rem;
    line-height: 1.35;
}

.td-support-chat-icon,
.td-support-expand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 9px;
}

.td-support-chat-icon {
    color: #fff;
    background: var(--td-blue);
    font-size: .95rem;
}

.td-support-expand {
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .09);
    text-decoration: none;
}

.td-support-thread {
    display: flex;
    overflow-y: auto;
    flex: 1 1 auto;
    flex-direction: column;
    gap: .55rem;
    min-height: 0;
    max-height: none;
    padding: 1.15rem var(--td-support-chat-gutter, 1.25rem);
    background: #fff;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    scrollbar-color: rgba(17, 24, 39, .1) transparent;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
}

.td-support-thread::-webkit-scrollbar {
    width: 2px;
}

.td-support-thread::-webkit-scrollbar-track {
    background: transparent;
}

.td-support-thread::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(17, 24, 39, .1);
}

.td-support-thread:hover::-webkit-scrollbar-thumb {
    background: rgba(17, 24, 39, .16);
}

.td-support-chat--compact .td-support-thread {
    min-height: 210px;
    max-height: 310px;
}

.td-admin-support-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    flex-direction: column;
    gap: .45rem;
    min-height: 190px;
    color: var(--td-muted);
    text-align: center;
}

.td-admin-support-placeholder i {
    margin-bottom: .3rem;
    color: #98a2b3;
    font-size: 1.7rem;
}

.td-admin-support-placeholder strong {
    color: var(--td-ink);
    font-size: .95rem;
}

.td-admin-support-placeholder span {
    max-width: 320px;
    font-size: .82rem;
}

.td-support-conversation-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    flex-wrap: wrap;
    width: 100%;
    margin: .22rem 0;
    color: #667085;
    font-size: .68rem;
}

.td-support-conversation-divider::before,
.td-support-conversation-divider::after {
    content: "";
    flex: 1 1 32px;
    min-width: 28px;
    border-top: 1px solid #edf0f5;
}

.td-support-conversation-divider span {
    padding: .24rem .5rem;
    border-radius: 999px;
    background: #f0f2f6;
}

.td-support-message {
    display: flex;
    align-items: flex-end;
    gap: .42rem;
    max-width: min(84%, 680px);
    min-width: 0;
}

.td-support-message--user {
    align-self: flex-end;
    flex-direction: row-reverse;
}

.td-support-message--admin {
    align-self: flex-start;
}

.td-support-message-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    user-select: none;
}

.td-support-message-avatar--user {
    color: var(--td-black);
    background: var(--td-yellow);
}

.td-support-message-logo {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.td-support-message-content {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

.td-support-message--user .td-support-message-content {
    justify-items: end;
}

.td-support-message--admin .td-support-message-content {
    justify-items: start;
}

.td-support-message-bubble {
    max-width: 100%;
    padding: .58rem .72rem;
    border-radius: 12px;
    font-size: .84rem;
    line-height: 1.42;
    overflow-wrap: anywhere;
}

.td-support-message--user .td-support-message-bubble {
    border-bottom-right-radius: 4px;
    color: #fff;
    background: var(--td-blue);
}

.td-support-message--admin .td-support-message-bubble {
    border: 1px solid #e2e6ed;
    border-bottom-left-radius: 4px;
    color: var(--td-ink);
    background: #f8fafc;
}

.td-support-message-meta {
    display: flex;
    color: #8b95a7;
    font-size: .62rem;
}

.td-support-system-message {
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: .34rem;
    max-width: 90%;
    padding: .36rem .6rem;
    border-radius: 999px;
    color: #596273;
    background: #f0f2f6;
    font-size: .68rem;
    text-align: center;
}

.td-support-system-message i {
    color: #25875a;
}

.td-support-composer {
    display: grid;
    gap: .6rem;
    margin: 0 var(--td-support-chat-gutter, 1.25rem) var(--td-support-chat-gutter, 1.25rem);
    padding: 1rem;
    border: 0;
    border-radius: 18px;
    background: #f7f8fb;
}

.td-support-chat--page.td-support-chat--empty .td-support-composer,
.td-support-chat--compact.td-support-chat--empty .td-support-composer {
    margin-top: auto;
    padding-top: 1rem;
}

.td-support-chat--compact.td-support-chat--empty .td-support-composer {
    padding-top: 1rem;
}

.td-support-category,
.td-support-message-field,
.td-admin-support-reply label,
.td-admin-support-close label {
    display: grid;
    gap: .32rem;
}

.td-support-category > span,
.td-admin-support-reply label > span,
.td-admin-support-close label > span {
    color: #475467;
    font-size: .72rem;
    font-weight: 600;
}

.td-support-chat .form-select,
.td-support-chat .form-control,
.td-admin-support-actions .form-control {
    font-size: .86rem;
    line-height: 1.38;
}

.td-support-message-field textarea,
.td-admin-support-actions textarea {
    resize: vertical;
}

.td-support-chat--page .td-support-message-field textarea {
    max-height: 28dvh;
}

.td-support-composer-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
}

.td-support-waiting {
    display: flex;
    align-items: center;
    gap: .62rem;
    margin: .8rem 1rem .95rem;
    padding: .68rem .78rem;
    border-radius: 10px;
    color: #344054;
    background: #f0f2f6;
}

.td-support-waiting-dot {
    flex: 0 0 auto;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #ff00b6;
    box-shadow: 0 0 0 4px rgba(255, 0, 182, .12);
}

.td-support-waiting div,
.td-support-waiting strong,
.td-support-waiting small {
    display: block;
}

.td-support-waiting strong {
    font-size: .78rem;
}

.td-support-waiting small {
    margin-top: .12rem;
    color: var(--td-muted);
    font-size: .68rem;
}

.td-admin-support-chat {
    display: grid;
    overflow: hidden;
    grid-template-columns: 320px minmax(0, 1fr);
    max-width: 1120px;
    min-height: 620px;
    margin-bottom: 1.5rem;
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--td-shadow);
}

.td-admin-support-inbox {
    display: flex;
    overflow: hidden;
    flex-direction: column;
    border-right: 1px solid var(--td-border);
    background: #f8f9fb;
}

.td-admin-support-inbox-head,
.td-admin-support-list-top,
.td-admin-support-list-bottom,
.td-admin-support-dialog-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.td-admin-support-inbox-head {
    min-height: 76px;
    padding: 1rem;
    background: #fff;
}

.td-admin-support-inbox-head div,
.td-admin-support-inbox-head strong,
.td-admin-support-inbox-head small {
    display: block;
}

.td-admin-support-inbox-head small {
    margin-top: .12rem;
    color: var(--td-muted);
    font-size: .72rem;
}

.td-admin-support-list {
    overflow-y: auto;
    flex: 1 1 auto;
}

.td-admin-support-search {
    position: relative;
    display: block;
    padding: 0 .85rem .85rem;
    background: #fff;
}

.td-admin-support-search i {
    position: absolute;
    top: .7rem;
    left: 1.65rem;
    z-index: 1;
    color: #98a2b3;
    font-size: .86rem;
    pointer-events: none;
}

.td-admin-support-search .form-control {
    min-height: 38px;
    padding-left: 2.35rem;
    border-color: #e6ebf3;
    background: #f7f8fb;
    font-size: .78rem;
}

.td-admin-support-list-item {
    display: grid;
    gap: .28rem;
    padding: .9rem 1rem;
    border-bottom: 1px solid #e8ebf0;
    color: var(--td-text);
    text-decoration: none;
}

.td-admin-support-list-item:hover,
.td-admin-support-list-item:focus,
.td-admin-support-list-item.active {
    color: var(--td-text);
    background: #fff;
}

.td-admin-support-list-item.active {
    box-shadow: inset 3px 0 0 var(--td-blue);
}

.td-admin-support-list-top strong {
    overflow: hidden;
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.td-admin-support-list-topic {
    color: var(--td-blue);
    font-size: .72rem;
    font-weight: 600;
}

.td-admin-support-list-preview {
    overflow: hidden;
    color: #667085;
    font-size: .75rem;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.td-admin-support-list-bottom {
    color: #98a2b3;
    font-size: .67rem;
}

.td-admin-support-empty {
    padding: 2rem 1rem;
    color: var(--td-muted);
    font-size: .82rem;
    text-align: center;
}

.td-admin-support-dialog {
    --td-support-chat-gutter: 1.25rem;

    display: flex;
    min-width: 0;
    flex-direction: column;
}

.td-admin-support-dialog-head {
    position: relative;
    z-index: 2;
    min-height: 76px;
    padding: .9rem 1.25rem;
    border-bottom: 1px solid var(--td-border);
    background: #fff;
}

.td-admin-support-dialog-head small,
.td-admin-support-dialog-head span {
    color: var(--td-muted);
    font-size: .72rem;
}

.td-admin-support-dialog-head h2 {
    overflow-wrap: anywhere;
}

.td-support-reference {
    flex: 0 0 auto;
    padding: .42rem .65rem;
    border-radius: 8px;
    color: #344054 !important;
    background: #eef1f5;
    font-weight: 600;
}

.td-admin-support-thread {
    min-height: 300px;
    max-height: 520px;
}

.td-admin-support-actions {
    display: grid;
    gap: 1rem;
    padding: 1rem 1.25rem 1.25rem;
    border-top: 1px solid var(--td-border);
}

.td-admin-support-actions .td-support-waiting {
    margin: 0;
}

.td-admin-support-reply {
    display: grid;
    gap: .75rem;
}

.td-admin-support-reply .btn {
    justify-self: end;
}

.td-admin-support-close {
    border-top: 1px solid var(--td-border);
    padding-top: .75rem;
}

.td-admin-support-close summary {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #596273;
    cursor: pointer;
    font-size: .82rem;
    font-weight: 600;
    list-style: none;
}

.td-admin-support-close summary::-webkit-details-marker {
    display: none;
}

.td-admin-support-close form {
    display: grid;
    gap: .75rem;
    margin-top: .75rem;
}

.td-admin-support-close .btn {
    justify-self: start;
}

.td-admin-section-separator {
    display: flex;
    align-items: center;
    gap: .75rem;
    max-width: 1120px;
    margin: 2rem 0 1rem;
    color: #98a2b3;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
}

.td-admin-section-separator::before,
.td-admin-section-separator::after {
    height: 1px;
    flex: 1 1 auto;
    background: #dfe3ea;
    content: "";
}

.td-support-jobs-table table {
    min-width: 1060px;
}

.td-support-jobs-table th:nth-child(1) {
    width: 17%;
}

.td-support-jobs-table th:nth-child(2) {
    width: 18%;
}

.td-support-jobs-table th:nth-child(3) {
    width: 18%;
}

.td-support-jobs-table th:nth-child(5) {
    width: 12%;
}

.td-support-progress {
    overflow: hidden;
    height: 7px;
    margin-bottom: .25rem;
    border-radius: 999px;
    background: #eef1f5;
}

.td-support-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--td-blue);
}

.td-support-error {
    display: inline-block;
    max-width: 230px;
    color: #b4232c;
    font-size: .82rem;
    line-height: 1.35;
}

.td-task-overview,
.td-task-list-card,
.td-task-summary,
.td-task-error,
.td-task-control-grid,
.td-task-log-card,
.td-task-technical {
    max-width: 1120px;
}

.td-task-list-card {
    gap: 1rem;
}

.td-task-table table {
    min-width: 940px;
}

.td-task-table th:first-child {
    width: 21%;
}

.td-task-table th:nth-child(2) {
    width: 20%;
}

.td-task-table th:nth-child(5) {
    width: 13%;
}

.td-task-link {
    display: grid;
    color: var(--td-text);
    text-decoration: none;
}

.td-task-link:hover {
    color: var(--td-blue);
}

.td-task-link small {
    margin-top: .15rem;
    color: var(--td-muted);
    font-size: .72rem;
}

.td-task-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 1.25rem;
    margin-bottom: 1rem;
    padding: clamp(1.25rem, 2.6vw, 2rem);
    border-radius: 20px;
    color: #fff;
    background: linear-gradient(135deg, #10192c 0%, #243963 100%);
}

.td-task-summary-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-content: center;
    gap: .8rem 1rem;
}

.td-task-summary-main h2 {
    margin: .8rem 0 .25rem;
    font-size: clamp(1.5rem, 2.5vw, 2.25rem);
    font-weight: 700;
}

.td-task-summary-main p {
    margin: 0;
    color: rgba(255, 255, 255, .68);
    font-size: .82rem;
}

.td-task-summary-main .td-support-progress {
    grid-column: 1 / -1;
    height: 9px;
    margin: 0;
    background: rgba(255, 255, 255, .16);
}

.td-task-summary-main .td-support-progress span {
    background: #ffdf3f;
}

.td-task-progress-value {
    align-self: end;
    font-size: 1.8rem;
}

.td-task-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin: 0;
}

.td-task-facts div {
    min-width: 0;
    padding: .72rem .8rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, .08);
}

.td-task-facts dt {
    margin-bottom: .2rem;
    color: rgba(255, 255, 255, .58);
    font-size: .68rem;
    font-weight: 500;
}

.td-task-facts dd {
    overflow: hidden;
    margin: 0;
    font-size: .78rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.td-task-facts a {
    color: #fff;
}

.td-task-error {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    margin-bottom: 1rem;
    padding: 1rem 1.15rem;
    border-radius: 14px;
    color: #8f1d25;
    background: #fff1f2;
}

.td-task-error > i {
    margin-top: .1rem;
}

.td-task-error strong,
.td-task-error p {
    display: block;
}

.td-task-error p {
    margin: .2rem 0 0;
    font-size: .84rem;
}

.td-task-control-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.td-task-control-card {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .85rem;
    padding: 1.15rem;
    border-radius: 16px;
}

.td-task-control-card h2,
.td-task-control-card p {
    margin: 0;
}

.td-task-control-card p {
    margin-top: .25rem;
    color: var(--td-muted);
    font-size: .78rem;
    line-height: 1.45;
}

.td-task-control-card > small {
    grid-column: 2 / -1;
    color: var(--td-muted);
    font-size: .7rem;
}

.td-task-control-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}

.td-task-control-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 11px;
    color: var(--td-blue);
    background: #eef2f8;
}

.td-task-control-icon--tokens {
    color: #725d00;
    background: #fff4b4;
}

.td-task-log-card {
    margin-bottom: 1rem;
}

.td-task-log {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.td-task-log-item {
    position: relative;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: .75rem;
    padding-bottom: 1.15rem;
}

.td-task-log-item:not(:last-child)::before {
    position: absolute;
    top: 16px;
    bottom: 0;
    left: 6px;
    width: 1px;
    background: #e1e6ee;
    content: "";
}

.td-task-log-dot {
    position: relative;
    z-index: 1;
    width: 13px;
    height: 13px;
    margin-top: .25rem;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #8da2c9;
    box-shadow: 0 0 0 1px #d6deea;
}

.td-task-log-item--success .td-task-log-dot {
    background: #28a36a;
}

.td-task-log-item--warning .td-task-log-dot {
    background: #e5b800;
}

.td-task-log-item--error .td-task-log-dot {
    background: #d0444d;
}

.td-task-log-content {
    min-width: 0;
}

.td-task-log-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.td-task-log-head strong {
    font-size: .85rem;
    line-height: 1.45;
}

.td-task-log-head time,
.td-task-log-content > small {
    flex: 0 0 auto;
    color: var(--td-muted);
    font-size: .68rem;
}

.td-task-log-content > small {
    display: block;
    margin-top: .12rem;
}

.td-task-log details,
.td-task-technical details {
    margin-top: .55rem;
}

.td-task-log summary,
.td-task-technical summary {
    width: fit-content;
    color: var(--td-blue);
    cursor: pointer;
    font-size: .72rem;
    font-weight: 600;
}

.td-task-log pre,
.td-task-technical pre {
    overflow: auto;
    max-height: 360px;
    margin: .55rem 0 0;
    padding: .85rem;
    border-radius: 10px;
    color: #dbe5f7;
    background: #111a2c;
    font-size: .7rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

.td-task-technical {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.td-task-technical .td-admin-card {
    align-content: start;
    padding: 1.15rem;
    border-radius: 16px;
}

.td-task-technical summary {
    color: var(--td-text);
    font-size: .85rem;
}

.td-support-pager {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    padding-top: .25rem;
}

.td-support-pager a,
.td-support-pager span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: .35rem .65rem;
    border-radius: 8px;
    font-size: .84rem;
    font-weight: 600;
}

.td-support-pager a {
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .1);
    text-decoration: none;
}

.td-support-pager a.disabled {
    pointer-events: none;
    color: #98a2b3;
    background: #eef1f5;
}

.td-admin-demo-card {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
}

.td-admin-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    color: #fff;
    background: var(--td-blue);
    font-size: 1.2rem;
}

.td-admin-card-copy {
    display: grid;
    gap: .55rem;
}

.td-admin-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.td-admin-section-heading > i {
    color: #98a2b3;
    font-size: 1.4rem;
}

.td-admin-switch {
    display: grid;
    justify-items: center;
    gap: .45rem;
    min-width: 94px;
    cursor: pointer;
}

.td-admin-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.td-admin-switch span {
    position: relative;
    width: 58px;
    height: 32px;
    border-radius: 999px;
    background: #c7ced9;
    transition: background-color .18s ease;
}

.td-admin-switch span::after {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .18);
    content: "";
    transition: transform .18s ease;
}

.td-admin-switch input:checked + span {
    background: var(--td-blue);
}

.td-admin-switch input:checked + span::after {
    transform: translateX(26px);
}

.td-admin-switch input:focus-visible + span {
    outline: 4px solid rgba(var(--td-blue-rgb), .18);
}

.td-admin-switch strong {
    color: var(--td-muted);
    font-size: .76rem;
}

.td-admin-price-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.td-admin-price-field {
    display: grid;
    gap: .55rem;
    padding: 1rem;
    border-radius: 14px;
    background: #f4f6fa;
}

.td-admin-price-field-head {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    color: #344054;
}

.td-admin-price-field-head > i {
    flex: 0 0 auto;
    margin-top: .05rem;
    color: #7f8da5;
}

.td-admin-price-field-head span,
.td-admin-price-field-head strong,
.td-admin-price-field-head small {
    display: block;
}

.td-admin-price-field-head strong {
    font-size: .86rem;
    font-weight: 600;
}

.td-admin-price-field-head small {
    margin-top: .15rem;
    color: var(--td-muted);
    font-size: .72rem;
    font-weight: 400;
}

.td-admin-price-input {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.td-admin-price-input .form-control {
    min-width: 0;
    font-size: 1.2rem;
    font-weight: 600;
}

.td-admin-price-input small {
    color: var(--td-muted);
    white-space: nowrap;
}

.td-admin-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.td-admin-content-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    max-width: 1120px;
}

.td-admin-content {
    display: grid;
    gap: 1rem;
    max-width: 1120px;
}

.td-admin-content-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-radius: 14px;
    background: #f4f6fa;
}

.td-admin-content-search {
    position: relative;
    display: block;
    width: min(100%, 520px);
}

.td-admin-content-search > i {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 1rem;
    color: #98a2b3;
    transform: translateY(-50%);
}

.td-admin-content-search .form-control {
    padding-left: 2.7rem;
    background: #fff;
}

.td-admin-content-groups {
    display: grid;
    gap: .75rem;
}

.td-admin-content-group {
    overflow: hidden;
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--td-shadow);
}

.td-admin-content-group > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    cursor: pointer;
    list-style: none;
}

.td-admin-content-group > summary::-webkit-details-marker {
    display: none;
}

.td-admin-content-group > summary strong,
.td-admin-content-group > summary small {
    display: block;
}

.td-admin-content-group > summary strong {
    color: var(--td-text);
    font-size: .98rem;
}

.td-admin-content-group > summary small {
    margin-top: .2rem;
    color: var(--td-muted);
}

.td-admin-content-group-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 28px;
    padding: 0 .55rem;
    border-radius: 8px;
    color: #667085;
    background: #f2f4f7;
    font-size: .78rem;
    font-weight: 600;
}

.td-admin-content-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px 0 0;
    background: #edf0f5;
}

.td-admin-content-field {
    display: grid;
    align-content: start;
    gap: .55rem;
    padding: 1.15rem 1.25rem;
    background: #fff;
}

.td-admin-content-field[hidden],
.td-admin-content-group[hidden] {
    display: none;
}

.td-admin-content-label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
}

.td-admin-content-label strong {
    color: #344054;
    font-size: .86rem;
    font-weight: 600;
}

.td-admin-content-label code {
    overflow: hidden;
    color: #98a2b3;
    font-size: .7rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.td-admin-content-field textarea.form-control {
    min-height: 98px;
    resize: vertical;
}

.td-admin-content-help {
    color: #667085;
    line-height: 1.45;
}

.td-admin-content-empty {
    padding: 1.25rem;
    border-radius: 14px;
    color: var(--td-muted);
    background: #f4f6fa;
    text-align: center;
}

.td-admin-content-actions {
    position: sticky;
    z-index: 5;
    bottom: 1rem;
    display: flex;
    align-items: center;
    gap: .75rem;
    width: fit-content;
    padding: .65rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 35px rgba(18, 32, 60, .14);
    backdrop-filter: blur(12px);
}

@media (max-width: 767.98px) {
    .td-admin-content-heading,
    .td-admin-content-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .td-admin-content-heading .btn,
    .td-admin-content-search {
        width: 100%;
    }

    .td-admin-content-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .td-admin-content-group > summary,
    .td-admin-content-field,
    .td-admin-prompt-field {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .td-admin-content-label {
        align-items: flex-start;
        flex-direction: column;
        gap: .15rem;
    }

    .td-admin-content-actions {
        right: 0;
        left: 0;
        width: 100%;
    }

.td-admin-content-actions .btn {
        flex: 1 1 0;
    }
}

.td-admin-prompt-warning {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    max-width: 1120px;
    padding: 1rem 1.1rem;
    border-radius: 14px;
    color: #344054;
    background: #f4f6fa;
}

.td-admin-prompt-warning > i {
    color: var(--td-blue);
    font-size: 1.2rem;
}

.td-admin-prompt-warning strong,
.td-admin-prompt-warning span {
    display: block;
}

.td-admin-prompt-warning span {
    margin-top: .2rem;
    color: var(--td-muted);
    font-size: .86rem;
}

.td-admin-prompt-fields {
    display: grid;
    gap: 1px;
    padding-top: 1px;
    background: #edf0f5;
}

.td-admin-prompt-field {
    display: grid;
    gap: .65rem;
    padding: 1.25rem;
    background: #fff;
}

.td-admin-prompt-field[hidden] {
    display: none;
}

.td-admin-prompt-field textarea {
    min-height: 132px;
    resize: vertical;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .8rem;
    line-height: 1.55;
}

.td-admin-prompt-meta,
.td-admin-prompt-placeholders {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
}

.td-admin-prompt-meta span {
    padding: .25rem .5rem;
    border-radius: 7px;
    color: #667085;
    background: #f2f4f7;
    font-size: .7rem;
    font-weight: 600;
    text-transform: uppercase;
}

.td-admin-prompt-placeholders small {
    margin-right: .15rem;
    color: var(--td-muted);
}

.td-admin-prompt-placeholders code {
    padding: .2rem .38rem;
    border-radius: 5px;
    color: #3159bd;
    background: #eef3ff;
    font-size: .72rem;
}

.td-auth-page {
    display: grid;
    width: 100%;
    min-height: min(620px, calc(100vh - 150px));
    gap: 1.05rem;
    justify-items: center;
    place-items: center;
    padding: 2rem 0;
}

.td-auth-layout .td-auth-page {
    min-height: auto;
    padding: 0;
}

.td-auth-card {
    width: min(100%, 460px);
    padding: clamp(1.5rem, 4vw, 2.25rem);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--td-shadow);
}

.td-auth-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.35rem;
}

.td-auth-heading a {
    flex: 0 0 auto;
    margin-top: .5rem;
    color: var(--td-blue);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.td-auth-heading a:hover,
.td-auth-heading a:focus-visible {
    color: #244fc0;
    text-decoration: none;
}

.td-auth-consent {
    color: #475467;
    font-size: .82rem;
    line-height: 1.35;
}

.td-auth-card .form-text {
    color: #475467;
    font-size: .82rem;
    line-height: 1.35;
}

.td-auth-consent .form-check-input {
    margin-top: .08rem;
}

.td-auth-consent a {
    color: var(--td-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.td-auth-consent a:hover,
.td-auth-consent a:focus-visible {
    color: #244fc0;
    text-decoration: none;
}

.td-auth-brand {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    justify-content: center;
    color: #111827;
    font-family: "Manrope", "Inter", ui-sans-serif, system-ui, sans-serif;
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1;
    text-decoration: none;
}

.td-auth-brand:hover,
.td-auth-brand:focus-visible {
    color: #111827;
}

.td-auth-brand img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.td-auth-back {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: 1.5rem;
    color: var(--td-blue);
    font-size: .84rem;
    text-decoration: none;
}

.td-auth-icon {
    display: grid;
    width: 48px;
    height: 48px;
    margin-bottom: 1.25rem;
    place-items: center;
    border-radius: 13px;
    color: var(--td-blue);
    background: #eef2f8;
    font-size: 1.15rem;
}

.td-auth-icon--muted {
    color: #667085;
    background: #f2f4f7;
}

.td-auth-security-note {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin: 1.25rem 0 0;
    color: var(--td-muted);
    font-size: .76rem;
    line-height: 1.45;
}

.td-auth-security-note i {
    color: #25875a;
}

.td-login-recovery {
    margin-bottom: .5rem;
    color: var(--td-blue);
    font-size: .78rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.td-login-recovery:hover {
    text-decoration: none;
}

.td-account-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    max-width: 1120px;
    margin-bottom: 1.5rem;
}

.td-account-security {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .6rem .8rem;
    border-radius: 10px;
    color: #257a53;
    background: #edf8f2;
    font-size: .78rem;
    font-weight: 600;
    white-space: nowrap;
}

.td-account-settings {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    max-width: 1120px;
}

.td-account-card,
.td-account-confirm {
    display: grid;
    align-content: start;
    gap: 1rem;
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--td-shadow);
}

.td-account-card:nth-of-type(3),
.td-account-confirm {
    grid-column: 1 / -1;
}

.td-account-card-heading {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
}

.td-account-card-heading > span {
    display: grid;
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 10px;
    color: var(--td-blue);
    background: #eef2f8;
}

.td-account-card-heading p {
    font-size: .84rem;
}

.td-account-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.td-account-notification {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .85rem;
    align-items: start;
    padding: .9rem 0;
    cursor: pointer;
}

.td-account-notification + .td-account-notification {
    border-top: 1px solid #edf0f5;
}

.td-account-notification > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.td-account-notification > span[aria-hidden] {
    display: grid;
    width: 22px;
    height: 22px;
    margin-top: .1rem;
    place-items: center;
    border: 1px solid #cbd3df;
    border-radius: 6px;
    background: #fff;
}

.td-account-notification > input:checked + span[aria-hidden] {
    border-color: var(--td-blue);
    background: var(--td-blue);
}

.td-account-notification > input:checked + span[aria-hidden]::after {
    color: #fff;
    content: "✓";
    font-size: .78rem;
    font-weight: 700;
}

.td-account-notification strong,
.td-account-notification small {
    display: block;
}

.td-account-notification strong {
    color: #344054;
    font-size: .9rem;
    font-weight: 600;
}

.td-account-notification small {
    margin-top: .15rem;
    color: var(--td-muted);
}

.td-account-confirm {
    grid-template-columns: minmax(0, 430px) auto;
    align-items: end;
    justify-content: space-between;
    background: #f2f4f7;
    box-shadow: none;
}

.td-account-confirm > div {
    display: grid;
    gap: .35rem;
}

.td-email-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
    max-width: 1120px;
    margin-bottom: 1.25rem;
}

.td-email-overview-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-height: 86px;
    padding: 1rem;
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--td-shadow);
}

.td-email-overview-item > span:first-child {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 10px;
    color: var(--td-blue);
    background: #eef2f8;
}

.td-email-overview-item small,
.td-email-overview-item strong {
    display: block;
}

.td-email-overview-item small {
    margin-bottom: .15rem;
    color: var(--td-muted);
    font-size: .72rem;
}

.td-email-overview-item strong {
    color: #344054;
    font-size: .88rem;
    font-weight: 600;
}

.td-admin-email-form {
    display: grid;
    gap: 1.25rem;
    max-width: 1120px;
}

.td-email-settings-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(120px, .5fr) minmax(170px, .7fr);
    gap: 1rem;
}

.td-email-settings-grid--sender {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.td-email-field {
    display: grid;
    align-content: start;
    gap: .4rem;
}

.td-email-field--wide {
    grid-column: span 2;
}

.td-email-field > span {
    color: #344054;
    font-size: .82rem;
    font-weight: 600;
}

.td-email-field > small {
    color: var(--td-muted);
    font-size: .72rem;
}

.td-email-template-list {
    display: grid;
    gap: .65rem;
}

.td-email-template {
    overflow: hidden;
    border-radius: 14px;
    background: #f4f6fa;
}

.td-email-template > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.1rem;
    cursor: pointer;
    list-style: none;
}

.td-email-template > summary::-webkit-details-marker {
    display: none;
}

.td-email-template > summary strong,
.td-email-template > summary small {
    display: block;
}

.td-email-template > summary strong {
    color: #344054;
    font-size: .9rem;
    font-weight: 600;
}

.td-email-template > summary small {
    margin-top: .15rem;
    color: var(--td-muted);
}

.td-email-template-body {
    display: grid;
    gap: .8rem;
    padding: 0 1.1rem 1.1rem;
}

.td-email-code {
    min-height: 150px;
    resize: vertical;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: .78rem;
    line-height: 1.55;
}

.td-email-variables {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
}

.td-email-variables small {
    color: var(--td-muted);
}

.td-email-variables code {
    padding: .2rem .38rem;
    border-radius: 5px;
    color: #3159bd;
    background: #e9eef9;
    font-size: .7rem;
}

.td-email-test-card,
.td-email-log-card {
    max-width: 1120px;
    margin-top: 1.25rem;
}

.td-email-test-card {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
    align-items: end;
}

.td-email-test-card form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
}

.td-stat-grid .td-stat {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 158px;
    padding: 1.25rem;
    background: #fff;
}

.td-stat-link {
    color: inherit;
    text-decoration: none;
    transition: background-color .18s ease, box-shadow .18s ease;
}

.td-stat-link:hover,
.td-stat-link:focus {
    color: inherit;
    background: #f7f9fe;
    box-shadow: 0 12px 30px rgba(var(--td-blue-rgb), .12);
}

.td-stat-link:focus-visible {
    outline: 3px solid rgba(var(--td-blue-rgb), .22);
    outline-offset: 3px;
}

.td-stat-header,
.td-stat-title {
    display: flex;
    align-items: center;
}

.td-stat-header {
    justify-content: space-between;
    gap: 1rem;
}

.td-stat-title {
    gap: .75rem;
    min-width: 0;
}

.td-stat-icon {
    display: inline-flex !important;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: #5f6b7d !important;
    background: #f1f3f7;
    font-size: 1.05rem !important;
}

.td-stat-label {
    color: #667085 !important;
    font-size: .9rem !important;
    font-weight: 500;
}

.td-stat-arrow {
    color: #a2aaba;
    font-size: .9rem;
    transition: color .18s ease;
}

.td-stat-link:hover .td-stat-arrow,
.td-stat-link:focus .td-stat-arrow {
    color: var(--td-blue);
}

.td-stat-value {
    margin-top: 1.2rem !important;
    font-family: "Manrope", "Inter", sans-serif;
    font-size: clamp(2.5rem, 4.2vw, 3.5rem) !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.td-stat-unit {
    display: inline !important;
    margin-left: .45rem;
    color: #7a8495 !important;
    font-family: "Inter", sans-serif;
    font-size: .78rem !important;
    font-weight: 500;
    letter-spacing: 0;
}

.td-stat-add {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    color: #fff;
    background: var(--td-blue);
    text-decoration: none;
    transition: background-color .18s ease, box-shadow .18s ease;
}

.td-stat-add:hover,
.td-stat-add:focus {
    color: #fff;
    background: var(--td-blue-hover);
    box-shadow: 0 7px 16px rgba(var(--td-blue-rgb), .24);
}

.td-stat-add:active {
    background: var(--td-blue-pressed);
    box-shadow: 0 3px 8px rgba(var(--td-blue-rgb), .18);
}

.td-create-campaign {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
    gap: clamp(1.5rem, 3vw, 3rem);
    align-items: center;
    min-height: 250px;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(31, 48, 86, .08);
}

.td-new-campaign-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(290px, .6fr);
    overflow: hidden;
    width: 100%;
    max-width: 1080px;
    min-height: 430px;
    border-radius: 28px;
    background: #fff;
    box-shadow: var(--td-shadow);
}

.td-new-campaign-form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.5rem, 4vw, 3rem);
}

.td-new-campaign-form-heading {
    max-width: 620px;
}

.td-new-campaign-field {
    position: relative;
    max-width: 620px;
    margin-top: 1.75rem;
}

.td-new-campaign-field > i {
    position: absolute;
    top: 50%;
    left: 1rem;
    z-index: 1;
    color: #a7b0bf;
    font-size: 1rem;
    transform: translateY(-50%);
    pointer-events: none;
}

.td-new-campaign-field .form-label {
    margin-bottom: .55rem;
    color: var(--td-ink);
    font-weight: 600;
}

.td-new-campaign-field .form-control {
    min-height: 56px;
    padding: .85rem 1rem .85rem 2.75rem;
    border: 1px solid #d7deea;
    border-radius: 10px !important;
    color: var(--td-ink);
    font-size: 1rem;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .03);
}

.td-new-campaign-field .form-control:hover {
    border-color: #b8c4d8;
}

.td-new-campaign-field .form-control::placeholder {
    color: #a7b0bf;
    opacity: 1;
}

.td-new-campaign-field .form-control:focus {
    border-color: var(--td-blue);
    box-shadow: 0 0 0 4px rgba(var(--td-blue-rgb), .14);
}

.td-new-campaign-submit {
    align-self: flex-start;
    min-height: 48px;
    margin-top: 1.5rem;
    padding-right: 1.25rem;
    padding-left: 1.25rem;
}

.td-new-campaign-roadmap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.5rem, 2.5vw, 2rem) clamp(1.5rem, 3vw, 2.25rem);
    background:
        radial-gradient(circle at 92% 8%, rgba(var(--td-blue-rgb), .12), transparent 36%),
        #f4f7fd;
}

.td-new-campaign-steps {
    display: grid;
    gap: 1.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.td-new-campaign-steps li {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: .8rem;
    align-items: start;
}

.td-new-campaign-steps li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #fff;
    background: var(--td-blue);
    font-size: .82rem;
    font-weight: 600;
}

.td-new-campaign-steps div {
    display: grid;
    gap: .25rem;
}

.td-new-campaign-steps strong {
    color: var(--td-ink);
    font-size: .9rem;
    font-weight: 600;
}

.td-new-campaign-steps small {
    color: var(--td-muted);
    font-size: .78rem;
    line-height: 1.45;
}

.td-list-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    padding-top: .2rem;
}

.td-list-heading p {
    max-width: 660px;
}

.td-list-heading .btn {
    flex: 0 0 auto;
}

.td-campaign-list-shell {
    overflow: hidden;
    border-radius: 28px;
    background: #fff;
    box-shadow: var(--td-shadow);
}

.td-campaign-list-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    min-height: 72px;
    padding: 1rem 1.5rem;
    background: #fff;
}

.td-campaign-list-toolbar > div {
    display: flex;
    align-items: baseline;
    gap: .45rem;
}

.td-campaign-list-toolbar strong {
    color: var(--td-ink);
    font-family: "Manrope", "Inter", sans-serif;
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -.03em;
}

.td-campaign-list-toolbar span,
.td-campaign-range {
    color: var(--td-muted);
    font-size: .86rem;
}

.td-campaign-table-wrap {
    overflow-x: auto;
    background: #fff;
}

.td-campaign-table {
    min-width: 840px;
    table-layout: fixed;
}

.td-campaign-table > :not(caption) > * > * {
    padding-right: .7rem;
    padding-left: .7rem;
}

.td-campaign-table th:first-child,
.td-campaign-table td:first-child {
    width: 25%;
    min-width: 210px;
    padding-left: 1.25rem;
}

.td-campaign-table th:last-child,
.td-campaign-table td:last-child {
    width: 8%;
    padding-right: .75rem;
    padding-left: .4rem;
    text-align: left;
}

.td-campaign-table th:nth-child(2) {
    width: 20%;
}

.td-campaign-table th:nth-child(3) {
    width: 15%;
}

.td-campaign-table th:nth-child(4) {
    width: 11%;
}

.td-campaign-table th:nth-child(5) {
    width: 9%;
}

.td-campaign-table th:nth-child(6) {
    width: 12%;
}

.td-campaign-table th:nth-child(5),
.td-campaign-table td:nth-child(5),
.td-campaign-table th:nth-child(6),
.td-campaign-table td:nth-child(6) {
    text-align: center;
}

.td-campaign-name {
    display: inline-block;
    color: var(--td-blue);
    font-weight: 600;
    line-height: 1.35;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.td-campaign-name:hover,
.td-campaign-name:focus {
    color: var(--td-blue-hover);
    text-decoration: none;
}

.td-campaign-domain {
    display: flex;
    align-items: center;
    gap: .35rem;
    margin-top: .35rem;
    color: var(--td-muted);
    font-size: .8rem;
    line-height: 1.3;
}

.td-campaign-domain i {
    color: #98a2b3;
}

.td-campaign-domain span {
    color: #98a2b3;
}

.td-campaign-date {
    display: grid;
    gap: .18rem;
    color: var(--td-ink);
    font-size: .88rem;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
    white-space: nowrap;
}

.td-campaign-date small {
    color: var(--td-muted);
    font-size: .72rem;
}

.td-token-cost {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 32px;
    padding: .35rem .55rem;
    border-radius: 8px;
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .1);
    font-size: .84rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.td-token-cost i {
    font-size: .9rem;
}

.td-campaign-table td:last-child form {
    margin: 0;
}

.td-campaign-download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
}

.td-campaign-empty {
    margin: 0 1.5rem 1.5rem;
    box-shadow: none;
}

.td-pagination-wrap {
    display: grid;
    grid-template-columns: minmax(100px, 1fr) auto minmax(100px, 1fr);
    gap: 1rem;
    align-items: center;
    min-height: 76px;
    padding: 1rem 1.5rem;
    background: #fff;
    box-shadow: inset 0 1px 0 #eef1f6;
}

.td-group-pagination {
    overflow: hidden;
    border-radius: 14px;
}

.td-pagination {
    display: flex;
    gap: .35rem;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.td-pagination a,
.td-pagination-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    color: #475467;
    font-size: .86rem;
    font-weight: 600;
    text-decoration: none;
}

.td-pagination a:hover,
.td-pagination a:focus {
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .1);
}

.td-pagination a.active {
    color: #fff;
    background: var(--td-blue);
}

.td-pagination-direction {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--td-blue);
    font-size: .86rem;
    font-weight: 600;
    text-decoration: none;
}

.td-pagination-direction:last-child {
    justify-self: end;
}

.td-pagination-direction:hover,
.td-pagination-direction:focus {
    color: var(--td-blue-hover);
}

.td-pagination-direction.disabled {
    color: #b2bac7;
    pointer-events: none;
}

.td-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.td-section-link {
    display: inline-flex;
    align-items: center;
    gap: .15rem;
    color: var(--td-blue);
    font-size: .86rem;
    font-weight: 600;
    text-decoration: none;
}

.td-section-link:hover,
.td-section-link:focus {
    color: var(--td-blue-hover);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.td-create-campaign-copy {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.td-create-campaign-copy p {
    max-width: 540px;
    line-height: 1.65;
}

.td-create-campaign-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 15px;
    color: #fff;
    background: var(--td-blue);
    box-shadow: 0 10px 24px rgba(var(--td-blue-rgb), .2);
    font-size: 1.25rem;
}

.td-create-campaign-form {
    padding: 1.25rem;
    border-radius: 20px;
    background: #f7f8fb;
    box-shadow: none;
}

.td-create-campaign-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: stretch;
}

.td-create-campaign-actions .btn {
    min-height: 48px;
    padding-right: 1.15rem;
    padding-left: 1.15rem;
    white-space: nowrap;
}

.td-url-input {
    position: relative;
    min-width: 0;
}

.td-url-input > i {
    position: absolute;
    top: 50%;
    left: 1rem;
    z-index: 1;
    color: #7a8495;
    transform: translateY(-50%);
    pointer-events: none;
}

.td-url-input .form-control {
    min-height: 48px;
    padding-left: 2.7rem;
}

.alert {
    position: relative;
    min-height: 58px;
    margin-bottom: 1rem;
    border: 0 !important;
    border-radius: 14px;
    padding: 1rem 1.1rem 1rem 3.7rem;
    color: var(--td-ink);
    background: #f4f6fa;
    box-shadow: none;
    line-height: 1.45;
}

.alert::before {
    position: absolute;
    top: .85rem;
    left: 1rem;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 9px;
    color: var(--td-muted);
    background: #e5e9f0;
    content: "i";
    font-size: .85rem;
    font-weight: 700;
    line-height: 1;
}

.alert-success {
    color: #245d43;
    background: #edf8f2;
}

.alert-success::before {
    color: #157347;
    background: #d8f0e2;
    content: "✓";
}

.alert-danger {
    color: #8f2d36;
    background: #fff0f1;
}

.alert-danger::before {
    color: #b4232c;
    background: #f8dadd;
    content: "×";
    font-size: 1rem;
}

.alert-warning {
    color: #6f5200;
    background: #fff8df;
}

.alert-warning::before {
    color: #8a6100;
    background: #f8e9ad;
    content: "!";
}

.alert-info {
    color: #294f9c;
    background: rgba(var(--td-blue-rgb), .08);
}

.alert-info::before {
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .14);
}

.alert-dismissible {
    padding-right: 3.6rem;
}

.alert-dismissible .btn-close {
    top: 50%;
    right: 1rem;
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 9px;
    background-size: .65rem;
    opacity: .45;
    transform: translateY(-50%);
}

.alert-dismissible .btn-close:hover,
.alert-dismissible .btn-close:focus {
    background-color: rgba(24, 32, 51, .06);
    opacity: .8;
    box-shadow: none;
}

body.td-modal-open {
    overflow: hidden;
}

.td-confirm-modal[hidden] {
    display: none;
}

.td-confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.td-confirm-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(20, 27, 45, .42);
    backdrop-filter: blur(2px);
}

.td-confirm-dialog {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: .85rem 1rem;
    width: min(460px, 100%);
    border-radius: 18px;
    padding: 1.25rem;
    background: #fff;
    box-shadow: 0 24px 70px rgba(20, 27, 45, .22);
    outline: none;
}

.td-confirm-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 12px;
    color: #c73743;
    background: #fff0f1;
    font-size: 1.05rem;
}

.td-confirm-copy h2 {
    margin: 0;
    color: var(--td-ink);
    font-size: 1.08rem;
    font-weight: 600;
    line-height: 1.3;
}

.td-confirm-copy p {
    margin: .35rem 0 0;
    color: #667085;
    font-size: .88rem;
    line-height: 1.5;
}

.td-confirm-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    margin-top: .35rem;
}

.td-confirm-actions .btn {
    min-height: 42px;
}

.td-confirm-submit {
    border-color: rgba(var(--td-blue-rgb), .45);
    color: var(--td-blue);
    background: #fff;
}

.td-confirm-submit:hover,
.td-confirm-submit:focus {
    border-color: var(--td-blue);
    color: var(--td-blue-hover);
    background: rgba(var(--td-blue-rgb), .06);
    box-shadow: none;
}

.td-toast-stack {
    position: fixed;
    top: 22px;
    right: 24px;
    z-index: 1095;
    display: grid;
    width: min(380px, calc(100vw - 32px));
    gap: .75rem;
    pointer-events: none;
}

.td-toast {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 30px;
    gap: .75rem;
    align-items: start;
    padding: .95rem;
    border-radius: 16px;
    color: var(--td-ink);
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(16, 24, 40, .05);
    box-shadow: 0 18px 44px rgba(24, 32, 51, .13);
    opacity: 0;
    pointer-events: auto;
    transform: translate3d(12px, -4px, 0);
    transition: opacity .2s ease, transform .2s ease;
}

.td-toast.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.td-toast-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .12);
    font-size: .95rem;
    font-weight: 700;
    line-height: 1;
}

.td-toast-icon::before {
    content: "i";
}

.td-toast-message {
    padding-top: .1rem;
    color: #344054;
    font-size: .94rem;
    line-height: 1.45;
}

.td-toast-close {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 0;
    border-radius: 9px;
    color: #98a2b3;
    background: transparent;
    font-size: .8rem;
    line-height: 1;
}

.td-toast-close:hover,
.td-toast-close:focus-visible {
    color: var(--td-ink);
    background: #f4f6fa;
    outline: 0;
}

.td-toast--success .td-toast-icon {
    color: #157347;
    background: #dff4e7;
}

.td-toast--success .td-toast-icon::before {
    content: "✓";
}

.td-toast--danger .td-toast-icon {
    color: #b4232c;
    background: #ffe1e4;
}

.td-toast--danger .td-toast-icon::before {
    content: "×";
}

.td-toast--warning .td-toast-icon {
    color: #8a6100;
    background: #fff0b8;
}

.td-toast--warning .td-toast-icon::before {
    content: "!";
}

.td-toast--info .td-toast-icon {
    color: var(--td-blue);
    background: rgba(var(--td-blue-rgb), .12);
}

@media (min-width: 992px) {
    .td-sidebar.d-lg-flex {
        display: flex !important;
    }
}

@media (max-width: 1199.98px) {
    .td-main {
        padding-right: 24px;
        padding-left: 24px;
    }

    .td-support-fullscreen .td-main {
        padding-right: 24px;
        padding-left: 24px;
    }
}

@media (max-width: 991.98px) {
    .td-main {
        margin-left: 0;
        padding: 22px 16px 44px;
    }

    .td-page-container {
        max-width: 100%;
    }

    .td-support-fullscreen .td-main {
        height: calc(100dvh - 72px);
        min-height: calc(100dvh - 72px);
        padding: 14px 16px;
    }

    .td-wizard-nav {
        position: static !important;
        margin-bottom: 1rem;
    }

    .td-generation-grid,
    .td-generation-summary,
    .td-generation-summary--simple,
    .td-generation-summary--active,
    .td-group-overview,
    .td-group-image-editor-body,
    .td-group-assets,
    .td-group-asset-form,
    .td-group-asset-form--sitelink {
        grid-template-columns: 1fr;
    }

    .td-generation-start-head,
    .td-generation-results-head,
    .td-generation-start-actions,
    .td-generation-next {
        align-items: stretch;
        flex-direction: column;
    }

    .td-generation-submit {
        width: 100%;
    }

    .td-generation-submit-row {
        justify-content: space-between;
        width: 100%;
    }

    .td-generation-submit-row .td-generation-submit {
        flex: 1 1 auto;
        min-width: 0;
        width: auto;
    }

    .td-generation-result-actions {
        justify-content: flex-start;
    }

    .td-group-image-card,
    .td-group-image-editor {
        grid-column: auto;
        grid-row: auto;
    }

    .td-group-overview,
    .td-group-overview.is-editing {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .td-group-image-editor-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .td-group-image-tabs {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .td-keyword-picker-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "label"
            "select"
            "description"
            "button"
            "note";
    }

    .td-keyword-picker-grid--compact {
        grid-template-areas:
            "select"
            "description"
            "button"
            "note";
    }

    .td-keyword-picker-button {
        margin-top: .25rem;
    }

    .td-keyword-picker-submit {
        justify-content: space-between;
        width: 100%;
    }

    .td-keyword-picker-submit .td-keyword-picker-button {
        margin-top: 0;
    }

    .td-instruction-grid {
        grid-template-columns: 1fr;
    }

    .td-create-campaign {
        grid-template-columns: 1fr;
    }

    .td-new-campaign-shell {
        grid-template-columns: 1fr;
        max-width: 760px;
    }

    .td-new-campaign-form,
    .td-new-campaign-roadmap {
        min-height: auto;
    }

    .td-admin-price-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .td-admin-navigation {
        grid-template-columns: minmax(0, 1fr);
    }

    .td-admin-access {
        max-width: none;
    }

    .td-admin-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .td-email-settings-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .td-email-overview {
        grid-template-columns: 1fr;
    }

    .td-email-test-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .td-keyword-picker {
        border-radius: 14px;
        padding: 1.1rem;
    }

    .td-authenticated h1,
    .td-authenticated .h3 {
        font-size: 2rem;
    }

    .td-page-hero {
        align-items: stretch;
        flex-direction: column;
    }

    .td-list-heading,
    .td-campaign-list-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .td-list-heading .btn {
        width: 100%;
    }

    .td-campaign-list-toolbar {
        gap: .35rem;
        padding: 1rem;
    }

    .td-pagination-wrap {
        grid-template-columns: 1fr 1fr;
        padding: 1rem;
    }

    .td-pagination {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .td-pagination-direction {
        grid-row: 2;
    }

    .td-page-hero > .d-flex,
    .td-page-hero > .text-end {
        justify-content: flex-start !important;
        text-align: left !important;
    }

    .td-instruction-finish {
        align-items: stretch;
        flex-direction: column;
    }

    .td-create-campaign-copy {
        flex-direction: column;
    }

    .td-new-campaign-form,
    .td-new-campaign-roadmap {
        padding: 1.25rem;
    }

    .td-new-campaign-submit {
        width: 100%;
    }

    .td-analysis-loading-head {
        align-items: stretch;
        flex-direction: column;
    }

    .td-analysis-timer {
        align-self: flex-start;
        justify-content: flex-start;
    }

    .td-analysis-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .td-analysis-restart {
        display: grid;
        width: 100%;
    }

    .td-analysis-action-btn {
        width: 100%;
        min-width: 0;
    }

    .alert {
        padding-right: 1rem;
    }

    .alert-dismissible {
        padding-right: 3.4rem;
    }

    .td-admin-demo-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .td-admin-switch {
        grid-column: 1 / -1;
        justify-items: start;
    }

    .td-admin-price-grid {
        grid-template-columns: 1fr;
    }

    .td-admin-page-head {
        align-items: stretch;
        flex-direction: column;
    }

    .td-admin-navigation-links {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .td-admin-navigation-link {
        align-items: center;
        flex-direction: column;
        gap: .3rem;
        justify-content: center;
        padding: .7rem .3rem;
        text-align: center;
    }

    .td-admin-navigation-link strong {
        font-size: .75rem;
        line-height: 1.25;
        white-space: normal;
    }

    .td-admin-navigation-link small {
        display: none;
    }

    .td-admin-overview {
        grid-template-columns: 1fr;
    }

    .td-newsletter-overview {
        grid-template-columns: 1fr;
    }

    .td-newsletter-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .td-newsletter-filters {
        grid-template-columns: 1fr;
    }

    .td-newsletter-filters .btn {
        width: 100%;
    }

    .td-account-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .td-account-settings,
    .td-account-field-grid,
    .td-account-confirm,
    .td-email-settings-grid,
    .td-email-settings-grid--sender,
    .td-email-test-card form {
        grid-template-columns: 1fr;
    }

    .td-email-field--wide {
        grid-column: auto;
    }

    .td-account-confirm .btn {
        width: 100%;
    }

    .td-admin-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .td-admin-actions .btn {
        width: 100%;
    }

    .td-create-campaign-actions {
        grid-template-columns: 1fr;
    }

    .td-create-campaign-actions .btn {
        width: 100%;
    }

    .td-panel {
        padding: 1rem;
        border-radius: 22px;
    }

    .td-toast-stack {
        top: 12px;
        right: 12px;
        left: 12px;
        width: auto;
    }

    .td-toast {
        grid-template-columns: 32px minmax(0, 1fr) 28px;
        padding: .85rem;
        border-radius: 14px;
    }

    .td-guide-content {
        width: calc(100% - 2rem);
        margin: 1rem;
        padding: 1.1rem;
    }

    .input-group {
        gap: .5rem;
    }

    .input-group > .form-control,
    .input-group > .btn {
        width: 100%;
        border-radius: 16px !important;
    }

    .td-mobile-header .td-brand-text {
        display: none;
    }
}

@media (max-width: 991.98px) {
    .td-admin-support-chat {
        grid-template-columns: 1fr;
    }

    .td-admin-support-inbox {
        max-height: 330px;
        border-right: 0;
        border-bottom: 1px solid var(--td-border);
    }
}

@media (max-width: 575.98px) {
    .td-support-fullscreen .td-main {
        padding: 10px;
    }

    .td-support-chat-head,
    .td-support-thread,
    .td-support-composer,
    .td-admin-support-dialog-head,
    .td-admin-support-actions {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .td-support-message {
        max-width: 92%;
    }

    .td-support-composer-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .td-support-composer-actions .btn,
    .td-admin-support-reply .btn,
    .td-admin-support-close .btn {
        width: 100%;
        justify-self: stretch;
    }

    .td-admin-support-chat {
        border-radius: 14px;
    }

    .td-support-chat--page {
        border-radius: 14px;
    }
}

/* Landing redesign: Direct-inspired composition with Турбо Директ cabinet language. */
.td-home .td-public-main.container {
    max-width: none;
    padding: 0;
}

.td-home {
    --td-landing-display-font: "Manrope", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --td-landing-text-font: "Manrope", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --td-landing-surface: #edf2f8;
}

.td-landing {
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    overflow: visible;
    background: var(--td-landing-page-bg, #fff);
    color: var(--td-ink);
    font-family: var(--td-landing-text-font);
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}

.td-landing h1,
.td-landing h2,
.td-landing h3,
.td-landing p {
    margin: 0;
    letter-spacing: 0;
}

.td-home .td-public-navbar,
.td-home .td-public-navbar .btn,
.td-home .td-public-navbar .td-public-brand,
.td-landing h1,
.td-landing h2,
.td-landing h3 {
    font-family: var(--td-landing-display-font);
}

.td-landing-hero,
.td-landing-section,
.td-landing-map,
.td-landing-tools,
.td-landing-control,
.td-landing-cabinet,
.td-landing-faq,
.td-landing-final,
.td-landing-pricing,
.td-landing-footer {
    width: min(1180px, calc(100vw - 48px));
    margin: 0 auto;
}

.td-landing-hero {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: max(680px, 80svh);
    padding: clamp(56px, 7vh, 88px) 0;
    box-sizing: border-box;
    text-align: center;
}

.td-landing-hero-copy {
    width: min(100%, 1040px);
    margin: 0 auto;
}

.td-landing-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 1rem !important;
    padding: .4rem .62rem;
    border-radius: 8px;
    color: #3458ad;
    background: #eef4ff;
    font-size: .78rem;
    font-weight: 800;
}

.td-landing-hero h1 {
    max-width: 940px;
    margin: 0 auto;
    color: var(--td-ink);
    font-family: var(--td-landing-display-font);
    font-size: clamp(3.05rem, 4.85vw, 5.05rem);
    font-weight: 700;
    letter-spacing: -.038em;
    line-height: 1.01;
    text-wrap: balance;
}

.td-landing-hero h1 span {
    display: inline;
    padding: 0;
    color: #ea33b2;
    background: transparent;
}

.td-landing-hero-lead {
    max-width: 800px;
    margin: 2rem auto 0 !important;
    color: #4c5668;
    font-family: var(--td-landing-text-font);
    font-size: clamp(1.08rem, 1.25vw, 1.24rem);
    font-weight: 500;
    letter-spacing: -.01em;
    line-height: 1.52;
    text-wrap: balance;
}

.td-landing-hero-lead span {
    display: block;
}

.td-landing-analyzer {
    --td-landing-form-radius: 34px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0;
    width: min(100%, 720px);
    margin: 3rem auto 0;
    padding: 18px;
    border: 0;
    border-radius: var(--td-landing-form-radius);
    background: var(--td-landing-surface);
    box-shadow: none;
}

.td-landing-analyzer-field {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 0;
    min-height: 56px;
    padding: 0 22px;
    border: 0;
    border-radius: calc(var(--td-landing-form-radius) - 12px) 0 0 calc(var(--td-landing-form-radius) - 12px);
    background: #fff;
}

.td-landing-analyzer-field > i {
    flex: 0 0 auto;
    color: #8b95a7;
    font-size: 1.05rem;
}

.td-landing-analyzer input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    color: var(--td-ink);
    background: transparent;
    font: inherit;
    font-family: var(--td-landing-text-font);
    font-weight: 500;
    letter-spacing: -.006em;
}

.td-landing-analyzer input::placeholder {
    color: #98a2b3;
    font-weight: 500;
}

.td-landing-analyzer-submit {
    min-height: 56px;
    padding: 0 1.65rem;
    border: 0;
    border-radius: 0 calc(var(--td-landing-form-radius) - 12px) calc(var(--td-landing-form-radius) - 12px) 0 !important;
    color: #111827;
    background: var(--td-yellow);
    box-shadow: none;
    font-family: var(--td-landing-display-font);
    font-weight: 700;
    letter-spacing: -.015em;
    white-space: nowrap;
}

.td-landing-analyzer-submit:hover,
.td-landing-analyzer-submit:focus {
    color: #111827;
    background: #ffe764;
    box-shadow: none;
}

.td-landing-hero-note {
    margin-top: .75rem !important;
    color: #667085;
    font-size: .9rem;
    font-weight: 400;
    letter-spacing: -.006em;
}

.td-landing-solutions {
    width: min(1100px, calc(100vw - 48px));
    margin: 0 auto;
    padding: clamp(36px, 4.5vw, 56px);
    overflow: hidden;
    border-radius: 56px;
    background:
        radial-gradient(circle at 78% 5%, rgba(var(--td-blue-rgb), .2), transparent 30%),
        linear-gradient(180deg, #1a2540 0%, #111827 100%);
}

.td-landing-solutions-head {
    max-width: 780px;
    margin: 0 auto 52px;
    text-align: center;
}

.td-landing-solutions-head h2 {
    color: #fff;
    font-family: var(--td-landing-display-font);
    font-size: clamp(2.2rem, 4vw, 4rem);
    font-weight: 700;
    letter-spacing: -.038em;
    line-height: 1.03;
}

.td-landing-solutions-head h2 span {
    display: block;
}

.td-landing-solutions-head h2 span:last-child {
    white-space: nowrap;
}

.td-landing-solutions-head p {
    max-width: 690px;
    margin: 1.5rem auto 0 !important;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(1.08rem, 1.25vw, 1.24rem);
    font-weight: 500;
    line-height: 1.55;
}

.td-landing-solutions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    width: min(100%, 1060px);
    margin: 0 auto;
}

.td-landing-solution-card {
    display: flex;
    flex-direction: column;
    min-height: 380px;
    padding: clamp(24px, 2.5vw, 32px);
    border-radius: 34px;
    background: var(--td-landing-surface);
}

.td-landing-solution-card:nth-child(2) {
    background: #ea33b2;
}

.td-landing-solution-card--wide {
    grid-column: 1 / -1;
    min-height: 320px;
    background: #4668d1;
}

.td-landing-solution-visual {
    display: grid;
    place-items: center;
    flex: 1 1 auto;
    min-height: 180px;
    margin: 0 0 1.15rem;
}

.td-landing-solution-visual img {
    display: block;
    width: min(100%, 285px);
    height: 210px;
    object-fit: contain;
    transform: scale(1.14);
}

.td-landing-solution-card--wide .td-landing-solution-visual {
    min-height: 170px;
    margin-bottom: .9rem;
}

.td-landing-solution-card--wide .td-landing-solution-visual img {
    width: min(100%, 340px);
    height: 190px;
    transform: scale(1.16);
}

.td-landing-solution-copy {
    display: grid;
    gap: .65rem;
    text-align: center;
}

.td-landing-solution-copy h3 {
    color: #111827;
    font-family: var(--td-landing-display-font);
    font-size: clamp(1.65rem, 2.4vw, 2.15rem);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.1;
}

.td-landing-solution-copy h3 span,
.td-landing-solution-copy p span {
    display: block;
}

.td-landing-solution-copy p {
    color: #596273;
    font-size: clamp(1.08rem, 1.25vw, 1.24rem);
    font-weight: 500;
    line-height: 1.48;
}

.td-landing-solution-card:nth-child(2) .td-landing-solution-copy h3,
.td-landing-solution-card--wide .td-landing-solution-copy h3 {
    color: #fff;
}

.td-landing-solution-card:nth-child(2) .td-landing-solution-copy p,
.td-landing-solution-card--wide .td-landing-solution-copy p {
    color: rgba(255, 255, 255, .84);
}

.td-landing-solutions-note {
    margin: 38px 0 0 !important;
    color: rgba(255, 255, 255, .86);
    font-size: clamp(1.08rem, 1.25vw, 1.24rem);
    font-weight: 600;
    line-height: 1.45;
    text-align: center;
}

.td-landing-autotarget {
    --auto-bg: 0;
    --auto-word-opacity: .16;
    --auto-word-y: 0px;
    --auto-strike-offset: 1240px;
    --auto-title-opacity: 0;
    --auto-title-y: 28px;
    --auto-card-opacity: 0;
    --auto-card-y: 24px;
    position: relative;
    z-index: 0;
    width: 100%;
    margin-top: clamp(22px, 3.6vw, 46px);
    padding: 0 max(24px, calc((100vw - 1180px) / 2)) clamp(84px, 12vh, 132px);
    /* The animated strike extends beyond the word but must not widen the mobile page. */
    overflow-x: clip;
    overflow-y: visible;
    isolation: isolate;
    background: transparent;
}

.td-landing-autotarget-inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: clamp(28px, 4vw, 46px);
    width: min(1100px, 100%);
    margin: 0 auto;
}

.td-landing-autotarget-stage {
    position: sticky;
    top: 0;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: clamp(18px, 2.6vw, 28px);
    min-height: 100svh;
    text-align: center;
}

.td-autotarget-word {
    position: relative;
    display: inline-grid;
    place-items: center;
    max-width: 100%;
    color: #fff;
    font-family: var(--td-landing-display-font);
    font-size: clamp(3.15rem, 8.4vw, 7.55rem);
    font-weight: 700;
    letter-spacing: -.055em;
    line-height: .92;
    opacity: var(--auto-word-opacity);
    transform: translateY(var(--auto-word-y));
    text-wrap: balance;
}

.td-autotarget-word span {
    position: relative;
    z-index: 1;
}

.td-autotarget-word svg {
    position: absolute;
    top: 52%;
    left: 50%;
    z-index: 2;
    width: 148%;
    height: 132%;
    overflow: visible;
    transform: translate(-50%, -50%) rotate(-1.6deg);
    pointer-events: none;
}

.td-autotarget-word path {
    fill: none;
    stroke: var(--td-yellow);
    stroke-width: 18;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 1240;
    stroke-dashoffset: var(--auto-strike-offset);
}

.td-landing-autotarget-stage h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(900px, 100%);
    max-width: 820px;
    margin: 0;
    color: #fff;
    font-family: var(--td-landing-display-font);
    font-size: clamp(2.05rem, 4.25vw, 4.35rem);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.02;
    text-wrap: balance;
    opacity: var(--auto-title-opacity);
    transform: translate(-50%, calc(-50% + var(--auto-title-y)));
}

.td-landing-autotarget-stage h2 span {
    display: block;
    white-space: nowrap;
}

.td-autotarget-card {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, 1.08fr);
    gap: clamp(24px, 4vw, 52px);
    align-items: center;
    min-height: 430px;
    padding: clamp(32px, 4.4vw, 60px);
    overflow: hidden;
    border-radius: 56px;
    background: #edf2f8;
    width: min(1100px, 100%);
    margin: clamp(460px, 78vh, 620px) auto 0;
    opacity: 1;
    transform: translateY(var(--auto-card-y));
}

.td-autotarget-card-copy {
    display: grid;
    gap: 1.3rem;
}

.td-autotarget-card h3 {
    max-width: 640px;
    margin: 0;
    color: var(--td-ink);
    font-family: var(--td-landing-display-font);
    font-size: clamp(1.65rem, 2.4vw, 2.15rem);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.1;
    text-wrap: balance;
}

.td-autotarget-card p {
    max-width: 620px;
    margin: 0 !important;
    color: #4c5668;
    font-size: clamp(1.08rem, 1.25vw, 1.24rem);
    font-weight: 500;
    line-height: 1.6;
}

.td-autotarget-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 52px;
    padding: 0 1.45rem;
    border: 0;
    border-radius: 26px !important;
    color: #111827;
    background: var(--td-yellow);
    font-family: var(--td-landing-display-font);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -.015em;
    line-height: 1;
    text-align: center;
    box-shadow: none;
}

.td-autotarget-cta:hover,
.td-autotarget-cta:focus {
    color: #111827;
    background: #ffe764;
    box-shadow: none;
}

.td-autotarget-visual {
    display: grid;
    place-items: center;
    min-height: 320px;
    margin: 0;
}

.td-autotarget-visual img {
    display: block;
    width: min(100%, 680px);
    height: auto;
    transform: translateX(4%) scale(1.06);
    transform-origin: center;
}

.td-landing-hero-points {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    margin-top: 1.15rem;
}

.td-landing-hero-points span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: .34rem .55rem;
    border: 1px solid #e7ebf2;
    border-radius: 8px;
    color: #344054;
    background: #fff;
    font-size: .82rem;
    font-weight: 800;
}

.td-landing-direct-card {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid #dfe6f1;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(252, 221, 66, .26), transparent 38%),
        linear-gradient(180deg, #fff 0%, #f5f8ff 100%);
    box-shadow: 0 28px 90px rgba(24, 32, 51, .12);
}

.td-landing-direct-head,
.td-landing-direct-search,
.td-landing-direct-note,
.td-landing-direct-score,
.td-landing-direct-list {
    border-radius: 8px;
}

.td-landing-direct-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #344054;
    font-size: .82rem;
    font-weight: 900;
}

.td-landing-direct-head strong {
    padding: .28rem .5rem;
    border-radius: 8px;
    color: #101828;
    background: var(--td-yellow);
}

.td-landing-direct-search {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 0 16px;
    border: 1px solid #dfe6f1;
    color: #667085;
    background: #fff;
    font-weight: 800;
}

.td-landing-direct-search i {
    color: var(--td-blue);
}

.td-landing-direct-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 12px;
}

.td-landing-direct-score,
.td-landing-direct-list,
.td-landing-direct-note {
    display: grid;
    gap: 8px;
    border: 1px solid #dfe6f1;
    background: #fff;
}

.td-landing-direct-score {
    padding: 16px;
    color: #fff;
    background: #101828;
}

.td-landing-direct-score small,
.td-landing-direct-list small {
    color: inherit;
    font-size: .75rem;
    font-weight: 900;
    opacity: .72;
}

.td-landing-direct-score strong {
    color: var(--td-yellow);
    font-size: 3.7rem;
    line-height: 1;
}

.td-landing-direct-score span {
    color: rgba(255, 255, 255, .74);
    font-size: .84rem;
    line-height: 1.35;
}

.td-landing-direct-list {
    padding: 16px;
}

.td-landing-direct-list span {
    display: flex;
    align-items: center;
    min-height: 34px;
    padding: .45rem .55rem;
    border-radius: 8px;
    color: #344054;
    background: var(--td-landing-surface);
    font-size: .9rem;
    font-weight: 800;
}

.td-landing-direct-note {
    padding: 15px;
    border-color: rgba(var(--td-blue-rgb), .24);
    background: #eef4ff;
}

.td-landing-direct-note strong {
    color: var(--td-blue);
    font-size: .82rem;
}

.td-landing-direct-note span {
    color: #344054;
    line-height: 1.45;
}

.td-landing-section,
.td-landing-map,
.td-landing-tools,
.td-landing-control,
.td-landing-cabinet,
.td-landing-faq {
    padding: 78px 0;
}

.td-landing-tools {
    width: min(1100px, calc(100vw - 48px));
    margin: clamp(54px, 8vw, 108px) auto 0;
    padding-top: 0;
}

.td-landing-tools-head {
    display: grid;
    justify-items: center;
    gap: 1.2rem;
    max-width: 790px;
    margin: 0 auto clamp(28px, 4vw, 48px);
    text-align: center;
}

.td-landing-tools-head h2 {
    color: var(--td-ink);
    font-family: var(--td-landing-display-font);
    font-size: clamp(2.35rem, 4.4vw, 4.25rem);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.02;
    text-wrap: balance;
}

.td-landing-tools-head h2 span {
    display: block;
    white-space: nowrap;
}

.td-landing-tools-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .55rem;
    margin: 0 auto clamp(26px, 3.4vw, 40px);
}

.td-landing-tools-tabs button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border: 0;
    border-radius: 20px;
    padding: 0 1rem;
    color: var(--td-ink);
    background: #fff;
    font-family: var(--td-landing-display-font);
    font-size: .92rem;
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.td-landing-tools-tabs button:hover,
.td-landing-tools-tabs button:focus-visible {
    transform: translateY(-1px);
}

.td-landing-tools-tabs button.is-active {
    color: #111827;
    background: var(--td-yellow);
    box-shadow: none;
}

.td-landing-tools-card {
    min-height: 460px;
    padding: clamp(28px, 3.8vw, 48px);
    overflow: hidden;
    border-radius: 44px;
    background:
        radial-gradient(circle at 86% 22%, rgba(70, 104, 209, .38), transparent 28%),
        linear-gradient(135deg, #111827 0%, #101214 100%);
}

.td-landing-tools-slide {
    display: none;
    grid-template-columns: minmax(0, .94fr) minmax(340px, .98fr);
    align-items: center;
    gap: clamp(22px, 4vw, 54px);
    min-height: calc(460px - clamp(56px, 7.6vw, 96px));
}

.td-landing-tools-slide.is-active {
    display: grid;
    animation: tdLandingToolSlide .24s ease both;
}

@keyframes tdLandingToolSlide {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.td-landing-tools-copy {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: center;
    gap: clamp(16px, 1.8vw, 22px);
    min-width: 0;
}

.td-landing-tools-card h3 {
    max-width: 600px;
    color: #fff;
    font-family: var(--td-landing-display-font);
    font-size: clamp(2.05rem, 3.4vw, 3.45rem);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.02;
    text-wrap: balance;
}

.td-landing-tools-copy p {
    max-width: 620px;
    margin: 0 !important;
    color: rgba(255, 255, 255, .7);
    font-size: clamp(1.02rem, 1.18vw, 1.16rem);
    font-weight: 500;
    line-height: 1.58;
}

.td-landing-tools-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 52px;
    padding: 0 1.45rem;
    border: 0;
    border-radius: 26px !important;
    color: #111827;
    background: var(--td-yellow);
    font-family: var(--td-landing-display-font);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -.015em;
    line-height: 1;
    text-align: center;
    box-shadow: none;
}

.td-landing-tools-cta:hover,
.td-landing-tools-cta:focus {
    color: #111827;
    background: #ffe764;
    box-shadow: none;
}

.td-landing-tools-visual {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 320px;
    margin: 0;
}

.td-landing-tools-visual img {
    display: block;
    width: min(100%, 470px);
    max-height: 360px;
    height: auto;
    object-fit: contain;
    transform: translateX(4%) scale(1.04);
    transform-origin: center;
}

.td-landing-section-head {
    display: grid;
    gap: .8rem;
    max-width: 780px;
    margin-bottom: 1.6rem;
}

.td-landing-section-head--center {
    max-width: 860px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.td-landing-section-head--center .td-landing-kicker {
    margin-right: auto;
    margin-left: auto;
}

.td-landing-section-head h2,
.td-landing-control h2,
.td-landing-cabinet-copy h2,
.td-landing-final h2 {
    color: var(--td-ink);
    font-size: clamp(2.25rem, 4.2vw, 4.35rem);
    font-weight: 800;
    line-height: .98;
}

.td-landing-section-head p,
.td-landing-control p,
.td-landing-cabinet-copy p,
.td-landing-final p {
    color: #596273;
    font-size: 1.03rem;
    line-height: 1.64;
}

.td-landing-insight-grid,
.td-landing-map-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.td-landing-insight-grid article,
.td-landing-map-grid article {
    display: grid;
    align-content: start;
    gap: .75rem;
    min-width: 0;
    border: 1px solid #e7ebf2;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(24, 32, 51, .05);
}

.td-landing-insight-grid article {
    padding: 1.15rem;
}

.td-landing-insight-grid span {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    color: #101828;
    background: var(--td-yellow);
    font-weight: 900;
}

.td-landing-insight-grid h3,
.td-landing-map-grid h3 {
    color: var(--td-ink);
    font-size: 1.12rem;
    font-weight: 900;
    line-height: 1.28;
}

.td-landing-insight-grid p,
.td-landing-map-grid p {
    color: #596273;
    font-size: .94rem;
    line-height: 1.56;
}

.td-landing-map {
    width: 100%;
    padding-right: max(24px, calc((100vw - 1180px) / 2));
    padding-left: max(24px, calc((100vw - 1180px) / 2));
    background: var(--td-landing-surface);
}

.td-landing-map-grid {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.td-landing-map-grid article {
    padding: 1rem;
}

.td-landing-map-visual {
    display: grid;
    gap: 10px;
    min-height: 210px;
    padding: 16px;
    border-radius: 8px;
    background: #fff;
}

.td-landing-map-visual--site {
    align-content: center;
    border: 1px solid #dfe6f1;
}

.td-landing-map-visual--site span {
    display: block;
    height: 11px;
    border-radius: 8px;
    background: #e5ebf5;
}

.td-landing-map-visual--site span:nth-child(1) {
    width: 72%;
    height: 18px;
    background: #101828;
}

.td-landing-map-visual--site span:nth-child(2) {
    width: 92%;
}

.td-landing-map-visual--site span:nth-child(3) {
    width: 56%;
}

.td-landing-map-visual--site strong {
    color: var(--td-ink);
}

.td-landing-map-visual--site em {
    width: fit-content;
    padding: .4rem .55rem;
    border-radius: 8px;
    color: #8a6100;
    background: #fff0b8;
    font-style: normal;
    font-weight: 900;
}

.td-landing-map-visual--queries {
    align-content: center;
    background: #101828;
}

.td-landing-map-visual--queries b,
.td-landing-map-visual--queries s {
    width: fit-content;
    max-width: 100%;
    padding: .45rem .6rem;
    border-radius: 8px;
    font-size: .88rem;
    line-height: 1.3;
}

.td-landing-map-visual--queries b {
    color: #101828;
    background: #fff;
}

.td-landing-map-visual--queries s {
    color: rgba(255, 255, 255, .78);
    background: rgba(255, 255, 255, .12);
    text-decoration-thickness: 2px;
}

.td-landing-map-visual--campaign {
    align-content: center;
    gap: 8px;
    border: 1px solid #dfe6f1;
}

.td-landing-map-visual--campaign > div {
    display: grid;
    grid-template-columns: .8fr 1.2fr .7fr;
    gap: 7px;
    align-items: center;
    min-height: 42px;
    padding: 0 10px;
    border-radius: 8px;
    background: var(--td-landing-surface);
    color: #344054;
    font-size: .78rem;
}

.td-landing-map-visual--campaign > div:first-child {
    color: #667085;
    background: #fff;
    font-weight: 900;
}

.td-landing-map-visual--campaign em {
    width: fit-content;
    padding: .22rem .36rem;
    border-radius: 8px;
    color: #1f8a5b;
    background: #ddf7eb;
    font-style: normal;
    font-weight: 900;
}

.td-landing-control {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(360px, .72fr);
    gap: 28px;
    align-items: center;
}

.td-landing-control-panel {
    display: grid;
    gap: 10px;
    padding: 16px;
    border-radius: 8px;
    background: #101828;
    box-shadow: 0 28px 78px rgba(24, 32, 51, .14);
}

.td-landing-control-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 62px;
    padding: .85rem 1rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    color: rgba(255, 255, 255, .78);
    background: rgba(255, 255, 255, .06);
    font-weight: 800;
}

.td-landing-control-row strong {
    color: var(--td-yellow);
    font-size: 1.85rem;
    line-height: 1;
}

.td-landing-cabinet {
    display: grid;
    grid-template-columns: minmax(360px, .9fr) minmax(0, .92fr);
    gap: 34px;
    align-items: center;
}

.td-landing-cabinet-screen {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    min-height: 390px;
    overflow: hidden;
    border: 1px solid #dfe6f1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(24, 32, 51, .1);
}

.td-landing-cabinet-sidebar {
    display: grid;
    align-content: start;
    gap: 13px;
    padding: 20px 14px;
    background: #101828;
}

.td-landing-cabinet-sidebar span {
    width: 54px;
    height: 54px;
    border-radius: 8px;
    background: var(--td-yellow);
}

.td-landing-cabinet-sidebar b {
    display: block;
    width: 100%;
    height: 14px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .2);
}

.td-landing-cabinet-sidebar b:nth-child(3) {
    background: var(--td-blue);
}

.td-landing-cabinet-main {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 22px;
    background: var(--td-landing-surface);
}

.td-landing-cabinet-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.td-landing-cabinet-top strong {
    color: var(--td-ink);
    font-size: 1.3rem;
}

.td-landing-cabinet-top em {
    padding: .32rem .52rem;
    border-radius: 8px;
    color: #1f8a5b;
    background: #ddf7eb;
    font-style: normal;
    font-weight: 900;
}

.td-landing-cabinet-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.td-landing-cabinet-steps span {
    display: grid;
    place-items: center;
    min-height: 42px;
    border: 1px solid #dfe6f1;
    border-radius: 8px;
    color: #667085;
    background: #fff;
    font-size: .82rem;
    font-weight: 900;
}

.td-landing-cabinet-steps .is-ready {
    border-color: rgba(var(--td-blue-rgb), .28);
    color: var(--td-blue);
    background: #eef4ff;
}

.td-landing-cabinet-cards {
    display: grid;
    gap: 10px;
}

.td-landing-cabinet-cards span {
    min-height: 62px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(24, 32, 51, .05);
}

.td-landing-cabinet-copy {
    display: grid;
    gap: .95rem;
}

.td-landing-cabinet-copy ul {
    display: grid;
    gap: .55rem;
    margin: .25rem 0 0;
    padding: 0;
    list-style: none;
}

.td-landing-cabinet-copy li {
    position: relative;
    padding-left: 1.2rem;
    color: #344054;
    line-height: 1.5;
}

.td-landing-cabinet-copy li::before {
    position: absolute;
    top: .62rem;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--td-yellow);
    content: "";
}

.td-landing-faq {
    display: grid;
    gap: clamp(24px, 3.4vw, 40px);
    width: min(780px, calc(100vw - 48px));
    margin: clamp(34px, 5vw, 72px) auto 0;
    padding-top: clamp(46px, 5vw, 64px);
}

.td-landing-pricing + .td-landing-faq {
    margin-top: clamp(76px, 9vw, 128px);
}

.td-landing-faq-head {
    display: grid;
    justify-items: center;
    gap: .9rem;
    text-align: center;
}

.td-landing-faq-head .td-landing-kicker {
    margin-bottom: 0 !important;
}

.td-landing-faq-head h2 {
    color: var(--td-ink);
    font-family: var(--td-landing-display-font);
    font-size: clamp(2.05rem, 3.2vw, 3.05rem);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1.05;
}

.td-landing-faq-list {
    display: grid;
    border-top: 1px solid #e1e7f0;
}

.td-landing-faq-list details {
    padding: 0;
    border-bottom: 1px solid #e1e7f0;
}

.td-landing-faq-list summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
    min-height: 74px;
    padding: .85rem 0;
    color: var(--td-ink);
    cursor: pointer;
    font-size: clamp(1rem, 1.25vw, 1.16rem);
    font-weight: 700;
    line-height: 1.35;
    list-style: none;
}

.td-landing-faq-list summary::-webkit-details-marker {
    display: none;
}

.td-landing-faq-list summary::after {
    color: #7a8495;
    content: "+";
    font-size: 1.85rem;
    font-weight: 400;
    line-height: 1;
    transition: color .18s ease, transform .18s ease;
}

.td-landing-faq-list details[open] summary::after {
    color: var(--td-blue);
    transform: rotate(45deg);
}

.td-landing-faq-list p {
    max-width: 680px;
    margin: 0 3.5rem 1.4rem 0;
    color: #596273;
    font-size: 1rem;
    line-height: 1.58;
}

.td-landing-support-cta {
    display: grid;
    justify-items: center;
    gap: .55rem;
    width: min(760px, calc(100vw - 48px));
    margin: clamp(58px, 8vw, 96px) auto 0;
    padding: 0 0 clamp(4px, 1.2vw, 16px);
    text-align: center;
}

.td-landing-support-cta-copy {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: .9rem;
    max-width: 660px;
}

.td-landing-support-cta-copy h2 {
    color: var(--td-ink);
    font-family: var(--td-landing-display-font);
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1.04;
}

.td-landing-support-cta-copy > p:last-of-type {
    max-width: 620px;
    color: #596273;
    font-size: clamp(1rem, 1.18vw, 1.14rem);
    font-weight: 500;
    line-height: 1.55;
}

.td-landing .btn.td-landing-support-cta-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    margin-top: .45rem;
    padding: 0 1.45rem;
    border: 0;
    border-radius: 25px !important;
    color: #101828;
    background: var(--td-yellow);
    font-family: var(--td-landing-display-font);
    font-size: .94rem;
    font-weight: 700;
}

.td-landing .btn.td-landing-support-cta-action:hover,
.td-landing .btn.td-landing-support-cta-action:focus-visible {
    color: #101828;
    background: #ffe96d;
}

.td-landing-support-cta-visual {
    display: grid;
    place-items: center;
    margin: 0;
}

.td-landing-support-cta-visual img {
    display: block;
    width: min(100%, 300px);
    height: auto;
    object-fit: contain;
}

.td-landing-pricing {
    display: grid;
    justify-items: center;
    gap: .9rem;
    width: min(860px, calc(100vw - 48px));
    margin: clamp(62px, 8vw, 104px) auto 0;
    padding: 0 0 clamp(8px, 1.4vw, 18px);
    text-align: center;
}

.td-landing-pricing-visual {
    display: grid;
    place-items: center;
    margin: 0;
}

.td-landing-pricing-visual img {
    display: block;
    width: min(100%, 430px);
    height: auto;
    object-fit: contain;
}

.td-landing-pricing-copy {
    display: grid;
    justify-items: center;
    gap: 1rem;
    max-width: 760px;
}

.td-landing-pricing-copy h2 {
    color: var(--td-ink);
    font-family: var(--td-landing-display-font);
    font-size: clamp(2.25rem, 4.2vw, 3.7rem);
    font-weight: 700;
    letter-spacing: -.043em;
    line-height: 1.03;
    text-wrap: balance;
}

.td-landing-pricing-copy p {
    max-width: 690px;
    color: #596273;
    font-size: clamp(1rem, 1.18vw, 1.14rem);
    font-weight: 500;
    line-height: 1.58;
    text-wrap: balance;
}

.td-landing-pricing-offer {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    width: min(100%, 650px);
    margin-top: .35rem;
    padding: .5rem;
    border-radius: 32px;
    background: var(--td-landing-surface);
}

.td-landing-pricing-offer-item {
    display: grid;
    align-content: center;
    gap: .18rem;
    min-width: 160px;
    padding: .58rem 1rem;
    text-align: left;
}

.td-landing-pricing-offer-item + .td-landing-pricing-offer-item {
    border-left: 1px solid #d6dfec;
}

.td-landing-pricing-offer strong {
    color: var(--td-ink);
    font-family: var(--td-landing-display-font);
    font-size: clamp(1.22rem, 1.8vw, 1.52rem);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.05;
}

.td-landing-pricing-offer small {
    color: #667085;
    font-size: .86rem;
    font-weight: 600;
    line-height: 1.25;
}

.td-landing .btn.td-landing-pricing-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    margin-left: auto;
    padding: 0 1.3rem;
    border: 0;
    border-radius: 26px !important;
    color: #101828;
    background: var(--td-yellow);
    font-family: var(--td-landing-display-font);
    font-size: .96rem;
    font-weight: 700;
    letter-spacing: -.015em;
    box-shadow: none;
}

.td-landing .btn.td-landing-pricing-action:hover,
.td-landing .btn.td-landing-pricing-action:focus-visible {
    color: #101828;
    background: #ffe96d;
    box-shadow: none;
}

.td-landing-final {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-top: 18px;
    padding: 36px;
    border: 1px solid #dfe6f1;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(252, 221, 66, .24), transparent 38%),
        var(--td-landing-surface);
}

.td-landing-final > div:first-child {
    max-width: 760px;
}

.td-landing-final-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    margin-top: 0;
}

.td-landing-final-actions .btn {
    min-height: 48px;
    border-radius: 8px;
    padding-right: 1.2rem;
    padding-left: 1.2rem;
    font-weight: 900;
}

.td-landing-final-actions .btn-outline-dark {
    border-color: #d7deea;
    color: var(--td-ink);
    background: #fff;
}

.td-landing-footer {
    display: grid;
    gap: clamp(34px, 4.2vw, 58px);
    width: min(1100px, calc(100vw - 48px));
    box-sizing: border-box;
    margin: clamp(80px, 11vw, 148px) auto 0;
    padding: clamp(30px, 4.5vw, 58px) clamp(24px, 5vw, 64px) 24px;
    overflow: hidden;
    border-radius: 52px 52px 0 0;
    color: rgba(255, 255, 255, .72);
    background: #172137;
}

.td-landing-footer-top {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(420px, 1.22fr);
    align-items: start;
    gap: clamp(26px, 5vw, 80px);
    padding-bottom: clamp(30px, 3.8vw, 48px);
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.td-landing-footer-brand {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    width: fit-content;
    color: #fff;
    font-family: var(--td-landing-display-font);
    font-size: clamp(1.55rem, 2.1vw, 2.15rem);
    font-weight: 700;
    letter-spacing: -.05em;
    line-height: 1;
    text-decoration: none;
}

.td-landing-footer-logo {
    width: clamp(38px, 4.2vw, 52px);
    height: clamp(38px, 4.2vw, 52px);
    object-fit: contain;
}

.td-landing-newsletter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, .8fr);
    align-items: center;
    gap: .55rem .8rem;
    padding: .72rem .8rem .68rem;
    border-radius: 30px;
    background: rgba(255, 255, 255, .07);
}

.td-landing-newsletter-copy {
    display: grid;
    align-content: center;
    gap: .12rem;
}

.td-landing-newsletter-copy strong {
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
}

.td-landing-newsletter-copy span {
    color: rgba(255, 255, 255, .66);
    font-size: .82rem;
    line-height: 1.42;
}

.td-landing-newsletter-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
}

.td-landing-newsletter-form input {
    min-width: 0;
    height: 44px;
    padding: 0 .8rem;
    border: 0;
    outline: 0;
    color: var(--td-ink);
    background: transparent;
    font: inherit;
    font-size: .9rem;
}

.td-landing-newsletter-form input::placeholder {
    color: #98a2b3;
}

.td-landing-newsletter-form button {
    display: grid;
    place-items: center;
    padding: 0 .9rem;
    border: 0;
    color: #111827;
    background: var(--td-yellow);
    font: inherit;
    font-family: var(--td-landing-display-font);
    font-size: .86rem;
    font-weight: 700;
    white-space: nowrap;
}

.td-landing-newsletter-form button:hover,
.td-landing-newsletter-form button:focus-visible {
    background: #ffe764;
}

.td-landing-newsletter-consent {
    display: flex;
    grid-column: 1 / -1;
    align-items: flex-start;
    gap: .42rem;
    color: rgba(255, 255, 255, .57);
    font-size: .7rem;
    line-height: 1.4;
    cursor: pointer;
}

.td-landing-newsletter-consent input {
    flex: 0 0 auto;
    width: 13px;
    height: 13px;
    margin: .15rem 0 0;
    accent-color: var(--td-yellow);
}

.td-landing-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(130px, .72fr));
    gap: clamp(24px, 4vw, 62px);
}

.td-landing-footer-intro {
    display: grid;
    align-content: start;
    gap: 1.2rem;
    max-width: 340px;
}

.td-landing-footer-intro p {
    color: rgba(255, 255, 255, .72);
    font-size: clamp(1.04rem, 1.2vw, 1.16rem);
    font-weight: 500;
    line-height: 1.58;
}

.td-landing-footer-action {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    width: fit-content;
    color: var(--td-yellow);
    font-size: .98rem;
    font-weight: 700;
    text-decoration: none;
}

.td-landing-footer-action:hover,
.td-landing-footer-action:focus-visible {
    color: #fff084;
}

.td-landing-footer-nav-group {
    display: grid;
    align-content: start;
    gap: .72rem;
}

.td-landing-footer-nav-group strong {
    margin-bottom: .18rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
}

.td-landing-footer-nav-group a {
    color: rgba(255, 255, 255, .62);
    font-size: .94rem;
    font-weight: 500;
    line-height: 1.35;
    text-decoration: none;
    transition: color .16s ease;
}

.td-landing-footer-nav-group a:hover,
.td-landing-footer-nav-group a:focus-visible {
    color: var(--td-yellow);
}

.td-landing-footer-account {
    display: grid;
    justify-items: end;
    align-content: start;
}

.td-landing-footer-account a {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    padding: .72rem 1rem;
    border-radius: 999px;
    color: #111827;
    background: var(--td-yellow);
    font-size: .94rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.td-landing-footer-account a:hover,
.td-landing-footer-account a:focus-visible {
    color: #111827;
    background: #ffe764;
}

.td-landing-footer-legal {
    display: flex;
    align-items: center;
    gap: 1rem 1.4rem;
    flex-wrap: wrap;
}

.td-landing-footer-legal-block {
    display: grid;
    gap: .72rem;
}

.td-landing-footer-legal a {
    color: rgba(255, 255, 255, .54);
    font-size: .84rem;
    line-height: 1.45;
    text-decoration: none;
}

.td-landing-footer-legal a:hover,
.td-landing-footer-legal a:focus-visible {
    color: #fff;
}

.td-landing-footer-software-note {
    max-width: 720px;
    margin: 0 !important;
    color: rgba(255, 255, 255, .48);
    font-size: .8rem;
    line-height: 1.5;
}

.td-landing-footer-bottom {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    padding-top: 1.15rem;
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .42);
    font-size: .82rem;
    line-height: 1.5;
}

.td-landing-footer-bottom span:last-child {
    max-width: 560px;
    text-align: right;
}

.td-legal-page {
    width: min(860px, 100%);
    margin: clamp(42px, 8vw, 90px) auto;
    color: var(--td-ink);
}

.td-legal-back {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: 1.35rem;
    color: var(--td-blue);
    font-size: .94rem;
    font-weight: 700;
    text-decoration: none;
}

.td-legal-page-head {
    display: grid;
    gap: .85rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #e3e9f2;
}

.td-legal-page-head h1 {
    margin: 0;
    font-family: var(--td-landing-display-font, "Manrope", sans-serif);
    font-size: clamp(2rem, 4vw, 3.3rem);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1.08;
}

.td-legal-page-content {
    display: grid;
    gap: 1.7rem;
    padding-top: 2rem;
}

.td-legal-page-content section {
    display: grid;
    gap: .55rem;
}

.td-legal-page-content h2,
.td-legal-page-content p {
    margin: 0;
}

.td-legal-page-content h2 {
    font-size: 1.12rem;
    font-weight: 700;
}

.td-legal-page-content p {
    color: #596273;
    font-size: 1rem;
    line-height: 1.65;
}

.td-legal-page-content ul {
    display: grid;
    gap: .45rem;
    margin: .2rem 0 0;
    padding-left: 1.25rem;
    color: #596273;
    font-size: 1rem;
    line-height: 1.6;
}

.td-legal-page-content li::marker {
    color: var(--td-blue);
}

@media (max-width: 1199.98px) {
    .td-landing-hero {
        grid-template-columns: minmax(0, 1fr) minmax(330px, .68fr);
        gap: 28px;
    }

    .td-landing-direct-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .td-landing-hero,
    .td-landing-tools-card,
    .td-landing-control,
    .td-landing-cabinet,
    .td-landing-faq,
    .td-landing-pricing,
    .td-landing-support-cta {
        grid-template-columns: 1fr;
    }

    .td-landing-hero {
        min-height: auto;
        padding: 56px 0;
    }

    .td-landing-section,
    .td-landing-map,
    .td-landing-tools,
    .td-landing-control,
    .td-landing-cabinet,
    .td-landing-faq {
        padding: 56px 0;
    }

    .td-landing-support-cta {
        padding: 0 0 10px;
    }

    .td-landing-faq {
        padding: 0;
    }

    .td-landing-insight-grid,
    .td-landing-map-grid {
        grid-template-columns: 1fr;
    }

    .td-landing-solutions-grid {
        grid-template-columns: 1fr;
    }

    .td-landing-solution-card--wide {
        grid-column: auto;
    }

    .td-autotarget-card {
        grid-template-columns: 1fr;
        min-height: auto;
        border-radius: 44px;
    }

    .td-autotarget-visual {
        min-height: 260px;
    }

    .td-autotarget-visual img {
        width: min(100%, 650px);
        transform: scale(1.03);
    }

    .td-landing-direct-card {
        max-width: 560px;
    }

    .td-landing-tools-card {
        padding: 40px;
        gap: 28px;
        min-height: auto;
    }

    .td-landing-tools-slide {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .td-landing-tools-visual {
        min-height: 300px;
    }

    .td-landing-tools-visual img {
        width: min(100%, 560px);
        transform: none;
    }

    .td-landing-final {
        align-items: flex-start;
        flex-direction: column;
    }

    .td-landing-footer-top,
    .td-landing-footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .td-landing-footer-brand {
        align-self: center;
    }

    .td-landing-footer-intro {
        grid-column: 1 / -1;
    }

    .td-landing-footer-account {
        justify-items: start;
    }
}

@media (max-width: 575.98px) {
    .td-public-navbar {
        top: 12px;
        width: calc(100% - 32px);
        margin-top: 12px;
        border-radius: 28px;
    }

    .td-public-navbar .container {
        min-height: 68px;
        padding: 10px 13px 10px 16px;
    }

    .td-public-brand {
        gap: .38rem;
        font-size: 1.16rem;
    }

    .td-public-brand-logo,
    .td-public-brand-fallback {
        width: 38px;
        height: 38px;
    }

    .td-public-navbar .td-public-login {
        min-height: 42px;
        padding: 0 1rem;
        border-radius: 21px !important;
        font-size: .88rem;
    }

    .td-landing-hero,
    .td-landing-solutions,
    .td-landing-section,
    .td-landing-map,
    .td-landing-tools,
    .td-landing-control,
    .td-landing-cabinet,
    .td-landing-faq,
    .td-landing-final,
    .td-landing-support-cta,
    .td-landing-pricing,
    .td-landing-footer {
        width: min(100% - 32px, 1180px);
    }

    .td-landing-hero {
        padding: 42px 0;
    }

    .td-landing-solutions {
        padding: 32px 16px 40px;
        border-radius: 34px;
    }

    .td-landing-solutions-head {
        margin-bottom: 32px;
    }

    .td-landing-solutions-head h2 {
        font-size: 2.15rem;
    }

    .td-landing-solutions-head p {
        font-size: 1rem;
    }

    .td-landing-solutions-grid {
        gap: 16px;
    }

    .td-landing-solution-card,
    .td-landing-solution-card--wide {
        min-height: 340px;
        padding: 24px;
        border-radius: 28px;
    }

    .td-landing-solution-visual,
    .td-landing-solution-card--wide .td-landing-solution-visual {
        min-height: 170px;
        margin-bottom: 1rem;
    }

    .td-landing-solution-visual img,
    .td-landing-solution-card--wide .td-landing-solution-visual img {
        width: min(100%, 250px);
        height: 170px;
    }

    .td-landing-solution-copy h3 {
        font-size: 1.42rem;
    }

    .td-landing-solution-copy p {
        font-size: .92rem;
    }

    .td-landing-solutions-note {
        margin-top: 26px !important;
        font-size: 1rem;
    }

    .td-landing-tools {
        margin-top: 54px;
        padding: 0;
    }

    .td-landing-tools-head {
        gap: .95rem;
        margin-bottom: 28px;
    }

    .td-landing-tools-head h2 {
        font-size: clamp(1.34rem, 6.7vw, 1.67rem);
        line-height: 1.06;
    }

    .td-landing-tools-card {
        padding: 24px;
        border-radius: 34px;
    }

    .td-landing-tools-tabs {
        justify-content: flex-start;
        gap: .45rem;
        margin-bottom: 18px;
    }

    .td-landing-tools-tabs button {
        min-height: 34px;
        padding: 0 .78rem;
        border-radius: 17px;
        font-size: .82rem;
    }

    .td-landing-tools-slide {
        gap: 22px;
    }

    .td-landing-tools-copy {
        gap: 14px;
    }

    .td-landing-tools-card h3 {
        font-size: 2rem;
        line-height: 1.06;
    }

    .td-landing-tools-copy p {
        font-size: .98rem;
        line-height: 1.5;
    }

    .td-landing-tools-cta {
        min-height: 50px;
        border-radius: 25px !important;
    }

    .td-landing-tools-visual {
        min-height: 220px;
    }

    .td-landing-tools-visual img {
        width: min(112%, 390px);
    }

    .td-landing-autotarget {
        margin-top: 24px;
        padding: 0 16px 72px;
    }

    .td-landing-autotarget-inner {
        gap: 30px;
    }

    .td-landing-autotarget-stage {
        gap: 16px;
        min-height: 100svh;
    }

    .td-autotarget-word {
        font-size: clamp(2.35rem, 13vw, 4rem);
        letter-spacing: -.045em;
    }

    .td-autotarget-word svg {
        width: 138%;
        height: 128%;
    }

    .td-autotarget-word path {
        stroke-width: 12;
    }

    .td-landing-autotarget-stage h2 {
        font-size: 1.86rem;
        line-height: 1.06;
        top: calc(50% + 58px);
    }

    .td-autotarget-card {
        gap: 20px;
        padding: 22px;
        border-radius: 32px;
    }

    .td-autotarget-card h3 {
        font-size: 1.42rem;
        line-height: 1.1;
    }

    .td-autotarget-card p {
        font-size: 1rem;
        line-height: 1.55;
    }

    .td-autotarget-visual {
        min-height: 190px;
    }

    .td-autotarget-visual img {
        width: min(112%, 420px);
    }

    .td-autotarget-cta {
        min-height: 48px;
        padding: 0 1.15rem;
        border-radius: 24px !important;
        font-size: .95rem;
    }

    .td-landing-hero h1 {
        font-size: 2.25rem;
        line-height: 1.06;
    }

    .td-landing-hero-lead {
        font-size: 1rem;
    }

    .td-landing-analyzer {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 14px;
        border-radius: 28px;
    }

    .td-landing-analyzer-field {
        min-height: 52px;
        border-radius: 22px;
    }

    .td-landing-analyzer-submit {
        min-height: 52px;
        border-radius: 22px !important;
    }

    .td-landing-direct-card,
    .td-landing-control-panel,
    .td-landing-final {
        padding: 16px;
    }

    .td-landing-cabinet-screen {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .td-landing-cabinet-sidebar {
        display: none;
    }

    .td-landing-cabinet-main {
        padding: 16px;
    }

    .td-landing-cabinet-steps,
    .td-landing-map-visual--campaign > div {
        grid-template-columns: 1fr;
    }

    .td-landing-control-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .td-landing-final-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .td-landing-final-actions .btn {
        width: 100%;
    }

    .td-landing-faq {
        gap: 28px;
        margin-top: 48px;
    }

    .td-landing-pricing + .td-landing-faq {
        margin-top: 76px;
    }

    .td-landing-faq-head h2 {
        font-size: 2.1rem;
    }

    .td-landing-faq-list summary {
        gap: .85rem;
        min-height: 64px;
        font-size: 1rem;
    }

    .td-landing-faq-list summary::after {
        font-size: 1.6rem;
    }

    .td-landing-faq-list p {
        margin-right: 1.85rem;
        margin-bottom: 1.1rem;
        font-size: .94rem;
    }

    .td-landing-support-cta {
        gap: 20px;
        margin-top: 48px;
        padding: 0 0 8px;
        text-align: center;
    }

    .td-landing-support-cta-copy {
        justify-items: center;
    }

    .td-landing-support-cta-copy h2 {
        font-size: 2.1rem;
    }

    .td-landing-support-cta-visual img {
        width: min(100%, 300px);
    }

    .td-landing-pricing {
        gap: 18px;
        margin-top: 58px;
        padding: 0 0 10px;
    }

    .td-landing-pricing-visual img {
        width: min(100%, 360px);
    }

    .td-landing-pricing-copy {
        gap: .85rem;
    }

    .td-landing-pricing-copy h2 {
        font-size: 2.1rem;
    }

    .td-landing-pricing-copy p {
        font-size: 1rem;
        line-height: 1.55;
    }

    .td-landing-pricing-offer {
        width: 100%;
        gap: .55rem;
        padding: .5rem;
        border-radius: 26px;
    }

    .td-landing-pricing-offer-item {
        flex: 1 1 0;
        min-width: 0;
        padding: .72rem .82rem;
    }

    .td-landing .btn.td-landing-pricing-action {
        min-height: 50px;
        width: 100%;
        margin: 0;
        border-radius: 25px !important;
    }

    .td-landing-footer {
        gap: 30px;
        margin-top: 76px;
        padding: 28px 20px 20px;
        border-radius: 34px 34px 0 0;
    }

    .td-landing-footer-top,
    .td-landing-footer-grid {
        grid-template-columns: 1fr;
    }

    .td-landing-footer-top {
        gap: 24px;
        padding-bottom: 28px;
    }

    .td-landing-newsletter {
        grid-template-columns: 1fr;
        padding: .9rem;
        border-radius: 18px;
    }

    .td-landing-newsletter-form {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .td-landing-footer-grid {
        gap: 28px;
    }

    .td-landing-footer-intro {
        grid-column: auto;
    }

    .td-landing-footer-nav-group {
        gap: .6rem;
    }

    .td-landing-footer-legal {
        align-items: flex-start;
        flex-direction: column;
        gap: .6rem;
    }

    .td-landing-footer-bottom {
        flex-direction: column;
        gap: .45rem;
    }

    .td-landing-footer-bottom span:last-child {
        text-align: left;
    }
}

.td-balance-page .td-balance-payment-card {
    display: grid;
    gap: 1.1rem;
}

.td-balance-page .td-balance-payment-head {
    align-items: center;
    margin-bottom: 0;
}

.td-balance-page .td-balance-amount-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.td-balance-page .td-balance-amount-option {
    align-content: center;
    min-height: 94px;
    text-align: center;
}

.td-balance-page .td-balance-amount-option span {
    font-size: 1.18rem;
}

.td-balance-page .td-balance-payment-summary {
    background: #f2f6fd;
}

.td-balance-page .td-balance-payment-summary strong {
    color: var(--td-ink);
}

.td-balance-page .td-balance-payment-summary b {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: .45rem .8rem;
    border-radius: 999px;
    background: var(--td-yellow);
    font-size: .95rem;
}

.td-balance-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    margin-top: 1rem;
}

.td-balance-pagination a,
.td-balance-pagination span,
.td-balance-pagination strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: .45rem .75rem;
    border-radius: 999px;
    font-size: .84rem;
    font-weight: 800;
}

.td-balance-pagination a {
    color: var(--td-ink);
    background: #f2f6fd;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease;
}

.td-balance-pagination a:hover,
.td-balance-pagination a:focus-visible {
    color: var(--td-blue);
    background: #eef4ff;
}

.td-balance-pagination strong {
    color: #101828;
    background: var(--td-yellow);
}

.td-balance-pagination .disabled {
    color: #98a2b3;
    background: #f5f7fa;
}

@media (max-width: 767.98px) {
    .td-balance-page .td-balance-amount-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .td-balance-page .td-balance-payment-summary,
    .td-balance-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .td-balance-pagination a,
    .td-balance-pagination span,
    .td-balance-pagination strong {
        width: 100%;
    }
}

.td-balance-topup-card {
    container-type: inline-size;
    overflow: hidden;
}

.td-balance-topup-card .td-balance-payment-head {
    padding-bottom: .2rem;
}

.td-balance-topup-card .td-balance-payment-head p {
    max-width: 620px;
    margin: .35rem 0 0;
    color: var(--td-muted);
    font-size: .94rem;
    line-height: 1.5;
}

.td-balance-topup-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 1rem;
    align-items: stretch;
}

.td-balance-presets {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
}

.td-balance-preset {
    position: relative;
    display: grid;
    align-content: center;
    gap: .22rem;
    min-height: 112px;
    padding: 1rem;
    border: 0;
    border-radius: 22px;
    background: #f6f8fc;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, color .18s ease;
}

.td-balance-preset:hover {
    background: #f9fbff;
}

.td-balance-preset input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.td-balance-preset:has(input:checked) {
    color: #fff;
    background:
        linear-gradient(145deg, #243763 0%, #172033 58%, #101828 100%);
    box-shadow: none;
}

.td-balance-preset-main,
.td-balance-preset-tokens,
.td-balance-preset-bonus {
    display: block;
    position: relative;
    z-index: 1;
}

.td-balance-preset-main {
    color: var(--td-ink);
    font-size: 1.18rem;
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1;
    white-space: nowrap;
}

.td-balance-preset-tokens {
    color: var(--td-muted);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.25;
}

.td-balance-preset:has(input:checked) .td-balance-preset-main {
    color: #fff;
}

.td-balance-preset:has(input:checked) .td-balance-preset-tokens {
    color: rgba(255, 255, 255, .7);
}

.td-balance-preset-bonus {
    justify-self: start;
    margin-top: .18rem;
    padding: .26rem .46rem;
    border-radius: 999px;
    color: #101828;
    background: var(--td-yellow);
    font-size: .7rem;
    font-weight: 800;
    white-space: nowrap;
}

.td-balance-preset:has(input:checked) .td-balance-preset-bonus {
    color: #101828;
    background: var(--td-yellow);
}

.td-balance-checkout {
    display: grid;
    align-content: start;
    gap: .9rem;
    padding: 1.1rem;
    border-radius: 24px;
    color: #fff;
    background:
        linear-gradient(145deg, #243763 0%, #172033 58%, #101828 100%);
}

.td-balance-checkout-bank {
    display: block;
    width: 112px;
    height: auto;
    margin: -.2rem 0 .15rem auto;
    border-radius: 16px;
}

.td-balance-checkout-kicker {
    color: rgba(255, 255, 255, .62);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.td-balance-checkout > strong {
    margin-top: -.45rem;
    font-size: clamp(2.2rem, 4vw, 3.35rem);
    font-weight: 800;
    letter-spacing: -.07em;
    line-height: .92;
}

.td-balance-checkout dl {
    display: grid;
    gap: .45rem;
    margin: 0;
}

.td-balance-checkout dl > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    min-height: 42px;
    padding: .55rem .7rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, .1);
}

.td-balance-checkout dt,
.td-balance-checkout dd {
    margin: 0;
}

.td-balance-checkout dt {
    color: rgba(255, 255, 255, .62);
    font-size: .78rem;
    font-weight: 700;
}

.td-balance-checkout dd {
    color: #fff;
    font-size: .9rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.td-balance-checkout-bonus dd {
    color: rgba(255, 255, 255, .5);
}

.td-balance-checkout.has-bonus .td-balance-checkout-bonus dd {
    color: var(--td-yellow);
}

.td-balance-checkout-total {
    background: rgba(255, 255, 255, .16) !important;
}

.td-balance-checkout-total dd {
    font-size: 1rem;
}

.td-balance-bonus-meter {
    overflow: hidden;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .16);
}

.td-balance-bonus-meter span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: var(--td-yellow);
    transition: width .2s ease;
}

.td-balance-checkout p {
    margin: -.25rem 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.4;
}

.td-balance-checkout .btn {
    justify-self: stretch;
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: 24px;
    color: #101828;
    background: var(--td-yellow);
    opacity: 1;
}

.td-balance-checkout small {
    color: rgba(255, 255, 255, .6);
    font-size: .76rem;
    line-height: 1.35;
}

.td-token-cost--credit {
    color: #087443;
    background: #dcfae6;
}

.td-token-cost--debit {
    color: #b42318;
    background: #fee4e2;
}

.td-balance-section .td-pagination-wrap {
    margin-top: 0;
}

@media (max-width: 991.98px) {
    .td-balance-topup-layout {
        grid-template-columns: 1fr;
    }

    .td-balance-presets {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .td-balance-presets {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .td-balance-preset {
        min-height: 102px;
        padding: .85rem;
    }

    .td-balance-checkout {
        padding: 1rem;
    }
}

@container (max-width: 860px) {
    .td-balance-topup-layout {
        grid-template-columns: 1fr;
    }

    .td-balance-presets {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .td-balance-checkout {
        grid-template-columns: minmax(0, .8fr) minmax(0, 1fr);
        align-items: start;
    }

    .td-balance-checkout-bank {
        grid-column: 2;
        justify-self: end;
        margin-bottom: 0;
    }

    .td-balance-checkout-kicker,
    .td-balance-checkout > strong,
    .td-balance-checkout p {
        grid-column: 1;
    }

    .td-balance-checkout dl,
    .td-balance-bonus-meter,
    .td-balance-checkout .btn {
        grid-column: 2;
    }
}

@container (max-width: 620px) {
    .td-balance-presets {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .td-balance-checkout {
        grid-template-columns: 1fr;
    }

    .td-balance-checkout-bank,
    .td-balance-checkout-kicker,
    .td-balance-checkout > strong,
    .td-balance-checkout p,
    .td-balance-checkout dl,
    .td-balance-bonus-meter,
    .td-balance-checkout .btn {
        grid-column: auto;
    }
}

@media (max-width: 767.98px) {
    .td-task-summary,
    .td-task-control-grid,
    .td-task-technical {
        grid-template-columns: 1fr;
    }

    .td-task-facts {
        grid-template-columns: 1fr;
    }

    .td-task-control-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .td-task-control-card form,
    .td-task-control-card > small {
        grid-column: 1 / -1;
    }

    .td-task-control-actions {
        grid-column: 1 / -1;
        justify-content: stretch;
    }

    .td-task-control-actions form {
        flex: 1 1 150px;
    }

    .td-task-control-card .btn {
        width: 100%;
    }

    .td-task-log-head {
        flex-direction: column;
        gap: .2rem;
    }
}
