:root {
    --bg: #f8f9fb;
    --bg-soft: #ffffff;
    --card: #ffffff;
    --border: #e2e6ed;
    --border-soft: #eef0f5;
    --text: #1a1f2e;
    --muted: #6b7280;
    --muted-light: #9ca3af;
    --primary: #2563eb;
    --primary-hover: #1d4ed8;
    --primary-light: #eff6ff;
    --accent: #0ea5e9;
    --success: #16a34a;
    --error: #dc2626;
    --error-bg: #fef2f2;
    --error-border: #fecaca;
    --header-bg: #fdfdfe;
    --footer-bg: #f3f4f6;
    --radius: 12px;
    --shell-width: 1280px;
    --compact-shell-width: 880px;
    --shadow: 0 1px 3px rgba(0,0,0,0.07), 0 4px 16px rgba(0,0,0,0.05);
    font-family: 'Vazirmatn', system-ui, sans-serif;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    min-height: 100vh;
}

.page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* ─── هدر ─── */
.topbar {
    background: var(--header-bg);
    border-bottom: 1px solid var(--border);
}

.topbar-inner {
    max-width: var(--shell-width);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.5rem;
    direction: ltr;
}

.brand {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 800;
    font-size: 1.15rem;
    color: var(--text);
    text-decoration: none;
    letter-spacing: -0.3px;
}

.brand-lock {
    font-size: 1rem;
}

.brand .accent {
    color: var(--primary);
}

.nav {
    display: flex;
    gap: 1.4rem;
    align-items: center;
}

    .nav a {
        color: var(--muted);
        text-decoration: none;
        font-size: 0.88rem;
        font-weight: 500;
    }

        .nav a:hover {
            color: var(--text);
        }

.tool-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    margin-bottom: 1.2rem;
}

.tool-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.35rem 0.75rem;
    align-items: start;
    min-height: 8.5rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--card);
    color: var(--text);
    text-decoration: none;
    box-shadow: var(--shadow);
    transition: border-color 0.15s, transform 0.15s, background 0.15s;
}

    .tool-card:hover {
        transform: translateY(-2px);
        border-color: var(--primary);
        background: var(--primary-light);
    }

    .tool-card strong {
        font-size: 0.95rem;
        line-height: 1.5;
    }

    .tool-card span:last-child {
        grid-column: 1 / -1;
        color: var(--muted);
        font-size: 0.82rem;
        line-height: 1.8;
    }

.tool-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 8px;
    background: var(--primary);
    color: white;
    font-size: 0.8rem;
    font-weight: 800;
    direction: ltr;
}

.home-issue-hero {
    display: grid;
    place-items: center;
    margin: 0 0 2rem;
    padding: 3.2rem 2.4rem;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.18), rgba(37, 99, 235, 0.06)), #2563eb;
    color: #fff;
    box-shadow: 0 18px 44px rgba(37, 99, 235, 0.22);
    overflow: hidden;
}

.home-issue-copy {
    display: grid;
    gap: 1rem;
    justify-items: center;
    max-width: 50rem;
    text-align: center;
}

.home-issue-hero h1 {
    margin: 0;
    font-size: clamp(1.85rem, 3vw, 2.65rem);
    line-height: 1.45;
    font-weight: 900;
    letter-spacing: 0;
    white-space: nowrap;
}

.home-issue-hero p {
    max-width: 40rem;
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 1rem;
    line-height: 1.9;
}

.home-hero-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.45rem;
}

    .home-hero-actions .btn {
        margin-top: 0;
        text-decoration: none;
    }

.hero-primary {
    background: #fff;
    color: #1d4ed8;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
}

    .hero-primary:hover {
        color: #1d4ed8;
        background: #f8fafc;
    }

.hero-secondary {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.42);
}

    .hero-secondary:hover {
        background: rgba(255, 255, 255, 0.22);
    }

.nav-form {
    margin: 0;
}

    .nav-form button {
        border: none;
        background: transparent;
        color: var(--muted);
        cursor: pointer;
        font: inherit;
        font-weight: 600;
        padding: 0;
    }

        .nav-form button:hover {
            color: var(--primary);
        }

.home-tools-heading {
    margin-top: 0;
}

    .home-tools-heading h2 {
        margin: 0 0 0.5rem;
        color: var(--text);
        font-size: 1.45rem;
        font-weight: 850;
        line-height: 1.6;
    }

@media (max-width: 920px) {
    .tool-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.info-panel {
    margin-top: 1.2rem;
    padding: 1.4rem;
}

    .info-panel h2,
    .result-section h2 {
        margin: 0 0 0.75rem;
        font-size: 1rem;
        line-height: 1.6;
    }

    .info-panel p {
        margin: 0;
        color: var(--muted);
        font-size: 0.88rem;
        line-height: 1.9;
        text-align: right;
    }

/* ─── محتوا ─── */
.content {
    flex: 1;
    max-width: var(--compact-shell-width);
    margin: 0 auto;
    padding: 2.5rem 1.5rem 4rem;
    width: 100%;
}

    .content:has(.home-issue-hero),
    .content:has(.tls-assessment-shell),
    .content:has(.dns-security-shell),
    .content:has(.admin-grid),
    .content:has(.admin-shell),
    .content:has(.dashboard-grid),
    .content:has(.dashboard-shell),
    .content:has(.customer-area) {
        max-width: var(--shell-width);
    }

/* ─── هیرو ─── */
.hero {
    text-align: center;
    margin-bottom: 1.5rem;
}

    .hero h1 {
        font-size: 1.9rem;
        font-weight: 800;
        margin: 0 0 0.5rem;
        color: var(--text);
        letter-spacing: -0.5px;
    }

    .hero p {
        color: var(--muted);
        margin: 0;
        font-size: 0.95rem;
        line-height: 1.7;
    }

/* ─── کارت ویزارد ─── */
.wizard-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 2rem;
    box-shadow: var(--shadow);
}

.step h2 {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0 0 1.4rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text);
}

.step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 50%;
    background: var(--primary);
    color: white;
    font-size: 0.82rem;
    font-weight: 700;
    flex-shrink: 0;
}

.step.center {
    text-align: center;
    padding: 3rem 0;
}

/* ─── فیلدها ─── */
.field-label {
    display: block;
    margin: 0 0 0.4rem;
    font-size: 0.83rem;
    font-weight: 600;
    color: var(--text);
    text-align: right;
}

    .field-label small {
        font-weight: 400;
        color: var(--muted);
    }

.field-group {
    margin-bottom: 1.2rem;
}

.input, .textarea {
    width: 100%;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text);
    padding: 0.65rem 0.85rem;
    font-family: 'Vazirmatn', monospace;
    font-size: 0.88rem;
    resize: vertical;
    transition: border-color 0.15s;
}

    .textarea.cert {
        font-family: 'Courier New', monospace;
        direction: ltr;
        text-align: left;
        font-size: 0.78rem;
    }

    .input:focus, .textarea:focus {
        outline: none;
        border-color: var(--primary);
        box-shadow: 0 0 0 3px rgba(37,99,235,0.08);
    }

/* ─── روش وریفیکیشن ─── */
.method-select {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.7rem;
}

.radio-card {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    border: 1.5px solid var(--border);
    border-radius: 9px;
    padding: 0.85rem;
    cursor: pointer;
    background: var(--bg);
    transition: border-color 0.15s, background 0.15s;
}

    .radio-card.selected {
        border-color: var(--primary);
        background: var(--primary-light);
    }

    .radio-card div {
        display: flex;
        flex-direction: column;
        gap: 0.15rem;
    }

    .radio-card strong {
        font-size: 0.88rem;
    }

    .radio-card span {
        color: var(--muted);
        font-size: 0.78rem;
    }

    .radio-card input[type=radio] {
        margin-top: 2px;
        accent-color: var(--primary);
    }

.checkbox-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    font-size: 0.85rem;
    color: var(--muted);
    cursor: pointer;
}

    .checkbox-row input {
        accent-color: var(--primary);
    }

/* ─── دکمه‌ها ─── */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 9px;
    padding: 0.7rem 1.3rem;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.15s;
    font-family: 'Vazirmatn', sans-serif;
}

    .btn.primary {
        background: var(--primary);
        color: white;
        width: 100%;
        margin-top: 1.4rem;
    }

        .btn.primary:hover {
            background: var(--primary-hover);
        }

        .btn.primary:disabled {
            opacity: 0.55;
            cursor: not-allowed;
        }

    .btn.secondary {
        background: white;
        border: 1px solid var(--border);
        color: var(--text);
    }

        .btn.secondary.full {
            width: 100%;
            margin-top: 1.4rem;
        }

        .btn.secondary:hover {
            background: var(--bg);
        }

.btn-row {
    display: flex;
    gap: 0.7rem;
    margin-top: 1.4rem;
}

    .btn-row .btn {
        margin-top: 0;
        flex: 1;
    }

/* ─── آلرت ─── */
.alert {
    margin-top: 1rem;
    padding: 0.75rem 0.95rem;
    border-radius: 8px;
    font-size: 0.85rem;
    line-height: 1.6;
}

    .alert.error {
        background: var(--error-bg);
        border: 1px solid var(--error-border);
        color: var(--error);
    }

    .alert.warn {
        background: #fffbeb;
        border: 1px solid #facc15;
        color: #854d0e;
    }

    .alert.success {
        background: #ecfdf5;
        border: 1px solid #86efac;
        color: #166534;
    }

    .alert.info {
        background: #ecf7fd;
        border: 1px solid #86ceef;
        color: #0c7a9d;
    }

.text-justify-align-center {
    text-align: justify;
    text-align-last: center;
}

.issue-multi-domain-csr-guide {
    font-size: 13px;
    color: #e37800;
}

.issue-csr-identity-restriction-holder {
    font-style: italic;
    font-size: 13px;
    color: gray;
    text-align: justify;
    padding: 0 10px;
}

.actalis-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0 0 1rem;
}

    .actalis-info-grid div {
        display: grid;
        gap: 0.4rem;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: #f8fafc;
        padding: 0.85rem;
    }

    .actalis-info-grid strong {
        color: var(--text);
        font-size: 0.85rem;
    }

    .actalis-info-grid span,
    .actalis-info-grid code {
        color: var(--muted);
        font-size: 0.78rem;
        line-height: 1.7;
        overflow-wrap: anywhere;
    }

.auth-card,
.admin-shell {
    max-width: 100%;
    margin-bottom: 10px;
}

.auth-form {
    display: grid;
    gap: 0.95rem;
}

.auth-links {
    margin-top: 1rem;
    text-align: center;
}

    .auth-links a {
        color: var(--primary);
        font-size: 0.86rem;
        font-weight: 700;
        text-decoration: none;
    }

.admin-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.admin-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
}

.admin-overview-secondary {
    margin-bottom: 0.9rem;
}

.admin-overview-item {
    display: grid;
    gap: 0.55rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: white;
    color: var(--text);
    text-decoration: none;
    box-shadow: var(--shadow);
}

    .admin-overview-item span {
        color: var(--muted);
        font-weight: 800;
        font-size: 0.8rem;
    }

    .admin-overview-item strong {
        color: var(--primary);
        font-size: 1.65rem;
    }

    .admin-overview-item small {
        color: var(--muted);
        line-height: 1.7;
    }

.admin-card {
    display: grid;
    gap: 0.45rem;
    min-height: 9rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: white;
    box-shadow: var(--shadow);
    color: var(--text);
    text-decoration: none;
}

    .admin-card strong {
        color: var(--primary);
        font-size: 1.7rem;
        line-height: 1;
    }

    .admin-card span {
        font-weight: 850;
    }

    .admin-card small {
        color: var(--muted);
        line-height: 1.8;
    }

.admin-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

    .admin-toolbar h2 {
        margin: 0;
    }

.admin-plan-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
}

.admin-table {
    display: grid;
    gap: 0.55rem;
}

.admin-table-head,
.admin-table-row {
    display: grid;
    gap: 0.75rem;
    align-items: center;
    padding: 0.75rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    text-align: right;
}

.admin-table-head {
    background: #eef2f7;
    color: var(--text);
    font-size: 0.82rem;
}

.admin-table-row {
    background: #fff;
    padding: 0.3em 1em 0.3em 1em;
}

    .admin-table-head.users,
    .admin-table-row.users {
        grid-template-columns: minmax(11rem, 1.2fr) 7rem minmax(10rem, 1fr) minmax(10rem, 1fr) minmax(9rem, 1fr) minmax(13rem, 1.2fr);
    }

.admin-table-head.users-compact,
.admin-user-row > summary {
    display: grid;
    grid-template-columns: minmax(14rem, 1.5fr) 8rem minmax(9rem, 1fr) 6rem minmax(16rem, 1.3fr) 4rem;
    gap: 0.75rem;
    align-items: center;
}

.admin-user-row {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}

    .admin-user-row > summary {
        padding: 0.75rem;
        cursor: pointer;
        list-style: none;
    }

        .admin-user-row > summary::-webkit-details-marker {
            display: none;
        }

    .admin-user-row[open] .row-toggle {
        transform: rotate(45deg);
    }

.row-toggle {
    display: inline-grid;
    place-items: center;
    width: 1.7rem;
    height: 1.7rem;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--primary);
    transition: transform 0.15s;
}

.user-detail-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    padding: 0.9rem;
    border-top: 1px solid var(--border);
    background: #f8fafc;
}

    .user-detail-panel section {
        display: grid;
        gap: 0.55rem;
        padding: 0.75rem;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: white;
    }

    .user-detail-panel h3 {
        margin: 0;
        font-size: 0.9rem;
    }

.admin-table-head.plans,
.admin-table-row.plans {
    grid-template-columns: 7rem minmax(9rem, 1fr) 7rem 7rem 6rem 7rem minmax(10rem, 1fr);
}

.admin-table-head.plans-modern,
.admin-table-row.plans-modern {
    /* grid-template-columns: minmax(10rem, 1fr) minmax(8rem, 0.8fr) minmax(16rem, 1.4fr) minmax(13rem, 1fr) 7rem minmax(10rem, 1fr);*/
    grid-template-columns: minmax(7rem, 1fr) minmax(30rem, 0.8fr) minmax(19rem, 1.4fr) minmax(2rem, 1fr) 7rem minmax(2rem, 1fr);
}

.admin-table-head.products-modern,
.admin-table-row.products-modern {
    grid-template-columns: minmax(10rem, 1fr) minmax(9rem, 0.8fr) minmax(8rem, 0.8fr) minmax(8rem, 0.8fr) 7rem minmax(8rem, 0.7fr) minmax(8rem, 0.7fr);
}

.admin-table-head.notifications-modern,
.admin-table-row.notifications-modern {
    grid-template-columns: minmax(14rem, 1fr) minmax(12rem, 1fr) 7rem 10rem;
}

.telegram-queue-notifications {
    grid-template-columns: minmax(10rem, 1fr) minmax(10rem, 0.8fr) minmax(12rem, 0.8fr) !important;
}

.admin-table-head.event-logs-modern,
.admin-table-row.event-logs-modern {
    grid-template-columns: minmax(8rem, 0.7fr) minmax(13rem, 1fr) minmax(33rem, 2.2fr) minmax(6rem, 0.8fr) minmax(5rem, 0.6fr);
}

.admin-table-head.issued-certificates-table,
.admin-table-row.issued-certificates-table {
    grid-template-columns: minmax(12rem, 1.2fr) minmax(12rem, 1.2fr) 5rem 4rem 6rem 6rem 15rem 7rem;
}

.issued-certificates-table > * {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 14px;
}

.revocation-cell {
    display: grid;
    gap: 0.25rem;
    align-content: center;
}

    .revocation-cell small {
        color: var(--muted);
        font-size: 0.72rem;
        line-height: 1.5;
    }


.event-logs-modern button {
    font: inherit;
}

.log-modal p {
    font-size: 0.78rem;
}

.admin-table-head.certificates,
.admin-table-row.certificates {
    grid-template-columns: minmax(12rem, 1fr) 7rem 7rem 9rem 9rem;
}

.role-stack {
    display: grid;
    gap: 0.35rem;
}

.admin-user-certificates {
    grid-column: 1 / -1;
}

.admin-certificate-list {
    display: grid;
    gap: 0.4rem;
}

    .admin-certificate-list article {
        display: grid;
        grid-template-columns: minmax(2rem, 1.2fr) minmax(16rem, 0.7fr) minmax(11rem, 0.8fr) minmax(12rem, 0.8fr) minmax(12rem, 0.8fr) minmax(2rem, 0.8fr);
        align-items: center;
        gap: 0.4rem;
        padding: 0.55rem 0.7rem;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: #f8fafc;
    }

    .admin-certificate-list div {
        display: grid;
        gap: 0.2rem;
    }

    .admin-certificate-list strong {
        color: var(--text);
        font-size: 0.84rem;
    }

    .admin-certificate-list span,
    .admin-certificate-list small,
    .log-text,
    .event-log-meta {
        color: var(--muted);
        font-size: 0.78rem;
        line-height: 1.75;
    }

.log-text {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
}

.log-text-preview {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.75;
    text-overflow: ellipsis;
}

.log-inline-btn {
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--primary);
    font-size: 0.76rem;
    font-weight: 850;
    cursor: pointer;
}

    .log-inline-btn:hover {
        text-decoration: underline;
    }

.log-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgb(15 23 42 / 0.45);
}

.log-modal {
    width: min(46rem, 92vw);
    max-height: min(32rem, 82vh);
    overflow: auto;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
    box-shadow: var(--shadow);
}

.log-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.8rem;
}

    .log-modal-head h3 {
        margin: 0;
        font-size: 1rem;
    }

.log-modal p {
    margin: 0;
    color: var(--text);
    line-height: 2;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.log-details {
    position: relative;
    display: inline-block;
}

    .log-details summary {
        cursor: pointer;
        list-style: none;
        color: var(--primary);
        font-weight: 850;
        font-size: 0.76rem;
    }

        .log-details summary::-webkit-details-marker {
            display: none;
        }

    .log-details p {
        position: absolute;
        z-index: 5;
        top: 1.6rem;
        left: 0;
        width: min(34rem, 70vw);
        max-height: 18rem;
        overflow: auto;
        margin: 0;
        padding: 0.85rem;
        border: 1px solid var(--border);
        border-radius: 10px;
        background: #fff;
        box-shadow: var(--shadow);
        color: var(--text);
        white-space: normal;
        line-height: 1.9;
        text-align: right;
    }

.admin-filter-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 0.9rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 0.82rem;
    font-weight: 750;
}

.admin-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1rem;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

    .admin-pager .disabled {
        pointer-events: none;
        opacity: 0.45;
    }

.inline-details {
    border: 1px solid var(--border);
    background: #fff;
}

    .inline-details summary {
        cursor: pointer;
        list-style: none;
        padding: 0.4rem 0.55rem;
        color: var(--primary);
        font-weight: 850;
        font-size: 0.78rem;
    }

        .inline-details summary::-webkit-details-marker {
            display: none;
        }

    .inline-details[open] summary {
        border-bottom: 1px solid var(--border);
    }

    .inline-details .role-stack,
    .inline-details .activity-cell {
        padding: 0.55rem;
    }

.role-stack label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--muted);
    font-size: 0.78rem;
}

.role-stack input {
    accent-color: var(--primary);
}

.plan-cell,
.activity-cell {
    display: grid;
    gap: 0.35rem;
}

    .activity-cell span,
    .mini-row span {
        color: var(--muted);
        font-size: 0.78rem;
        line-height: 1.7;
    }

.input.compact {
    min-height: 2.25rem;
    padding: 0.45rem 0.55rem;
    font-size: 0.78rem;
}

.admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

    .admin-actions .btn {
        padding: 0.48rem 0.75rem;
        font-size: 0.78rem;
    }

.btn.danger {
    border-color: #fecaca;
    color: #991b1b;
}

    .btn.danger:hover {
        background: #fef2f2;
    }

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.dashboard-card {
    display: grid;
    gap: 0.5rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: white;
    box-shadow: var(--shadow);
}

    .dashboard-card span {
        color: var(--muted);
        font-size: 0.82rem;
    }

    .dashboard-card strong {
        color: var(--text);
        font-size: 1.35rem;
    }

    .dashboard-card small {
        color: var(--muted);
        line-height: 1.7;
    }

.empty-state {
    padding: 1rem;
    border: 1px dashed var(--border);
    border-radius: 8px;
    background: #f8fafc;
    color: var(--muted);
    text-align: center;
}

.mini-row {
    display: grid;
    gap: 0.25rem;
    padding: 0.75rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
    margin-top: 0.55rem;
}

.customer-area {
    display: grid;
    gap: 1.1rem;
    animation: sectionIn 0.35s ease-out both;
}

.customer-header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

    .customer-header span {
        color: var(--muted);
        font-size: 0.8rem;
    }

    .customer-header h1 {
        margin: 0.25rem 0 0;
        color: var(--text);
    }

    .customer-header strong {
        direction: ltr;
        color: var(--muted);
    }

.customer-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 1.4rem;
    align-items: start;
}

.customer-sidebar {
    display: grid;
    gap: 0.25rem;
    border-left: 1px solid var(--border);
    padding-left: 0.8rem;
}

    .customer-sidebar a,
    .customer-sidebar button {
        display: block;
        width: 100%;
        padding: 0.65rem 0.75rem;
        border: none;
        background: transparent;
        color: #475569;
        text-decoration: none;
        font-weight: 800;
        font-size: 0.82rem;
        border-radius: 0;
        text-align: right;
        cursor: pointer;
        font-family: inherit;
    }

        .customer-sidebar a.active,
        .customer-sidebar button.active,
        .customer-sidebar a:hover,
        .customer-sidebar button:hover {
            background: #eff6ff;
            color: var(--primary);
        }

    .customer-sidebar > span {
        margin: 1rem 0 0.25rem;
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 900;
    }

.customer-main {
    display: grid;
    gap: 1rem;
}

.panel-flat {
    border: 1px solid var(--border);
    border-radius: 0;
    background: #fff;
    padding: 1rem;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.04);
}

    .panel-flat h2 {
        margin: 0;
        color: var(--text);
    }

.current-plan-panel {
    border-top: 4px solid #16a34a;
}

.plan-title-row,
.certificate-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

    .plan-title-row h2 {
        margin: 0;
    }

    .plan-title-row span {
        color: var(--muted);
        font-size: 0.82rem;
    }

.link-button,
.compact-action,
.certificate-card-flat footer a,
.certificate-card-flat footer button {
    border: none;
    background: transparent;
    color: var(--primary);
    font: inherit;
    font-weight: 850;
    cursor: pointer;
    text-decoration: none;
}

.compact-action {
    border: 1px solid var(--primary);
    padding: 0.45rem 0.75rem;
}

    .compact-action.disabled {
        opacity: 0.5;
        pointer-events: none;
    }

.quota-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.2rem;
}

    .quota-grid div {
        display: grid;
        gap: 0.4rem;
    }

.quota-bar {
    height: 0.45rem;
    background: #e5e7eb;
    overflow: hidden;
}

    .quota-bar i {
        display: block;
        height: 100%;
        background: #22c55e;
    }

.quota-grid strong {
    color: var(--text);
}

.quota-grid span {
    color: var(--muted);
    font-size: 0.78rem;
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.pricing-card-flat {
    display: grid;
    gap: 0.65rem;
    border: 1px solid var(--border);
    border-radius: 0;
    background: #fff;
    padding: 1rem;
}

    .pricing-card-flat.current {
        background: #f8fafc;
        border-color: #bfdbfe;
    }

    .pricing-card-flat h3 {
        margin: 0;
    }

    .pricing-card-flat strong {
        color: #ea580c;
        font-size: 1.25rem;
    }

    .pricing-card-flat span,
    .pricing-card-flat p {
        margin: 0;
        color: var(--muted);
        line-height: 1.7;
    }

.home-plan-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: -2.2rem auto 2.5rem;
    max-width: var(--shell-width);
    position: relative;
    z-index: 1;
}

.home-plan-card {
    display: grid;
    gap: 0.75rem;
    background: #fff;
    border: 1px solid var(--border);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
    padding: 1.1rem;
}

    .home-plan-card header {
        display: grid;
        gap: 0.35rem;
    }

    .home-plan-card h2 {
        margin: 0;
        font-size: 1.05rem;
    }

    .home-plan-card strong {
        color: #ea580c;
        font-size: 1.25rem;
    }

    .home-plan-card p {
        margin: 0;
        color: var(--muted);
        line-height: 1.7;
    }

.certificate-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    margin: 1rem 0;
}

.certificate-provider-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 1rem;
    border-bottom: 1px solid var(--border);
}

    .certificate-provider-tabs button {
        border: none;
        border-bottom: 3px solid transparent;
        background: transparent;
        color: #475569;
        padding: 0.65rem;
        cursor: pointer;
        font-family: inherit;
        font-weight: 800;
    }

        .certificate-provider-tabs button.active {
            color: var(--primary);
            border-bottom-color: var(--primary);
        }

.certificate-list {
    display: grid;
    gap: 0.75rem;
}

    .certificate-list .alert {
        margin: 10px;
    }

.certificate-card-flat {
    border: 1px solid var(--border);
    border-radius: 0;
    background: #fff;
}

    .certificate-card-flat header,
    .certificate-card-flat footer,
    .certificate-meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.8rem 0.9rem;
    }

    .certificate-card-flat header {
        border-bottom: 1px solid var(--border-soft);
    }

    .certificate-card-flat h3 {
        margin: 0 0 0.25rem;
        font-size: 1rem;
    }

    .certificate-card-flat span,
    .certificate-meta {
        color: var(--muted);
        font-size: 0.78rem;
    }

    .certificate-card-flat footer {
        border-top: 1px solid var(--border-soft);
        justify-content: flex-start;
    }

.compact-list {
    display: grid;
    gap: 0.5rem;
}

.compact-row {
    border: 1px solid var(--border);
    border-radius: 0;
    background: #fff;
}

    .compact-row summary {
        display: grid;
        grid-template-columns: minmax(10rem, 0.5fr) minmax(0, 1fr);
        gap: 0.75rem;
        align-items: center;
        padding: 0.65rem 0.8rem;
        cursor: pointer;
        list-style: none;
    }

        .compact-row summary::-webkit-details-marker {
            display: none;
        }

.permission-create {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 10rem;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.permission-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0 0.8rem 0.8rem;
}

    .permission-tags b {
        border: 1px solid var(--border);
        background: #f8fafc;
        color: #334155;
        padding: 0.3rem 0.55rem;
        font-size: 0.76rem;
    }

.plan-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}

    .plan-detail-grid div {
        display: grid;
        gap: 0.35rem;
        padding: 0.75rem;
        border: 1px solid var(--border);
        background: #f8fafc;
    }

    .plan-detail-grid span {
        color: var(--muted);
        font-size: 0.76rem;
    }

    .plan-detail-grid strong {
        color: var(--text);
    }

.tool-shortcuts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}

    .tool-shortcuts a {
        padding: 0.85rem;
        border: 1px solid var(--border);
        background: #f8fafc;
        color: var(--text);
        text-decoration: none;
        font-weight: 800;
    }

.modal-backdrop-lite {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(15, 23, 42, 0.45);
}

.upgrade-modal {
    width: min(920px, 100%);
    max-height: min(86vh, 760px);
    overflow: auto;
    background: #fff;
    border-radius: 10px;
    border: 1px solid var(--border);
    padding: 1rem;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
}

    .upgrade-modal > header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 1rem;
    }

    .upgrade-modal h2 {
        margin: 0;
    }

    .upgrade-modal header button {
        border: none;
        background: #f1f5f9;
        color: #0f172a;
        width: 2rem;
        height: 2rem;
        border-radius: 50%;
        cursor: pointer;
        font-size: 1.1rem;
    }

.confirm-modal {
    width: min(620px, 100%);
}

.certificate-pem-modal {
    width: min(780px, 100%);
}

.certificate-pem-text {
    width: 100%;
    direction: ltr;
    text-align: left;
    resize: vertical;
}

.certificate-pem-actions,
.certificate-file-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.certificate-pem-actions {
    justify-content: flex-end;
    margin-top: 1rem;
}

.confirm-body {
    display: grid;
    gap: 0.85rem;
    color: #475569;
    line-height: 1.9;
}

    .confirm-body p {
        margin: 0;
    }

.confirm-order-summary {
    display: grid;
    gap: 0.35rem;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    background: #eff6ff;
    padding: 0.85rem;
}

    .confirm-order-summary span,
    .confirm-order-summary small {
        color: #64748b;
    }

    .confirm-order-summary strong {
        color: #0f172a;
    }

.confirm-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
}

@keyframes sectionIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.result-section {
    margin-top: 1.25rem;
}

.wizard-card > .result-section {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: white;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}

    .wizard-card > .result-section > h2 {
        margin: 0;
        padding: 0.75rem 1rem;
        background: #e5e7eb;
        border-bottom: 1px solid var(--border);
        text-align: center;
        font-size: 1rem;
        font-weight: 800;
    }

    .wizard-card > .result-section > .kv-table,
    .wizard-card > .result-section > .quality-chart,
    .wizard-card > .result-section > .browser-table,
    .wizard-card > .result-section > .result-list,
    .wizard-card > .result-section > .codeblock,
    .wizard-card > .result-section > .method-select,
    .wizard-card > .result-section > .tag-list {
        margin: 0.9rem;
    }

.result-list {
    margin-top: 1rem;
}

.result-section .result-list {
    margin-top: 0;
}

.status-row {
    display: block;
    width: 100%;
    margin-top: 0.55rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg);
    font-size: 0.84rem;
}

    .status-row summary,
    .status-row:not(details) {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
    }

    .status-row summary {
        cursor: pointer;
        list-style: none;
    }

        .status-row summary::-webkit-details-marker {
            display: none;
        }

    .status-row strong {
        color: var(--text);
        line-height: 1.6;
    }

    .status-row span {
        color: var(--muted);
        line-height: 1.6;
        text-align: left;
    }

    .status-row p {
        margin: 0.65rem 0 0;
        color: var(--muted);
        line-height: 1.8;
        white-space: pre-wrap;
        word-break: break-word;
    }

    .status-row.ok {
        border-color: #bbf7d0;
        background: #f0fdf4;
    }

    .status-row.warn {
        border-color: #fde68a;
        background: #fffbeb;
    }

    .status-row.bad {
        border-color: var(--error-border);
        background: var(--error-bg);
    }

    .status-row.neutral {
        border-color: var(--border);
        background: #f8fafc;
    }

.kv-table {
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
    background: white;
}

    .kv-table div {
        display: grid;
        grid-template-columns: minmax(7rem, 0.8fr) 1.4fr;
        gap: 0.75rem;
        padding: 0.7rem 0.85rem;
        border-bottom: 1px solid var(--border-soft);
        font-size: 0.82rem;
    }

        .kv-table div:last-child {
            border-bottom: none;
        }

        .kv-table div.decode-row {
            grid-template-columns: 1.1fr 1.4fr;
        }

            .kv-table div.decode-row strong::before {
                content: "✓";
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 1.15rem;
                height: 1.15rem;
                margin-left: 0.35rem;
                border-radius: 50%;
                background: var(--success);
                color: white;
                font-size: 0.72rem;
                vertical-align: middle;
            }

    .kv-table strong {
        color: var(--text);
    }

    .kv-table span {
        color: var(--muted);
        text-align: left;
        word-break: break-word;
    }

.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

    .tag-list span {
        display: inline-flex;
        align-items: center;
        border: 1px solid var(--border);
        border-radius: 999px;
        background: var(--bg);
        padding: 0.35rem 0.65rem;
        color: var(--text);
        font-size: 0.78rem;
    }

.score-card {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-top: 1.25rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

    .score-card strong {
        display: block;
        font-size: 1.25rem;
        line-height: 1.4;
    }

    .score-card span {
        color: var(--muted);
        font-size: 0.83rem;
    }

.score-grade {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background: var(--primary);
    color: white;
    font-size: 1.3rem;
    font-weight: 800;
    direction: ltr;
}

.matcher-mode {
    margin-bottom: 1.2rem;
}

.captcha-box {
    display: grid;
    grid-template-columns: 1fr minmax(8rem, 12rem) auto;
    gap: 0.65rem;
    align-items: stretch;
    margin: 0 0 1.2rem;
    padding: 0.85rem;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--bg);
}

    .captcha-box div {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 0.15rem;
    }

    .captcha-box strong {
        font-size: 0.83rem;
    }

    .captcha-box span {
        color: var(--primary);
        direction: ltr;
        font-weight: 800;
    }

    .captcha-box .input {
        background: white;
        text-align: center;
    }

.grade-reasons {
    margin-top: 1rem;
    border: 1px solid #fde68a;
    border-radius: 8px;
    background: #fffbeb;
    padding: 0.75rem 0.95rem;
}

    .grade-reasons p {
        margin: 0;
        color: #854d0e;
        font-size: 0.84rem;
        line-height: 1.8;
        text-align: right;
    }

        .grade-reasons p + p {
            margin-top: 0.45rem;
        }

.scan-progress {
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 1rem;
    background: var(--bg);
}

.stage-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.stage-item {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 3.2rem;
    padding: 0.65rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: white;
}

    .stage-item span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.3rem;
        height: 1.3rem;
        border-radius: 50%;
        color: white;
        background: var(--muted-light);
        flex-shrink: 0;
        font-size: 0.75rem;
        font-weight: 800;
    }

    .stage-item strong {
        font-size: 0.78rem;
        line-height: 1.6;
    }

    .stage-item.active span {
        background: var(--primary);
        animation: pulse 1s ease-in-out infinite;
    }

    .stage-item.done span {
        background: var(--success);
    }

.progress-track {
    position: relative;
    height: 1.1rem;
    margin-top: 1rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: white;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    border-radius: inherit;
    background: var(--primary);
    transition: width 0.2s ease;
}

.progress-track span {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text);
    font-size: 0.72rem;
    font-weight: 800;
    direction: ltr;
}

.quality-chart {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.7rem;
    align-items: end;
    min-height: 12rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: white;
}

.quality-bar {
    display: grid;
    grid-template-rows: 8rem auto auto;
    gap: 0.35rem;
    align-items: end;
    justify-items: center;
    min-width: 0;
}

    .quality-bar span {
        display: block;
        width: 70%;
        min-height: 0.35rem;
        border-radius: 7px 7px 0 0;
        background: var(--success);
    }

    .quality-bar.warn span {
        background: #eab308;
    }

    .quality-bar.bad span {
        background: var(--error);
    }

    .quality-bar strong {
        direction: ltr;
        color: var(--text);
        font-size: 0.8rem;
    }

    .quality-bar em {
        color: var(--muted);
        font-size: 0.72rem;
        font-style: normal;
        line-height: 1.5;
        text-align: center;
    }

.browser-table {
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
    background: white;
}

    .browser-table div {
        display: grid;
        grid-template-columns: 1fr 0.8fr 1.6fr;
        gap: 0.75rem;
        padding: 0.65rem 0.8rem;
        border-bottom: 1px solid var(--border-soft);
        font-size: 0.78rem;
        align-items: center;
    }

        .browser-table div:first-child {
            background: var(--bg);
        }

        .browser-table div:last-child {
            border-bottom: none;
        }

    .browser-table span {
        color: var(--muted);
        word-break: break-word;
    }

    .browser-table .bad span {
        color: var(--error);
    }

@keyframes pulse {
    0%, 100% {
        opacity: 0.65;
    }

    50% {
        opacity: 1;
    }
}

/* ─── بلوک دستورالعمل ─── */
.instruction-block {
    border: 1px solid var(--border-soft);
    border-radius: 10px;
    padding: 1rem 1.1rem;
    margin-top: 0.9rem;
    background: var(--bg);
}

.instruction-domain {
    font-weight: 700;
    font-size: 0.92rem;
    margin-bottom: 0.9rem;
    color: var(--text);
    text-align: right;
}

.field-block {
    margin-bottom: 1rem;
}

    .field-block:last-of-type {
        margin-bottom: 0;
    }

.field-caption {
    font-size: 0.83rem;
    color: var(--text);
    margin: 0 0 0.4rem;
    line-height: 1.7;
    text-align: right;
}

.inline-code {
    direction: ltr;
    unicode-bidi: isolate;
    display: inline-block;
    background: #f1f5f9;
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 0.05rem 0.35rem;
    font-size: 0.78rem;
    color: var(--primary);
    font-family: 'Courier New', monospace;
}

.copy-row {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
}

.codeblock {
    flex: 1;
    direction: ltr;
    text-align: left;
    unicode-bidi: isolate;
    background: white;
    border: 1px solid var(--border);
    border-radius: 7px;
    padding: 0.55rem 0.8rem;
    font-size: 0.8rem;
    word-break: break-all;
    font-family: 'Courier New', monospace;
    line-height: 1.5;
    color: #1e293b;
}

.copy-btn {
    flex-shrink: 0;
    min-width: 4rem;
    background: white;
    border: 1px solid var(--border);
    border-radius: 7px;
    color: var(--muted);
    font-size: 0.78rem;
    cursor: pointer;
    padding: 0 0.8rem;
    font-family: 'Vazirmatn', sans-serif;
    transition: all 0.15s;
}

    .copy-btn:hover {
        border-color: var(--primary);
        color: var(--primary);
        background: var(--primary-light);
    }

.hint {
    font-size: 0.78rem;
    color: var(--muted);
    line-height: 1.7;
    margin-top: 0.7rem;
    text-align: right;
}

.hint-inline {
    font-size: 0.76rem;
    color: var(--muted);
    margin: 0.35rem 0 0;
    line-height: 1.6;
    display: block;
    text-align: right;
}

/* ─── اسپینر ─── */
.spinner {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 3px solid var(--border);
    border-top-color: var(--primary);
    margin: 0 auto 1rem;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* ─── گواهینامه صادرشده ─── */
.success-icon {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.cert-label {
    font-size: 0.83rem;
    font-weight: 600;
    margin: 1.2rem 0 0.4rem;
    text-align: right;
}

.tls-scan-shell {
    max-width: min(1180px, calc(100vw - 2rem));
}

.tls-assessment-shell {
    max-width: min(1180px, calc(100vw - 2rem));
    margin-inline: auto;
}

.tls-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
    gap: 1rem;
    align-items: start;
}

.btn.primary.no-margin {
    margin-top: 0;
}

.new-scan-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
}

    .new-scan-panel div {
        display: grid;
        gap: 0.25rem;
    }

    .new-scan-panel strong {
        color: #0f172a;
        font-size: 0.95rem;
    }

    .new-scan-panel span {
        color: #475569;
        font-size: 0.82rem;
        line-height: 1.8;
    }

.dns-report-domain {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    width: fit-content;
    margin-top: 0.35rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #fff;
}

    .dns-report-domain b {
        color: #0f172a;
        font-size: 0.82rem;
        unicode-bidi: isolate;
    }

.scan-mode-selector {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.scan-mode-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.25rem 0.65rem;
    align-items: start;
    padding: 0.9rem;
    border: 1.5px solid var(--border);
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}

    .scan-mode-card.selected {
        border-color: var(--primary);
        background: var(--primary-light);
    }

    .scan-mode-card input {
        margin-top: 0.25rem;
        accent-color: var(--primary);
    }

    .scan-mode-card strong {
        color: #0f172a;
        line-height: 1.5;
    }

    .scan-mode-card em {
        display: inline-flex;
        margin-right: 0.35rem;
        padding: 0.14rem 0.38rem;
        border-radius: 999px;
        background: #dbeafe;
        color: #1d4ed8;
        font-size: 0.68rem;
        font-style: normal;
    }

    .scan-mode-card span {
        grid-column: 2;
        color: #64748b;
        font-size: 0.78rem;
        line-height: 1.8;
    }

.target-card,
.ip-select-panel {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
}

    .target-card h2,
    .ip-select-panel h2 {
        margin: 0 0 0.9rem;
        font-size: 1rem;
    }

.ip-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
}

.ip-card {
    display: grid;
    gap: 0.3rem;
    padding: 0.9rem;
    border: 1.5px solid var(--border);
    border-radius: 8px;
    background: var(--bg);
    cursor: pointer;
}

    .ip-card.selected {
        border-color: var(--primary);
        background: var(--primary-light);
    }

    .ip-card input {
        justify-self: start;
        accent-color: var(--primary);
    }

    .ip-card span,
    .tls-stage em {
        color: var(--muted);
        font-size: 0.76rem;
        font-style: normal;
        line-height: 1.6;
    }

.security-report {
    display: grid;
    gap: 1.1rem;
    margin-top: 1.2rem;
}

.report-hero {
    display: grid;
    grid-template-columns: 8.5rem 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: white;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

    .report-hero h2 {
        margin: 0 0 0.5rem;
    }

    .report-hero p {
        margin: 0.35rem 0;
        color: var(--muted);
        line-height: 1.8;
    }

.grade-tile {
    min-height: 8rem;
    border-radius: 10px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 0.35rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

    .grade-tile strong {
        font-size: 3rem;
        line-height: 1;
    }

    .grade-tile span {
        font-weight: 700;
    }

.summary-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.summary-box {
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1rem;
}

    .summary-box.ok {
        background: #f0fdf4;
        border-color: #bbf7d0;
    }

    .summary-box.warn {
        background: #fffbeb;
        border-color: #fde68a;
    }

    .summary-box h3 {
        margin: 0 0 0.7rem;
        font-size: 0.98rem;
    }

    .summary-box p {
        margin: 0.35rem 0;
        color: #334155;
        line-height: 1.8;
    }

.quality-chart.wide {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.data-table details {
    min-width: 760px;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 5px;
    overflow: hidden;
}

    .data-table details summary {
        display: grid;
        gap: 0.5rem;
        padding: 0.65rem;
        list-style: none;
        cursor: pointer;
    }

        .data-table details summary::-webkit-details-marker {
            display: none;
        }

    .data-table details p {
        margin: 0;
        padding: 0.7rem;
        border-top: 1px solid var(--border-soft);
        color: var(--muted);
        line-height: 1.8;
    }

.cipher-table details summary {
    grid-template-columns: 2.2fr 0.8fr 1fr 1fr 0.8fr 1fr;
}

.browser-table details summary {
    grid-template-columns: 1.1fr 0.85fr 0.9fr 2fr 0.8fr;
}

.data-table details.ok,
.status-row.ok {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.data-table details.warn,
.status-row.warn {
    border-color: #fde68a;
    background: #fffbeb;
}

.data-table details.bad,
.status-row.bad {
    border-color: var(--error-border);
    background: var(--error-bg);
}

.data-table details.neutral,
.status-row.neutral {
    border-color: var(--border);
    background: #f8fafc;
}

.mt {
    margin-top: 0.9rem;
}

.tls-progress-card,
.ssl-section,
.ssl-summary-panel {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: white;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.tls-progress-card {
    padding: 1rem;
    margin-top: 1rem;
}

.tls-progress-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.7rem;
}

.tls-progress-track {
    height: 0.9rem;
    border: 1px solid #d1d5db;
    border-radius: 999px;
    overflow: hidden;
    background: #f8fafc;
}

.tls-progress-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #16a34a, #84cc16);
    transition: width 0.25s ease;
}

.tls-progress-card p {
    margin: 0.75rem 0;
    color: var(--muted);
    line-height: 1.8;
}

.tls-stage-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.6rem;
}

.tls-stage {
    border: 1px solid var(--border);
    border-radius: 7px;
    padding: 0.65rem;
    display: grid;
    gap: 0.25rem;
    background: #f8fafc;
}

    .tls-stage span {
        font-size: 0.72rem;
        color: var(--muted);
    }

    .tls-stage.done {
        border-color: #86efac;
        background: #ecfdf5;
    }

    .tls-stage.active {
        border-color: var(--primary);
        background: var(--primary-light);
    }

.ssl-labs-report {
    display: grid;
    gap: 1rem;
    margin-top: 1.2rem;
}

.ssl-report-summary {
    display: grid;
    grid-template-columns: 8rem 1fr;
    gap: 1rem;
    align-items: start;
}

.ssl-grade-card {
    width: 104px;
    min-height: 104px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-items: center;
    color: #111827;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

    .ssl-grade-card strong {
        font-size: 2.4rem;
        line-height: 1;
    }

    .ssl-grade-card small {
        margin-top: 0.25rem;
        font-size: 0.68rem;
        opacity: 0.86;
    }

    .ssl-grade-card span {
        margin-top: 0.35rem;
        font-size: 0.85rem;
    }

.grade-a {
    background: #4caf50;
    color: #fff;
}

.grade-b {
    background: #f9c74f;
    color: #2b2b2b;
}

.grade-c {
    background: #ff9800;
    color: #fff;
}

.grade-d {
    background: #f4511e;
    color: #fff;
}

.grade-e {
    background: #ef6c00;
    color: #fff;
}

.grade-f,
.grade-t {
    background: #e53935;
    color: white;
}

.ssl-summary-panel,
.ssl-section {
    padding: 1rem;
}

    .ssl-section h2,
    .ssl-summary-panel h2 {
        background: #e5e7eb;
        color: #111827;
        border-radius: 5px;
        padding: 0.7rem;
        margin: 0 0 0.9rem;
        text-align: center;
        font-size: 1.05rem;
    }

.ssl-warning-list {
    display: grid;
    gap: 0.5rem;
}

.ssl-warning,
.report-note.warn {
    border: 1px solid #facc15;
    background: #fef9c3;
    color: #854d0e;
    border-radius: 6px;
    padding: 0.75rem 0.9rem;
}

.ssl-warning {
    display: flex;
    gap: 0.7rem;
}

.report-note {
    margin: 0.45rem 0;
    line-height: 1.9;
    color: #334155;
}

.ssl-table {
    display: grid;
    gap: 0.45rem;
}

    .ssl-table > div {
        display: grid;
        grid-template-columns: minmax(12rem, 0.45fr) 1fr;
        gap: 0.8rem;
        padding: 0.65rem 0.8rem;
        border: 1px solid var(--border);
        border-radius: 6px;
        background: #f8fafc;
    }

    .ssl-table span {
        overflow-wrap: anywhere;
    }

.data-table {
    display: grid;
    gap: 0.35rem;
    overflow-x: auto;
}

    .data-table > div {
        display: grid;
        gap: 0.5rem;
        min-width: 760px;
        padding: 0.65rem;
        border-radius: 5px;
        border: 1px solid var(--border);
        align-items: center;
    }

.cipher-table > div {
    grid-template-columns: 2.2fr 0.8fr 1fr 1fr 0.8fr 1fr;
}

.browser-table > div {
    grid-template-columns: 1.3fr 0.8fr 2fr 1fr;
}

.data-head {
    background: #e5e7eb;
}

.cipher-strong,
.data-table .ok {
    background: #ecfdf5;
}

.cipher-weak {
    background: #fffbeb;
}

.cipher-insecure,
.data-table .bad {
    background: #fef2f2;
}

.cert-chain {
    display: grid;
    gap: 0.45rem;
}

.json-output {
    direction: ltr;
    text-align: left;
    white-space: pre-wrap;
    overflow: auto;
    max-height: 28rem;
    background: #0f172a;
    color: #e2e8f0;
    border-radius: 7px;
    padding: 1rem;
    font-size: 0.78rem;
    line-height: 1.6;
}

/* ─── فوتر ─── */
.footer {
    text-align: center;
    padding: 1.2rem;
    color: var(--muted-light);
    font-size: 0.78rem;
    border-top: 1px solid var(--border);
    background: var(--footer-bg);
}

@media (max-width: 580px) {
    .method-select {
        grid-template-columns: 1fr;
    }

    .tool-grid {
        grid-template-columns: 1fr;
    }

    .topbar-inner {
        align-items: flex-start;
        gap: 0.8rem;
        flex-direction: column;
    }

    .nav {
        width: 100%;
        justify-content: flex-start;
        gap: 1rem;
    }

    .kv-table div {
        grid-template-columns: 1fr;
        gap: 0.3rem;
    }

        .kv-table div.decode-row {
            grid-template-columns: 1fr;
        }

    .status-row summary,
    .status-row:not(details) {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.3rem;
    }

    .stage-grid,
    .actalis-info-grid,
    .home-issue-hero,
    .quality-chart,
    .browser-table div,
    .ssl-report-summary,
    .captcha-box,
    .tls-form-grid,
    .ip-grid,
    .report-hero,
    .summary-columns {
        grid-template-columns: 1fr;
    }

    .ssl-grade-card {
        width: 100%;
        min-height: 88px;
    }

    .quality-chart {
        min-height: auto;
    }

    .quality-bar {
        grid-template-columns: 3rem 1fr 2.5rem;
        grid-template-rows: auto;
        align-items: center;
        justify-items: stretch;
    }

        .quality-bar span {
            width: 100%;
            height: 0.65rem !important;
            border-radius: 999px;
        }

        .quality-bar em {
            order: -1;
            text-align: right;
        }

    .wizard-card {
        padding: 1.4rem;
    }

    .home-issue-hero {
        padding: 2rem 1.2rem;
        border-radius: 14px;
    }

    .home-issue-copy {
        justify-items: stretch;
        text-align: center;
    }

    .home-issue-hero h1 {
        white-space: normal;
    }

    .home-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}


#components-reconnect-modal {
    direction: ltr;
}

.scan-command-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(17rem, 0.75fr);
    gap: 1rem;
    align-items: start;
}

.scan-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.target-context-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.65rem;
    margin-top: 1rem;
}

    .target-context-strip div {
        border: 1px solid var(--border);
        border-radius: 8px;
        background: #fff;
        padding: 0.75rem;
    }

    .target-context-strip span,
    .kpi-card span {
        display: block;
        color: #475569;
        font-size: 0.75rem;
        margin-bottom: 0.35rem;
    }

    .target-context-strip strong {
        display: block;
        overflow-wrap: anywhere;
        color: #0f172a;
        font-size: 0.85rem;
    }

.scan-progress-product {
    display: grid;
    grid-template-columns: 7.25rem 1fr;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
}

.progress-orbit {
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    display: grid;
    place-content: center;
    text-align: center;
    border: 8px solid #2563eb;
    background: white;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.18);
}

    .progress-orbit strong {
        color: #0f172a;
        font-size: 1.35rem;
    }

    .progress-orbit span {
        color: #64748b;
        font-size: 0.75rem;
    }

.stage-timeline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.8rem;
}

.stage-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.42rem 0.6rem;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #fff;
    color: #475569;
    font-size: 0.75rem;
}

    .stage-pill b {
        display: inline-grid;
        place-items: center;
        width: 1rem;
        height: 1rem;
        border-radius: 50%;
        background: #e2e8f0;
        color: #334155;
    }

    .stage-pill.ok {
        border-color: #86efac;
        background: #f0fdf4;
        color: #166534;
    }

    .stage-pill.warn {
        border-color: #93c5fd;
        background: #eff6ff;
        color: #1d4ed8;
    }

.security-report-v2 {
    --scan-accent: #2563eb;
    --scan-accent-2: #16a34a;
    --scan-soft: #eff6ff;
    --scan-border: #bfdbfe;
    --scan-ink: #0f172a;
    --scan-shadow: rgba(37, 99, 235, 0.12);
    display: grid;
    gap: 1.1rem;
    margin-top: 1.25rem;
}

    .security-report-v2.quick-scan-theme {
        --scan-accent: #2563eb;
        --scan-accent-2: #16a34a;
        --scan-soft: #eff6ff;
        --scan-border: #bfdbfe;
        --scan-ink: #0f172a;
        --scan-shadow: rgba(37, 99, 235, 0.12);
    }

    .security-report-v2.deep-scan-theme {
        --scan-accent: #7c3aed;
        --scan-accent-2: #f97316;
        --scan-soft: #fff7ed;
        --scan-border: #fed7aa;
        --scan-ink: #1f1235;
        --scan-shadow: rgba(124, 58, 237, 0.18);
    }

.executive-summary {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: stretch;
    padding: 1rem;
    border: 1px solid var(--scan-border);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(14, 165, 233, 0.03)), #fff;
    box-shadow: 0 12px 32px var(--scan-shadow);
    overflow: hidden;
    position: relative;
}

    .executive-summary::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: radial-gradient(circle at 18% 14%, color-mix(in srgb, var(--scan-accent) 14%, transparent), transparent 32%), radial-gradient(circle at 82% 0%, color-mix(in srgb, var(--scan-accent-2) 12%, transparent), transparent 28%);
    }

    .executive-summary > * {
        position: relative;
    }

.quick-scan-theme .executive-summary {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(22, 163, 74, 0.06)), #f8fbff;
}

.deep-scan-theme .executive-summary {
    border-width: 1px;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.14), rgba(249, 115, 22, 0.12)), #fffaf5;
    box-shadow: 0 18px 42px var(--scan-shadow);
}

.executive-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.summary-header {
    text-align: center;
}

.score-badge-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    margin: 0.25rem 0 0.85rem;
}

.score-badge {
    --grade-bg: #cbd5e1;
    --grade-fg: #0f172a;
    width: 132px;
    height: 132px;
    border-radius: 999px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--grade-bg);
    color: var(--grade-fg);
    border: 6px solid rgba(255, 255, 255, 0.92);
    box-shadow: 0 16px 34px var(--scan-shadow);
    direction: ltr;
}

.deep-scan-theme .score-badge {
    transform: scale(1.04);
    box-shadow: 0 20px 44px rgba(124, 58, 237, 0.22);
}

.scan-type-badge,
.scan-depth-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    border-radius: 999px;
    border: 1px solid var(--scan-border);
    background: rgba(255, 255, 255, 0.72);
    color: var(--scan-ink);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.scan-type-badge {
    gap: 0.5rem;
    padding: 0.46rem 0.75rem;
}

    .scan-type-badge span {
        display: inline-grid;
        place-items: center;
        width: 1.45rem;
        height: 1.45rem;
        border-radius: 50%;
        background: var(--scan-accent);
        color: white;
        font-weight: 900;
    }

    .scan-type-badge strong {
        font-size: 0.82rem;
        direction: ltr;
    }

    .scan-type-badge em {
        color: #475569;
        font-size: 0.72rem;
        font-style: normal;
    }

    .scan-type-badge.deep {
        background: rgba(255, 247, 237, 0.9);
    }

        .scan-type-badge.deep span {
            background: linear-gradient(135deg, var(--scan-accent), var(--scan-accent-2));
        }

.scan-depth-pill {
    padding: 0.32rem 0.7rem;
    color: var(--scan-accent);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0;
}

.score-badge.grade-aplus,
.score-badge.grade-a {
    --grade-bg: #22c55e;
    --grade-fg: #062a12;
}

.score-badge.grade-b {
    --grade-bg: #f6c343;
    --grade-fg: #2a1b00;
}

.score-badge.grade-c {
    --grade-bg: #fb923c;
    --grade-fg: #2a1200;
}

.score-badge.grade-d,
.score-badge.grade-f {
    --grade-bg: #ef4444;
    --grade-fg: #2a0606;
}

.score-badge .score-grade {
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: 3.5rem;
    font-weight: 800;
    line-height: 1;
}

.score-badge .score-value {
    margin-top: 0.4rem;
    font-size: 0.9rem;
    font-weight: 800;
    opacity: 0.95;
}

.section-kicker {
    color: var(--scan-accent);
    font-weight: 800;
    font-size: 0.78rem;
    margin-bottom: 0.35rem;
}

.executive-copy h2 {
    margin: 0 0 0.55rem;
    color: var(--scan-ink);
    font-size: 1.45rem;
    line-height: 1.6;
}

.executive-copy p {
    margin: 0;
    color: #334155;
    line-height: 1.9;
}

.scan-depth-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 1rem auto 0;
    max-width: 46rem;
}

    .scan-depth-strip span {
        display: grid;
        gap: 0.25rem;
        padding: 0.75rem 0.85rem;
        border: 1px solid var(--scan-border);
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.78);
        box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
    }

    .scan-depth-strip b {
        color: var(--scan-accent);
        font-size: 0.95rem;
    }

    .scan-depth-strip em {
        color: #475569;
        font-size: 0.74rem;
        font-style: normal;
        line-height: 1.7;
    }

    .scan-depth-strip.deep span {
        background: rgba(255, 247, 237, 0.82);
        border-color: #fdba74;
    }

.risk-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.9rem;
    justify-content: center;
}

    .risk-strip span {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        border-radius: 999px;
        padding: 0.45rem 0.7rem;
        font-size: 0.78rem;
        font-weight: 700;
        border: 1px solid var(--border);
    }

    .risk-strip .ok {
        background: #dcfce7;
        border-color: #86efac;
        color: #166534;
    }

    .risk-strip .warn {
        background: #fef3c7;
        border-color: #facc15;
        color: #92400e;
    }

    .risk-strip .bad {
        background: #fee2e2;
        border-color: #fca5a5;
        color: #991b1b;
    }

    .risk-strip .neutral {
        background: #f1f5f9;
        border-color: #cbd5e1;
        color: #334155;
    }

.ltr {
    direction: ltr;
    unicode-bidi: isolate;
    text-align: right;
}

.kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.summary-card-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

    .summary-card-row.quick .summary-card {
        min-height: 8.6rem;
        border-color: #dbeafe;
    }

    .summary-card-row.deep .summary-card {
        border-color: #fed7aa;
        box-shadow: 0 12px 28px rgba(124, 58, 237, 0.08);
    }

.scan-coverage-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--scan-border);
    border-radius: 12px;
    background: var(--scan-soft);
}

    .scan-coverage-note.deep {
        border-color: #fed7aa;
        background: linear-gradient(135deg, #fff7ed, #faf5ff);
    }

    .scan-coverage-note strong {
        color: #0f172a;
    }

    .scan-coverage-note p {
        margin: 0.35rem 0 0;
        color: #334155;
        line-height: 1.8;
        font-size: 0.84rem;
    }

.summary-card {
    --tier-accent: #64748b;
    --tier-bg: #f8fafc;
    --tier-text: #334155;
    min-height: 10rem;
    position: relative;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--tier-accent) 28%, var(--border));
    border-radius: 14px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--tier-bg) 74%, #fff), #fff 72%), #fff;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

    .summary-card::before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: 5px;
        background: var(--tier-accent);
    }

    .summary-card.score-tier-a {
        --tier-accent: #15803d;
        --tier-bg: #dcfce7;
        --tier-text: #14532d;
    }

    .summary-card.score-tier-b {
        --tier-accent: #16a34a;
        --tier-bg: #ccfbf1;
        --tier-text: #166534;
    }

    .summary-card.score-tier-c {
        --tier-accent: #eab308;
        --tier-bg: #fef9c3;
        --tier-text: #854d0e;
    }

    .summary-card.score-tier-d {
        --tier-accent: #f97316;
        --tier-bg: #ffedd5;
        --tier-text: #9a3412;
    }

    .summary-card.score-tier-f {
        --tier-accent: #dc2626;
        --tier-bg: #fee2e2;
        --tier-text: #991b1b;
    }

.quick-posture-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

    .quick-posture-panel article {
        min-height: 7rem;
        padding: 0.95rem;
        border: 1px solid #bfdbfe;
        border-radius: 14px;
        background: linear-gradient(180deg, #ffffff, #f8fbff);
        box-shadow: 0 8px 22px rgba(37, 99, 235, 0.06);
    }

    .quick-posture-panel span {
        color: #2563eb;
        font-size: 0.78rem;
        font-weight: 900;
    }

    .quick-posture-panel strong {
        display: block;
        margin: 0.55rem 0 0.35rem;
        color: #0f172a;
        font-size: 1.45rem;
    }

    .quick-posture-panel em {
        color: #475569;
        font-size: 0.78rem;
        font-style: normal;
        line-height: 1.7;
    }

.deep-analysis-panel {
    border: 1px solid #fed7aa;
    border-radius: 16px;
    padding: 1rem;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.08), rgba(249, 115, 22, 0.08)), #fff;
    box-shadow: 0 14px 34px rgba(124, 58, 237, 0.1);
}

.summary-card span {
    color: var(--tier-text);
    font-size: 0.78rem;
    font-weight: 800;
}

.summary-card strong {
    color: #0f172a;
    font-size: 2.35rem;
    line-height: 1;
    text-align: center;
}

.summary-card em {
    color: #334155;
    font-size: 0.76rem;
    font-style: normal;
    line-height: 1.7;
    text-align: center;
}

.score-tier-badge {
    align-self: center;
    width: fit-content;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--tier-accent) 28%, transparent);
    background: color-mix(in srgb, var(--tier-bg) 78%, #fff);
    color: var(--tier-text);
    padding: 0.28rem 0.62rem;
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1.4;
    direction: ltr;
}

.headers-score-card {
    position: relative;
}

    .headers-score-card strong {
        font-size: 2rem;
    }

    .headers-score-card a,
    .remediation-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: fit-content;
        min-height: 2rem;
        padding: 0.35rem 0.8rem;
        border-radius: 999px;
        background: #0f172a;
        color: #fff;
        font-size: 0.76rem;
        font-weight: 800;
        text-decoration: none;
    }

        .headers-score-card a:hover,
        .remediation-link:hover {
            background: #1d4ed8;
            color: #fff;
        }

.header-impact-card.bad {
    border-color: #991b1b;
    border-top: 5px solid #991b1b;
    background: linear-gradient(180deg, #fee2e2 0%, #fff7ed 100%);
}

.header-impact-card {
    position: relative;
    color: #7f1d1d;
}

    .header-impact-card strong {
        font-size: 2.8rem;
        color: #7f1d1d;
    }

    .header-impact-card a {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        margin-top: 0.55rem;
        border-radius: 999px;
        background: #7f1d1d;
        color: #fff;
        text-decoration: none;
        padding: 0.45rem 0.7rem;
        font-size: 0.75rem;
        font-weight: 800;
    }

    .header-impact-card.warn {
        border-color: #9a3412;
        border-top-color: #9a3412;
        background: linear-gradient(180deg, #ffedd5 0%, #fff7ed 100%);
    }

        .header-impact-card.warn strong,
        .header-impact-card.warn {
            color: #7c2d12;
        }

            .header-impact-card.warn a {
                background: #9a3412;
            }

.analytics-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(16rem, 0.6fr);
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.analytics-chart h3,
.analytics-summary h3 {
    margin: 0 0 0.85rem;
    color: #0f172a;
    font-size: 1rem;
}

.risk-bar {
    display: grid;
    grid-template-columns: 8.5rem 1fr 2.5rem;
    gap: 0.75rem;
    align-items: center;
    margin: 0.65rem 0;
}

    .risk-bar span {
        color: #334155;
        font-size: 0.8rem;
        font-weight: 800;
    }

    .risk-bar div {
        height: 0.85rem;
        border-radius: 999px;
        background: #e2e8f0;
        overflow: hidden;
    }

    .risk-bar i {
        display: block;
        height: 100%;
        border-radius: inherit;
    }

    .risk-bar b {
        color: #0f172a;
        text-align: left;
    }

    .risk-bar.high i {
        background: #dc2626;
    }

    .risk-bar.medium i {
        background: #f97316;
    }

    .risk-bar.low i {
        background: #2563eb;
    }

.analytics-summary {
    display: grid;
    gap: 0.65rem;
}

    .analytics-summary div {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        border: 1px solid var(--border);
        border-radius: 10px;
        background: #f8fafc;
        padding: 0.75rem;
    }

    .analytics-summary span {
        color: #475569;
        font-size: 0.82rem;
    }

    .analytics-summary strong {
        color: #0f172a;
        font-size: 1.25rem;
    }

.priority-stack {
    display: grid;
    gap: 0.85rem;
}

.priority-panel {
    border: 1px solid var(--border);
    border-radius: 13px;
    overflow: hidden;
}

    .priority-panel > summary {
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 0.65rem;
        align-items: center;
        padding: 0.9rem 1rem;
        cursor: pointer;
        list-style: none;
    }

        .priority-panel > summary::-webkit-details-marker,
        .priority-panel article details summary::-webkit-details-marker {
            display: none;
        }

        .priority-panel > summary span,
        .priority-icon {
            display: inline-grid;
            place-items: center;
            width: 1.45rem;
            height: 1.45rem;
            border-radius: 50%;
            color: white;
            font-weight: 900;
        }

        .priority-panel > summary strong {
            color: #0f172a;
        }

        .priority-panel > summary b {
            border-radius: 999px;
            background: rgba(15, 23, 42, 0.08);
            color: #0f172a;
            padding: 0.25rem 0.55rem;
        }

    .priority-panel.high {
        background: #fff1f2;
        border-color: #fecdd3;
    }

        .priority-panel.high > summary,
        .priority-panel.high .priority-icon {
            background: #fee2e2;
        }

            .priority-panel.high > summary span,
            .priority-panel.high .priority-icon {
                background: #dc2626;
            }

    .priority-panel.medium {
        background: #fff7ed;
        border-color: #fed7aa;
    }

        .priority-panel.medium > summary,
        .priority-panel.medium .priority-icon {
            background: #ffedd5;
        }

            .priority-panel.medium > summary span,
            .priority-panel.medium .priority-icon {
                background: #f97316;
            }

    .priority-panel.low {
        background: #eff6ff;
        border-color: #bfdbfe;
    }

        .priority-panel.low > summary,
        .priority-panel.low .priority-icon {
            background: #dbeafe;
        }

            .priority-panel.low > summary span,
            .priority-panel.low .priority-icon {
                background: #2563eb;
            }

    .priority-panel article {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto auto;
        gap: 0.7rem;
        align-items: center;
        margin: 0.65rem;
        padding: 0.8rem;
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.78);
    }

        .priority-panel article > strong {
            color: #0f172a;
            line-height: 1.6;
        }

        .priority-panel article > small {
            grid-column: 2 / -1;
            color: #475569;
            font-size: 0.76rem;
            line-height: 1.8;
        }

.remediation-link {
    border: none;
    cursor: pointer;
    font-family: inherit;
}

.priority-remediation-preview {
    display: grid;
    gap: 0.45rem;
    grid-column: 1 / -1;
    margin: 0.15rem 2rem 0 0;
    padding: 0.65rem 0.8rem;
    border-radius: 9px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    background: #eff6ff;
    color: #1e3a8a;
    line-height: 1.9;
    font-size: 0.78rem;
}

    .priority-remediation-preview p {
        margin: 0;
        color: inherit;
        line-height: 1.9;
    }

    .priority-remediation-preview b {
        color: #172554;
    }

.technical-details div:target {
    outline: 3px solid rgba(37, 99, 235, 0.22);
    outline-offset: 3px;
    box-shadow: 0 16px 36px rgba(37, 99, 235, 0.12);
}

.status-badge {
    display: inline-flex;
    width: fit-content;
    border-radius: 999px;
    padding: 0.25rem 0.55rem;
    font-size: 0.72rem;
}

    .status-badge.ok {
        background: #dcfce7;
        color: #166534;
    }

    .status-badge.warn {
        background: #fef3c7;
        color: #92400e;
    }

    .status-badge.bad {
        background: #fee2e2;
        color: #991b1b;
    }

    .status-badge.neutral {
        background: #e2e8f0;
        color: #334155;
    }

.priority-panel article details {
    min-width: 8rem;
}

    .priority-panel article details summary {
        cursor: pointer;
        border-radius: 999px;
        background: #0f172a;
        color: #fff;
        padding: 0.42rem 0.7rem;
        font-size: 0.74rem;
        font-weight: 800;
        list-style: none;
        text-align: center;
    }

    .priority-panel article details p {
        margin: 0.65rem 0 0;
        color: #334155;
        line-height: 1.8;
        grid-column: 1 / -1;
    }

.kpi-card {
    min-height: 9rem;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: white;
    padding: 0.9rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
}

    .kpi-card strong {
        color: #0f172a;
        font-size: 2rem;
        line-height: 1;
    }

    .kpi-card em {
        color: #475569;
        font-size: 0.76rem;
        font-style: normal;
        line-height: 1.7;
    }

    .kpi-card.ok {
        border-top: 4px solid #16a34a;
    }

    .kpi-card.warn {
        border-top: 4px solid #eab308;
    }

    .kpi-card.bad {
        border-top: 4px solid #dc2626;
    }

.report-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.report-card {
    border-radius: 12px;
    padding: 1rem;
    border: 1px solid var(--border);
}

    .report-card h3 {
        margin: 0 0 0.7rem;
        font-size: 1rem;
    }

    .report-card p {
        display: flex;
        gap: 0.5rem;
        margin: 0.45rem 0;
        color: #334155;
        line-height: 1.8;
    }

    .report-card span {
        display: inline-grid;
        place-items: center;
        width: 1.25rem;
        height: 1.25rem;
        border-radius: 50%;
        flex: 0 0 auto;
        font-weight: 800;
    }

    .report-card.strengths {
        background: #f0fdf4;
        border-color: #bbf7d0;
    }

        .report-card.strengths span {
            background: #16a34a;
            color: white;
        }

    .report-card.weaknesses {
        background: #fffbeb;
        border-color: #fde68a;
    }

        .report-card.weaknesses span {
            background: #eab308;
            color: white;
        }

.score-explainer {
    display: grid;
    gap: 0.6rem;
}

    .score-explainer p {
        margin: 0;
        padding: 0.8rem 0.9rem;
        border: 1px solid #bfdbfe;
        border-radius: 9px;
        background: #eff6ff;
        color: #1e3a8a;
        line-height: 1.9;
    }

.header-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 0.8rem;
}

.headers-summary-text {
    flex-basis: 100%;
    margin: 0 0 0.25rem;
    color: #334155;
    line-height: 1.8;
}

.header-legend span {
    border-radius: 999px;
    padding: 0.4rem 0.65rem;
    font-size: 0.76rem;
    font-weight: 700;
    border: 1px solid var(--border);
}

.header-legend .ok {
    background: #dcfce7;
    color: #166534;
    border-color: #86efac;
}

.header-legend .warn {
    background: #fef3c7;
    color: #92400e;
    border-color: #facc15;
}

.header-legend .bad {
    background: #fee2e2;
    color: #991b1b;
    border-color: #fca5a5;
}

.header-legend .neutral {
    background: #f1f5f9;
    color: #334155;
    border-color: #cbd5e1;
}

.headers-matrix {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.header-metric {
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 0.85rem;
    background: white;
}

    .header-metric > div:first-child {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        min-width: 0;
    }

    .header-metric b {
        display: inline-grid;
        place-items: center;
        width: 1.35rem;
        height: 1.35rem;
        border-radius: 50%;
        flex: 0 0 auto;
    }

    .header-metric strong {
        overflow-wrap: anywhere;
        color: #0f172a;
        font-size: 0.82rem;
    }

    .header-metric > span {
        display: inline-flex;
        margin-top: 0.7rem;
        border-radius: 999px;
        padding: 0.25rem 0.55rem;
        font-size: 0.72rem;
        font-weight: 800;
        direction: ltr;
    }

    .header-metric em {
        display: inline-flex;
        width: fit-content;
        margin-top: 0.55rem;
        padding: 0.24rem 0.5rem;
        border-radius: 999px;
        background: rgba(15, 23, 42, 0.07);
        color: #334155;
        font-size: 0.72rem;
        font-style: normal;
        font-weight: 800;
    }

.header-meter {
    height: 0.55rem;
    margin-top: 0.65rem;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

    .header-meter i {
        display: block;
        height: 100%;
        border-radius: inherit;
    }

.header-metric p {
    margin: 0.65rem 0 0;
    color: #475569;
    font-size: 0.74rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.header-metric small {
    display: block;
    margin-top: 0.6rem;
    color: #334155;
    font-size: 0.74rem;
    line-height: 1.8;
}

.header-metric code {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    margin-top: 0.55rem;
    padding: 0.28rem 0.5rem;
    border-radius: 7px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.74);
    color: #0f172a;
    direction: ltr;
    unicode-bidi: plaintext;
    overflow-wrap: anywhere;
    font-size: 0.72rem;
}

.header-metric.ok {
    border-color: #86efac;
    background: #f0fdf4;
}

    .header-metric.ok b,
    .header-metric.ok .header-meter i,
    .header-metric.ok > span {
        background: #16a34a;
        color: white;
    }

.header-metric.warn {
    border-color: #fde68a;
    background: #fffbeb;
}

    .header-metric.warn b,
    .header-metric.warn .header-meter i,
    .header-metric.warn > span {
        background: #eab308;
        color: #422006;
    }

.header-metric.bad {
    border-color: #fca5a5;
    background: #fef2f2;
}

    .header-metric.bad b,
    .header-metric.bad .header-meter i,
    .header-metric.bad > span {
        background: #dc2626;
        color: white;
    }

.header-metric.neutral {
    background: #f8fafc;
}

    .header-metric.neutral b,
    .header-metric.neutral .header-meter i,
    .header-metric.neutral > span {
        background: #64748b;
        color: white;
    }

.assessment-list,
.cipher-dashboard,
.vulnerability-board,
.ports-grid {
    display: grid;
    gap: 0.65rem;
}

    .assessment-list.two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assessment-list details,
    .vulnerability-board details {
        border: 1px solid var(--border);
        border-radius: 10px;
        background: white;
        overflow: hidden;
    }

    .assessment-list summary,
    .vulnerability-board summary {
        display: grid;
        grid-template-columns: auto minmax(8rem, 0.7fr) minmax(0, 1fr);
        align-items: center;
        gap: 0.7rem;
        padding: 0.8rem;
        cursor: pointer;
        list-style: none;
    }

        .assessment-list summary::-webkit-details-marker,
        .vulnerability-board summary::-webkit-details-marker,
        .technical-details summary::-webkit-details-marker {
            display: none;
        }

        .assessment-list summary span,
        .vulnerability-board summary span {
            display: inline-grid;
            place-items: center;
            width: 1.35rem;
            height: 1.35rem;
            border-radius: 50%;
            font-weight: 900;
        }

        .assessment-list summary b,
        .vulnerability-board summary b {
            color: #475569;
            font-size: 0.8rem;
            text-align: left;
            overflow-wrap: anywhere;
        }

    .assessment-list p,
    .vulnerability-board p,
    .assessment-list em,
    .vulnerability-board em {
        display: block;
        margin: 0;
        padding: 0 0.9rem 0.8rem;
        color: #475569;
        font-style: normal;
        line-height: 1.8;
    }

.vulnerability-facts {
    display: grid;
    gap: 0.45rem;
    margin: 0 0.9rem 0.85rem;
}

    .vulnerability-facts div {
        display: grid;
        grid-template-columns: minmax(7rem, 0.32fr) minmax(0, 1fr);
        gap: 0.75rem;
        align-items: start;
        padding: 0.55rem 0.65rem;
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.62);
    }

    .vulnerability-facts dt,
    .vulnerability-facts dd {
        margin: 0;
        line-height: 1.8;
        font-size: 0.78rem;
    }

    .vulnerability-facts dt {
        color: #334155;
        font-weight: 800;
    }

    .vulnerability-facts dd {
        color: #475569;
        overflow-wrap: anywhere;
    }

.assessment-list details.ok,
.vulnerability-board details.ok,
.cipher-dashboard article.ok,
.ports-grid article.ok {
    border-color: #86efac;
    background: #f0fdf4;
}

.assessment-list details.warn,
.vulnerability-board details.warn,
.cipher-dashboard article.warn,
.ports-grid article.warn {
    border-color: #fde68a;
    background: #fffbeb;
}

.assessment-list details.bad,
.vulnerability-board details.bad,
.cipher-dashboard article.bad,
.ports-grid article.bad {
    border-color: #fca5a5;
    background: #fef2f2;
}

.assessment-list details.neutral,
.vulnerability-board details.neutral,
.cipher-dashboard article.neutral,
.ports-grid article.neutral {
    background: #f8fafc;
}

.assessment-list .ok summary span,
.vulnerability-board .ok summary span {
    background: #16a34a;
    color: white;
}

.assessment-list .warn summary span,
.vulnerability-board .warn summary span {
    background: #eab308;
    color: #422006;
}

.assessment-list .bad summary span,
.vulnerability-board .bad summary span {
    background: #dc2626;
    color: white;
}

.assessment-list .neutral summary span,
.vulnerability-board .neutral summary span {
    background: #64748b;
    color: white;
}

.cipher-dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

    .cipher-dashboard article {
        border: 1px solid var(--border);
        border-radius: 12px;
        padding: 0.9rem;
        background: white;
    }

    .cipher-dashboard header {
        display: flex;
        align-items: center;
        gap: 0.55rem;
    }

        .cipher-dashboard header span {
            display: inline-grid;
            place-items: center;
            width: 1.35rem;
            height: 1.35rem;
            border-radius: 50%;
            background: #64748b;
            color: white;
            flex: 0 0 auto;
        }

    .cipher-dashboard strong {
        overflow-wrap: anywhere;
        color: #0f172a;
        font-size: 0.82rem;
    }

.cipher-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0.75rem 0;
}

    .cipher-tags b {
        border-radius: 999px;
        background: rgba(15, 23, 42, 0.07);
        color: #334155;
        padding: 0.25rem 0.5rem;
        font-size: 0.72rem;
    }

.cipher-dashboard p {
    margin: 0;
    color: #475569;
    line-height: 1.8;
    font-size: 0.8rem;
}

.limitation-note {
    margin: 0.3rem 0.9rem 0.8rem !important;
    padding: 0.6rem 0.75rem !important;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
}

.ports-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

    .ports-grid article {
        border: 1px solid var(--border);
        border-radius: 12px;
        padding: 0.9rem;
    }

    .ports-grid strong {
        display: block;
        font-size: 1.35rem;
        color: #0f172a;
    }

    .ports-grid span {
        display: block;
        color: #475569;
        margin: 0.25rem 0 0.55rem;
    }

    .ports-grid p {
        margin: 0;
        color: #475569;
        line-height: 1.7;
        font-size: 0.78rem;
    }

.technical-details {
    display: grid;
    gap: 0.75rem;
}

    .technical-details > details {
        border: 1px solid var(--border);
        border-radius: 10px;
        background: #fff;
        overflow: hidden;
    }

        .technical-details > details > summary {
            padding: 0.85rem;
            cursor: pointer;
            font-weight: 800;
            background: #f8fafc;
            list-style: none;
        }

    .technical-details div {
        display: grid;
        grid-template-columns: minmax(8rem, 0.5fr) minmax(0, 1fr);
        gap: 0.5rem;
        padding: 0.75rem 0.85rem;
        border-top: 1px solid var(--border-soft);
    }

    .technical-details .remediation-block,
    .technical-details .certificate-chain-item {
        grid-template-columns: minmax(10rem, 0.35fr) minmax(0, 1fr);
        margin: 0.65rem;
        border: 1px solid var(--border);
        border-radius: 10px;
        background: #fff;
    }

        .technical-details .remediation-block.selected {
            border-color: #2563eb;
            box-shadow: 0 12px 30px rgba(37, 99, 235, 0.15);
        }

    .technical-details code {
        display: block;
        max-width: 100%;
        padding: 0.35rem 0.5rem;
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 7px;
        background: #f8fafc;
        color: #0f172a;
        direction: ltr;
        unicode-bidi: plaintext;
        overflow-wrap: anywhere;
        font-family: 'Vazirmatn', ui-monospace, 'Cascadia Code', 'Courier New', monospace;
        font-size: 0.76rem;
        line-height: 1.8;
    }

    .technical-details p {
        grid-column: 1 / -1;
        margin: 0;
        color: #64748b;
        line-height: 1.7;
    }

    .technical-details .technical-value {
        display: inline-block;
        max-width: 100%;
        margin-inline-start: 0.35rem;
        padding: 0.25rem 0.55rem;
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 7px;
        background: #f8fafc;
        color: #0f172a;
        font-family: 'Vazirmatn', ui-monospace, 'Cascadia Code', 'Courier New', monospace;
        font-size: 0.78rem;
        line-height: 1.9;
        overflow-wrap: anywhere;
        unicode-bidi: plaintext;
    }

    .technical-details .certificate-chain-item {
        align-items: start;
    }

        .technical-details .certificate-chain-item > strong {
            align-self: center;
        }

.chain-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: start;
    width: fit-content;
    border-radius: 999px;
    padding: 0.25rem 0.65rem;
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1.6;
}

    .chain-status-badge.ok {
        background: #dcfce7;
        color: #166534;
    }

    .chain-status-badge.warn {
        background: #fef3c7;
        color: #92400e;
    }

    .chain-status-badge.bad {
        background: #fee2e2;
        color: #991b1b;
    }

    .chain-status-badge.neutral {
        background: #e2e8f0;
        color: #334155;
    }

.technical-details .technical-pair {
    display: grid;
    grid-template-columns: minmax(5rem, max-content) minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
}

    .technical-details .technical-pair b {
        justify-self: end;
        color: #475569;
        font-weight: 800;
        text-align: right;
    }

@media (max-width: 900px) {
    .scan-command-panel,
    .executive-summary,
    .report-grid,
    .assessment-list.two,
    .cipher-dashboard,
    .admin-grid,
    .admin-overview,
    .home-plan-grid,
    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .admin-table-head.users,
    .admin-table-row.users,
    .admin-table-head.plans,
    .admin-table-row.plans,
    .admin-table-head.certificates,
    .admin-table-row.certificates,
    .admin-table-head.users-compact,
    .admin-user-row > summary,
    .admin-table-head.plans-modern,
    .admin-table-row.plans-modern,
    .admin-table-head.event-logs-modern,
    .admin-table-row.event-logs-modern,
    .admin-table-head.issued-certificates-table,
    .admin-table-row.issued-certificates-table,
    .user-detail-panel,
    .admin-plan-form,
    .customer-layout,
    .quota-grid,
    .allocation-card,
    .allocation-inputs,
    .pricing-grid,
    .billing-period-actions,
    .certificate-filters,
    .certificate-provider-tabs,
    .permission-create,
    .plan-detail-grid,
    .tool-shortcuts {
        grid-template-columns: 1fr;
    }

    .customer-sidebar {
        border-left: none;
        border-bottom: 1px solid var(--border);
        padding: 0 0 0.75rem;
    }

    .customer-header,
    .plan-title-row,
    .certificate-toolbar,
    .certificate-card-flat header,
    .certificate-card-flat footer,
    .certificate-meta {
        align-items: flex-start;
        flex-direction: column;
    }

    .target-context-strip,
    .headers-matrix,
    .kpi-grid,
    .summary-card-row,
    .analytics-panel,
    .scan-depth-strip,
    .quick-posture-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ports-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 580px) {
    .score-badge {
        width: 112px;
        height: 112px;
    }

        .score-badge .score-grade {
            font-size: 2.85rem;
        }

        .score-badge .score-value {
            font-size: 0.82rem;
        }

    .scan-actions,
    .scan-mode-selector,
    .target-context-strip,
    .scan-depth-strip,
    .quick-posture-panel,
    .headers-matrix,
    .kpi-grid,
    .summary-card-row,
    .analytics-panel,
    .ports-grid,
    .scan-progress-product {
        grid-template-columns: 1fr;
    }

    .risk-bar,
    .priority-panel article,
    .new-scan-panel,
    .scan-coverage-note {
        grid-template-columns: 1fr;
    }

    .new-scan-panel,
    .scan-coverage-note {
        display: grid;
    }

    .progress-orbit {
        width: 100%;
        height: 6rem;
        border-radius: 12px;
    }

    .assessment-list summary,
    .vulnerability-board summary,
    .technical-details div {
        grid-template-columns: 1fr;
    }
}


h1:focus {
    outline: none;
}

h1 {
    outline: none !important;
}

.pricing-grid {
    align-items: stretch;
}

.plans-modern {
    grid-template-columns: 1.1fr 1.35fr 2fr auto 1fr;
}

.plan-allocation-editor {
    display: grid;
    gap: 0.9rem;
    margin-top: 1.4rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e2e8f0;
}

.allocation-heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
}

    .allocation-heading h3 {
        margin: 0;
        color: #0f172a;
        font-size: 1.05rem;
    }

    .allocation-heading span {
        color: #64748b;
        font-size: 0.82rem;
        line-height: 1.8;
    }

.allocation-card {
    display: grid;
    grid-template-columns: 13rem minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    border: 1px solid #dbe4f0;
    background: #fff;
    padding: 0.9rem;
}

    .allocation-card header {
        display: grid;
        gap: 0.25rem;
    }

        .allocation-card header strong {
            color: #0f172a;
        }

        .allocation-card header small {
            color: #64748b;
        }

.allocation-inputs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.allocation-summary {
    display: grid;
    gap: 0.4rem;
}

    .allocation-summary span {
        display: block;
        padding: 0.4rem 0.55rem;
        border: 1px solid #e2e8f0;
        background: #f8fafc;
        color: #475569;
        font-size: 0.8rem;
        line-height: 1.8;
    }

    .allocation-summary b {
        color: #0f172a;
        margin-left: 0.35rem;
    }

.quota-stack {
    display: grid;
    gap: 0.85rem;
    margin-top: 1rem;
}

.quota-product-card {
    border: 1px solid #dbe4f0;
    background: #fff;
    padding: 0.9rem;
}

    .quota-product-card header {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        align-items: center;
        margin-bottom: 0.75rem;
    }

        .quota-product-card header strong {
            color: #0f172a;
        }

        .quota-product-card header span {
            color: #64748b;
            font-size: 0.78rem;
        }

.quota-lines {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quota-line {
    display: grid;
    gap: 0.45rem;
}

    .quota-line > div:first-child {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        align-items: center;
    }

    .quota-line span {
        color: #64748b;
        font-size: 0.8rem;
    }

    .quota-line strong {
        color: #0f172a;
        font-size: 0.86rem;
    }

.plan-product-limits {
    gap: 0.55rem;
}

.plan-product-limit {
    display: grid;
    gap: 0.28rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    margin-bottom: 6px;
}

    .plan-product-limit strong {
        color: #0f172a;
        font-size: 0.92rem;
    }

    .plan-product-limit span {
        color: #64748b;
        font-size: 0.78rem;
    }

.pricing-card-flat {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    padding: 1.05rem;
    background: #fff;
    border: 1px solid #dbeafe;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
    min-height: 100%;
    align-content: start;
}

    .pricing-card-flat::before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: 4px;
        background: #2563eb;
    }

    .pricing-card-flat.current::before {
        background: #16a34a;
    }

    .pricing-card-flat.lower {
        opacity: 0.72;
        filter: grayscale(0.15);
    }

.plan-card-top {
    display: flex;
    justify-content: space-between;
    gap: 0.8rem;
    align-items: start;
    margin-bottom: 0.7rem;
}

    .plan-card-top span {
        display: inline-flex;
        width: fit-content;
        border-radius: 999px;
        background: #eff6ff;
        color: #1d4ed8;
        padding: 0.25rem 0.55rem;
        font-size: 0.72rem;
        font-weight: 850;
    }

.pricing-card-flat.current .plan-card-top span {
    background: #dcfce7;
    color: #166534;
}

.plan-card-top h3 {
    margin: 0.55rem 0 0;
    font-size: 1.3rem;
    color: #0f172a;
}

.plan-period-selector {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
    align-items: center;
    padding: 0.7rem;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    margin-bottom: 0.65rem;
    min-height: 8.5rem;
}

    .plan-period-selector label {
        color: #475569;
        font-size: 0.78rem;
        font-weight: 850;
    }

    .plan-period-selector select {
        min-height: 2.5rem;
    }

    .plan-period-selector strong {
        display: block;
        min-height: 2.1rem;
        color: #ea580c;
        font-size: 1.18rem;
        line-height: 2.1rem;
        text-align: center;
        white-space: nowrap;
    }

.discount-slot {
    display: flex;
    justify-content: center;
    min-height: 1.85rem;
}

.plan-period-selector b {
    justify-self: center;
    align-self: start;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    background: #fff7ed;
    color: #c2410c;
    padding: 0.22rem 0.6rem;
    font-size: 0.72rem;
}

.plan-feature-list {
    display: grid;
    gap: 0.6rem;
    margin-bottom: 1rem;
}

    .plan-feature-list p {
        display: flex;
        justify-content: space-between;
        gap: 0.75rem;
        margin: 0;
        padding: 0.65rem 0.75rem;
        border-radius: 0;
        background: #f8fafc;
    }

.billing-period-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

    .billing-period-actions .btn {
        padding: 0.65rem 0.6rem;
        font-size: 0.82rem;
    }

.plan-select-button {
    border: 1px solid #ff7100;
    background: #ff7100;
    color: #fff;
    min-height: 2.75rem;
    padding: 0.65rem 0.9rem;
    font-family: inherit;
    font-weight: 900;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

    .plan-select-button:hover {
        background: #ea580c;
        box-shadow: 0 10px 18px rgba(234, 88, 12, 0.18);
        transform: translateY(-1px);
    }

.pricing-grid.selection-locked .plan-select-button {
    pointer-events: none;
    opacity: 0.55;
    background: #94a3b8;
    border-color: #94a3b8;
    box-shadow: none;
    transform: none;
}

.plan-static-action {
    display: grid;
    place-items: center;
    min-height: 2.75rem;
    padding: 0.65rem 0.9rem;
    border: 1px solid transparent;
    font-weight: 900;
    user-select: none;
}

    .plan-static-action.current {
        border-color: #bbf7d0;
        background: #f0fdf4;
        color: #166534;
    }

    .plan-static-action.placeholder {
        visibility: hidden;
    }

.admin-user-plan-editor {
    display: grid;
    gap: 0.75rem;
}

    .admin-user-plan-editor > strong {
        display: grid;
        place-items: center;
        min-height: 2.8rem;
        border: 1px solid #dbeafe;
        border-radius: 10px;
        background: #eff6ff;
        color: #1d4ed8;
    }

    .admin-user-plan-editor label {
        display: grid;
        gap: 0.4rem;
    }

        .admin-user-plan-editor label span {
            color: #64748b;
            font-weight: 850;
        }

.receipt-note {
    color: #b91c1c;
    line-height: 1.8;
}

    .receipt-note.inline {
        grid-column: 1 / -1;
        width: 100%;
        border: 1px solid #fecaca;
        border-radius: 9px;
        background: #fff1f2;
        padding: 0.45rem 0.65rem;
        color: #b91c1c;
        font-size: 0.82rem;
    }

.receipt-view-button {
    width: auto;
    margin: 0;
}

.pwa-install-card {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 60;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    width: min(25rem, calc(100vw - 2rem));
    padding: 1rem;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(239, 246, 255, 0.98), rgba(255, 255, 255, 0.98));
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.22);
}

.pwa-close {
    position: absolute;
    top: 0.55rem;
    left: 0.55rem;
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 1px solid #dbe4f0;
    border-radius: 999px;
    background: #fff;
    color: #0f172a;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
}

.pwa-icon {
    display: grid;
    place-items: center;
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 14px;
    background: #2563eb;
    color: #fff;
    direction: ltr;
    font-weight: 950;
    letter-spacing: 0;
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.28);
}

.pwa-copy {
    display: grid;
    gap: 0.35rem;
    padding-left: 1.9rem;
}

    .pwa-copy strong {
        color: #0f172a;
        font-size: 0.98rem;
    }

    .pwa-copy p,
    .pwa-copy small,
    .pwa-ios-guide {
        margin: 0;
        color: #64748b;
        font-size: 0.8rem;
        line-height: 1.8;
    }

    .pwa-copy small {
        color: #1d4ed8;
        font-weight: 850;
    }

.pwa-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
}

    .pwa-actions .btn {
        margin-top: 0;
        width: 100%;
    }

.pwa-ios-guide {
    display: grid;
    align-items: center;
    min-height: 2.7rem;
    border: 1px dashed #bfdbfe;
    border-radius: 10px;
    background: #eff6ff;
    padding: 0.55rem 0.75rem;
    text-align: center;
}

.notification-settings-panel,
.notification-policy-list {
    display: grid;
    gap: 0.75rem;
    margin: 0.9rem 0 1rem;
}

.notification-channels-settings {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.notification-telegram-settings-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.75rem;
}

.telegram-notification-policy-list {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}



.telegram-activation-switch {
    height: 50px !important;
    width: 150px !important;
    margin-top: 20px;
}

.notification-settings-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
    padding: 0.85rem;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: #eff6ff;
}

    .notification-settings-head strong {
        color: #0f172a;
    }

    .notification-settings-head p {
        margin: 0.35rem 0 0;
        color: #475569;
        line-height: 1.9;
        font-size: 0.82rem;
    }

.notification-preference-list {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


.notification-preference-card-outer {
    align-items: center;
    background: #fff;
    padding: 0.85rem;
    border: 1px solid #dbe4f0;
    border-radius: 12px;
}

    .notification-preference-card-outer p {
        margin: 0.3rem 0 -7px 0;
        color: #64748b;
        line-height: 1.8;
        font-size: 0.8rem;
    }

.notification-preference-card,
.notification-policy-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
}

.notification-preference-card {
    gap: 0.25rem;
}

.notification-policy-card {
    gap: 0.75rem;
}

    .notification-preference-card strong,
    .notification-policy-card strong {
        color: #0f172a;
    }

    .notification-preference-card p,
    .notification-policy-card p {
        margin: 0.3rem 0 0;
        color: #64748b;
        line-height: 1.8;
        font-size: 0.8rem;
    }



.switch-row {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 5.1rem;
    justify-content: center;
    border: 1px solid #dbe4f0;
    border-radius: 999px;
    background: #f8fafc;
    padding: 0.45rem 0.65rem;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 850;
    cursor: pointer;
}

    .switch-row input {
        accent-color: #2563eb;
    }

    .switch-row:has(input:checked) {
        border-color: #93c5fd;
        background: #eff6ff;
        color: #1d4ed8;
    }

    .switch-row:has(input:disabled) {
        opacity: 0.62;
        cursor: not-allowed;
    }

.notification-form-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.plan-feature-list b {
    color: #0f172a;
}

.plan-feature-list span {
    color: #64748b;
}

.tool-shortcuts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

    .tool-shortcuts a {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.4rem 0.75rem;
        align-items: start;
        min-height: 7rem;
        padding: 1rem;
        border: 1px solid #dbe4f0;
        border-radius: 10px;
        background: #fff;
        color: #0f172a;
        text-decoration: none;
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
    }

        .tool-shortcuts a:hover {
            border-color: #2563eb;
            background: #eff6ff;
        }

    .tool-shortcuts small {
        grid-column: 1 / -1;
        color: #64748b;
        line-height: 1.8;
    }

.nav-notification-button,
.nav-badge-button {
    position: relative;
}

    .nav-notification-button b,
    .nav-badge-button b {
        position: absolute;
        left: 0.55rem;
        top: 50%;
        transform: translateY(-50%);
        min-width: 1.35rem;
        height: 1.35rem;
        display: inline-grid;
        place-items: center;
        border-radius: 999px;
        background: #ef4444;
        color: white;
        font-size: 0.72rem;
    }

.notification-count {
    border-radius: 999px;
    background: #fee2e2;
    color: #991b1b;
    padding: 0.32rem 0.65rem;
    font-size: 0.76rem;
    font-weight: 850;
}

.notification-card {
    display: grid;
    gap: 0.7rem;
    margin-top: 0.7rem;
    padding: 0.9rem;
    border: 1px solid #dbe4f0;
    border-radius: 10px;
    background: #fff;
}

    .notification-card.unread {
        border-color: #bfdbfe;
        background: #eff6ff;
    }

    .notification-card > div {
        display: flex;
        justify-content: space-between;
        gap: 0.8rem;
        align-items: center;
    }

    .notification-card time {
        color: #64748b;
        font-size: 0.76rem;
        direction: ltr;
    }

    .notification-card p {
        margin: 0;
        color: #475569;
        line-height: 1.95;
        white-space: pre-line;
        overflow-wrap: anywhere;
    }

.payment-method-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1rem 0;
}

    .payment-method-strip article,
    .bank-account-card,
    .manual-payment-form {
        border: 1px solid #dbe4f0;
        border-radius: 10px;
        background: #fff;
        padding: 0.9rem;
    }

    .payment-method-strip article {
        display: grid;
        gap: 0.35rem;
    }

        .payment-method-strip article:first-child {
            border-color: #86efac;
            background: #f0fdf4;
        }

    .payment-method-strip .disabled {
        opacity: 0.58;
        background: #f8fafc;
    }

    .payment-method-strip span,
    .manual-payment-panel p {
        color: #64748b;
        line-height: 1.8;
    }

.manual-payment-panel {
    display: grid;
    gap: 0.8rem;
    margin-top: 1rem;
}

.checkout-page {
    display: grid;
    gap: 1rem;
}

    .checkout-page .certificate-toolbar p {
        margin: 0.35rem 0 0;
        color: #64748b;
        line-height: 1.8;
    }

.checkout-summary-card {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: linear-gradient(135deg, #eff6ff, #ffffff);
    padding: 0.9rem;
}

    .checkout-summary-card div {
        display: grid;
        gap: 0.35rem;
        border: 1px solid #dbeafe;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.78);
        padding: 0.75rem;
    }

    .checkout-summary-card span {
        color: #64748b;
        font-size: 0.85rem;
    }

    .checkout-summary-card strong {
        color: #0f172a;
    }

.checkout-actions-row {
    display: flex;
    justify-content: flex-start;
}

    .checkout-actions-row .btn {
        width: auto;
    }

.bank-account-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    background: #f8fafc;
}

    .bank-account-card span {
        color: #64748b;
    }

    .bank-account-card b {
        color: #0f172a;
    }

.manual-payment-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 0.75rem;
    align-items: end;
}

.file-picker {
    min-height: 2.9rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.35rem 0.75rem;
    align-items: center;
    border: 1px solid #dbe4f0;
    border-radius: 10px;
    background: #f8fafc;
    padding: 0.55rem 0.75rem;
    cursor: pointer;
}

    .file-picker span {
        color: #1d4ed8;
        font-weight: 850;
    }

    .file-picker small {
        min-width: 0;
        color: #64748b;
        direction: ltr;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

.billing-period-actions,
.certificate-action-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.order-history {
    display: grid;
    gap: 0.65rem;
    margin-top: 1rem;
}

    .order-history article {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 0.75rem;
        align-items: center;
        padding: 0.8rem;
        border: 1px solid #dbe4f0;
        border-radius: 10px;
        background: #fff;
    }

        .order-history article div {
            display: grid;
            gap: 0.25rem;
        }

        .order-history article span {
            color: #64748b;
            font-size: 0.78rem;
        }

.admin-overview {
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}

.admin-overview-item {
    min-height: 8rem;
    border-radius: 10px;
}

.admin-table-head.payments-modern,
.admin-table-row.payments-modern {
    grid-template-columns: minmax(12rem, 1.2fr) minmax(9rem, 1fr) minmax(8rem, 1fr) 9rem 7rem minmax(13rem, 1.2fr);
}

#blazor-error-ui {
    display: none !important;
}

#components-reconnect-modal:not([open]):not(.components-reconnect-show):not(.components-reconnect-failed):not(.components-reconnect-retrying):not(.components-reconnect-paused):not(.components-reconnect-resume-failed) {
    display: none !important;
}

#components-reconnect-modal {
    border: 0;
    border-radius: 16px;
    padding: 1.3rem;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.26);
    font-family: 'Vazirmatn', system-ui, sans-serif;
    direction: rtl;
}

    #components-reconnect-modal p {
        color: #475569;
        line-height: 1.8;
    }

    #components-reconnect-modal button {
        border: 1px solid #dbe4f0;
        border-radius: 10px;
        background: #fff;
        padding: 0.45rem 0.8rem;
        font-weight: 850;
    }

@media (max-width: 900px) {
    .tool-shortcuts,
    .payment-method-strip,
    .bank-account-card,
    .confirm-actions,
    .checkout-summary-card,
    .manual-payment-form,
    .order-history article,
    .admin-table-head.payments-modern,
    .admin-table-row.payments-modern,
    .admin-table-head.products-modern,
    .admin-table-row.products-modern,
    .admin-table-head.notifications-modern,
    .admin-table-row.notifications-modern,
    .admin-table-head.event-logs-modern,
    .admin-table-row.event-logs-modern,
    .user-detail-panel,
    .admin-certificate-list article,
    .notification-preference-card,
    .notification-policy-card,
    .notification-form-grid,
    .pwa-actions {
        grid-template-columns: 1fr;
    }

    .notification-settings-head {
        flex-direction: column;
    }

    .pwa-install-card {
        right: 1rem;
        bottom: 1rem;
    }
}


.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }



.admin-plan-form .field-group {
    margin-bottom: 0 !important;
}


.grid-display {
    display: grid;
    gap: 0.75rem;
}

.verical-middle-holder {
    display: flex;
    align-items: center; /* وسط‌چین کردن عمودی */
    /*justify-content: center;  وسط‌چین کردن افقی (اگر لازم بود) */
}


.issue-filedset {
    border-radius: 10px;
    border: 1px solid #91b3ff;
    /*    background: #2563eb17;*/
}

    .issue-filedset legend {
        font-size: 13px;
        color: #4881fd;
    }


.issue-add-domain-btn {
    background: #42a5fd;
    color: white;
}

.issue-remove-domain-btn {
    background: #ff6363;
    color: white;
}

.issue-disabled-btn {
    background: #858585;
}

/* copying from bootstrap */
.d-flex {
    display: flex !important
}

.d-inline-flex {
    display: inline-flex !important
}

.d-none {
    display: none !important
}

.flex-grow-0 {
    flex-grow: 0 !important
}

.flex-grow-1 {
    flex-grow: 1 !important
}

.m-0 {
    margin: 0 !important
}

.m-1 {
    margin: .25rem !important
}

.m-2 {
    margin: .5rem !important
}

.m-3 {
    margin: 1rem !important
}

.m-4 {
    margin: 1.5rem !important
}

.m-5 {
    margin: 3rem !important
}

.m-auto {
    margin: auto !important
}

.mx-0 {
    margin-right: 0 !important;
    margin-left: 0 !important
}

.mx-1 {
    margin-right: .25rem !important;
    margin-left: .25rem !important
}

.mx-2 {
    margin-right: .5rem !important;
    margin-left: .5rem !important
}

.mx-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important
}

.mx-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important
}

.mx-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important
}

.mx-auto {
    margin-right: auto !important;
    margin-left: auto !important
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

.my-1 {
    margin-top: .25rem !important;
    margin-bottom: .25rem !important
}

.my-2 {
    margin-top: .5rem !important;
    margin-bottom: .5rem !important
}

.my-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important
}

.my-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important
}

.my-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important
}

.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important
}

.mt-0 {
    margin-top: 0 !important
}

.mt-1 {
    margin-top: .25rem !important
}

.mt-2 {
    margin-top: .5rem !important
}

.mt-3 {
    margin-top: 1rem !important
}

.mt-4 {
    margin-top: 1.5rem !important
}

.mt-5 {
    margin-top: 3rem !important
}

.mt-auto {
    margin-top: auto !important
}

.me-0 {
    margin-right: 0 !important
}

.me-1 {
    margin-right: .25rem !important
}

.me-2 {
    margin-right: .5rem !important
}

.me-3 {
    margin-right: 1rem !important
}

.me-4 {
    margin-right: 1.5rem !important
}

.me-5 {
    margin-right: 3rem !important
}

.me-auto {
    margin-right: auto !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.mb-1 {
    margin-bottom: .25rem !important
}

.mb-2 {
    margin-bottom: .5rem !important
}

.mb-3 {
    margin-bottom: 1rem !important
}

.mb-4 {
    margin-bottom: 1.5rem !important
}

.mb-5 {
    margin-bottom: 3rem !important
}

.mb-auto {
    margin-bottom: auto !important
}

.ms-0 {
    margin-left: 0 !important
}

.ms-1 {
    margin-left: .25rem !important
}

.ms-2 {
    margin-left: .5rem !important
}

.ms-3 {
    margin-left: 1rem !important
}

.ms-4 {
    margin-left: 1.5rem !important
}

.ms-5 {
    margin-left: 3rem !important
}

.ms-auto {
    margin-left: auto !important
}

.p-0 {
    padding: 0 !important
}

.p-1 {
    padding: .25rem !important
}

.p-2 {
    padding: .5rem !important
}

.p-3 {
    padding: 1rem !important
}

.p-4 {
    padding: 1.5rem !important
}

.p-5 {
    padding: 3rem !important
}

.px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important
}

.px-1 {
    padding-right: .25rem !important;
    padding-left: .25rem !important
}

.px-2 {
    padding-right: .5rem !important;
    padding-left: .5rem !important
}

.px-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important
}

.px-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important
}

.px-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.py-1 {
    padding-top: .25rem !important;
    padding-bottom: .25rem !important
}

.py-2 {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important
}

.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important
}

.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important
}

.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important
}

.pt-0 {
    padding-top: 0 !important
}

.pt-1 {
    padding-top: .25rem !important
}

.pt-2 {
    padding-top: .5rem !important
}

.pt-3 {
    padding-top: 1rem !important
}

.pt-4 {
    padding-top: 1.5rem !important
}

.pt-5 {
    padding-top: 3rem !important
}

.pe-0 {
    padding-right: 0 !important
}

.pe-1 {
    padding-right: .25rem !important
}

.pe-2 {
    padding-right: .5rem !important
}

.pe-3 {
    padding-right: 1rem !important
}

.pe-4 {
    padding-right: 1.5rem !important
}

.pe-5 {
    padding-right: 3rem !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.pb-1 {
    padding-bottom: .25rem !important
}

.pb-2 {
    padding-bottom: .5rem !important
}

.pb-3 {
    padding-bottom: 1rem !important
}

.pb-4 {
    padding-bottom: 1.5rem !important
}

.pb-5 {
    padding-bottom: 3rem !important
}

.ps-0 {
    padding-left: 0 !important
}

.ps-1 {
    padding-left: .25rem !important
}

.ps-2 {
    padding-left: .5rem !important
}

.ps-3 {
    padding-left: 1rem !important
}

.ps-4 {
    padding-left: 1.5rem !important
}

.ps-5 {
    padding-left: 3rem !important
}

.gap-0 {
    gap: 0 !important
}

.gap-1 {
    gap: .25rem !important
}

.gap-2 {
    gap: .5rem !important
}

.gap-3 {
    gap: 1rem !important
}

.gap-4 {
    gap: 1.5rem !important
}

.gap-5 {
    gap: 3rem !important
}

.row-gap-0 {
    row-gap: 0 !important
}

.row-gap-1 {
    row-gap: .25rem !important
}

.row-gap-2 {
    row-gap: .5rem !important
}

.row-gap-3 {
    row-gap: 1rem !important
}

.row-gap-4 {
    row-gap: 1.5rem !important
}

.row-gap-5 {
    row-gap: 3rem !important
}

.column-gap-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important
}

.column-gap-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: .25rem !important
}

.column-gap-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: .5rem !important
}

.column-gap-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important
}

.column-gap-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important
}

.column-gap-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important
}


.additional-domains-wrapper {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 15px;
    margin-top: 15px;
    margin-bottom: 15px;
}

.additional-domains-header {
    font-weight: 600;
    font-size: 0.95rem;
    color: #838383;
    margin-bottom: 10px;
}

.csr-viewer-subjects{
    color:gray;
}
.csr-viewer-message-info {
    color: gray;
    font-style:italic;
    font-size:13px;
}















































/** ZERO SSL 




@layer properties {
    @supports (((-webkit-hyphens: none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
        *, :before, :after, ::backdrop {
            --tw-translate-x: 0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1;
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-space-y-reverse: 0;
            --tw-divide-y-reverse: 0;
            --tw-border-style: solid;
            --tw-leading: initial;
            --tw-font-weight: initial;
            --tw-tracking: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-outline-style: solid;
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial;
            --tw-duration: initial;
            --tw-ease: initial;
            --tw-divide-x-reverse: 0;
            --tw-content: ""
        }
    }
}

@layer theme {
    :root, :host {
        --font-sans: "Vazirmatn";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-red-50: oklch(97.1% .013 17.38);
        --color-red-100: oklch(93.6% .032 17.717);
        --color-red-300: oklch(80.8% .114 19.571);
        --color-red-600: oklch(57.7% .245 27.325);
        --color-red-800: oklch(44.4% .177 26.899);
        --color-red-900: oklch(39.6% .141 25.723);
        --color-yellow-50: oklch(98.7% .026 102.212);
        --color-yellow-300: oklch(90.5% .182 98.111);
        --color-yellow-900: oklch(42.1% .095 57.708);
        --color-green-100: oklch(96.2% .044 156.743);
        --color-green-600: oklch(62.7% .194 149.214);
        --color-green-800: oklch(44.8% .119 151.328);
        --color-blue-50: oklch(97% .014 254.604);
        --color-blue-100: oklch(93.2% .032 255.585);
        --color-blue-300: oklch(80.9% .105 251.813);
        --color-blue-600: oklch(54.6% .245 262.881);
        --color-blue-700: oklch(48.8% .243 264.376);
        --color-blue-800: oklch(42.4% .199 265.638);
        --color-blue-900: oklch(37.9% .146 265.522);
        --color-slate-50: oklch(98.4% .003 247.858);
        --color-slate-100: oklch(96.8% .007 247.896);
        --color-slate-200: oklch(92.9% .013 255.508);
        --color-slate-500: oklch(55.4% .046 257.417);
        --color-slate-600: oklch(44.6% .043 257.281);
        --color-slate-700: oklch(37.2% .044 257.287);
        --color-slate-900: oklch(20.8% .042 265.755);
        --color-gray-50: oklch(98.5% .002 247.839);
        --color-gray-100: oklch(96.7% .003 264.542);
        --color-gray-200: oklch(92.8% .006 264.531);
        --color-gray-300: oklch(87.2% .01 258.338);
        --color-gray-400: oklch(70.7% .022 261.325);
        --color-gray-500: oklch(55.1% .027 264.364);
        --color-gray-600: oklch(44.6% .03 256.802);
        --color-gray-700: oklch(37.3% .034 259.733);
        --color-gray-800: oklch(27.8% .033 256.848);
        --color-gray-900: oklch(21% .034 264.665);
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --container-sm: 24rem;
        --container-md: 28rem;
        --container-lg: 32rem;
        --container-xl: 36rem;
        --container-2xl: 42rem;
        --container-3xl: 48rem;
        --container-4xl: 56rem;
        --container-5xl: 64rem;
        --container-6xl: 72rem;
        --container-7xl: 80rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1 / .75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25 / .875);
        --text-base: 1rem;
        --text-base--line-height: 1.5;
        --text-lg: 1.125rem;
        --text-lg--line-height: calc(1.75 / 1.125);
        --text-xl: 1.25rem;
        --text-xl--line-height: calc(1.75 / 1.25);
        --text-2xl: 1.5rem;
        --text-2xl--line-height: calc(2 / 1.5);
        --text-3xl: 1.875rem;
        --text-3xl--line-height: 1.2;
        --text-4xl: 2.25rem;
        --text-4xl--line-height: calc(2.5 / 2.25);
        --text-5xl: 3rem;
        --text-5xl--line-height: 1;
        --font-weight-light: 300;
        --font-weight-normal: 400;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --font-weight-extrabold: 800;
        --tracking-tight: -.025em;
        --tracking-wide: .025em;
        --tracking-wider: .05em;
        --tracking-widest: .1em;
        --leading-tight: 1.25;
        --leading-snug: 1.375;
        --leading-relaxed: 1.625;
        --radius-sm: .25rem;
        --radius-md: .375rem;
        --radius-lg: .5rem;
        --radius-xl: .75rem;
        --radius-2xl: 1rem;
        --drop-shadow-sm: 0 1px 2px #00000026;
        --ease-in: cubic-bezier(.4, 0, 1, 1);
        --ease-out: cubic-bezier(0, 0, .2, 1);
        --ease-in-out: cubic-bezier(.4, 0, .2, 1);
        --blur-3xl: 64px;
        --aspect-video: 16 / 9;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
        --font-promo: "Vazirmatn";
        --border-color-primary: #999;
        --border-color-secondary: #ccc
    }
}

@layer base {
    *, :after, :before, ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html, : host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: "Vazirmatn";
        font-feature-settings: var(--default-font-feature-settings,normal);
        font-variation-settings: var(--default-font-variation-settings,normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr: where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted
    }

    h1, h2, h3, h4, h5, h6 {
        font-size: inherit;
        font-weight: inherit
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b, strong {
        font-weight: bolder
    }

    code, kbd, samp, pre {
        font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings,normal);
        font-variation-settings: var(--default-mono-font-variation-settings,normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub, sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring:where(:not(iframe)) {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol, ul, menu {
        list-style: none
    }

    img, svg, video, canvas, audio, iframe, embed, object {
        vertical-align: middle;
        display: block
    }

    img, video {
        max-width: 100%;
        height: auto
    }

    button, input, select, optgroup, textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select: is([multiple],[size])) optgroup {
        font-weight: bolder
    }

        :where(select: is([multiple],[size])) optgroup option {
            padding-inline-start: 20px
        }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color: color-mix(in lab,red,red)) {
            ::placeholder {
                color: color-mix(in oklab,currentcolor 50%,transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button, input: where([type=button],[type=reset],[type=submit]) {
        appearance: button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]: where(:not([hidden=until-found])) {
        display: none !important
    }
}

@layer components;

@layer utilities {
    .pointer-events-none {
        pointer-events: none
    }

    .collapse {
        visibility: collapse
    }

    .invisible {
        visibility: hidden
    }

    .visible {
        visibility: visible
    }

    .visible\! {
        visibility: visible !important
    }

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .sticky {
        position: sticky
    }

    .inset-0 {
        inset: 0
    }

    .-top-0 {
        top: 0
    }

    .-top-20 {
        top: calc(var(--spacing) * -20)
    }

    .top-0 {
        top: 0
    }

    .top-full {
        top: 100%
    }

    .-right-20 {
        right: calc(var(--spacing) * -20)
    }

    .right-1 {
        right: var(--spacing)
    }

    .right-5 {
        right: calc(var(--spacing) * 5)
    }

    .bottom-full {
        bottom: 100%
    }

    .left-0 {
        left: 0
    }

    .isolate {
        isolation: isolate
    }

    .z-10 {
        z-index: 10
    }

    .z-20 {
        z-index: 20
    }

    .z-50 {
        z-index: 50
    }

    .container {
        width: 100%
    }

    @media(min-width: 40rem) {
        .container {
            max-width: 40rem
        }
    }

    @media(min-width: 48rem) {
        .container {
            max-width: 48rem
        }
    }

    @media(min-width: 64rem) {
        .container {
            max-width: 64rem
        }
    }

    @media(min-width: 80rem) {
        .container {
            max-width: 80rem
        }
    }

    @media(min-width: 96rem) {
        .container {
            max-width: 96rem
        }
    }

    .container\! {
        width: 100% !important
    }

    @media(min-width: 40rem) {
        .container\! {
            max-width: 40rem !important
        }
    }

    @media(min-width: 48rem) {
        .container\! {
            max-width: 48rem !important
        }
    }

    @media(min-width: 64rem) {
        .container\! {
            max-width: 64rem !important
        }
    }

    @media(min-width: 80rem) {
        .container\! {
            max-width: 80rem !important
        }
    }

    @media(min-width: 96rem) {
        .container\! {
            max-width: 96rem !important
        }
    }

    .m-0 {
        margin: 0
    }

    .mx-auto {
        margin-inline: auto
    }

    .my-4 {
        margin-block: calc(var(--spacing) * 4)
    }

    .my-8 {
        margin-block: calc(var(--spacing) * 8)
    }

    .prose {
        color: var(--tw-prose-body);
        max-width: 65ch
    }

        .prose :where(p): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.25em;
            margin-bottom: 1.25em
        }

        .prose :where([class~=lead]): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-lead);
            margin-top: 1.2em;
            margin-bottom: 1.2em;
            font-size: 1.25em;
            line-height: 1.6
        }

        .prose :where(a): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-links);
            font-weight: 500;
            text-decoration: underline
        }

        .prose :where(strong): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-bold);
            font-weight: 600
        }

        .prose :where(a strong): not(:where([class~=not-prose],[class~=not-prose] *)), .prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)), .prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: inherit
        }

        .prose :where(ol): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.25em;
            margin-bottom: 1.25em;
            padding-inline-start: 1.625em;
            list-style-type: decimal
        }

        .prose :where(ol[type=A]): not(:where([class~=not-prose],[class~=not-prose] *)) {
            list-style-type: upper-alpha
        }

        .prose :where(ol[type=a]): not(:where([class~=not-prose],[class~=not-prose] *)) {
            list-style-type: lower-alpha
        }

        .prose :where(ol[type=A s]): not(:where([class~=not-prose],[class~=not-prose] *)) {
            list-style-type: upper-alpha
        }

        .prose :where(ol[type=a s]): not(:where([class~=not-prose],[class~=not-prose] *)) {
            list-style-type: lower-alpha
        }

        .prose :where(ol[type=I]): not(:where([class~=not-prose],[class~=not-prose] *)) {
            list-style-type: upper-roman
        }

        .prose :where(ol[type=i]): not(:where([class~=not-prose],[class~=not-prose] *)) {
            list-style-type: lower-roman
        }

        .prose :where(ol[type=I s]): not(:where([class~=not-prose],[class~=not-prose] *)) {
            list-style-type: upper-roman
        }

        .prose :where(ol[type=i s]): not(:where([class~=not-prose],[class~=not-prose] *)) {
            list-style-type: lower-roman
        }

        .prose :where(ol[type="1"]): not(:where([class~=not-prose],[class~=not-prose] *)) {
            list-style-type: decimal
        }

        .prose :where(ul): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.25em;
            margin-bottom: 1.25em;
            padding-inline-start: 1.625em;
            list-style-type: disc
        }

        .prose :where(ol>li): not(:where([class~=not-prose],[class~=not-prose] *))::marker {
            color: var(--tw-prose-counters);
            font-weight: 400
        }

        .prose :where(ul>li): not(:where([class~=not-prose],[class~=not-prose] *))::marker {
            color: var(--tw-prose-bullets)
        }

        .prose :where(dt): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-headings);
            margin-top: 1.25em;
            font-weight: 600
        }

        .prose :where(hr): not(:where([class~=not-prose],[class~=not-prose] *)) {
            border-color: var(--tw-prose-hr);
            border-top-width: 1px;
            margin-top: 3em;
            margin-bottom: 3em
        }

        .prose :where(blockquote): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-quotes);
            border-inline-start-width: .25rem;
            border-inline-start-color: var(--tw-prose-quote-borders);
            quotes: "“""”""‘""’";
            margin-top: 1.6em;
            margin-bottom: 1.6em;
            padding-inline-start: 1em;
            font-style: italic;
            font-weight: 500
        }

        .prose :where(blockquote p: first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before {
            content: open-quote
        }

        .prose :where(blockquote p: last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after {
            content: close-quote
        }

        .prose :where(h1): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-headings);
            margin-top: 0;
            margin-bottom: .888889em;
            font-size: 2.25em;
            font-weight: 800;
            line-height: 1.11111
        }

        .prose :where(h1 strong): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: inherit;
            font-weight: 900
        }

        .prose :where(h2): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-headings);
            margin-top: 2em;
            margin-bottom: 1em;
            font-size: 1.5em;
            font-weight: 700;
            line-height: 1.33333
        }

        .prose :where(h2 strong): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: inherit;
            font-weight: 800
        }

        .prose :where(h3): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-headings);
            margin-top: 1.6em;
            margin-bottom: .6em;
            font-size: 1.25em;
            font-weight: 600;
            line-height: 1.6
        }

        .prose :where(h3 strong): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: inherit;
            font-weight: 700
        }

        .prose :where(h4): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-headings);
            margin-top: 1.5em;
            margin-bottom: .5em;
            font-weight: 600;
            line-height: 1.5
        }

        .prose :where(h4 strong): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: inherit;
            font-weight: 700
        }

        .prose :where(img): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 2em;
            margin-bottom: 2em
        }

        .prose :where(picture): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 2em;
            margin-bottom: 2em;
            display: block
        }

        .prose :where(video): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 2em;
            margin-bottom: 2em
        }

        .prose :where(kbd): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-kbd);
            box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);
            padding-top: .1875em;
            padding-inline-end: .375em;
            padding-bottom: .1875em;
            border-radius: .3125rem;
            padding-inline-start: .375em;
            font-family: inherit;
            font-size: .875em;
            font-weight: 500
        }

        .prose :where(code): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-code);
            font-size: .875em;
            font-weight: 600
        }

            .prose :where(code): not(:where([class~=not-prose],[class~=not-prose] *)):before, .prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after {
                content: "`"
            }

        .prose :where(a code): not(:where([class~=not-prose],[class~=not-prose] *)), .prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: inherit
        }

        .prose :where(h2 code): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: inherit;
            font-size: .875em
        }

        .prose :where(h3 code): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: inherit;
            font-size: .9em
        }

        .prose :where(h4 code): not(:where([class~=not-prose],[class~=not-prose] *)), .prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)), .prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: inherit
        }

        .prose :where(pre): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-pre-code);
            background-color: var(--tw-prose-pre-bg);
            padding-top: .857143em;
            padding-inline-end: 1.14286em;
            padding-bottom: .857143em;
            border-radius: .375rem;
            margin-top: 1.71429em;
            margin-bottom: 1.71429em;
            padding-inline-start: 1.14286em;
            font-size: .875em;
            font-weight: 400;
            line-height: 1.71429;
            overflow-x: auto
        }

        .prose :where(pre code): not(:where([class~=not-prose],[class~=not-prose] *)) {
            font-weight: inherit;
            color: inherit;
            font-size: inherit;
            font-family: inherit;
            line-height: inherit;
            background-color: #0000;
            border-width: 0;
            border-radius: 0;
            padding: 0
        }

            .prose :where(pre code): not(:where([class~=not-prose],[class~=not-prose] *)):before, .prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after {
                content: none
            }

        .prose :where(table): not(:where([class~=not-prose],[class~=not-prose] *)) {
            table-layout: auto;
            width: 100%;
            margin-top: 2em;
            margin-bottom: 2em;
            font-size: .875em;
            line-height: 1.71429
        }

        .prose :where(thead): not(:where([class~=not-prose],[class~=not-prose] *)) {
            border-bottom-width: 1px;
            border-bottom-color: var(--tw-prose-th-borders)
        }

        .prose :where(thead th): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-headings);
            vertical-align: bottom;
            padding-inline-end: .571429em;
            padding-bottom: .571429em;
            padding-inline-start: .571429em;
            font-weight: 600
        }

        .prose :where(tbody tr): not(:where([class~=not-prose],[class~=not-prose] *)) {
            border-bottom-width: 1px;
            border-bottom-color: var(--tw-prose-td-borders)
        }

        .prose :where(tbody tr: last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            border-bottom-width: 0
        }

        .prose :where(tbody td): not(:where([class~=not-prose],[class~=not-prose] *)) {
            vertical-align: baseline
        }

        .prose :where(tfoot): not(:where([class~=not-prose],[class~=not-prose] *)) {
            border-top-width: 1px;
            border-top-color: var(--tw-prose-th-borders)
        }

        .prose :where(tfoot td): not(:where([class~=not-prose],[class~=not-prose] *)) {
            vertical-align: top
        }

        .prose :where(th,td): not(:where([class~=not-prose],[class~=not-prose] *)) {
            text-align: start
        }

        .prose :where(figure>*): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 0;
            margin-bottom: 0
        }

        .prose :where(figcaption): not(:where([class~=not-prose],[class~=not-prose] *)) {
            color: var(--tw-prose-captions);
            margin-top: .857143em;
            font-size: .875em;
            line-height: 1.42857
        }

    .prose {
        --tw-prose-body: oklch(37.3% .034 259.733);
        --tw-prose-headings: oklch(21% .034 264.665);
        --tw-prose-lead: oklch(44.6% .03 256.802);
        --tw-prose-links: oklch(21% .034 264.665);
        --tw-prose-bold: oklch(21% .034 264.665);
        --tw-prose-counters: oklch(55.1% .027 264.364);
        --tw-prose-bullets: oklch(87.2% .01 258.338);
        --tw-prose-hr: oklch(92.8% .006 264.531);
        --tw-prose-quotes: oklch(21% .034 264.665);
        --tw-prose-quote-borders: oklch(92.8% .006 264.531);
        --tw-prose-captions: oklch(55.1% .027 264.364);
        --tw-prose-kbd: oklch(21% .034 264.665);
        --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1);
        --tw-prose-code: oklch(21% .034 264.665);
        --tw-prose-pre-code: oklch(92.8% .006 264.531);
        --tw-prose-pre-bg: oklch(27.8% .033 256.848);
        --tw-prose-th-borders: oklch(87.2% .01 258.338);
        --tw-prose-td-borders: oklch(92.8% .006 264.531);
        --tw-prose-invert-body: oklch(87.2% .01 258.338);
        --tw-prose-invert-headings: #fff;
        --tw-prose-invert-lead: oklch(70.7% .022 261.325);
        --tw-prose-invert-links: #fff;
        --tw-prose-invert-bold: #fff;
        --tw-prose-invert-counters: oklch(70.7% .022 261.325);
        --tw-prose-invert-bullets: oklch(44.6% .03 256.802);
        --tw-prose-invert-hr: oklch(37.3% .034 259.733);
        --tw-prose-invert-quotes: oklch(96.7% .003 264.542);
        --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733);
        --tw-prose-invert-captions: oklch(70.7% .022 261.325);
        --tw-prose-invert-kbd: #fff;
        --tw-prose-invert-kbd-shadows: #ffffff1a;
        --tw-prose-invert-code: #fff;
        --tw-prose-invert-pre-code: oklch(87.2% .01 258.338);
        --tw-prose-invert-pre-bg: #00000080;
        --tw-prose-invert-th-borders: oklch(44.6% .03 256.802);
        --tw-prose-invert-td-borders: oklch(37.3% .034 259.733);
        font-size: 1rem;
        line-height: 1.75
    }

        .prose :where(picture>img): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 0;
            margin-bottom: 0
        }

        .prose :where(li): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: .5em;
            margin-bottom: .5em
        }

        .prose :where(ol>li): not(:where([class~=not-prose],[class~=not-prose] *)), .prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-inline-start: .375em
        }

        .prose :where(.prose>ul>li p): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: .75em;
            margin-bottom: .75em
        }

        .prose :where(.prose>ul>li>p: first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.25em
        }

        .prose :where(.prose>ul>li>p: last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-bottom: 1.25em
        }

        .prose :where(.prose>ol>li>p: first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.25em
        }

        .prose :where(.prose>ol>li>p: last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-bottom: 1.25em
        }

        .prose :where(ul ul,ul ol,ol ul,ol ol): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: .75em;
            margin-bottom: .75em
        }

        .prose :where(dl): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.25em;
            margin-bottom: 1.25em
        }

        .prose :where(dd): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: .5em;
            padding-inline-start: 1.625em
        }

        .prose :where(hr+*): not(:where([class~=not-prose],[class~=not-prose] *)), .prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)), .prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)), .prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 0
        }

        .prose :where(thead th: first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-inline-start: 0
        }

        .prose :where(thead th: last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-inline-end: 0
        }

        .prose :where(tbody td,tfoot td): not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-top: .571429em;
            padding-inline-end: .571429em;
            padding-bottom: .571429em;
            padding-inline-start: .571429em
        }

        .prose :where(tbody td: first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-inline-start: 0
        }

        .prose :where(tbody td: last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-inline-end: 0
        }

        .prose :where(figure): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 2em;
            margin-bottom: 2em
        }

        .prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 0
        }

        .prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-bottom: 0
        }

    .prose-lg {
        font-size: 1.125rem;
        line-height: 1.77778
    }

        .prose-lg :where(p): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.33333em;
            margin-bottom: 1.33333em
        }

        .prose-lg :where([class~=lead]): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.09091em;
            margin-bottom: 1.09091em;
            font-size: 1.22222em;
            line-height: 1.45455
        }

        .prose-lg :where(blockquote): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.66667em;
            margin-bottom: 1.66667em;
            padding-inline-start: 1em
        }

        .prose-lg :where(h1): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 0;
            margin-bottom: .833333em;
            font-size: 2.66667em;
            line-height: 1
        }

        .prose-lg :where(h2): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.86667em;
            margin-bottom: 1.06667em;
            font-size: 1.66667em;
            line-height: 1.33333
        }

        .prose-lg :where(h3): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.66667em;
            margin-bottom: .666667em;
            font-size: 1.33333em;
            line-height: 1.5
        }

        .prose-lg :where(h4): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.77778em;
            margin-bottom: .444444em;
            line-height: 1.55556
        }

        .prose-lg :where(img): not(:where([class~=not-prose],[class~=not-prose] *)), .prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.77778em;
            margin-bottom: 1.77778em
        }

        .prose-lg :where(picture>img): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 0;
            margin-bottom: 0
        }

        .prose-lg :where(video): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.77778em;
            margin-bottom: 1.77778em
        }

        .prose-lg :where(kbd): not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-top: .222222em;
            padding-inline-end: .444444em;
            padding-bottom: .222222em;
            border-radius: .3125rem;
            padding-inline-start: .444444em;
            font-size: .888889em
        }

        .prose-lg :where(code): not(:where([class~=not-prose],[class~=not-prose] *)) {
            font-size: .888889em
        }

        .prose-lg :where(h2 code): not(:where([class~=not-prose],[class~=not-prose] *)) {
            font-size: .866667em
        }

        .prose-lg :where(h3 code): not(:where([class~=not-prose],[class~=not-prose] *)) {
            font-size: .875em
        }

        .prose-lg :where(pre): not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-top: 1em;
            padding-inline-end: 1.5em;
            padding-bottom: 1em;
            border-radius: .375rem;
            margin-top: 2em;
            margin-bottom: 2em;
            padding-inline-start: 1.5em;
            font-size: .888889em;
            line-height: 1.75
        }

        .prose-lg :where(ol): not(:where([class~=not-prose],[class~=not-prose] *)), .prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.33333em;
            margin-bottom: 1.33333em;
            padding-inline-start: 1.55556em
        }

        .prose-lg :where(li): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: .666667em;
            margin-bottom: .666667em
        }

        .prose-lg :where(ol>li): not(:where([class~=not-prose],[class~=not-prose] *)), .prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-inline-start: .444444em
        }

        .prose-lg :where(.prose-lg>ul>li p): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: .888889em;
            margin-bottom: .888889em
        }

        .prose-lg :where(.prose-lg>ul>li>p: first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.33333em
        }

        .prose-lg :where(.prose-lg>ul>li>p: last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-bottom: 1.33333em
        }

        .prose-lg :where(.prose-lg>ol>li>p: first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.33333em
        }

        .prose-lg :where(.prose-lg>ol>li>p: last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-bottom: 1.33333em
        }

        .prose-lg :where(ul ul,ul ol,ol ul,ol ol): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: .888889em;
            margin-bottom: .888889em
        }

        .prose-lg :where(dl): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.33333em;
            margin-bottom: 1.33333em
        }

        .prose-lg :where(dt): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.33333em
        }

        .prose-lg :where(dd): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: .666667em;
            padding-inline-start: 1.55556em
        }

        .prose-lg :where(hr): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 3.11111em;
            margin-bottom: 3.11111em
        }

        .prose-lg :where(hr+*): not(:where([class~=not-prose],[class~=not-prose] *)), .prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)), .prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)), .prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 0
        }

        .prose-lg :where(table): not(:where([class~=not-prose],[class~=not-prose] *)) {
            font-size: .888889em;
            line-height: 1.5
        }

        .prose-lg :where(thead th): not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-inline-end: .75em;
            padding-bottom: .75em;
            padding-inline-start: .75em
        }

        .prose-lg :where(thead th: first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-inline-start: 0
        }

        .prose-lg :where(thead th: last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-inline-end: 0
        }

        .prose-lg :where(tbody td,tfoot td): not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-top: .75em;
            padding-inline-end: .75em;
            padding-bottom: .75em;
            padding-inline-start: .75em
        }

        .prose-lg :where(tbody td: first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-inline-start: 0
        }

        .prose-lg :where(tbody td: last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            padding-inline-end: 0
        }

        .prose-lg :where(figure): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1.77778em;
            margin-bottom: 1.77778em
        }

        .prose-lg :where(figure>*): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 0;
            margin-bottom: 0
        }

        .prose-lg :where(figcaption): not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 1em;
            font-size: .888889em;
            line-height: 1.5
        }

        .prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-top: 0
        }

        .prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
            margin-bottom: 0
        }

    .mt-0\.5 {
        margin-top: calc(var(--spacing) * .5)
    }

    .mt-1 {
        margin-top: var(--spacing)
    }

    .mt-2 {
        margin-top: calc(var(--spacing) * 2)
    }

    .mt-3 {
        margin-top: calc(var(--spacing) * 3)
    }

    .mt-4 {
        margin-top: calc(var(--spacing) * 4)
    }

    .mt-5 {
        margin-top: calc(var(--spacing) * 5)
    }

    .mt-6 {
        margin-top: calc(var(--spacing) * 6)
    }

    .mt-8 {
        margin-top: calc(var(--spacing) * 8)
    }

    .mt-10 {
        margin-top: calc(var(--spacing) * 10)
    }

    .mt-12 {
        margin-top: calc(var(--spacing) * 12)
    }

    .mt-20 {
        margin-top: calc(var(--spacing) * 20)
    }

    .mt-auto {
        margin-top: auto
    }

    .mt-px {
        margin-top: 1px
    }

    .mr-auto {
        margin-right: auto
    }

    .-mb-\[2px\] {
        margin-bottom: -2px
    }

    .mb-0\.5 {
        margin-bottom: calc(var(--spacing) * .5)
    }

    .mb-1 {
        margin-bottom: var(--spacing)
    }

    .mb-2 {
        margin-bottom: calc(var(--spacing) * 2)
    }

    .mb-3 {
        margin-bottom: calc(var(--spacing) * 3)
    }

    .mb-4 {
        margin-bottom: calc(var(--spacing) * 4)
    }

    .mb-6 {
        margin-bottom: calc(var(--spacing) * 6)
    }

    .mb-8 {
        margin-bottom: calc(var(--spacing) * 8)
    }

    .mb-10 {
        margin-bottom: calc(var(--spacing) * 10)
    }

    .mb-12 {
        margin-bottom: calc(var(--spacing) * 12)
    }

    .mb-16 {
        margin-bottom: calc(var(--spacing) * 16)
    }

    .mb-20 {
        margin-bottom: calc(var(--spacing) * 20)
    }

    .mb-\[10px\] {
        margin-bottom: 10px
    }

    .-ml-px {
        margin-left: -1px
    }

    .ml-1 {
        margin-left: var(--spacing)
    }

    .ml-2 {
        margin-left: calc(var(--spacing) * 2)
    }

    .ml-3 {
        margin-left: calc(var(--spacing) * 3)
    }

    .ml-4 {
        margin-left: calc(var(--spacing) * 4)
    }

    .ml-auto {
        margin-left: auto
    }

    .line-clamp-3 {
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }

    .\!hidden {
        display: none !important
    }

    .block {
        display: block
    }

    .contents {
        display: contents
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .inline\! {
        display: inline !important
    }

    .inline-block {
        display: inline-block
    }

    .inline-flex {
        display: inline-flex
    }

    .list-item {
        display: list-item
    }

    .table {
        display: table
    }

    .aspect-\[4\/3\] {
        aspect-ratio: 4/3
    }

    .aspect-square {
        aspect-ratio: 1
    }

    .aspect-video {
        aspect-ratio: var(--aspect-video)
    }

    .size-3\.5 {
        width: calc(var(--spacing) * 3.5);
        height: calc(var(--spacing) * 3.5)
    }

    .size-4 {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .size-5 {
        width: calc(var(--spacing) * 5);
        height: calc(var(--spacing) * 5)
    }

    .size-6 {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6)
    }

    .size-9 {
        width: calc(var(--spacing) * 9);
        height: calc(var(--spacing) * 9)
    }

    .h-4 {
        height: calc(var(--spacing) * 4)
    }

    .h-5 {
        height: calc(var(--spacing) * 5)
    }

    .h-6 {
        height: calc(var(--spacing) * 6)
    }

    .h-8 {
        height: calc(var(--spacing) * 8)
    }

    .h-10 {
        height: calc(var(--spacing) * 10)
    }

    .h-11 {
        height: calc(var(--spacing) * 11)
    }

    .h-12 {
        height: calc(var(--spacing) * 12)
    }

    .h-64 {
        height: calc(var(--spacing) * 64)
    }

    .h-96 {
        height: calc(var(--spacing) * 96)
    }

    .h-\[3px\] {
        height: 3px
    }

    .h-\[42px\] {
        height: 42px
    }

    .h-\[50px\] {
        height: 50px
    }

    .h-auto {
        height: auto
    }

    .h-full {
        height: 100%
    }

    .h-screen {
        height: 100vh
    }

    .max-h-\[50\%\] {
        max-height: 50%
    }

    .min-h-\[56px\] {
        min-height: 56px
    }

    .min-h-\[60vh\] {
        min-height: 60vh
    }

    .min-h-\[75px\] {
        min-height: 75px
    }

    .min-h-\[200px\] {
        min-height: 200px
    }

    .min-h-screen {
        min-height: 100vh
    }

    .w-4 {
        width: calc(var(--spacing) * 4)
    }

    .w-5 {
        width: calc(var(--spacing) * 5)
    }

    .w-6 {
        width: calc(var(--spacing) * 6)
    }

    .w-8 {
        width: calc(var(--spacing) * 8)
    }

    .w-10 {
        width: calc(var(--spacing) * 10)
    }

    .w-11 {
        width: calc(var(--spacing) * 11)
    }

    .w-12 {
        width: calc(var(--spacing) * 12)
    }

    .w-52 {
        width: calc(var(--spacing) * 52)
    }

    .w-56 {
        width: calc(var(--spacing) * 56)
    }

    .w-64 {
        width: calc(var(--spacing) * 64)
    }

    .w-auto {
        width: auto
    }

    .w-full {
        width: 100%
    }

    .max-w-2xl {
        max-width: var(--container-2xl)
    }

    .max-w-3xl {
        max-width: var(--container-3xl)
    }

    .max-w-4xl {
        max-width: var(--container-4xl)
    }

    .max-w-5xl {
        max-width: var(--container-5xl)
    }

    .max-w-6xl {
        max-width: var(--container-6xl)
    }

    .max-w-7xl {
        max-width: var(--container-7xl)
    }

    .max-w-\[70\%\] {
        max-width: 70%
    }

    .max-w-\[400px\] {
        max-width: 400px
    }

    .max-w-\[480px\] {
        max-width: 480px
    }

    .max-w-\[520px\] {
        max-width: 520px
    }

    .max-w-\[640px\] {
        max-width: 640px
    }

    .max-w-\[700px\] {
        max-width: 700px
    }

    .max-w-\[960px\] {
        max-width: 960px
    }

    .max-w-\[1100px\] {
        max-width: 1100px
    }

    .max-w-\[1170px\] {
        max-width: 1170px
    }

    .max-w-\[1200px\] {
        max-width: 1200px
    }

    .max-w-full {
        max-width: 100%
    }

    .max-w-lg {
        max-width: var(--container-lg)
    }

    .max-w-md {
        max-width: var(--container-md)
    }

    .max-w-none {
        max-width: none
    }

    .max-w-sm {
        max-width: var(--container-sm)
    }

    .max-w-xl {
        max-width: var(--container-xl)
    }

    .min-w-0 {
        min-width: 0
    }

    .min-w-\[10rem\] {
        min-width: 10rem
    }

    .min-w-\[120px\] {
        min-width: 120px
    }

    .min-w-\[480px\] {
        min-width: 480px
    }

    .flex-1 {
        flex: 1
    }

    .flex-none {
        flex: none
    }

    .flex-shrink {
        flex-shrink: 1
    }

    .flex-shrink-0 {
        flex-shrink: 0
    }

    .shrink {
        flex-shrink: 1
    }

    .shrink-0 {
        flex-shrink: 0
    }

    .grow {
        flex-grow: 1
    }

    .-translate-y-2 {
        --tw-translate-y: calc(var(--spacing) * -2);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-y-0 {
        --tw-translate-y: 0px;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-y-1 {
        --tw-translate-y: var(--spacing);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .scale-95 {
        --tw-scale-x: 95%;
        --tw-scale-y: 95%;
        --tw-scale-z: 95%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }

    .scale-100 {
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }

    .rotate-45 {
        rotate: 45deg
    }

    .rotate-180 {
        rotate: 180deg
    }

    .transform {
        transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)
    }

    .cursor-default {
        cursor: default
    }

    .cursor-help {
        cursor: help
    }

    .cursor-not-allowed {
        cursor: not-allowed
    }

    .cursor-pointer {
        cursor: pointer
    }

    .resize {
        resize: both
    }

    .list-none {
        list-style-type: none
    }

    .grid-cols-1 {
        grid-template-columns: repeat(1,minmax(0,1fr))
    }

    .grid-cols-2 {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    .grid-cols-4 {
        grid-template-columns: repeat(4,minmax(0,1fr))
    }

    .flex-col {
        flex-direction: column
    }

    .flex-wrap {
        flex-wrap: wrap
    }

    .place-items-center {
        place-items: center
    }

    .items-baseline {
        align-items: baseline
    }

    .items-center {
        align-items: center
    }

    .items-end {
        align-items: flex-end
    }

    .items-start {
        align-items: flex-start
    }

    .items-stretch {
        align-items: stretch
    }

    .justify-between {
        justify-content: space-between
    }

    .justify-center {
        justify-content: center
    }

    .justify-end {
        justify-content: flex-end
    }

    .justify-items-center {
        justify-items: center
    }

    .gap-0 {
        gap: 0
    }

    .gap-1 {
        gap: var(--spacing)
    }

    .gap-1\.5 {
        gap: calc(var(--spacing) * 1.5)
    }

    .gap-2 {
        gap: calc(var(--spacing) * 2)
    }

    .gap-2\.5 {
        gap: calc(var(--spacing) * 2.5)
    }

    .gap-3 {
        gap: calc(var(--spacing) * 3)
    }

    .gap-4 {
        gap: calc(var(--spacing) * 4)
    }

    .gap-5 {
        gap: calc(var(--spacing) * 5)
    }

    .gap-6 {
        gap: calc(var(--spacing) * 6)
    }

    .gap-8 {
        gap: calc(var(--spacing) * 8)
    }

    .gap-10 {
        gap: calc(var(--spacing) * 10)
    }

    .gap-12 {
        gap: calc(var(--spacing) * 12)
    }

    :where(.space-y-1\.5>: not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))
    }

    :where(.space-y-2>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))
    }

    :where(.space-y-4>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))
    }

    :where(.space-y-8>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))
    }

    .gap-x-6 {
        column-gap: calc(var(--spacing) * 6)
    }

    .gap-x-8 {
        column-gap: calc(var(--spacing) * 8)
    }

    .gap-y-2 {
        row-gap: calc(var(--spacing) * 2)
    }

    .gap-y-6 {
        row-gap: calc(var(--spacing) * 6)
    }

    :where(.divide-y>:not(:last-child)) {
        --tw-divide-y-reverse: 0;
        border-bottom-style: var(--tw-border-style);
        border-top-style: var(--tw-border-style);
        border-top-width: calc(1px * var(--tw-divide-y-reverse));
        border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)))
    }

    :where(.divide-dashed>:not(:last-child)) {
        --tw-border-style: dashed;
        border-style: dashed
    }

    :where(.divide-\[\#E2EAF2\]>: not(:last-child)) {
        border-color: #e2eaf2
    }

    :where(.divide-\[\#E8EFF6\]>: not(:last-child)) {
        border-color: #e8eff6
    }

    :where(.divide-white\/20>: not(:last-child)) {
        border-color: #fff3
    }

    @supports (color: color-mix(in lab,red,red)) {
        :where(.divide-white\/20>:not(:last-child)) {
            border-color: color-mix(in oklab,var(--color-white) 20%,transparent)
        }
    }

    .self-end {
        align-self: flex-end
    }

    .self-start {
        align-self: flex-start
    }

    .truncate {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden
    }

    .overflow-hidden {
        overflow: hidden
    }

    .overflow-visible {
        overflow: visible
    }

    .overflow-x-auto {
        overflow-x: auto
    }

    .overflow-y-auto {
        overflow-y: auto
    }

    .rounded {
        border-radius: .25rem
    }

    .rounded-2xl {
        border-radius: var(--radius-2xl)
    }

    .rounded-\[3px\] {
        border-radius: 3px
    }

    .rounded-\[5px\] {
        border-radius: 5px
    }

    .rounded-full {
        border-radius: 3.40282e38px
    }

    .rounded-lg {
        border-radius: var(--radius-lg)
    }

    .rounded-md {
        border-radius: var(--radius-md)
    }

    .rounded-sm {
        border-radius: var(--radius-sm)
    }

    .rounded-xl {
        border-radius: var(--radius-xl)
    }

    .rounded-t-2xl {
        border-top-left-radius: var(--radius-2xl);
        border-top-right-radius: var(--radius-2xl)
    }

    .rounded-t-lg {
        border-top-left-radius: var(--radius-lg);
        border-top-right-radius: var(--radius-lg)
    }

    .rounded-t-md {
        border-top-left-radius: var(--radius-md);
        border-top-right-radius: var(--radius-md)
    }

    .rounded-l-md {
        border-top-left-radius: var(--radius-md);
        border-bottom-left-radius: var(--radius-md)
    }

    .rounded-r-md {
        border-top-right-radius: var(--radius-md);
        border-bottom-right-radius: var(--radius-md)
    }

    .rounded-b-2xl {
        border-bottom-right-radius: var(--radius-2xl);
        border-bottom-left-radius: var(--radius-2xl)
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .border-0 {
        border-style: var(--tw-border-style);
        border-width: 0
    }

    .border-t {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px
    }

    .border-r {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .border-b {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .border-b-2 {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 2px
    }

    .border-l-4 {
        border-left-style: var(--tw-border-style);
        border-left-width: 4px
    }

    .border-none {
        --tw-border-style: none;
        border-style: none
    }

    .border-\[\#1B75BB\] {
        border-color: #1b75bb
    }

    .border-\[\#1E3450\] {
        border-color: #1e3450
    }

    .border-\[\#D6E4F0\] {
        border-color: #d6e4f0
    }

    .border-\[\#E2EAF2\] {
        border-color: #e2eaf2
    }

    .border-\[\#E8EFF6\] {
        border-color: #e8eff6
    }

    .border-blue-300 {
        border-color: var(--color-blue-300)
    }

    .border-gray-100 {
        border-color: var(--color-gray-100)
    }

    .border-gray-200 {
        border-color: var(--color-gray-200)
    }

    .border-gray-300 {
        border-color: var(--color-gray-300)
    }

    .border-gray-700 {
        border-color: var(--color-gray-700)
    }

    .border-red-300 {
        border-color: var(--color-red-300)
    }

    .border-slate-100 {
        border-color: var(--color-slate-100)
    }

    .border-slate-200 {
        border-color: var(--color-slate-200)
    }

    .border-transparent {
        border-color: #0000
    }

    .border-white\/10 {
        border-color: #ffffff1a
    }

    @supports (color: color-mix(in lab,red,red)) {
        .border-white\/10 {
            border-color: color-mix(in oklab,var(--color-white) 10%,transparent)
        }
    }

    .border-white\/20 {
        border-color: #fff3
    }

    @supports (color: color-mix(in lab,red,red)) {
        .border-white\/20 {
            border-color: color-mix(in oklab,var(--color-white) 20%,transparent)
        }
    }

    .border-yellow-300 {
        border-color: var(--color-yellow-300)
    }

    .border-t-secondary {
        border-top-color: var(--border-color-secondary)
    }

    .border-b-primary {
        border-bottom-color: var(--border-color-primary)
    }

    .bg-\[\#0A66C2\] {
        background-color: #0a66c2
    }

    .bg-\[\#0D1B2E\] {
        background-color: #0d1b2e
    }

    .bg-\[\#1B75BB\] {
        background-color: #1b75bb
    }

    .bg-\[\#1c2035\] {
        background-color: #1c2035
    }

    .bg-\[\#2A314B\] {
        background-color: #2a314b
    }

    .bg-\[\#3E63DD\] {
        background-color: #3e63dd
    }

    .bg-\[\#4E586F\] {
        background-color: #4e586f
    }

    .bg-\[\#4d70d2\] {
        background-color: #4d70d2
    }

    .bg-\[\#4d70d3\] {
        background-color: #4d70d3
    }

    .bg-\[\#171D33\] {
        background-color: #171d33
    }

    .bg-\[\#4868c3\] {
        background-color: #4868c3
    }

    .bg-\[\#162236\] {
        background-color: #162236
    }

    .bg-\[\#576282\] {
        background-color: #576282
    }

    .bg-\[\#B8A44C\] {
        background-color: #b8a44c
    }

    .bg-\[\#E8EFF6\] {
        background-color: #e8eff6
    }

    .bg-\[\#F0F7FF\] {
        background-color: #f0f7ff
    }

    .bg-\[\#F5F7FA\] {
        background-color: #f5f7fa
    }

    .bg-\[\#F8FAFC\] {
        background-color: #f8fafc
    }

    .bg-\[\#f5f6f8\] {
        background-color: #f5f6f8
    }

    .bg-black\/10 {
        background-color: #0000001a
    }

    @supports (color: color-mix(in lab,red,red)) {
        .bg-black\/10 {
            background-color: color-mix(in oklab,var(--color-black) 10%,transparent)
        }
    }

    .bg-blue-50 {
        background-color: var(--color-blue-50)
    }

    .bg-blue-100 {
        background-color: var(--color-blue-100)
    }

    .bg-blue-600 {
        background-color: var(--color-blue-600)
    }

    .bg-gray-50 {
        background-color: var(--color-gray-50)
    }

    .bg-gray-100 {
        background-color: var(--color-gray-100)
    }

    .bg-gray-200 {
        background-color: var(--color-gray-200)
    }

    .bg-gray-900 {
        background-color: var(--color-gray-900)
    }

    .bg-green-100 {
        background-color: var(--color-green-100)
    }

    .bg-red-50 {
        background-color: var(--color-red-50)
    }

    .bg-red-100 {
        background-color: var(--color-red-100)
    }

    .bg-red-600 {
        background-color: var(--color-red-600)
    }

    .bg-transparent {
        background-color: #0000
    }

    .bg-white {
        background-color: var(--color-white)
    }

    .bg-white\/5 {
        background-color: #ffffff0d
    }

    @supports (color: color-mix(in lab,red,red)) {
        .bg-white\/5 {
            background-color: color-mix(in oklab,var(--color-white) 5%,transparent)
        }
    }

    .bg-yellow-50 {
        background-color: var(--color-yellow-50)
    }

    .object-contain {
        object-fit: contain
    }

    .object-cover {
        object-fit: cover
    }

    .object-top {
        object-position: top
    }

    .p-0 {
        padding: 0
    }

    .p-4 {
        padding: calc(var(--spacing) * 4)
    }

    .p-6 {
        padding: calc(var(--spacing) * 6)
    }

    .px-0 {
        padding-inline: 0
    }

    .px-1 {
        padding-inline: var(--spacing)
    }

    .px-2 {
        padding-inline: calc(var(--spacing) * 2)
    }

    .px-2\.5 {
        padding-inline: calc(var(--spacing) * 2.5)
    }

    .px-3 {
        padding-inline: calc(var(--spacing) * 3)
    }

    .px-4 {
        padding-inline: calc(var(--spacing) * 4)
    }

    .px-5 {
        padding-inline: calc(var(--spacing) * 5)
    }

    .px-6 {
        padding-inline: calc(var(--spacing) * 6)
    }

    .px-7 {
        padding-inline: calc(var(--spacing) * 7)
    }

    .px-8 {
        padding-inline: calc(var(--spacing) * 8)
    }

    .px-10 {
        padding-inline: calc(var(--spacing) * 10)
    }

    .px-\[8px\] {
        padding-inline: 8px
    }

    .px-\[12px\] {
        padding-inline: 12px
    }

    .px-\[15px\] {
        padding-inline: 15px
    }

    .px-\[20px\] {
        padding-inline: 20px
    }

    .py-0\.5 {
        padding-block: calc(var(--spacing) * .5)
    }

    .py-1 {
        padding-block: var(--spacing)
    }

    .py-1\.5 {
        padding-block: calc(var(--spacing) * 1.5)
    }

    .py-2 {
        padding-block: calc(var(--spacing) * 2)
    }

    .py-2\.5 {
        padding-block: calc(var(--spacing) * 2.5)
    }

    .py-3 {
        padding-block: calc(var(--spacing) * 3)
    }

    .py-3\.5 {
        padding-block: calc(var(--spacing) * 3.5)
    }

    .py-4 {
        padding-block: calc(var(--spacing) * 4)
    }

    .py-5 {
        padding-block: calc(var(--spacing) * 5)
    }

    .py-6 {
        padding-block: calc(var(--spacing) * 6)
    }

    .py-8 {
        padding-block: calc(var(--spacing) * 8)
    }

    .py-10 {
        padding-block: calc(var(--spacing) * 10)
    }

    .py-12 {
        padding-block: calc(var(--spacing) * 12)
    }

    .py-16 {
        padding-block: calc(var(--spacing) * 16)
    }

    .py-24 {
        padding-block: calc(var(--spacing) * 24)
    }

    .py-\[15px\] {
        padding-block: 15px
    }

    .py-\[18px\] {
        padding-block: 18px
    }

    .pt-0 {
        padding-top: 0
    }

    .pt-1 {
        padding-top: var(--spacing)
    }

    .pt-4 {
        padding-top: calc(var(--spacing) * 4)
    }

    .pt-6 {
        padding-top: calc(var(--spacing) * 6)
    }

    .pt-10 {
        padding-top: calc(var(--spacing) * 10)
    }

    .pt-12 {
        padding-top: calc(var(--spacing) * 12)
    }

    .pt-16 {
        padding-top: calc(var(--spacing) * 16)
    }

    .pt-24 {
        padding-top: calc(var(--spacing) * 24)
    }

    .pr-\[8px\] {
        padding-right: 8px
    }

    .pb-0 {
        padding-bottom: 0
    }

    .pb-2 {
        padding-bottom: calc(var(--spacing) * 2)
    }

    .pb-4 {
        padding-bottom: calc(var(--spacing) * 4)
    }

    .pb-5 {
        padding-bottom: calc(var(--spacing) * 5)
    }

    .pb-6 {
        padding-bottom: calc(var(--spacing) * 6)
    }

    .pb-12 {
        padding-bottom: calc(var(--spacing) * 12)
    }

    .pb-16 {
        padding-bottom: calc(var(--spacing) * 16)
    }

    .pb-24 {
        padding-bottom: calc(var(--spacing) * 24)
    }

    .pl-4 {
        padding-left: calc(var(--spacing) * 4)
    }

    .pl-\[12px\] {
        padding-left: 12px
    }

    .text-center {
        text-align: center
    }

    .text-left {
        text-align: left
    }

    .text-right {
        text-align: right
    }

    .font-mono {
        font-family: var(--font-mono)
    }

    .font-promo {
        font-family: var(--font-promo)
    }

    .font-sans {
        font-family: var(--font-sans)
    }

    .text-2xl {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading,var(--text-2xl--line-height))
    }

    .text-3xl {
        font-size: var(--text-3xl);
        line-height: var(--tw-leading,var(--text-3xl--line-height))
    }

    .text-4xl {
        font-size: var(--text-4xl);
        line-height: var(--tw-leading,var(--text-4xl--line-height))
    }

    .text-5xl {
        font-size: var(--text-5xl);
        line-height: var(--tw-leading,var(--text-5xl--line-height))
    }

    .text-\[16px\]\/6 {
        font-size: 16px;
        line-height: calc(var(--spacing) * 6)
    }

    .text-base {
        font-size: var(--text-base);
        line-height: var(--tw-leading,var(--text-base--line-height))
    }

    .text-lg {
        font-size: var(--text-lg);
        line-height: var(--tw-leading,var(--text-lg--line-height))
    }

    .text-lg\/6 {
        font-size: var(--text-lg);
        line-height: calc(var(--spacing) * 6)
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading,var(--text-sm--line-height))
    }

    .text-xl {
        font-size: var(--text-xl);
        line-height: var(--tw-leading,var(--text-xl--line-height))
    }

    .text-xl\/6 {
        font-size: var(--text-xl);
        line-height: calc(var(--spacing) * 6)
    }

    .text-xs {
        font-size: var(--text-xs);
        line-height: var(--tw-leading,var(--text-xs--line-height))
    }

    .text-\[0\.8rem\] {
        font-size: .8rem
    }

    .text-\[0\.9rem\] {
        font-size: .9rem
    }

    .text-\[0\.85rem\] {
        font-size: .85rem
    }

    .text-\[0\.95rem\] {
        font-size: .95rem
    }

    .text-\[0\.875rem\] {
        font-size: .875rem
    }

    .text-\[0\.925rem\] {
        font-size: .925rem
    }

    .text-\[1\.1rem\] {
        font-size: 1.1rem
    }

    .text-\[1\.5rem\] {
        font-size: 1.5rem
    }

    .text-\[1\.25rem\] {
        font-size: 1.25rem
    }

    .text-\[10px\] {
        font-size: 10px
    }

    .text-\[11px\] {
        font-size: 11px
    }

    .text-\[12px\] {
        font-size: 12px
    }

    .text-\[13px\] {
        font-size: 13px
    }

    .text-\[14px\] {
        font-size: 14px
    }

    .text-\[15px\] {
        font-size: 15px
    }

    .text-\[16px\] {
        font-size: 16px
    }

    .text-\[clamp\(0\.95rem\,1\.4vw\,1\.125rem\)\] {
        font-size: clamp(.95rem,1.4vw,1.125rem)
    }

    .text-\[clamp\(1\.75rem\,3vw\,2\.4rem\)\] {
        font-size: clamp(1.75rem,3vw,2.4rem)
    }

    .leading-5 {
        --tw-leading: calc(var(--spacing) * 5);
        line-height: calc(var(--spacing) * 5)
    }

    .leading-\[22px\] {
        --tw-leading: 22px;
        line-height: 22px
    }

    .leading-none {
        --tw-leading: 1;
        line-height: 1
    }

    .leading-relaxed {
        --tw-leading: var(--leading-relaxed);
        line-height: var(--leading-relaxed)
    }

    .leading-snug {
        --tw-leading: var(--leading-snug);
        line-height: var(--leading-snug)
    }

    .leading-tight {
        --tw-leading: var(--leading-tight);
        line-height: var(--leading-tight)
    }

    .font-bold {
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold)
    }

    .font-extrabold {
        --tw-font-weight: var(--font-weight-extrabold);
        font-weight: var(--font-weight-extrabold)
    }

    .font-light {
        --tw-font-weight: var(--font-weight-light);
        font-weight: var(--font-weight-light)
    }

    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .font-normal {
        --tw-font-weight: var(--font-weight-normal);
        font-weight: var(--font-weight-normal)
    }

    .font-semibold {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold)
    }

    .tracking-tight {
        --tw-tracking: var(--tracking-tight);
        letter-spacing: var(--tracking-tight)
    }

    .tracking-wide {
        --tw-tracking: var(--tracking-wide);
        letter-spacing: var(--tracking-wide)
    }

    .tracking-wider {
        --tw-tracking: var(--tracking-wider);
        letter-spacing: var(--tracking-wider)
    }

    .tracking-widest {
        --tw-tracking: var(--tracking-widest);
        letter-spacing: var(--tracking-widest)
    }

    .text-balance {
        text-wrap: balance
    }

    .whitespace-normal {
        white-space: normal
    }

    .whitespace-nowrap {
        white-space: nowrap
    }

    .text-\[\#1A1A2E\] {
        color: #1a1a2e
    }

    .text-\[\#1A56DB\] {
        color: #1a56db
    }

    .text-\[\#1B75BB\] {
        color: #1b75bb
    }

    .text-\[\#1b68ed\] {
        color: #1b68ed
    }

    .text-\[\#8BA4BE\] {
        color: #8ba4be
    }

    .text-\[\#64c554\] {
        color: #64c554
    }

    .text-\[\#555E6E\] {
        color: #555e6e
    }

    .text-\[\#23374e\] {
        color: #23374e
    }

    .text-\[\#24374f\] {
        color: #24374f
    }

    .text-\[\#576282\] {
        color: #576282
    }

    .text-\[black\] {
        color: #000
    }

    .text-black {
        color: var(--color-black)
    }

    .text-blue-100 {
        color: var(--color-blue-100)
    }

    .text-blue-600 {
        color: var(--color-blue-600)
    }

    .text-blue-700 {
        color: var(--color-blue-700)
    }

    .text-blue-800 {
        color: var(--color-blue-800)
    }

    .text-blue-900 {
        color: var(--color-blue-900)
    }

    .text-gray-100 {
        color: var(--color-gray-100)
    }

    .text-gray-300 {
        color: var(--color-gray-300)
    }

    .text-gray-400 {
        color: var(--color-gray-400)
    }

    .text-gray-500 {
        color: var(--color-gray-500)
    }

    .text-gray-600 {
        color: var(--color-gray-600)
    }

    .text-gray-700 {
        color: var(--color-gray-700)
    }

    .text-gray-800 {
        color: var(--color-gray-800)
    }

    .text-gray-900 {
        color: var(--color-gray-900)
    }

    .text-green-800 {
        color: var(--color-green-800)
    }

    .text-red-300 {
        color: var(--color-red-300)
    }

    .text-red-800 {
        color: var(--color-red-800)
    }

    .text-red-900 {
        color: var(--color-red-900)
    }

    .text-slate-500 {
        color: var(--color-slate-500)
    }

    .text-slate-600 {
        color: var(--color-slate-600)
    }

    .text-slate-700 {
        color: var(--color-slate-700)
    }

    .text-slate-900 {
        color: var(--color-slate-900)
    }

    .text-white {
        color: var(--color-white)
    }

    .text-white\/40 {
        color: #fff6
    }

    @supports (color: color-mix(in lab,red,red)) {
        .text-white\/40 {
            color: color-mix(in oklab,var(--color-white) 40%,transparent)
        }
    }

    .text-white\/60 {
        color: #fff9
    }

    @supports (color: color-mix(in lab,red,red)) {
        .text-white\/60 {
            color: color-mix(in oklab,var(--color-white) 60%,transparent)
        }
    }

    .text-white\/70 {
        color: #ffffffb3
    }

    @supports (color: color-mix(in lab,red,red)) {
        .text-white\/70 {
            color: color-mix(in oklab,var(--color-white) 70%,transparent)
        }
    }

    .text-yellow-900 {
        color: var(--color-yellow-900)
    }

    .capitalize {
        text-transform: capitalize
    }

    .lowercase {
        text-transform: lowercase
    }

    .uppercase {
        text-transform: uppercase
    }

    .italic {
        font-style: italic
    }

    .line-through {
        text-decoration-line: line-through
    }

    .underline {
        text-decoration-line: underline
    }

    .opacity-0 {
        opacity: 0
    }

    .opacity-15 {
        opacity: .15
    }

    .opacity-60 {
        opacity: .6
    }

    .opacity-80 {
        opacity: .8
    }

    .opacity-90 {
        opacity: .9
    }

    .opacity-100 {
        opacity: 1
    }

    .opacity-\[0\.05\] {
        opacity: .05
    }

    .opacity-\[0\.95\] {
        opacity: .95
    }

    .shadow {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .shadow-\[inset_0_2px_0_0_rgba\(0\,0\,0\,0\.06\)\] {
        --tw-shadow: inset 0 2px 0 0 var(--tw-shadow-color,#0000000f);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .shadow-lg {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .shadow-md {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .shadow-sm {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .shadow-xl {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .ring {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .ring-gray-300 {
        --tw-ring-color: var(--color-gray-300)
    }

    .outline {
        outline-style: var(--tw-outline-style);
        outline-width: 1px
    }

    .blur {
        --tw-blur: blur(8px);
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
    }

    .blur-3xl {
        --tw-blur: blur(var(--blur-3xl));
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
    }

    .drop-shadow-sm {
        --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));
        --tw-drop-shadow: drop-shadow(var(--drop-shadow-sm));
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
    }

    .filter {
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
    }

    .transition {
        transition-property: color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .transition-all {
        transition-property: all;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .transition-colors {
        transition-property: color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .transition-opacity {
        transition-property: opacity;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .transition-transform {
        transition-property: transform,translate,scale,rotate;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

    .duration-75 {
        --tw-duration: 75ms;
        transition-duration: 75ms
    }

    .duration-100 {
        --tw-duration: .1s;
        transition-duration: .1s
    }

    .duration-150 {
        --tw-duration: .15s;
        transition-duration: .15s
    }

    .duration-200 {
        --tw-duration: .2s;
        transition-duration: .2s
    }

    .duration-300 {
        --tw-duration: .3s;
        transition-duration: .3s
    }

    .ease-in {
        --tw-ease: var(--ease-in);
        transition-timing-function: var(--ease-in)
    }

    .ease-in-out {
        --tw-ease: var(--ease-in-out);
        transition-timing-function: var(--ease-in-out)
    }

    .ease-out {
        --tw-ease: var(--ease-out);
        transition-timing-function: var(--ease-out)
    }

    .prose-gray {
        --tw-prose-body: oklch(37.3% .034 259.733);
        --tw-prose-headings: oklch(21% .034 264.665);
        --tw-prose-lead: oklch(44.6% .03 256.802);
        --tw-prose-links: oklch(21% .034 264.665);
        --tw-prose-bold: oklch(21% .034 264.665);
        --tw-prose-counters: oklch(55.1% .027 264.364);
        --tw-prose-bullets: oklch(87.2% .01 258.338);
        --tw-prose-hr: oklch(92.8% .006 264.531);
        --tw-prose-quotes: oklch(21% .034 264.665);
        --tw-prose-quote-borders: oklch(92.8% .006 264.531);
        --tw-prose-captions: oklch(55.1% .027 264.364);
        --tw-prose-kbd: oklch(21% .034 264.665);
        --tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1);
        --tw-prose-code: oklch(21% .034 264.665);
        --tw-prose-pre-code: oklch(92.8% .006 264.531);
        --tw-prose-pre-bg: oklch(27.8% .033 256.848);
        --tw-prose-th-borders: oklch(87.2% .01 258.338);
        --tw-prose-td-borders: oklch(92.8% .006 264.531);
        --tw-prose-invert-body: oklch(87.2% .01 258.338);
        --tw-prose-invert-headings: #fff;
        --tw-prose-invert-lead: oklch(70.7% .022 261.325);
        --tw-prose-invert-links: #fff;
        --tw-prose-invert-bold: #fff;
        --tw-prose-invert-counters: oklch(70.7% .022 261.325);
        --tw-prose-invert-bullets: oklch(44.6% .03 256.802);
        --tw-prose-invert-hr: oklch(37.3% .034 259.733);
        --tw-prose-invert-quotes: oklch(96.7% .003 264.542);
        --tw-prose-invert-quote-borders: oklch(37.3% .034 259.733);
        --tw-prose-invert-captions: oklch(70.7% .022 261.325);
        --tw-prose-invert-kbd: #fff;
        --tw-prose-invert-kbd-shadows: #ffffff1a;
        --tw-prose-invert-code: #fff;
        --tw-prose-invert-pre-code: oklch(87.2% .01 258.338);
        --tw-prose-invert-pre-bg: #00000080;
        --tw-prose-invert-th-borders: oklch(44.6% .03 256.802);
        --tw-prose-invert-td-borders: oklch(37.3% .034 259.733)
    }

    .outline-none {
        --tw-outline-style: none;
        outline-style: none
    }

    .select-none {
        -webkit-user-select: none;
        user-select: none
    }

    @media(hover: hover) {
        .group-hover\:flex:is(:where(.group):hover *) {
            display: flex
        }

        .group-hover\:scale-\[1\.02\]:is(:where(.group):hover *) {
            scale: 1.02
        }

        .group-hover\:text-blue-700:is(:where(.group):hover *) {
            color: var(--color-blue-700)
        }
    }

    .first\: mt-0:first-child {
        margin-top: 0
    }

    .first\: border-t-0:first-child {
        border-top-style: var(--tw-border-style);
        border-top-width: 0
    }

    .first\: pt-0:first-child {
        padding-top: 0
    }

    .last\: pb-0:last-child {
        padding-bottom: 0
    }

    @media(hover: hover) {
        .hover\:border-\[\#1B75BB\]:hover {
            border-color: #1b75bb
        }

        .hover\:bg-\[\#3c5db8\]:hover {
            background-color: #3c5db8
        }

        .hover\:bg-\[\#3d5fc3\]:hover {
            background-color: #3d5fc3
        }

        .hover\:bg-\[\#4A5570\]:hover {
            background-color: #4a5570
        }

        .hover\:bg-\[\#6b86cf\]:hover {
            background-color: #6b86cf
        }

        .hover\:bg-\[\#145E99\]:hover {
            background-color: #145e99
        }

        .hover\:bg-\[\#3658C7\]:hover {
            background-color: #3658c7
        }

        .hover\:bg-\[\#A8943C\]:hover {
            background-color: #a8943c
        }

        .hover\:bg-\[\#F5F7FA\]:hover {
            background-color: #f5f7fa
        }

        .hover\:bg-\[\#FAFBFD\]:hover {
            background-color: #fafbfd
        }

        .hover\:bg-blue-700:hover {
            background-color: var(--color-blue-700)
        }

        .hover\:bg-gray-50:hover {
            background-color: var(--color-gray-50)
        }

        .hover\:bg-gray-100:hover {
            background-color: var(--color-gray-100)
        }

        .hover\:bg-slate-50:hover {
            background-color: var(--color-slate-50)
        }

        .hover\:bg-white:hover {
            background-color: var(--color-white)
        }

        .hover\:bg-white\/10:hover {
            background-color: #ffffff1a
        }

        @supports (color: color-mix(in lab,red,red)) {
            .hover\:bg-white\/10:hover {
                background-color: color-mix(in oklab,var(--color-white) 10%,transparent)
            }
        }

        .hover\:text-\[\#1B75BB\]:hover {
            color: #1b75bb
        }

        .hover\:text-\[\#1043B7\]:hover {
            color: #1043b7
        }

        .hover\:text-gray-400:hover {
            color: var(--color-gray-400)
        }

        .hover\:text-gray-700:hover {
            color: var(--color-gray-700)
        }

        .hover\:text-gray-900:hover {
            color: var(--color-gray-900)
        }

        .hover\:text-white:hover {
            color: var(--color-white)
        }

        .hover\:underline:hover {
            text-decoration-line: underline
        }

        .hover\:opacity-80:hover {
            opacity: .8
        }

        .hover\:opacity-85:hover {
            opacity: .85
        }

        .hover\:opacity-88:hover {
            opacity: .88
        }

        .hover\:opacity-90:hover {
            opacity: .9
        }

        .hover\:opacity-100:hover {
            opacity: 1
        }

        .hover\:shadow-\[0_4px_20px_rgba\(27\,117\,187\,0\.08\)\]:hover {
            --tw-shadow: 0 4px 20px var(--tw-shadow-color,#1b75bb14);
            box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
        }

        .hover\:shadow-\[inset_0_2px_0_0_rgba\(0\,0\,0\,0\.06\)\]:hover {
            --tw-shadow: inset 0 2px 0 0 var(--tw-shadow-color,#0000000f);
            box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
        }

        .hover\:shadow-lg:hover {
            --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);
            box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
        }

        .hover\:shadow-md:hover {
            --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);
            box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
        }
    }

    .focus\: border-blue-300:focus {
        border-color: var(--color-blue-300)
    }

    .focus\: ring:focus {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .focus\: outline-none:focus {
        --tw-outline-style: none;
        outline-style: none
    }

    .focus-visible\: ring-2:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

    .focus-visible\: ring-\[\#4d70d3\]:focus-visible {
        --tw-ring-color: #4d70d3
    }

    .active\: bg-gray-100:active {
        background-color: var(--color-gray-100)
    }

    .active\: text-gray-500:active {
        color: var(--color-gray-500)
    }

    .active\: text-gray-700:active {
        color: var(--color-gray-700)
    }

    .active\: text-gray-800:active {
        color: var(--color-gray-800)
    }

    .disabled\: opacity-60:disabled {
        opacity: .6
    }

    @media(min-width: 40rem) {
        .sm\:flex {
            display: flex
        }

        .sm\:hidden {
            display: none
        }

        .sm\:flex-1 {
            flex: 1
        }

        .sm\:grid-cols-2 {
            grid-template-columns: repeat(2,minmax(0,1fr))
        }

        .sm\:grid-cols-3 {
            grid-template-columns: repeat(3,minmax(0,1fr))
        }

        .sm\:grid-cols-4 {
            grid-template-columns: repeat(4,minmax(0,1fr))
        }

        .sm\:grid-cols-5 {
            grid-template-columns: repeat(5,minmax(0,1fr))
        }

        .sm\:flex-row {
            flex-direction: row
        }

        .sm\:items-center {
            align-items: center
        }

        .sm\:justify-between {
            justify-content: space-between
        }

        .sm\:gap-2 {
            gap: calc(var(--spacing) * 2)
        }

        :where(.sm\:divide-x>:not(:last-child)) {
            --tw-divide-x-reverse: 0;
            border-inline-style: var(--tw-border-style);
            border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
            border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)))
        }

        : where(.sm\:divide-y-0>:not(:last-child)) {
            --tw-divide-y-reverse: 0;
            border-bottom-style: var(--tw-border-style);
            border-top-style: var(--tw-border-style);
            border-top-width: calc(0px * var(--tw-divide-y-reverse));
            border-bottom-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)))
        }

        .sm\:p-10 {
            padding: calc(var(--spacing) * 10)
        }

        .sm\:px-0 {
            padding-inline: 0
        }

        .sm\:px-6 {
            padding-inline: calc(var(--spacing) * 6)
        }

        .sm\: py-0 {
            padding-block: 0
        }

        .sm\:text-left {
            text-align: left
        }

        .sm\:text-3xl {
            font-size: var(--text-3xl);
            line-height: var(--tw-leading,var(--text-3xl--line-height))
        }

        .sm\:text-base {
            font-size: var(--text-base);
            line-height: var(--tw-leading,var(--text-base--line-height))
        }

        .sm\:text-lg {
            font-size: var(--text-lg);
            line-height: var(--tw-leading,var(--text-lg--line-height))
        }

        .sm\:text-xl {
            font-size: var(--text-xl);
            line-height: var(--tw-leading,var(--text-xl--line-height))
        }

        .sm\:first\:pl-0:first-child {
            padding-left: 0
        }

        .sm\:last\:pr-0:last-child {
            padding-right: 0
        }
    }

    @media(min-width: 48rem) {
        .md\:sticky {
            position: sticky
        }

        .md\:top-0 {
            top: 0
        }

        .md\:z-10 {
            z-index: 10
        }

        .md\:block {
            display: block
        }

        .md\:flex {
            display: flex
        }

        .md\:h-\[60px\] {
            height: 60px
        }

        .md\:min-h-\[75px\] {
            min-height: 75px
        }

        .md\:w-1\/2 {
            width: 50%
        }

        .md\:w-1\/3 {
            width: 33.3333%
        }

        .md\:w-\[150px\] {
            width: 150px
        }

        .md\:min-w-0 {
            min-width: 0
        }

        .md\:flex-1 {
            flex: 1
        }

        .md\:grid-cols-2 {
            grid-template-columns: repeat(2,minmax(0,1fr))
        }

        .md\:grid-cols-3 {
            grid-template-columns: repeat(3,minmax(0,1fr))
        }

        .md\:grid-cols-4 {
            grid-template-columns: repeat(4,minmax(0,1fr))
        }

        .md\:grid-cols-9 {
            grid-template-columns: repeat(9,minmax(0,1fr))
        }

        .md\:flex-row {
            flex-direction: row
        }

        .md\:flex-row-reverse {
            flex-direction: row-reverse
        }

        .md\:flex-nowrap {
            flex-wrap: nowrap
        }

        .md\:items-center {
            align-items: center
        }

        .md\:items-end {
            align-items: flex-end
        }

        .md\:items-start {
            align-items: flex-start
        }

        .md\:justify-center {
            justify-content: center
        }

        .md\:gap-0 {
            gap: 0
        }

        .md\:gap-16 {
            gap: calc(var(--spacing) * 16)
        }

        .md\:overflow-visible {
            overflow: visible
        }

        .md\:border-t-0 {
            border-top-style: var(--tw-border-style);
            border-top-width: 0
        }

        .md\:border-l {
            border-left-style: var(--tw-border-style);
            border-left-width: 1px
        }

        .md\:border-l-secondary {
            border-left-color: var(--border-color-secondary)
        }

        .md\:bg-white {
            background-color: var(--color-white)
        }

        .md\:p-14 {
            padding: calc(var(--spacing) * 14)
        }

        .md\:px-0 {
            padding-inline: 0
        }

        .md\:px-2 {
            padding-inline: calc(var(--spacing) * 2)
        }

        .md\: px-5 {
            padding-inline: calc(var(--spacing) * 5)
        }

        .md\:px-6 {
            padding-inline: calc(var(--spacing) * 6)
        }

        .md\: px-8 {
            padding-inline: calc(var(--spacing) * 8)
        }

        .md\:px-16 {
            padding-inline: calc(var(--spacing) * 16)
        }

        .md\: py-0 {
            padding-block: 0
        }

        .md\:py-5 {
            padding-block: calc(var(--spacing) * 5)
        }

        .md\: py-6 {
            padding-block: calc(var(--spacing) * 6)
        }

        .md\:py-10 {
            padding-block: calc(var(--spacing) * 10)
        }

        .md\: py-12 {
            padding-block: calc(var(--spacing) * 12)
        }

        .md\:py-14 {
            padding-block: calc(var(--spacing) * 14)
        }

        .md\: py-16 {
            padding-block: calc(var(--spacing) * 16)
        }

        .md\:py-20 {
            padding-block: calc(var(--spacing) * 20)
        }

        .md\: pt-8 {
            padding-top: calc(var(--spacing) * 8)
        }

        .md\:pt-16 {
            padding-top: calc(var(--spacing) * 16)
        }

        .md\:pt-24 {
            padding-top: calc(var(--spacing) * 24)
        }

        .md\:pt-32 {
            padding-top: calc(var(--spacing) * 32)
        }

        .md\:pb-8 {
            padding-bottom: calc(var(--spacing) * 8)
        }

        .md\:pb-16 {
            padding-bottom: calc(var(--spacing) * 16)
        }

        .md\:pb-24 {
            padding-bottom: calc(var(--spacing) * 24)
        }

        .md\:pb-32 {
            padding-bottom: calc(var(--spacing) * 32)
        }

        .md\:pl-10 {
            padding-left: calc(var(--spacing) * 10)
        }

        .md\:text-left {
            text-align: left
        }

        .md\:text-right {
            text-align: right
        }

        .md\:text-2xl {
            font-size: var(--text-2xl);
            line-height: var(--tw-leading,var(--text-2xl--line-height))
        }

        .md\:text-3xl {
            font-size: var(--text-3xl);
            line-height: var(--tw-leading,var(--text-3xl--line-height))
        }

        .md\:text-base {
            font-size: var(--text-base);
            line-height: var(--tw-leading,var(--text-base--line-height))
        }

        .md\:text-xl {
            font-size: var(--text-xl);
            line-height: var(--tw-leading,var(--text-xl--line-height))
        }

        .md\:text-\[1\.25rem\] {
            font-size: 1.25rem
        }

        .md\:text-\[1\.75rem\] {
            font-size: 1.75rem
        }

        .md\:text-\[2rem\] {
            font-size: 2rem
        }

        .md\:text-\[14px\] {
            font-size: 14px
        }

        .md\:text-\[15px\] {
            font-size: 15px
        }

        .md\:text-balance {
            text-wrap: balance
        }

        .md\:whitespace-normal {
            white-space: normal
        }

        .md\:first\:border-l-0:first-child {
            border-left-style: var(--tw-border-style);
            border-left-width: 0
        }
    }

    @media(min-width: 64rem) {
        .lg\:block {
            display: block
        }

        .lg\:flex {
            display: flex
        }

        .lg\:hidden {
            display: none
        }

        .lg\:grid-cols-2 {
            grid-template-columns: repeat(2,minmax(0,1fr))
        }

        .lg\:grid-cols-3 {
            grid-template-columns: repeat(3,minmax(0,1fr))
        }

        .lg\:grid-cols-5 {
            grid-template-columns: repeat(5,minmax(0,1fr))
        }

        .lg\:items-start {
            align-items: flex-start
        }

        .lg\:justify-start {
            justify-content: flex-start
        }

        .lg\:px-8 {
            padding-inline: calc(var(--spacing) * 8)
        }

        .lg\: text-left {
            text-align: left
        }
    }

    .rtl\: flex-row-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *) {
        flex-direction: row-reverse
    }

    .prose-headings\: font-semibold :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)) {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold)
    }

    .prose-a\: text-blue-600 :where(a):not(:where([class~=not-prose],[class~=not-prose] *)) {
        color: var(--color-blue-600)
    }

    .prose-a\: no-underline :where(a):not(:where([class~=not-prose],[class~=not-prose] *)) {
        text-decoration-line: none
    }

    .prose-code\: before\:content-none :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before, .prose-code\:after\:content-none :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after {
        content: var(--tw-content);
        --tw-content: none;
        content: none
    }

    .\[\&_a\]\: text-\[\#1B75BB\] a {
        color: #1b75bb
    }

    .\[\&_a\]\: text-\[\#4868c3\] a {
        color: #4868c3
    }

    .\[\&_a\]\: underline a {
        text-decoration-line: underline
    }

    .\[\&_a\]\: opacity-80 a {
        opacity: .8
    }

    .\[\&_strong\]\: font-semibold strong {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold)
    }

    .\[\&_strong\]\: text-\[\#1A1A2E\] strong {
        color: #1a1a2e
    }

    .focus-within\: \[\&\>ul\]\:flex:focus-within > ul {
        display: flex
    }
}

html, body {
    overflow-x: none
}

.debug-r {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-red-600)
}

.debug-g {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-green-600)
}

.debug-b {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-blue-600)
}

.debug {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-red-600)
}

@font-face {
    font-family: Promo;
    src: url(/fonts/Promo/Promo-Med.eot);
    src: url(/fonts/Promo/Promo-Med-.eot#iefix)format("embedded-opentype"),url(/fonts/Promo/Promo-Med.woff)format("woff"),url(/fonts/Promo/Promo-Med.ttf)format("truetype"),url(/fonts/Promo/Promo-Med.svg)format("svg");
    font-weight: 300;
    font-style: normal
}

@font-face {
    font-family: Promo;
    src: url(/fonts/Promo/Promo-Bold.eot);
    src: url(/fonts/Promo/Promo-Bold-.eot#iefix)format("embedded-opentype"),url(/fonts/Promo/Promo-Bold.woff)format("woff"),url(/fonts/Promo/Promo-Bold.ttf)format("truetype"),url(/fonts/Promo/Promo-Bold.svg)format("svg");
    font-weight: 500;
    font-style: normal
}

h1, h2, h3, h4, h5 {
    font-family: var(--font-promo)
}

.feature-hero-graphic {
    width: 315px;
    min-height: 180px;
    position: absolute;
    top: -15px;
    right: 15px
}

    .feature-hero-graphic:before {
        content: "";
        z-index: 2;
        background: url(/images/features/feature_mask.svg);
        width: 100%;
        padding-bottom: 100%;
        display: block;
        position: relative
    }

.feature-hero-image {
    background: #1c2035;
    border-radius: 50%;
    width: calc(100% - 1px);
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

    .feature-hero-image img {
        border-radius: 5px;
        max-width: calc(100% - 20px);
        max-height: calc(100% - 20px);
        position: absolute;
        bottom: 0;
        right: -1px;
        box-shadow: -3px -2px 5px #0000000d
    }

.doc-content h1 {
    margin-bottom: calc(var(--spacing) * 8);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    font-size: var(--text-2xl);
    line-height: var(--tw-leading,var(--text-2xl--line-height));
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-white);
    font-family: var(--font-promo);
    background-color: #4d70d2;
    display: inline-block
}

.doc-content a:hover, .doc-note a:hover {
    text-decoration: underline
}

.doc-note a {
    color: #2563eb
}

.doc-content a:focus, .doc-content a:focus-visible {
    text-decoration: none
}

.doc-content h1 a {
    font-weight: 400;
    color: #fff !important;
    text-decoration: none !important
}

    .doc-content h1 a:after {
        content: " ›";
        margin-inline: .25rem;
        font-weight: 400
    }

.doc-content :not(pre) > code {
    color: #c7254e;
    background-color: #f9f2f4;
    border-radius: 4px;
    padding: 2px 4px;
    font-family: Menlo,Monaco,Consolas,Courier New,monospace;
    font-size: 13px;
    font-weight: 400
}

.doc-content h2, .doc-content h3, .doc-content h4, .doc-content h5 {
    border-bottom: 1px solid #00000026;
    padding-bottom: .25rem
}

.doc-content h2 {
    margin-top: calc(var(--spacing) * 6);
    margin-bottom: calc(var(--spacing) * 3)
}

.verification_method {
    background-color: #f5f5f5;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    padding: 2px 8px;
    font-size: .9em;
    font-weight: 600
}

.doc-content li {
    margin-block: 0
}

.search {
    float: right;
    position: relative;
    top: 15px
}

    .search:before {
        content: "";
        z-index: 1;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23b1b1b1'%3E%3Cpath d='M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-size: contain;
        width: 13px;
        height: 13px;
        position: absolute;
        top: 17px;
        left: 13px
    }

    .search input {
        box-sizing: border-box;
        appearance: none;
        background: #fff;
        border: 0;
        border-radius: 3px;
        width: 225px;
        height: 46px;
        padding-left: 37px;
        padding-right: 10px;
        font-size: 14px;
        line-height: 46px;
        display: block;
        box-shadow: 0 0 #0000,0 0 #0000,0 1px 1px #0000001f,0 0 0 1px #3c425729,0 0 #0000,0 0 #0000,0 2px 5px #3c42571f
    }

    .search .search_results {
        cursor: default;
        background: #fff;
        border: 1px solid #c7c7c7;
        border-radius: 0 0 3px 3px;
        width: 100%;
        min-width: 227px;
        max-height: 250px;
        margin-top: -1px;
        margin-left: -1px;
        display: block;
        position: absolute;
        overflow: auto;
        box-shadow: 0 2px 8px #4b4b5733
    }

        .search .search_results ul {
            list-style: none;
            margin: 0 !important;
            padding: 0 !important
        }

            .search .search_results ul li {
                border-radius: 2px;
                padding: 10px;
                font-size: 14px
            }

                .search .search_results ul li:hover {
                    background: #f5f5f5
                }

                .search .search_results ul li a {
                    white-space: nowrap;
                    text-overflow: ellipsis;
                    max-width: 200px;
                    display: block;
                    overflow: hidden;
                    color: #333 !important;
                    font-size: 13px !important
                }

                    .search .search_results ul li a:hover {
                        text-decoration: none !important
                    }

.tsb[data-bg=white] {
    --tsb-bg: #fff;
    --tsb-text: #1a1a2e;
    --tsb-text-muted: #5a6a7e;
    --tsb-border: #e2eaf2;
    --tsb-bar-bg: #fff
}

.tsb[data-bg=grey] {
    --tsb-bg: #f5f7fa;
    --tsb-text: #1a1a2e;
    --tsb-text-muted: #5a6a7e;
    --tsb-border: #e2eaf2;
    --tsb-bar-bg: #f5f7fa
}

.tsb[data-bg=blue] {
    --tsb-bg: #1b75bb;
    --tsb-text: #fff;
    --tsb-text-muted: #ffffffb3;
    --tsb-border: #fff3;
    --tsb-bar-bg: #1b75bb
}

.tsb[data-bg=dark] {
    --tsb-bg: #0d1b2e;
    --tsb-text: #fff;
    --tsb-text-muted: #ffffffb3;
    --tsb-border: #fff3;
    --tsb-bar-bg: #0d1b2e
}

.tsb {
    background-color: var(--tsb-bg);
    width: 100%
}

.tsb__container {
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: 1rem
}

@media(min-width: 768px) {
    .tsb__container {
        padding-inline: 1.5rem
    }
}

.tsb__bar-wrap {
    border-bottom: 2px solid var(--tsb-border);
    background-color: var(--tsb-bar-bg)
}

.tsb__bar {
    scrollbar-width: none;
    -ms-overflow-style: none;
    justify-content: center;
    gap: 0;
    margin-bottom: -2px;
    display: flex;
    overflow-x: auto
}

    .tsb__bar::-webkit-scrollbar {
        display: none
    }

.tsb__tab {
    white-space: nowrap;
    color: var(--tsb-text-muted);
    cursor: pointer;
    outline-offset: 2px;
    background: 0 0;
    border: none;
    border-bottom: 2px solid #0000;
    flex-shrink: 0;
    align-items: center;
    gap: .5rem;
    padding: 1rem 1.25rem;
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
    transition: color .15s,border-color .15s;
    display: inline-flex
}

    .tsb__tab:hover, .tsb__tab:focus-visible {
        color: var(--tsb-text)
    }

.tsb__tab--active {
    color: #1b75bb;
    border-bottom-color: #1b75bb
}

.tsb__tab-icon {
    flex-shrink: 0;
    width: 1rem;
    height: 1rem
}

.tsb__external-icon {
    opacity: .6;
    width: .75rem;
    height: .75rem
}

.tsb__panels {
    padding-top: 3rem;
    padding-bottom: 3rem
}

@media(min-width: 768px) {
    .tsb__panels {
        padding-top: 4rem;
        padding-bottom: 4rem
    }
}

.tsb__panel {
    display: none
}

.tsb__panel--active {
    display: block
}

.tsb__row {
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
    display: flex
}

@media(min-width: 1024px) {
    .tsb__row {
        flex-direction: row;
        gap: 4rem
    }

    .tsb__panel[data-image-layout=left] .tsb__row {
        flex-direction: row-reverse
    }
}

.tsb__text {
    flex: 1;
    min-width: 0
}

.tsb__title-badge {
    color: #fff;
    background-color: #3d4f6a;
    border-radius: .25rem;
    margin-bottom: 1rem;
    padding: .375rem 1rem;
    font-size: .9375rem;
    font-weight: 700;
    line-height: 1.4;
    display: inline-block
}

.tsb__body {
    color: var(--tsb-text-muted);
    margin-bottom: 1.5rem;
    font-size: .9375rem;
    line-height: 1.7
}

.tsb__features {
    margin-bottom: 2rem;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .5rem 2rem;
    margin-inline: 0;
    padding: 0;
    list-style: none;
    display: grid
}

.tsb__feature {
    color: var(--tsb-text);
    align-items: center;
    gap: .5rem;
    font-size: .875rem;
    font-weight: 500;
    display: flex
}

.tsb__feature-check {
    color: #1b75bb;
    flex-shrink: 0;
    width: 1.125rem;
    height: 1.125rem
}

.tsb__feature-text {
    line-height: 1.4
}

.tsb__tooltip-wrap {
    cursor: help;
    align-items: center;
    gap: .25rem;
    display: inline-flex;
    position: relative
}

.tsb__tooltip-icon {
    color: #8ba4be;
    flex-shrink: 0;
    width: .8125rem;
    height: .8125rem
}

.tsb__tooltip-bubble {
    z-index: 50;
    color: #fff;
    white-space: normal;
    pointer-events: none;
    background-color: #0d1b2e;
    border-radius: .5rem;
    width: 13rem;
    margin-bottom: .5rem;
    padding: .5rem .75rem;
    font-size: .6875rem;
    line-height: 1.5;
    position: absolute;
    bottom: 100%;
    left: 0;
    box-shadow: 0 10px 25px #0003
}

.tsb__cta {
    color: #fff;
    background-color: #3d4f6a;
    border-radius: .5rem;
    align-items: center;
    gap: .5rem;
    padding: .75rem 1.5rem;
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
    transition: opacity .15s;
    display: inline-flex
}

    .tsb__cta:hover, .tsb__cta:focus-visible {
        opacity: .85
    }

.tsb__cta-arrow {
    width: 1rem;
    height: 1rem
}

.tsb__image-wrap {
    flex: 1;
    justify-content: center;
    min-width: 0;
    display: flex
}

.tsb__image {
    object-fit: contain;
    width: 100%;
    max-width: 500px;
    height: auto
}

.tsb-enter {
    transition: opacity .2s,transform .2s
}

.tsb-enter-start {
    opacity: 0;
    transform: translateY(4px)
}

.tsb-enter-end {
    opacity: 1;
    transform: translateY(0)
}

.tsb-leave {
    transition: opacity .15s,transform .15s
}

.tsb-leave-start {
    opacity: 1;
    transform: translateY(0)
}

.tsb-leave-end {
    opacity: 0;
    transform: translateY(4px)
}

[x-cloak] {
    display: none !important
}

@media(min-width: 1024px) {
    .tsb-row[data-layout=right] {
        flex-direction: row;
        gap: 4rem
    }

    .tsb-row[data-layout=left] {
        flex-direction: row-reverse;
        gap: 4rem
    }
}

.wysiwyg-content {
    color: #1a1a2e;
    font-size: 15px;
    line-height: 1.75
}

    .wysiwyg-content h1 {
        color: #1a1a2e;
        margin: 2rem 0 1rem;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.2
    }

    .wysiwyg-content h2 {
        color: #1a1a2e;
        margin: 2rem 0 .75rem;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.3
    }

    .wysiwyg-content h3 {
        color: #1a1a2e;
        margin: 1.75rem 0 .5rem;
        font-size: 1.2rem;
        font-weight: 600;
        line-height: 1.4
    }

    .wysiwyg-content h4 {
        color: #1a1a2e;
        margin: 1.5rem 0 .5rem;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.5
    }

    .wysiwyg-content p {
        margin: 0 0 1rem
    }

        .wysiwyg-content p:last-child {
            margin-bottom: 0
        }

    .wysiwyg-content a {
        color: #1b75bb;
        text-underline-offset: 2px;
        text-decoration: underline
    }

        .wysiwyg-content a:hover {
            color: #145f96
        }

    .wysiwyg-content ul {
        margin: 0 0 1rem;
        padding-left: 1.5rem;
        list-style: outside
    }

    .wysiwyg-content ol {
        margin: 0 0 1rem;
        padding-left: 1.5rem;
        list-style: decimal
    }

    .wysiwyg-content li, .wysiwyg-content li > ul, .wysiwyg-content li > ol {
        margin: .35rem 0
    }

    .wysiwyg-content blockquote {
        color: #3a5a7a;
        background: #f0f7ff;
        border-left: 4px solid #1b75bb;
        border-radius: 0 8px 8px 0;
        margin: 1.5rem 0;
        padding: .75rem 1.25rem;
        font-style: italic
    }

    .wysiwyg-content hr {
        border: none;
        border-top: 1px solid #e2eaf2;
        margin: 2rem 0
    }

    .wysiwyg-content strong {
        font-weight: 700
    }

    .wysiwyg-content em {
        font-style: italic
    }

    .wysiwyg-content u {
        text-underline-offset: 2px;
        text-decoration: underline
    }

    .wysiwyg-content sup {
        vertical-align: super;
        font-size: .75em
    }

    .wysiwyg-content sub {
        vertical-align: sub;
        font-size: .75em
    }

    .wysiwyg-content table {
        border-collapse: collapse;
        width: 100%;
        margin: 1.5rem 0;
        font-size: 14px
    }

    .wysiwyg-content th {
        text-align: left;
        color: #1a1a2e;
        background: #f5f7fa;
        border: 1px solid #e2eaf2;
        padding: .6rem .9rem;
        font-weight: 600
    }

    .wysiwyg-content td {
        vertical-align: top;
        border: 1px solid #e2eaf2;
        padding: .6rem .9rem
    }

    .wysiwyg-content tr:nth-child(2n) td {
        background: #fafbfd
    }

.wysiwyg-two-col {
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 3rem;
    display: grid
}

.wysiwyg-sidebar-wrap {
    grid-template-columns: 280px 1fr;
    align-items: start;
    gap: 3rem;
    display: grid
}

.wysiwyg-sidebar {
    position: sticky;
    top: 2rem
}

    .wysiwyg-sidebar h2 {
        font-size: 1rem
    }

    .wysiwyg-sidebar h3 {
        font-size: .9rem
    }

    .wysiwyg-sidebar p, .wysiwyg-sidebar li {
        font-size: 13px
    }

    .wysiwyg-sidebar a {
        color: #1b75bb;
        text-decoration: none
    }

        .wysiwyg-sidebar a:hover {
            text-decoration: underline
        }

@media(max-width: 768px) {
    .wysiwyg-two-col, .wysiwyg-sidebar-wrap {
        grid-template-columns: 1fr;
        gap: 2rem
    }

    .wysiwyg-sidebar {
        position: static
    }
}

.wysiwyg-content > h1:first-child, .wysiwyg-content > h2:first-child, .wysiwyg-content > h3:first-child, .wysiwyg-content > h4:first-child {
    margin-top: 0
}

@media(max-width: 640px) {
    .wysiwyg-content {
        font-size: 14px
    }

        .wysiwyg-content h1 {
            font-size: 1.6rem
        }

        .wysiwyg-content h2 {
            font-size: 1.3rem
        }

        .wysiwyg-content h3 {
            font-size: 1.1rem
        }

        .wysiwyg-content table {
            display: block;
            overflow-x: auto
        }
}

.wysiwyg-content pre {
    color: #e2e8f0;
    background: #1e2433;
    border-radius: 8px;
    margin: 1.5rem 0;
    padding: 1.25rem 1rem 1rem;
    font-family: Menlo,Monaco,Courier New,monospace;
    font-size: 13px;
    line-height: 1.7;
    position: relative;
    overflow-x: auto
}

.wysiwyg-content code {
    color: #1b75bb;
    background: #f0f4f8;
    border-radius: 4px;
    padding: .15em .4em;
    font-family: Menlo,Monaco,Courier New,monospace;
    font-size: .875em
}

.wysiwyg-content pre code {
    color: inherit;
    font-size: inherit;
    background: 0 0;
    border-radius: 0;
    padding: 0
}

.wysiwyg-copy-btn {
    color: #94a3b8;
    cursor: pointer;
    background: #ffffff14;
    border: 1px solid #ffffff26;
    border-radius: 5px;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    transition: background .15s,color .15s;
    position: absolute;
    top: 8px;
    right: 8px
}

    .wysiwyg-copy-btn:hover {
        color: #fff;
        background: #ffffff2e
    }

    .wysiwyg-copy-btn.copied {
        color: #fff;
        background: #22c55e;
        border-color: #22c55e
    }

@property --tw-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-z {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-scale-x {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-scale-y {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-scale-z {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false
}

@property --tw-space-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-divide-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-leading {
    syntax: "*";
    inherits: false
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

@property --tw-tracking {
    syntax: "*";
    inherits: false
}

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-ring-inset {
    syntax: "*";
    inherits: false
}

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-outline-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-blur {
    syntax: "*";
    inherits: false
}

@property --tw-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-invert {
    syntax: "*";
    inherits: false
}

@property --tw-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false
}

@property --tw-duration {
    syntax: "*";
    inherits: false
}

@property --tw-ease {
    syntax: "*";
    inherits: false
}

@property --tw-divide-x-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-content {
    syntax: "*";
    inherits: false;
    initial-value: ""
}

    ********/