:root {
    --ds-bg: #f7fbff;
    --ds-surface: #ffffff;
    --ds-surface-muted: #eef6ff;
    --ds-line: #d7e6f7;
    --ds-text: #333333;
    --ds-text-soft: #5b6675;
    --ds-primary: #74b0ff;
    --ds-primary-strong: #4c95f7;
    --ds-accent: #feba17;
    --ds-accent-soft: #fff4d1;
    --ds-success-soft: #e6f7ee;
    --ds-success-text: #1d7a46;
    --ds-danger-soft: #ffebeb;
    --ds-danger-text: #b63737;
    --ds-shadow: 0 14px 32px rgba(116, 176, 255, 0.14);
    --ds-radius: 8px;
    --ds-radius-lg: 8px;
    --ds-font: "Source Sans Pro", "Segoe UI", sans-serif;
}

html,
body {
    font-family: var(--ds-font);
    color: var(--ds-text);
    background: var(--ds-bg);
}

body {
    min-height: 100vh;
}

.auth-layout {
    min-height: calc(100vh - 88px);
    padding: 2rem 1rem 3rem;
    background:
        radial-gradient(circle at top right, rgba(254, 186, 23, 0.12), transparent 24%),
        radial-gradient(circle at top left, rgba(116, 176, 255, 0.18), transparent 30%),
        linear-gradient(180deg, #fafdff 0%, #eef5ff 100%);
}

.auth-layout__inner {
    width: min(1120px, 100%);
    margin: 0 auto;
}

.wrapper,
.content-wrapper {
    background: linear-gradient(180deg, #fafdff 0%, #eff6ff 100%);
}

.content-wrapper {
    padding-bottom: 1.5rem;
}

.content-header {
    padding: 1.25rem 1.5rem 0.75rem;
}

.content {
    padding-inline: 1.5rem;
}

.card,
.modal-content,
.dropdown-menu,
.small-box,
.info-box,
.main-footer,
.main-header,
.brand-link,
.nav-sidebar > .nav-item > .nav-link,
.nav-treeview > .nav-item > .nav-link,
.form-control,
.input-group-text,
.custom-select,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.btn,
.alert,
.table-responsive,
.event-elements-card,
.public-surface,
.public-page-hero,
.public-context-card,
.public-event-card,
.public-list-card,
.public-event-empty,
.public-feature-card,
.public-benefit-card,
.public-cta-band,
.public-footer,
.public-header,
.login-page .card,
.dashboard-card {
    border-radius: var(--ds-radius-lg) !important;
}

.card,
.modal-content,
.table-responsive,
.dashboard-card,
.event-elements-card,
.public-surface,
.public-context-card,
.public-event-card,
.public-list-card,
.public-event-empty,
.public-feature-card,
.public-benefit-card,
.public-cta-band,
.login-page .card {
    border: 1px solid var(--ds-line);
    box-shadow: var(--ds-shadow);
    background: var(--ds-surface);
}

.card-header,
.modal-header,
.modal-footer {
    border-color: var(--ds-line);
}

.card-header,
.modal-header {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.btn {
    min-height: 40px;
    padding: 0.6rem 0.95rem;
    font-weight: 700;
    border-radius: var(--ds-radius) !important;
}

.btn-primary,
.btn-success,
.btn-info {
    border-color: var(--ds-primary-strong);
    background: var(--ds-primary-strong);
    color: #fff;
    box-shadow: none;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-success:hover,
.btn-success:focus,
.btn-info:hover,
.btn-info:focus {
    background: #3f86ea;
    border-color: #3f86ea;
    color: #fff;
}

.btn-warning,
.btn-modern,
.public-page-cta,
.public-header__button--secondary {
    border-color: var(--ds-accent);
    background: var(--ds-accent);
    color: var(--ds-text) !important;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-modern:hover,
.btn-modern:focus,
.public-page-cta:hover,
.public-page-cta:focus {
    background: #eba500;
    border-color: #eba500;
    color: var(--ds-text) !important;
}

.btn-outline-primary,
.btn-light,
.public-page-cta--ghost,
.public-toolbar__button,
.public-calendar__today {
    border-color: var(--ds-line);
    background: #fff;
    color: var(--ds-text);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-light:hover,
.btn-light:focus {
    background: var(--ds-surface-muted);
    color: var(--ds-text);
}

.form-control,
.custom-select,
.input-group-text,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    min-height: 42px;
    border: 1px solid var(--ds-line);
    background: #fff;
    color: var(--ds-text);
    box-shadow: none;
}

.form-control:focus,
.custom-select:focus,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--ds-primary);
    box-shadow: 0 0 0 3px rgba(116, 176, 255, 0.18);
}

label,
.form-group label,
.event-list-toolbar__label {
    font-weight: 700;
    color: var(--ds-text);
}

.required:after {
    color: var(--ds-danger-text);
}

.alert-success {
    border-color: #c8edd7;
    background: var(--ds-success-soft);
    color: var(--ds-success-text);
}

.alert-danger,
.alert-warning {
    border-color: #ffd1d1;
    background: var(--ds-danger-soft);
    color: var(--ds-danger-text);
}

.table thead th,
.modern-data-table thead th {
    background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
    color: var(--ds-text-soft);
}

.modern-data-table tbody tr:hover,
.table-hover tbody tr:hover {
    background: rgba(116, 176, 255, 0.08);
}

.main-header.navbar,
.public-header {
    border-bottom: 1px solid var(--ds-line);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 6px 18px rgba(116, 176, 255, 0.1);
}

.main-footer,
.public-footer {
    border-top: 1px solid var(--ds-line);
}

.main-sidebar {
    background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%) !important;
    border-right: 1px solid var(--ds-line);
}

.main-sidebar .brand-link {
    background: transparent;
    border-bottom: 1px solid var(--ds-line);
}

.main-sidebar .brand-text,
.main-sidebar .nav-header,
.main-sidebar .nav-link p,
.main-sidebar .nav-icon,
.main-sidebar .sidebar a {
    color: var(--ds-text) !important;
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link,
.main-sidebar .nav-treeview > .nav-item > .nav-link {
    margin-bottom: 0.25rem;
    border: 1px solid transparent;
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link:hover,
.main-sidebar .nav-treeview > .nav-item > .nav-link:hover {
    background: var(--ds-surface-muted);
    border-color: var(--ds-line);
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link.active,
.main-sidebar .nav-treeview > .nav-item > .nav-link.active {
    background: var(--ds-primary-strong);
    border-color: var(--ds-primary-strong);
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link.active p,
.main-sidebar .nav-sidebar > .nav-item > .nav-link.active .nav-icon,
.main-sidebar .nav-treeview > .nav-item > .nav-link.active p,
.main-sidebar .nav-treeview > .nav-item > .nav-link.active .nav-icon {
    color: #fff !important;
}

.breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
}

.breadcrumb-item,
.breadcrumb-item a {
    color: var(--ds-text-soft);
    font-weight: 600;
}

.text-muted,
.public-page-hero__stat-label,
.public-event-card__teaser,
.public-list-card__description,
.public-section__text,
.public-footer__copy,
.public-footer__value {
    color: var(--ds-text-soft) !important;
}

.login-page {
    min-height: calc(100vh - 76px);
    background:
        radial-gradient(circle at top right, rgba(254, 186, 23, 0.12), transparent 26%),
        linear-gradient(180deg, #fafdff 0%, #eef6ff 100%) !important;
    padding: 2rem 1rem;
}

.login-page .login-box {
    width: min(440px, 100%);
}

.login-page .card-header,
.login-page .card-body {
    background: transparent;
}

.public-page-hero,
.event-elements-hero {
    background:
        radial-gradient(circle at top right, rgba(254, 186, 23, 0.18), transparent 30%),
        linear-gradient(135deg, #333333 0%, #4c95f7 58%, #74b0ff 100%);
}

.public-page-hero__eyebrow,
.event-elements-hero__eyebrow,
.public-flow-eyebrow {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.public-page-hero__title,
.event-elements-hero__title,
.public-section__title {
    color: #fff;
}

.public-section__title,
.public-event-empty__title,
.public-event-card__title,
.public-list-card__title,
.dashboard-card h2,
.content-header h1,
.card-title {
    color: var(--ds-text);
}

.public-page-hero__panel {
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.1);
}

.public-surface-tabs,
.event-list-toolbar,
.event-list-metric,
.public-event-card__meta div,
.public-list-card__date {
    background: #fff;
}

.public-surface-tab--active,
.public-list-card__cta,
.public-event-card__actions .btn,
.public-header__button,
.public-calendar__nav-button,
.public-calendar__view-buttons .btn-primary {
    background: var(--ds-primary-strong);
    color: #fff !important;
    border-color: var(--ds-primary-strong);
}

.public-surface-tab,
.public-list-card__month,
.public-list-card__weekday,
.public-event-card__meta dt {
    color: var(--ds-text-soft);
}

.public-event-card__status--open {
    background: var(--ds-success-soft);
    color: var(--ds-success-text);
}

.public-event-card__status--closed {
    background: var(--ds-danger-soft);
    color: var(--ds-danger-text);
}

.badge,
.public-page-hero__eyebrow,
.public-flow-eyebrow,
.public-event-card__date,
.public-event-card__status,
.public-list-card__date,
.event-list-metric,
.event-list-toolbar {
    border-radius: var(--ds-radius) !important;
}

@media (max-width: 767.98px) {
    .content {
        padding-inline: 1rem;
    }

    .content-header {
        padding-inline: 1rem;
    }
}
