/* Cards / Sections / Widgets */
.ai-card,
.fi-section,
.fi-ta-ctn,
.fi-wi,
.fi-modal-window {
    border: 1px solid var(--ts-border) !important;
    border-radius: var(--ts-radius-lg) !important;
    background: var(--ts-surface) !important;
    box-shadow: var(--ts-shadow-sm) !important;
}

.ai-card {
    padding: 24px;
    color: var(--ts-text);
    transition:
        transform var(--ts-transition),
        box-shadow var(--ts-transition),
        border-color var(--ts-transition);
}

.ai-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--ts-shadow-md) !important;
    border-color: #cbd5e1 !important;
}

.ai-card--premium {
    position: relative;
    overflow: hidden;
    color: #fff !important;
    border-color: transparent !important;
    background:
        radial-gradient(circle at 85% 15%, rgba(251,191,36,.22), transparent 30%),
        linear-gradient(145deg, #111827 0%, #312e81 62%, #1e1b4b 100%) !important;
    box-shadow: var(--ts-shadow-lg) !important;
}

.ai-card--featured {
    border: 2px solid var(--ts-accent) !important;
    box-shadow:
        0 0 0 5px rgba(245,158,11,.08),
        var(--ts-shadow-md) !important;
}

.ai-card-title {
    margin: 0;
    font-size: 22px;
    font-weight: 950;
    letter-spacing: -.02em;
}

.ai-card-text {
    color: var(--ts-muted);
    line-height: 1.7;
}

/* Forms */
.fi-section-header {
    padding: 20px 22px !important;
    border-bottom-color: #eef2f7 !important;
}

.fi-section-content {
    padding: 22px !important;
}

.fi-section-header-heading,
.fi-ta-header-heading,
.fi-wi-stats-overview-stat-label {
    color: var(--ts-text) !important;
    font-weight: 850 !important;
}

.fi-section-header-description,
.fi-wi-stats-overview-stat-description {
    color: var(--ts-muted) !important;
}

.fi-input-wrp,
.fi-select-input,
.fi-fo-textarea {
    background: var(--ts-surface) !important;
    border-color: var(--ts-border) !important;
    border-radius: 13px !important;
}

.fi-input,
.fi-select-input,
.fi-fo-textarea textarea {
    color: var(--ts-text) !important;
}

.fi-input-wrp:focus-within {
    box-shadow: 0 0 0 3px rgba(109, 40, 217, .12) !important;
    border-color: var(--ts-primary) !important;
}

/* Tables */
.fi-ta-header-ctn {
    padding: 18px 20px !important;
}

.fi-ta-table thead,
.fi-ta-header-cell {
    background: var(--ts-surface-soft) !important;
}

.fi-ta-table th,
.fi-ta-header-cell {
    color: var(--ts-muted) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    letter-spacing: .03em !important;
}

.fi-ta-row {
    transition: background var(--ts-transition) !important;
    border-bottom-color: #eef2f7 !important;
}

.fi-ta-row:hover {
    background: rgba(109, 40, 217, .035) !important;
}

/* Buttons / Badges */
.ai-button,
.fi-btn {
    border-radius: 13px !important;
    font-weight: 850 !important;
    transition: all var(--ts-transition) !important;
}

.ai-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 12px 18px;
    text-decoration: none;
    border: 0;
    cursor: pointer;
}

.ai-button:hover {
    transform: translateY(-1px);
}

.ai-button--primary,
.fi-btn-color-primary {
    color: #ffffff !important;
    background: linear-gradient(
        135deg,
        var(--ts-primary),
        var(--ts-primary-strong)
    ) !important;
    box-shadow: 0 10px 26px rgba(109, 40, 217, .22) !important;
}

.ai-button--secondary {
    color: var(--ts-text);
    background: var(--ts-surface);
    border: 1px solid var(--ts-border);
}

.ai-button--block {
    width: 100%;
}

.ai-badge,
.fi-badge {
    border-radius: 999px !important;
    font-weight: 900 !important;
}

.ai-alert {
    padding: 18px 20px;
    border-radius: 18px;
    border: 1px solid;
    line-height: 1.65;
}

.ai-alert--warning {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #9a3412;
}

/* Login */
.fi-simple-main {
    background: var(--ts-surface) !important;
    border: 1px solid var(--ts-border) !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .12) !important;
}
