/* CIDES ERP design tokens and product-specific components, built with Tailwind. */
:root {
    --cides-accent: #e83300;
    --cides-primary: #c82900;
    --cides-primary-dark: #a72200;
    --cides-primary-soft: #fff3ef;
    --cides-navy: #112337;
    --cides-success: #247a58;
    --cides-warning: #a86100;
    --cides-bg: #f5f7fa;
    --cides-text: #243247;
    --cides-muted: #66758a;
    --cides-border: #dce3eb;
    --cides-shadow: 0 12px 36px rgba(17, 35, 55, 0.08);
    --cides-radius: 0.75rem;
}

html {
    scroll-behavior: smooth;
}

body {
    color: var(--cides-text);
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

a {
    color: #a72200;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.15em;
}

a:hover {
    color: var(--cides-primary-dark);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid rgba(232, 51, 0, 0.32) !important;
    outline-offset: 2px;
    box-shadow: none !important;
}

.content-wrapper {
    background: var(--cides-bg);
}

.content-header {
    padding: 1.25rem 1rem 0.65rem;
}

.content-header h1 {
    color: var(--cides-navy);
    font-size: clamp(1.55rem, 2.4vw, 2.1rem);
    font-weight: 700;
    letter-spacing: -0.025em;
}

.content-header .breadcrumb {
    background: transparent;
    margin-bottom: 0.35rem;
    padding: 0;
}

.main-header {
    border-bottom: 1px solid var(--cides-border);
    box-shadow: 0 2px 14px rgba(17, 35, 55, 0.05);
}

.main-header .nav-link {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
}

.account-trigger {
    gap: 0.55rem;
}

.account-trigger .account-icon {
    font-size: 1rem;
}

.account-trigger .account-chevron {
    color: var(--cides-muted);
    font-size: 0.65rem;
    margin-left: 0.1rem;
}

.navbar-light .navbar-nav .nav-link {
    color: #34445a;
}

.text-muted,
.breadcrumb-item.active {
    color: #59697d !important;
}

.main-sidebar {
    background: var(--cides-navy) !important;
}

.brand-link {
    align-items: center;
    background: #101e33;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
    display: flex;
    justify-content: flex-start;
    min-height: 58px;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.brand-logo {
    display: block;
    -o-object-fit: contain;
       object-fit: contain;
}

.brand-logo-full {
    height: auto;
    width: 9rem;
}

.brand-logo-compact {
    display: none;
    height: 2.25rem;
    width: 2.25rem;
}

.sidebar-close {
    align-items: center;
    background: rgba(255, 255, 255, 0.08);
    border: 0;
    border-radius: 0.5rem;
    color: #fff;
    display: flex;
    height: 40px;
    justify-content: center;
    position: absolute;
    right: 0.65rem;
    top: 0.75rem;
    width: 40px;
}

.sidebar-close:hover,
.sidebar-close:focus {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.user-panel {
    align-items: center;
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
    min-height: 72px;
}

.user-panel .info {
    line-height: 1.25;
    min-width: 0;
}

.user-panel .image img,
.profile-user-img {
    -o-object-fit: cover;
       object-fit: cover;
}

.user-panel .info a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nav-sidebar .nav-header {
    color: #aab8ca;
    font-size: 0.69rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    padding: 1.15rem 1rem 0.45rem;
    text-transform: uppercase;
}

.nav-sidebar .nav-link {
    border-radius: 0.5rem;
    margin: 0.12rem 0.45rem;
    min-height: 44px;
    padding: 0.62rem 0.75rem;
    width: calc(100% - 0.9rem);
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link:hover {
    background: var(--cides-primary);
    color: #fff;
}

.main-footer {
    background: #fff;
    border-top: 1px solid var(--cides-border);
    color: var(--cides-muted);
    font-size: 0.85rem;
    min-height: 54px;
}

.card {
    border: 1px solid var(--cides-border);
    border-radius: var(--cides-radius);
    box-shadow: var(--cides-shadow);
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.card-header {
    background: #fff;
    border-bottom: 1px solid var(--cides-border);
    padding: 0.95rem 1.15rem;
}

.card-title {
    color: var(--cides-navy);
    font-size: 1.05rem;
    font-weight: 700;
}

.card-primary:not(.card-outline) > .card-header,
.card-success:not(.card-outline) > .card-header {
    background: var(--cides-navy);
}

.card.card-primary.card-outline,
.card.card-success.card-outline {
    border-top-color: var(--cides-primary);
}

.btn {
    align-items: center;
    border-radius: 0.5rem;
    display: inline-flex;
    font-weight: 600;
    gap: 0.4rem;
    justify-content: center;
    min-height: 44px;
    padding: 0.55rem 0.9rem;
}

.btn-sm {
    min-height: 44px;
    min-width: 44px;
    padding: 0.42rem 0.72rem;
}

.btn-primary,
.bg-primary,
.small-box.bg-primary {
    background-color: var(--cides-primary) !important;
    border-color: var(--cides-primary) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--cides-primary-dark) !important;
    border-color: var(--cides-primary-dark) !important;
}

.btn:disabled,
.btn.disabled {
    background-color: #59697d !important;
    border-color: #59697d !important;
    color: #fff !important;
    opacity: 1 !important;
}

.btn-outline-primary {
    border-color: var(--cides-primary);
    color: var(--cides-primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: var(--cides-primary-soft);
    border-color: var(--cides-primary);
    color: var(--cides-primary-dark);
}

.btn-success,
.bg-success,
.small-box.bg-success {
    background-color: var(--cides-success) !important;
    border-color: var(--cides-success) !important;
}

.btn-info {
    background-color: #0e6674;
    border-color: #0e6674;
    color: #fff;
}

.btn-info:hover,
.btn-info:focus {
    background-color: #094f5b;
    border-color: #094f5b;
    color: #fff;
}

.alert-info {
    background-color: #dceff3;
    border-color: #acd4dc;
    color: #244d56;
}

.btn-link {
    color: #a72200;
}

.btn-outline-danger {
    background: #fff;
    border-color: #b42332;
    color: #9b1c2d;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus {
    background: #fff1f2;
    border-color: #9b1c2d;
    color: #7f1725;
}

.btn-outline-success {
    background: #fff;
    border-color: #247a58;
    color: #166240;
}

.btn-outline-success:hover,
.btn-outline-success:focus {
    background: #edf9f3;
    border-color: #166240;
    color: #104c32;
}

.btn-outline-info {
    background: #fff;
    border-color: #0e6674;
    color: #0e5a66;
}

.btn-outline-info:hover,
.btn-outline-info:focus {
    background: #edf8fa;
    border-color: #094f5b;
    color: #094f5b;
}

.btn-icon {
    flex: 0 0 44px;
    height: 44px;
    min-height: 44px;
    min-width: 44px;
    padding: 0;
    width: 44px;
}

.btn-add-row {
    background: #fff;
    border-color: var(--cides-primary);
    color: var(--cides-primary-dark);
}

.btn-add-row:hover,
.btn-add-row:focus {
    background: var(--cides-primary-soft);
    border-color: var(--cides-primary-dark);
    color: var(--cides-primary-dark);
}

.form-control,
.custom-file-label,
.ts-control {
    border-color: #bdc8d5;
    border-radius: 0.5rem;
    min-height: 44px;
}

.form-control:focus,
.ts-wrapper.focus .ts-control {
    border-color: var(--cides-primary);
    box-shadow: 0 0 0 0.2rem rgba(232, 51, 0, 0.14);
}

label {
    color: #34445a;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.required-marker {
    color: var(--cides-primary);
    font-weight: 700;
    margin-left: 0.2rem;
}

.required-hint {
    color: var(--cides-muted);
    font-size: 0.83rem;
}

.invalid-feedback {
    color: #a10f20;
    font-weight: 600;
}

.form-section {
    border-bottom: 1px solid var(--cides-border);
    margin-bottom: 1.35rem;
    padding: 0.25rem 0 1.25rem;
    scroll-margin-top: 5.5rem;
}

.form-section-title {
    align-items: center;
    color: var(--cides-navy);
    display: flex;
    font-size: 1.08rem;
    font-weight: 700;
    gap: 0.55rem;
    margin-bottom: 0.95rem;
}

.form-section-title::before {
    background: var(--cides-primary);
    border-radius: 999px;
    content: "";
    display: inline-block;
    height: 1.15rem;
    width: 4px;
}

.form-section-description {
    color: var(--cides-muted);
    font-size: 0.88rem;
    margin: -0.55rem 0 1rem 0.55rem;
}

.form-check-panel {
    background: #f8fafc;
    border: 1px solid var(--cides-border);
    border-radius: 0.55rem;
    padding: 0.55rem 0.75rem;
}

.form-check-panel .form-check-input {
    margin: 0;
    position: static;
}

.form-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: space-between;
}

.form-actions-primary {
    margin-left: auto;
}

.upload-panel {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--cides-border);
    border-radius: 0.65rem;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(150px, 0.7fr) minmax(260px, 1.3fr);
    margin-bottom: 1rem;
    padding: 1rem;
}

.upload-preview {
    align-items: center;
    background: #fff;
    border: 1px dashed #b8c4d1;
    border-radius: 0.6rem;
    color: var(--cides-muted);
    display: flex;
    justify-content: center;
    min-height: 120px;
    overflow: hidden;
    padding: 0.75rem;
    text-align: center;
}

.upload-preview img {
    max-height: 180px;
    -o-object-fit: contain;
       object-fit: contain;
}

.profile-photo-preview {
    aspect-ratio: 1;
    border-radius: 50%;
    height: 170px;
    -o-object-fit: cover;
       object-fit: cover;
    width: 170px;
}

.sticky-form-actions {
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--cides-border);
    bottom: 0;
    box-shadow: 0 -8px 24px rgba(17, 35, 55, 0.08);
    margin: 1.5rem -1.25rem -1.25rem;
    padding: 0.85rem 1.25rem;
    position: sticky;
    z-index: 20;
}

.sticky-form-actions.form-actions {
    justify-content: space-between;
}

.saving-overlay {
    align-items: center;
    background: rgba(17, 35, 55, 0.62);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 1rem;
    position: fixed;
    z-index: 3000;
}

.saving-overlay-card {
    align-items: center;
    background: #fff;
    border-radius: var(--cides-radius);
    box-shadow: 0 24px 70px rgba(17, 35, 55, 0.28);
    color: var(--cides-navy);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-width: 360px;
    padding: 2rem;
    text-align: center;
    width: 100%;
}

.saving-overlay-card strong {
    font-size: 1.2rem;
}

.saving-overlay-card span {
    color: var(--cides-muted);
    font-size: 0.92rem;
}

.saving-overlay-icon {
    color: var(--cides-primary);
    font-size: 2rem;
    margin-bottom: 0.25rem;
}

body.is-saving {
    overflow: hidden;
}

.form-steps {
    background: #f8fafc;
    border: 1px solid var(--cides-border);
    border-radius: 0.65rem;
    display: flex;
    gap: 0.35rem;
    margin-bottom: 1rem;
    overflow-x: auto;
    padding: 0.55rem;
}

.form-steps a {
    align-items: center;
    border-radius: 0.45rem;
    color: #4d5d72;
    display: inline-flex;
    flex: 1 0 auto;
    font-size: 0.84rem;
    font-weight: 650;
    gap: 0.4rem;
    min-height: 42px;
    padding: 0.4rem 0.6rem;
}

.form-steps a:hover,
.form-steps a:focus {
    background: var(--cides-primary-soft);
    color: var(--cides-primary-dark);
    text-decoration: none;
}

.form-steps span {
    align-items: center;
    background: var(--cides-primary);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-size: 0.72rem;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.form-step-nav {
    background: #f8fafc;
    border: 1px solid var(--cides-border);
    border-radius: 0.65rem;
    counter-reset: form-step;
    display: flex;
    gap: 0.35rem;
    margin-bottom: 1rem;
    overflow-x: auto;
    padding: 0.55rem;
}

.form-step-nav a {
    align-items: center;
    border-radius: 0.45rem;
    color: #4d5d72;
    counter-increment: form-step;
    display: inline-flex;
    flex: 1 0 auto;
    font-size: 0.84rem;
    font-weight: 650;
    gap: 0.4rem;
    min-height: 42px;
    padding: 0.4rem 0.6rem;
}

.form-step-nav a::before {
    align-items: center;
    background: var(--cides-primary);
    border-radius: 50%;
    color: #fff;
    content: counter(form-step);
    display: inline-flex;
    flex: 0 0 24px;
    font-size: 0.72rem;
    height: 24px;
    justify-content: center;
}

.form-step-nav a:hover,
.form-step-nav a:focus {
    background: var(--cides-primary-soft);
    color: var(--cides-primary-dark);
    text-decoration: none;
}

.form-section-collapsible {
    padding: 0;
}

.form-section-collapsible > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 0.65rem;
    list-style: none;
    margin: 0;
    min-height: 56px;
    padding: 0.9rem 1rem;
}

.form-section-collapsible > summary::before {
    background: var(--cides-primary);
    border-radius: 999px;
    content: "";
    display: inline-block;
    height: 1.15rem;
    width: 4px;
}

.form-section-collapsible > summary::-webkit-details-marker {
    display: none;
}

.form-section-collapsible > summary::after {
    color: var(--cides-primary);
    content: "\f078";
    font-family: "Font Awesome 5 Free";
    font-size: 0.85rem;
    font-weight: 900;
    margin-left: auto;
    transition: transform 0.2s ease;
}

.form-section-collapsible[open] > summary::after {
    transform: rotate(180deg);
}

.form-section-collapsible > :not(summary) {
    margin-left: 1rem;
    margin-right: 1rem;
}

.form-section-collapsible > :last-child {
    margin-bottom: 1rem;
}

.form-section-count {
    align-items: center;
    background: var(--cides-primary-soft);
    border-radius: 999px;
    color: var(--cides-primary-dark);
    display: inline-flex;
    font-size: 0.76rem;
    justify-content: center;
    min-height: 26px;
    min-width: 26px;
    padding: 0 0.45rem;
}

.page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-content: flex-end;
}

.table {
    color: var(--cides-text);
}

.table thead th {
    background: #edf1f6;
    border-bottom: 1px solid #cbd5e1;
    color: #3a4a60;
    font-size: 0.76rem;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.table td,
.table th {
    padding: 0.75rem;
    vertical-align: middle;
}

.dataTables_wrapper .dataTables_filter input,
.dt-container .dt-search input,
.dataTables_wrapper .dataTables_length select,
.dt-container .dt-length select {
    border: 1px solid #bdc8d5;
    border-radius: 0.5rem;
    min-height: 44px;
}

.dataTables_wrapper .dataTables_filter {
    max-width: 100%;
}

.dataTables_wrapper .dataTables_filter input {
    margin-left: 0.5rem;
    max-width: calc(100vw - 8rem);
    min-width: min(28rem, calc(100vw - 8rem));
}

.dataTables_wrapper .dataTables_paginate .paginate_button,
.dt-container .dt-paging .dt-paging-button {
    min-height: 44px;
    min-width: 44px;
}

.table-toolbar {
    align-items: end;
    background: #f8fafc;
    border: 1px solid var(--cides-border);
    border-radius: 0.65rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding: 0.85rem;
}

.status-badge {
    border-radius: 99px;
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.28rem 0.6rem;
}

.status-badge.is-success {
    background: #e0f4ea;
    color: #155c3f;
}

.status-badge.is-muted {
    background: #e8edf3;
    color: #4e5e72;
}

.status-badge.is-warning {
    background: #fff0d3;
    color: #805000;
}

.list-detail-card {
    background: #f8fafc;
    border: 1px solid var(--cides-border);
    border-left: 4px solid var(--cides-primary);
    border-radius: 0.7rem;
    color: var(--cides-text);
    margin: 0.25rem 0;
    overflow: hidden;
}

.list-detail-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 1rem;
}

.list-detail-grid section {
    background: #fff;
    border: 1px solid #e4e9ef;
    border-radius: 0.6rem;
    min-width: 0;
    padding: 0.85rem;
}

.list-detail-grid h3 {
    color: var(--cides-navy);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    margin: 0 0 0.7rem;
    text-transform: uppercase;
}

.list-detail-grid dl {
    display: grid;
    font-size: 0.84rem;
    gap: 0.42rem 0.75rem;
    grid-template-columns: minmax(90px, 0.7fr) minmax(0, 1.3fr);
    margin: 0;
}

.list-detail-grid dt {
    color: var(--cides-muted);
    font-weight: 650;
    min-width: 0;
    overflow-wrap: anywhere;
}

.list-detail-grid dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.detail-chip-list,
.detail-status-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.detail-group-label {
    color: var(--cides-muted);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin: 0 0 0.3rem;
    text-transform: uppercase;
}

.detail-chip {
    background: #eef2f7;
    border: 1px solid #d8e0e9;
    border-radius: 99px;
    color: #415166;
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 650;
    line-height: 1.25;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: 0.3rem 0.55rem;
    white-space: normal;
}

.detail-chip.is-primary {
    background: var(--cides-primary-soft);
    border-color: #e5abb2;
    color: var(--cides-primary-dark);
}

.list-detail-summary {
    border-top: 1px solid var(--cides-border);
    font-size: 0.84rem;
    line-height: 1.55;
    max-height: 8rem;
    overflow: auto;
    padding: 0.75rem 1rem;
    white-space: pre-wrap;
}

.list-detail-audit {
    background: #eef2f7;
    border-top: 1px solid var(--cides-border);
    color: var(--cides-muted);
    font-size: 0.76rem;
    padding: 0.55rem 1rem;
}

.list-detail-audit i {
    margin-right: 0.35rem;
}

.empty-state {
    align-items: center;
    color: var(--cides-muted);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 190px;
    padding: 2rem;
    text-align: center;
}

.empty-state i {
    color: #aab6c5;
    font-size: 2.4rem;
    margin-bottom: 0.85rem;
}

.empty-state h3 {
    color: var(--cides-navy);
    font-size: 1.1rem;
    font-weight: 700;
}

.metric-card {
    background: #fff;
    border: 1px solid var(--cides-border);
    border-radius: var(--cides-radius);
    box-shadow: var(--cides-shadow);
    display: block;
    height: calc(100% - 1rem);
    margin-bottom: 1rem;
    padding: 1.15rem;
    position: relative;
}

.metric-card .metric-label {
    color: var(--cides-muted);
    display: block;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.metric-card .metric-value {
    color: var(--cides-navy);
    display: block;
    font-size: 2rem;
    font-weight: 750;
    line-height: 1.2;
    margin-top: 0.3rem;
}

.metric-card .metric-icon {
    color: rgba(232, 51, 0, 0.18);
    font-size: 2rem;
    position: absolute;
    right: 1rem;
    top: 1rem;
}

.quick-action {
    align-items: center;
    border: 1px solid var(--cides-border);
    border-radius: 0.65rem;
    color: var(--cides-text);
    display: flex;
    gap: 0.8rem;
    min-height: 64px;
    padding: 0.85rem;
}

.quick-action:hover {
    background: var(--cides-primary-soft);
    border-color: #e5abb2;
    color: var(--cides-primary-dark);
    text-decoration: none;
}

.quick-action i {
    color: var(--cides-primary);
    font-size: 1.25rem;
    text-align: center;
    width: 1.8rem;
}

.cursosadmin-search {
    margin-bottom: 1rem;
    position: relative;
}

.cursosadmin-search > i {
    color: var(--cides-muted);
    left: 1rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.cursosadmin-search .form-control {
    font-size: 1rem;
    min-height: 50px;
    padding-left: 2.7rem;
}

.cursosadmin-section .card-title i {
    color: var(--cides-primary);
}

.cursosadmin-section .card-header {
    display: block;
}

.cursosadmin-option {
    align-items: center;
    background: #fff;
    border: 1px solid var(--cides-border);
    border-radius: 0.7rem;
    color: var(--cides-text);
    display: flex;
    gap: 0.85rem;
    min-height: 104px;
    padding: 0.9rem;
    position: relative;
    transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.cursosadmin-option:hover,
.cursosadmin-option:focus {
    border-color: #e0a1aa;
    box-shadow: 0 8px 18px rgba(31, 41, 55, 0.09);
    color: var(--cides-primary-dark);
    text-decoration: none;
    transform: translateY(-1px);
}

.cursosadmin-option-icon {
    align-items: center;
    background: var(--cides-primary-soft);
    border-radius: 0.65rem;
    color: var(--cides-primary);
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 1.15rem;
    height: 42px;
    justify-content: center;
}

.cursosadmin-option strong,
.cursosadmin-option small {
    display: block;
}

.cursosadmin-option small {
    color: var(--cides-muted);
    line-height: 1.35;
    margin-top: 0.2rem;
    padding-right: 1.15rem;
}

.cursosadmin-option-arrow {
    color: #a4afbd;
    position: absolute;
    right: 0.8rem;
}

.cursosadmin-workspace {
    min-height: calc(100vh - 210px);
    overflow: hidden;
    position: relative;
}

.cursosadmin-frame {
    border: 0;
    display: block;
    height: calc(100vh - 230px);
    min-height: 680px;
    width: 100%;
}

.cursosadmin-frame-status {
    align-items: center;
    background: #fff;
    display: flex;
    gap: 0.7rem;
    inset: 0;
    justify-content: center;
    min-height: 260px;
    position: absolute;
    z-index: 1;
}

.profile-description {
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.profile-description > :last-child {
    margin-bottom: 0;
}

.relator-signature-preview {
    display: block;
    height: auto;
    margin-inline: auto;
    max-height: 64px;
    max-width: 180px;
    -o-object-fit: contain;
       object-fit: contain;
    width: auto;
}

.profile-data-list {
    display: grid;
    gap: 0.8rem;
    margin: 0;
}

.profile-data-list div {
    border-bottom: 1px solid var(--cides-border);
    padding-bottom: 0.75rem;
}

.profile-data-list div:last-child {
    border-bottom: 0;
}

.profile-data-list dt {
    color: var(--cides-muted);
    font-size: 0.82rem;
    margin-bottom: 0.2rem;
}

.profile-data-list dd {
    color: var(--cides-text);
    margin: 0;
    overflow-wrap: anywhere;
}

.auth-page {
    background:
        radial-gradient(circle at 15% 10%, rgba(232, 51, 0, 0.12), transparent 34rem),
        linear-gradient(145deg, #f8fafc 0%, #edf2f7 100%);
    min-height: 100vh;
    padding: 1.25rem;
}

.auth-shell {
    display: grid;
    grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1fr);
    margin: auto;
    max-width: 920px;
    width: 100%;
}

.auth-brand {
    background: linear-gradient(150deg, #111, var(--cides-navy));
    border-radius: 1rem 0 0 1rem;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 560px;
    overflow: hidden;
    padding: 2.25rem;
    position: relative;
}

.auth-brand::after {
    background: rgba(232, 51, 0, 0.88);
    border-radius: 50%;
    bottom: -7rem;
    content: "";
    height: 17rem;
    position: absolute;
    right: -6rem;
    width: 17rem;
}

.auth-brand img {
    filter: brightness(0) invert(1);
    height: auto;
    max-width: 190px;
}

.auth-brand h2 {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    margin-top: auto;
    position: relative;
    z-index: 1;
}

.auth-brand p {
    color: #d4deeb;
    position: relative;
    z-index: 1;
}

.auth-panel {
    background: #fff;
    border-radius: 0 1rem 1rem 0;
    box-shadow: 0 20px 60px rgba(17, 35, 55, 0.15);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 560px;
    padding: clamp(1.5rem, 5vw, 3.25rem);
}

.auth-panel h1 {
    color: var(--cides-navy);
    font-size: 1.8rem;
    font-weight: 750;
    letter-spacing: -0.025em;
}

.auth-panel .auth-intro {
    color: var(--cides-muted);
    margin-bottom: 1.5rem;
}

.auth-links {
    display: flex;
    flex-wrap: wrap;
    font-size: 0.92rem;
    gap: 0.5rem 1rem;
    justify-content: space-between;
    margin-top: 1.25rem;
}

.password-control {
    position: relative;
}

.password-control .form-control {
    padding-right: 3.25rem;
}

.password-toggle {
    background: transparent;
    border: 0;
    color: #55657a;
    min-height: 44px;
    min-width: 44px;
    position: absolute;
    right: 0;
    top: 0;
}

.password-requirements {
    color: var(--cides-muted);
    font-size: 0.82rem;
    margin-top: 0.35rem;
}

trix-toolbar .trix-button {
    min-height: 44px;
    min-width: 44px;
}

trix-toolbar .trix-button-row {
    scrollbar-width: thin;
}

.skip-link {
    background: #fff;
    border-radius: 0 0 0.4rem 0.4rem;
    left: 0.75rem;
    padding: 0.65rem 0.85rem;
    position: fixed;
    top: -5rem;
    z-index: 2000;
}

.skip-link:focus {
    top: 0;
}

/* Disable select arrow for form-control-plaintext select */
select.form-control-plaintext {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

select.form-control.fake-select {
    background-color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.form-check-input[readonly] {
    pointer-events: none;
}

.form-check-input[readonly] ~ .form-check-label {
    cursor: default;
    pointer-events: none;
}

textarea.form-control-plaintext {
    resize: none;
}

/* Tailwind's visibility utility shares the legacy collapse class name. */
.collapse.collapse {
    visibility: visible;
}

.htmx-indicator {
    display: none;
}

.htmx-request .htmx-indicator {
    display: inline;
}

.htmx-request.htmx-indicator {
    display: inline;
}

table.dataTable td.dt-control {
    text-align: center;
    cursor: pointer;
    min-height: 44px;
    min-width: 44px;
}

body table.dataTable tbody td.dt-control:before {
    align-items: center;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 700;
    height: 20px;
    justify-content: center;
    margin: 0;
    position: static;
    transform: none;
    vertical-align: middle;
    width: 20px;
    color: var(--cides-navy);
    border: 1px solid #b8c4d1;
    border-radius: 999px;
    box-shadow: none;
    box-sizing: border-box;
    text-align: center;
    text-indent: 0 !important;
    font-family: inherit;
    line-height: 1;
    content: "+";
    background-color: #eef2f6;
}

body table.dataTable tbody tr.dt-hasChild td.dt-control:before {
    align-items: center;
    display: inline-flex;
    height: 20px;
    justify-content: center;
    margin: 0;
    color: var(--cides-primary-dark);
    border: 1px solid #efb5a6;
    border-radius: 999px;
    box-shadow: none;
    box-sizing: border-box;
    text-align: center;
    text-indent: 0 !important;
    font-family: inherit;
    line-height: 1;
    content: "-";
    background-color: var(--cides-primary-soft);
}

/* Make tomselect disabled state look like readonly state */
.readonly .disabled .ts-control {
    background-color: inherit;
    opacity: 1;
}

/* Make disabled TomSelect appear like enabled state */
.ts-wrapper.disabled .ts-control {
    background-color: inherit !important;
    opacity: 1 !important;
    cursor: default;
}

.ts-wrapper.disabled .ts-control input {
    background-color: inherit !important;
}

.ts-wrapper.disabled {
    opacity: 1 !important;
}

/* Accessible contrast for shared controls and DataTables. */
.btn-outline-secondary {
    border-color: #647285;
    color: #465568;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    background-color: #eef2f6;
    border-color: #465568;
    color: #243247;
}

.table-actions {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 0.35rem;
    justify-content: flex-end;
    min-width: -moz-max-content;
    min-width: max-content;
    white-space: nowrap;
}

.table-actions .btn {
    flex: 0 0 44px;
    height: 44px;
    min-height: 44px;
    min-width: 44px;
    padding: 0;
    width: 44px;
}

.table-actions .btn-danger {
    background-color: #fff;
    border-color: #b42318;
    color: #b42318;
}

.table-actions .btn-danger:hover,
.table-actions .btn-danger:focus {
    background-color: #fff1f0;
    border-color: #8f1d15;
    color: #8f1d15;
}

table.dataTable th:last-child,
table.dataTable td:last-child {
    vertical-align: middle;
}

@media (min-width: 1024px) {
    .sidebar-close {
        display: none;
    }

    .main-sidebar {
        transition-duration: 200ms;
        transition-property: transform, width;
    }

    body.sidebar-collapsed .main-sidebar {
        width: 4.75rem;
    }

    body.sidebar-collapsed .main-header {
        left: 4.75rem;
    }

    body.sidebar-collapsed .content-wrapper,
    body.sidebar-collapsed .main-footer {
        margin-left: 4.75rem;
    }

    body.sidebar-collapsed .brand-link {
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
    }

    body.sidebar-collapsed .brand-logo-full {
        display: none;
    }

    body.sidebar-collapsed .brand-logo-compact {
        display: block;
    }

    body.sidebar-collapsed .user-panel {
        justify-content: center;
    }

    body.sidebar-collapsed .user-panel .info,
    body.sidebar-collapsed .nav-sidebar .nav-link p,
    body.sidebar-collapsed .nav-sidebar .nav-header {
        display: none;
    }

    body.sidebar-collapsed .nav-sidebar .nav-header + .nav-item {
        margin-top: 0.75rem;
    }

    body.sidebar-collapsed .nav-sidebar .nav-link {
        justify-content: center;
        margin: 0.15rem auto;
        padding-left: 0;
        padding-right: 0;
        width: 44px;
    }
}

@media (max-width: 767.98px) {
    .list-detail-grid {
        grid-template-columns: 1fr;
    }

    .list-detail-grid dl {
        grid-template-columns: 1fr;
    }

    .list-detail-grid dt {
        margin-top: 0.3rem;
    }

    .cursosadmin-frame {
        min-height: 780px;
    }

    .table-actions .btn {
        flex-basis: 44px;
        height: 44px;
        min-height: 44px;
        min-width: 44px;
        width: 44px;
    }
}

.page-link,
.dt-container .dt-paging-button {
    color: #a72200 !important;
}

.page-item.disabled .page-link,
.dt-container .dt-paging-button.disabled {
    color: #59697d !important;
}

.page-item.active .page-link,
.dt-container .dt-paging-button.current {
    background-color: var(--cides-primary) !important;
    border-color: var(--cides-primary) !important;
    color: #fff !important;
}

.table .text-success {
    color: #166240 !important;
}

.table .text-warning {
    color: #765000 !important;
}

.table .text-danger {
    color: #9b1c2d !important;
}

code {
    background: #f8e8ec;
    border-radius: 0.25rem;
    color: #8a1730;
    padding: 0.1rem 0.25rem;
}

pre code {
    background: transparent;
    color: inherit;
    padding: 0;
}

@media (max-width: 767.98px) {
    .dashboard-instance-id {
        display: none;
    }

    .dashboard-view-label {
        display: none;
    }

    .dashboard-upcoming-table {
        table-layout: fixed;
    }

    .dashboard-upcoming-table th:nth-child(2),
    .dashboard-upcoming-table td:nth-child(2) {
        width: 52%;
    }

    .dashboard-upcoming-table th:nth-child(3),
    .dashboard-upcoming-table td:nth-child(3) {
        width: 29%;
    }

    .dashboard-upcoming-table th:last-child,
    .dashboard-upcoming-table td:last-child {
        width: 19%;
    }

    .dashboard-upcoming-table th,
    .dashboard-upcoming-table td {
        overflow-wrap: anywhere;
        padding-left: 0.6rem;
        padding-right: 0.6rem;
    }

    .auth-page {
        padding: 0;
    }

    .auth-shell {
        display: block;
        min-height: 100vh;
    }

    .auth-brand {
        border-radius: 0;
        min-height: 150px;
        padding: 1.4rem;
    }

    .auth-brand img {
        max-width: 145px;
    }

    .auth-brand h2 {
        font-size: 1.25rem;
        margin: 1.25rem 0 0;
    }

    .auth-brand p {
        display: none;
    }

    .auth-panel {
        border-radius: 0;
        box-shadow: none;
        min-height: calc(100vh - 150px);
        padding: 1.5rem;
    }

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

    .content-header .breadcrumb {
        float: none !important;
        font-size: 0.8rem;
        margin-top: 0.4rem;
    }

    .content-header .row.align-items-center > [class*="col"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .content-header .d-inline-flex.justify-content-end,
    .page-actions {
        justify-content: flex-start !important;
        margin-top: 0.6rem;
    }

    .content-header .d-inline-flex.justify-content-end {
        flex-wrap: wrap;
        gap: 0.45rem;
    }

    .content-header .d-inline-flex.justify-content-end .btn {
        margin-left: 0 !important;
    }

    .form-row > .col,
    .form-row > [class*="col-"]:not(.col-auto),
    form .row > .col:not(.col-auto),
    form .row > [class*="col-"]:not(.col-auto) {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 0.75rem;
    }

    .form-row > .col-1,
    .form-row > .col-2 {
        flex: 0 0 auto;
        max-width: 100%;
    }

    .card-body {
        padding: 1rem;
    }

    .sticky-form-actions {
        align-items: stretch;
        flex-direction: column-reverse;
        margin: 1rem -1rem -1rem;
        padding: 0.75rem 1rem;
    }

    .sticky-form-actions .btn {
        width: 100%;
    }

    .form-actions-primary {
        margin-left: 0;
    }

    .upload-panel {
        grid-template-columns: 1fr;
    }

    .table-toolbar > * {
        flex: 1 1 100%;
    }

    .dt-container .dt-layout-row {
        display: block;
    }

    .dt-container .dt-search input {
        margin-left: 0;
        width: 100% !important;
    }

    .dt-container .dt-search {
        align-items: stretch;
        display: flex;
        flex-direction: column;
        text-align: left;
    }

    .dt-container .dt-paging {
        overflow-x: auto;
        padding-bottom: 0.25rem;
        white-space: nowrap;
    }

    .profile-actions .btn {
        flex: 1 1 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Observability workspace. Kept in the source stylesheet so CSS builds retain it. */
.observability-json {
    background: #101828;
    border-radius: 0.5rem;
    color: #e4e7ec;
    font-size: 0.78rem;
    max-height: 70vh;
    overflow: auto;
    padding: 1rem;
    white-space: pre-wrap;
    word-break: break-word;
}

.observability-page,
.observability-page .card,
.observability-page .row > * {
    min-width: 0;
}

.observability-page {
    max-width: 100%;
    overflow-x: hidden;
}

.observability-toolbar {
    align-items: center;
    background: #fff;
    border: 1px solid var(--cides-border);
    border-radius: var(--cides-radius);
    box-shadow: 0 6px 20px rgba(17, 35, 55, 0.05);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
}

.observability-toolbar-copy {
    align-items: center;
    display: flex;
    gap: 0.8rem;
    min-width: 0;
}

.observability-toolbar-copy > i {
    align-items: center;
    background: var(--cides-primary-soft);
    border-radius: 50%;
    color: var(--cides-primary);
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 1.05rem;
    height: 42px;
    justify-content: center;
}

.observability-toolbar-copy strong,
.observability-toolbar-copy span {
    display: block;
}

.observability-toolbar-copy strong {
    color: var(--cides-navy);
}

.observability-toolbar-copy span {
    color: var(--cides-muted);
    font-size: 0.82rem;
    margin-top: 0.1rem;
}

.observability-period {
    align-items: flex-end;
    display: flex;
    flex: 0 0 auto;
    gap: 0.55rem;
}

.observability-period > label {
    color: var(--cides-muted);
    font-size: 0.76rem;
    font-weight: 700;
    margin: 0 0 0.45rem;
    text-transform: uppercase;
}

.observability-period-controls {
    align-items: center;
    display: flex;
    gap: 0.45rem;
}

.observability-period select {
    min-width: 7rem;
}

.observability-card-heading {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.observability-card-heading .card-title {
    float: none;
}

.observability-card-heading > a {
    flex: 0 0 auto;
    font-size: 0.86rem;
    font-weight: 650;
}

.observability-table-scroll {
    max-width: 100%;
    min-width: 0;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.observability-table-scroll > table {
    min-width: 720px;
}

.observability-table-scroll.observability-compact-table > table {
    min-width: 480px;
}

.observability-event-cards {
    display: none;
}

.observability-filter-actions {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.observability-break,
.observability-break code {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.observability-context-list dt,
.observability-context-list dd {
    min-width: 0;
}

.observability-context-list dd {
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    .observability-toolbar {
        align-items: stretch;
        flex-direction: column;
        padding: 0.8rem;
    }

    .observability-period {
        align-items: stretch;
        display: block;
        width: 100%;
    }

    .observability-period > label {
        display: block;
        margin-bottom: 0.35rem;
    }

    .observability-period-controls {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .observability-period select {
        min-width: 0;
        width: 100%;
    }

    .observability-card-heading {
        align-items: flex-start;
    }

    .observability-filter-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .observability-filter-actions .btn {
        width: 100%;
    }

    .observability-event-table {
        display: none;
    }

    .observability-event-cards {
        display: grid;
        gap: 0.75rem;
        padding: 0.75rem;
    }

    .observability-event-card {
        background: #fff;
        border: 1px solid var(--cides-border);
        border-radius: 0.65rem;
        box-shadow: 0 3px 12px rgba(17, 35, 55, 0.05);
        min-width: 0;
        padding: 0.85rem;
    }

    .observability-event-card-header {
        align-items: flex-start;
        display: flex;
        gap: 0.6rem;
        justify-content: space-between;
    }

    .observability-event-card-header strong,
    .observability-event-card-header span:not(.status-badge) {
        display: block;
    }

    .observability-event-card-header span:not(.status-badge) {
        color: var(--cides-muted);
        font-size: 0.82rem;
        margin-top: 0.15rem;
    }

    .observability-event-card-details {
        display: grid;
        gap: 0.65rem 0.9rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 0.9rem 0;
    }

    .observability-event-card-details > div {
        min-width: 0;
    }

    .observability-event-card-details dt {
        color: var(--cides-muted);
        font-size: 0.7rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .observability-event-card-details dd {
        color: var(--cides-text);
        font-size: 0.82rem;
        margin: 0.15rem 0 0;
        overflow-wrap: anywhere;
    }

    .observability-event-card-details small {
        color: var(--cides-muted);
        display: block;
    }

    .observability-event-card-actions {
        display: grid;
        gap: 0.5rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .observability-event-card-actions .btn:only-child {
        grid-column: 1 / -1;
    }

    .observability-context-list dt {
        color: var(--cides-muted);
        font-size: 0.7rem;
        letter-spacing: 0.04em;
        margin-top: 0.2rem;
        text-transform: uppercase;
    }

    .observability-context-list dd {
        margin-bottom: 0.65rem;
    }

    .observability-context-list dd:last-child {
        margin-bottom: 0;
    }

    .observability-page .empty-state {
        min-height: 150px;
        padding: 1.25rem;
    }
}

*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}

/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com *//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  *,
  ::before,
  ::after {
    border-color: #dfe5eb;
  }

  body {
    margin: 0px;
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(30 41 59 / var(--tw-text-opacity, 1));
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1.25;
}

  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
    cursor: pointer;
}

  button,
  input,
  optgroup,
  select,
  textarea,
  .dt-container,
  .select2-container,
  .ts-wrapper,
  trix-editor {
    font-family: inherit;
  }

  button:disabled,
  input:disabled,
  select:disabled,
  textarea:disabled {
    cursor: not-allowed;
    opacity: 0.7;
}
.\!container {
    width: 100% !important;
}
.container {
    width: 100%;
}
@media (min-width: 640px) {
    .\!container {
        max-width: 640px !important;
    }
    .container {
        max-width: 640px;
    }
}
@media (min-width: 768px) {
    .\!container {
        max-width: 768px !important;
    }
    .container {
        max-width: 768px;
    }
}
@media (min-width: 1024px) {
    .\!container {
        max-width: 1024px !important;
    }
    .container {
        max-width: 1024px;
    }
}
@media (min-width: 1280px) {
    .\!container {
        max-width: 1280px !important;
    }
    .container {
        max-width: 1280px;
    }
}
@media (min-width: 1536px) {
    .\!container {
        max-width: 1536px !important;
    }
    .container {
        max-width: 1536px;
    }
}
  /* Layout */
  .wrapper {
    min-height: 100vh;
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

  .main-header {
    position: fixed;
    left: 0px;
    right: 0px;
    top: 0px;
    z-index: 40;
    display: flex;
    height: 4rem;
    align-items: center;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
}

  @media (min-width: 1024px) {
    .main-header {
        left: 16rem;
    }
}

  .main-sidebar {
    position: fixed;
    top: 0px;
    bottom: 0px;
    left: 0px;
    z-index: 50;
    display: flex;
    width: 16rem;
    --tw-translate-x: -100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    flex-direction: column;
    overflow-y: auto;
    --tw-bg-opacity: 1;
    background-color: rgb(17 35 55 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
}

  @media (min-width: 1024px) {
    .main-sidebar {
        --tw-translate-x: 0px;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
}

  body.sidebar-open .main-sidebar {
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

  .content-wrapper {
    min-height: 100vh;
    padding-top: 4rem;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
}

  @media (min-width: 1024px) {
    .content-wrapper {
        margin-left: 16rem;
    }
}

  .main-footer {
    display: flex;
    min-height: 3.5rem;
    align-items: center;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-left: 1rem;
    padding-right: 1rem;
}

  @media (min-width: 1024px) {
    .main-footer {
        margin-left: 16rem;
    }
}

  .sidebar-overlay {
    position: fixed;
    inset: 0px;
    z-index: 40;
    display: none;
    background-color: rgb(2 6 23 / 0.5);
    --tw-backdrop-blur: blur(4px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

  @media (min-width: 1024px) {
    .sidebar-overlay {
        display: none;
    }
}

  body.sidebar-open .sidebar-overlay {
    display: block;
}

  .brand-link {
    display: flex;
    height: 4rem;
    flex-shrink: 0;
    align-items: center;
    gap: 0.75rem;
    border-bottom-width: 1px;
    border-color: rgb(255 255 255 / 0.1);
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    text-decoration-line: none;
}

  .sidebar {
    flex: 1 1 0%;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-bottom: 1.25rem;
}

  .user-panel {
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-bottom-width: 1px;
    border-color: rgb(255 255 255 / 0.1);
    padding-top: 1rem;
    padding-bottom: 1rem;
}

  .user-panel .image img {
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 9999px;
    border-width: 2px;
    border-color: rgb(255 255 255 / 0.2);
    -o-object-fit: cover;
       object-fit: cover;
}

  .user-panel .info {
    min-width: 0px;
    flex: 1 1 0%;
}

  .user-panel .info a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    text-decoration-line: none;
}

  .content {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 1.5rem;
}

  .content-header {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 0.75rem;
    padding-top: 1.5rem;
}

  .container-fluid {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 1600px;
}

  /* Navbar and navigation */
  .navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

  .navbar-nav {
    margin: 0px;
    display: flex;
    list-style-type: none;
    align-items: center;
    padding: 0px;
}

  .navbar-nav.ml-auto {
    margin-left: auto;
  }

  .nav {
    margin: 0px;
    list-style-type: none;
    padding: 0px;
}

  .nav-item {
    position: relative;
}

  .main-header .nav-link {
    display: inline-flex;
    min-height: 2.75rem;
    min-width: 2.75rem;
    align-items: center;
    border-radius: 0.5rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
    text-decoration-line: none;
}

  .main-header .nav-link:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(34 34 34 / var(--tw-text-opacity, 1));
}

  .system-switch-trigger {
    gap: 0.5rem;
}

  .system-switch-chevron {
    font-size: 0.65rem;
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

  .system-switch-menu {
    left: 0px;
    right: auto;
    min-width: 15rem;
}

  .system-switch-heading {
    display: block;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 0.25rem;
    padding-top: 0.5rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

  .system-switch-menu .dropdown-item.active {
    --tw-bg-opacity: 1;
    background-color: rgb(255 243 239 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(137 32 6 / var(--tw-text-opacity, 1));
}

  .system-switch-menu .dropdown-item.\!active {
    --tw-bg-opacity: 1;
    background-color: rgb(255 243 239 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(137 32 6 / var(--tw-text-opacity, 1));
}

  .note-notifications-trigger {
    position: relative;
    justify-content: center;
}

  .note-notifications-badge {
    position: absolute;
    right: 0.125rem;
    top: 0.125rem;
    display: inline-flex;
    min-height: 1.15rem;
    min-width: 1.15rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    border-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

  .note-notifications-menu {
    right: 0px;
    width: min(25rem,calc(100vw - 1rem));
    overflow: visible;
    padding: 0px;
}

  .note-notifications-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    border-bottom-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

  .note-notifications-header strong {
    display: block;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(17 35 55 / var(--tw-text-opacity, 1));
}

  .note-notifications-header span {
    margin-top: 0.125rem;
    display: block;
    font-size: 0.75rem;
    line-height: 1rem;
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

  .note-notifications-read-all {
    flex-shrink: 0;
    border-radius: 0.375rem;
    border-width: 0px;
    background-color: transparent;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 600;
    --tw-text-opacity: 1;
    color: rgb(167 34 0 / var(--tw-text-opacity, 1));
}

  .note-notifications-read-all:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 243 239 / var(--tw-bg-opacity, 1));
}

  .note-notifications-list {
    max-height: min(30rem,70vh);
    overflow-y: auto;
}

  .note-notification-item {
    position: relative;
    display: flex;
    gap: 0.75rem;
    border-bottom-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    text-align: left;
    text-decoration-line: none;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

  .note-notification-item:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

  .note-notification-item.is-unread {
    background-color: rgb(255 243 239 / 0.7);
}

  .note-notification-item.is-unread:hover {
    background-color: rgb(255 228 218 / 0.7);
}

  .note-notification-icon {
    margin-top: 0.125rem;
    display: inline-flex;
    height: 2.25rem;
    width: 2.25rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

  .note-notification-item.is-unread .note-notification-icon {
    --tw-bg-opacity: 1;
    background-color: rgb(255 228 218 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(167 34 0 / var(--tw-text-opacity, 1));
}

  .note-notification-content {
    min-width: 0px;
    flex: 1 1 0%;
}

  .note-notification-title,
  .note-notification-message,
  .note-notification-meta {
    display: block;
}

  .note-notification-title {
    padding-right: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

  .note-notification-message {
    margin-top: 0.25rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 0.75rem;
    line-height: 1rem;
    line-height: 1.625;
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

  .note-notification-meta {
    margin-top: 0.375rem;
    font-size: 0.68rem;
    line-height: 1.625;
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

  .note-notification-unread {
    position: absolute;
    right: 0.75rem;
    top: 1rem;
    height: 0.5rem;
    width: 0.5rem;
    border-radius: 9999px;
    --tw-bg-opacity: 1;
    background-color: rgb(200 41 0 / var(--tw-bg-opacity, 1));
}

  .note-notifications-status {
    display: flex;
    min-height: 7rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    text-align: center;
    font-size: 0.75rem;
    line-height: 1rem;
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

  .note-notifications-status i {
    margin-bottom: 0.25rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
}

  .note-notifications-status strong {
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

  .note-notifications-status.is-error {
    min-height: 4rem;
    --tw-bg-opacity: 1;
    background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

  .note-notification-toast {
    position: fixed;
    right: 1rem;
    top: 5rem;
    z-index: 1100;
    display: flex;
    max-width: calc(100vw - 2rem);
    align-items: center;
    gap: 0.75rem;
    border-radius: 0.75rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(255 197 179 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    text-align: left;
    --tw-text-opacity: 1;
    color: rgb(30 41 59 / var(--tw-text-opacity, 1));
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

  .note-notification-toast > i {
    font-size: 1.25rem;
    line-height: 1.75rem;
    --tw-text-opacity: 1;
    color: rgb(200 41 0 / var(--tw-text-opacity, 1));
}

  .note-notification-toast strong,
  .note-notification-toast small {
    display: block;
}

  .note-notification-toast strong {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

  .note-notification-toast small {
    margin-top: 0.125rem;
    font-size: 0.75rem;
    line-height: 1rem;
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

  .nav-sidebar > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

  .nav-sidebar .nav-link {
    display: flex;
    min-height: 2.75rem;
    width: 100%;
    align-items: center;
    gap: 0.75rem;
    border-radius: 0.5rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(226 232 240 / var(--tw-text-opacity, 1));
    text-decoration-line: none;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

  .nav-sidebar .nav-link:hover {
    background-color: rgb(255 255 255 / 0.1);
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

  .nav-sidebar .nav-link.active {
    --tw-bg-opacity: 1;
    background-color: rgb(200 41 0 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-shadow-color: rgb(113 31 11 / 0.2);
    --tw-shadow: var(--tw-shadow-colored);
}

  .nav-sidebar .nav-link.\!active {
    --tw-bg-opacity: 1;
    background-color: rgb(200 41 0 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-shadow-color: rgb(113 31 11 / 0.2);
    --tw-shadow: var(--tw-shadow-colored);
}

  .nav-sidebar .nav-link p {
    margin: 0px;
}

  .nav-icon {
    width: 1.25rem;
    flex-shrink: 0;
    text-align: center;
}

  .nav-header {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-bottom: 0.25rem;
    padding-top: 1.25rem;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

  /* Responsive grid compatibility while templates are server-rendered. */
  .\!row {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    display: flex;
    flex-wrap: wrap;
}
  .row,
  .form-row {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    display: flex;
    flex-wrap: wrap;
}

  .\!row > * {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

  .row > *,
  .form-row > * {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

  [class*="col-sm-"],
  [class*="col-md-"],
  [class*="col-lg-"],
  [class*="col-xl-"] {
    width: 100%;
}

  .col {
    min-width: 0px;
    flex: 1 1 0%;
}

  .col-auto {
    width: auto;
    flex: none;
}

  .col-1 { width: 8.333333%; }
  .col-3 { width: 25%; }
  .col-6 { width: 50%; }
  .col-8 { width: 66.666667%; }
  .col-12 { width: 100%; }

  @media (min-width: 640px) {
    .col-sm-2 { width: 16.666667%; }
    .col-sm-3 { width: 25%; }
    .col-sm-4 { width: 33.333333%; }
    .col-sm-5 { width: 41.666667%; }
    .col-sm-6 { width: 50%; }
    .col-sm-7 { width: 58.333333%; }
    .col-sm-8 { width: 66.666667%; }
    .col-sm-9 { width: 75%; }
    .col-sm-10 { width: 83.333333%; }
    .col-sm-12 { width: 100%; }
  }

  @media (min-width: 768px) {
    .col-md-2 { width: 16.666667%; }
    .col-md-3 { width: 25%; }
    .col-md-4 { width: 33.333333%; }
    .col-md-5 { width: 41.666667%; }
    .col-md-6 { width: 50%; }
    .col-md-7 { width: 58.333333%; }
    .col-md-8 { width: 66.666667%; }
    .col-md-9 { width: 75%; }
    .col-md-10 { width: 83.333333%; }
    .col-md-12 { width: 100%; }
  }

  @media (min-width: 1024px) {
    .col-lg-2 { width: 16.666667%; }
    .col-lg-3 { width: 25%; }
    .col-lg-4 { width: 33.333333%; }
    .col-lg-5 { width: 41.666667%; }
    .col-lg-6 { width: 50%; }
    .col-lg-7 { width: 58.333333%; }
    .col-lg-8 { width: 66.666667%; }
    .col-lg-9 { width: 75%; }
    .col-lg-10 { width: 83.333333%; }
    .col-lg-12 { width: 100%; }
  }

  @media (min-width: 1280px) {
    .col-xl-1 { width: 8.333333%; }
    .col-xl-2 { width: 16.666667%; }
    .col-xl-3 { width: 25%; }
    .col-xl-4 { width: 33.333333%; }
    .col-xl-5 { width: 41.666667%; }
    .col-xl-6 { width: 50%; }
    .col-xl-7 { width: 58.333333%; }
    .col-xl-8 { width: 66.666667%; }
    .col-xl-9 { width: 75%; }
    .col-xl-10 { width: 83.333333%; }
    .col-xl-12 { width: 100%; }
  }

  /* Cards */
  .card {
    margin-bottom: 1.25rem;
    overflow: hidden;
    border-radius: 0.875rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    --tw-shadow: 0 12px 36px rgba(17, 35, 55, 0.08);
    --tw-shadow-colored: 0 12px 36px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

  .card-header {
    display: flex;
    min-height: 3.5rem;
    align-items: center;
    border-bottom-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

  .card-body {
    padding: 1.25rem;
}

  .card-footer {
    border-top-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

  .card-title {
    margin: 0px;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(17 35 55 / var(--tw-text-opacity, 1));
}

  .card-outline {
    border-top-width: 2px;
    --tw-border-opacity: 1;
    border-top-color: rgb(232 51 0 / var(--tw-border-opacity, 1));
}

  /* Buttons */
  .btn {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 0.5rem;
    border-width: 1px;
    border-color: transparent;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    text-decoration-line: none;
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
  .btn:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
    --tw-ring-color: rgb(232 51 0 / 0.2);
}
  .btn:disabled {
    pointer-events: none;
    opacity: 0.6;
}

  .btn-sm {
    min-height: 2.75rem;
    min-width: 2.75rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.75rem;
    line-height: 1rem;
}

  .btn-lg,
  .form-control-lg {
    min-height: 3rem;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
}

  .btn-block {
    display: flex;
    width: 100%;
}

  .btn-primary {
    --tw-border-opacity: 1;
    border-color: rgb(200 41 0 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(200 41 0 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

  .btn-primary:hover {
    --tw-border-opacity: 1;
    border-color: rgb(167 34 0 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(167 34 0 / var(--tw-bg-opacity, 1));
}

  .btn-secondary {
    --tw-border-opacity: 1;
    border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

  .btn-secondary:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

  .btn-success {
    --tw-border-opacity: 1;
    border-color: rgb(4 120 87 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

  .btn-success:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(6 95 70 / var(--tw-bg-opacity, 1));
}

  .btn-danger {
    --tw-border-opacity: 1;
    border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

  .btn-danger:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
}

  .btn-warning {
    --tw-border-opacity: 1;
    border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(2 6 23 / var(--tw-text-opacity, 1));
}

  .btn-warning:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

  .btn-link {
    border-color: transparent;
    background-color: transparent;
    --tw-text-opacity: 1;
    color: rgb(167 34 0 / var(--tw-text-opacity, 1));
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

  .btn-link:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 243 239 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(137 32 6 / var(--tw-text-opacity, 1));
}

  .btn-outline-primary {
    --tw-border-opacity: 1;
    border-color: rgb(232 51 0 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(167 34 0 / var(--tw-text-opacity, 1));
}

  .btn-outline-primary:hover {
    --tw-border-opacity: 1;
    border-color: rgb(200 41 0 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 243 239 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(137 32 6 / var(--tw-text-opacity, 1));
}

  .btn-outline-secondary {
    --tw-border-opacity: 1;
    border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

  .btn-outline-secondary:hover {
    --tw-border-opacity: 1;
    border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

  .btn-outline-danger {
    --tw-border-opacity: 1;
    border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

  .btn-outline-danger:hover {
    --tw-border-opacity: 1;
    border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

  .btn-outline-success {
    --tw-border-opacity: 1;
    border-color: rgb(4 120 87 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}

  .btn-outline-success:hover {
    --tw-border-opacity: 1;
    border-color: rgb(6 95 70 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}

  .btn-outline-info {
    --tw-border-opacity: 1;
    border-color: rgb(14 116 144 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}

  .btn-outline-info:hover {
    --tw-border-opacity: 1;
    border-color: rgb(21 94 117 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(22 78 99 / var(--tw-text-opacity, 1));
}

  /* Forms */
  .form-group,
  .form-outline {
    margin-bottom: 1rem;
}

  .form-control,
  .custom-select {
    display: block;
    min-height: 2.75rem;
    width: 100%;
    border-radius: 0.5rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgb(30 41 59 / var(--tw-text-opacity, 1));
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    outline: 2px solid transparent;
    outline-offset: 2px;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

  .form-control::-moz-placeholder, .custom-select::-moz-placeholder {
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

  .form-control::placeholder,
  .custom-select::placeholder {
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

  .form-control:focus,
  .custom-select:focus {
    --tw-border-opacity: 1;
    border-color: rgb(232 51 0 / var(--tw-border-opacity, 1));
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
    --tw-ring-color: rgb(232 51 0 / 0.1);
}

  textarea.form-control {
    min-height: 6rem;
}

  .form-control-plaintext {
    display: block;
    min-height: 2.75rem;
    width: 100%;
    border-radius: 0.5rem;
    border-width: 1px;
    border-color: transparent;
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

  .form-text {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    line-height: 1rem;
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

  .form-check {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    gap: 0.5rem;
}

  .form-check-input {
    height: 1rem;
    width: 1rem;
    border-radius: 0.25rem;
    --tw-border-opacity: 1;
    border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(232 51 0 / var(--tw-text-opacity, 1));
}

  .form-check-input:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(232 51 0 / var(--tw-ring-opacity, 1));
}

  input[type="radio"].form-check-input {
    border-radius: 9999px;
}

  .form-check-label {
    margin-bottom: 0px;
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

  .custom-file {
    position: relative;
    display: block;
    min-height: 2.75rem;
    width: 100%;
}

  .custom-file-input {
    position: absolute;
    inset: 0px;
    z-index: 10;
    height: 100%;
    width: 100%;
    cursor: pointer;
    opacity: 0;
}

  .custom-file-label {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    border-radius: 0.5rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-left: 0.75rem;
    padding-right: 6rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

  .custom-file-label::after {
    content: attr(data-browse);
    position: absolute;
    bottom: 0px;
    right: 0px;
    top: 0px;
    display: flex;
    align-items: center;
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
    border-left-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    font-weight: 600;
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity, 1));
  }

  .invalid-feedback {
    margin-top: 0.25rem;
    display: none;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 600;
    --tw-text-opacity: 1;
    color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

  .invalid-feedback.d-block,
  .invalid-feedback.d-flex {
    display: block;
}

  .is-invalid {
    --tw-border-opacity: 1;
    border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

  .is-invalid:focus {
    --tw-border-opacity: 1;
    border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
    --tw-ring-color: rgb(239 68 68 / 0.1);
}

  /* Tables */
  .table-responsive {
    width: 100%;
    overflow-x: auto;
}

  .table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

  .table th,
  .table td {
    border-bottom-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    vertical-align: middle;
}

  .table-striped tbody tr:nth-child(even) {
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

  .table-hover tbody tr:hover {
    background-color: rgb(255 243 239 / 0.5);
}

  /* Feedback and utility components */
  .alert {
    margin-bottom: 1rem;
    border-radius: 0.75rem;
    border-width: 1px;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

  .alert-dismissible {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

  .navbar-nav.alert-dismissible .close {
    margin-left: auto;
  }

  .alert-dismissible .close {
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
    margin-right: -0.5rem;
    margin-left: auto;
    flex-shrink: 0;
}

  .alert-success {
    --tw-border-opacity: 1;
    border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}

  .alert-danger {
    --tw-border-opacity: 1;
    border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}

  .alert-warning {
    --tw-border-opacity: 1;
    border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}

  .alert-info {
    --tw-border-opacity: 1;
    border-color: rgb(165 243 252 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(8 51 68 / var(--tw-text-opacity, 1));
}

  .badge {
    display: inline-flex;
    border-radius: 9999px;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 700;
}
  .badge-secondary {
    --tw-bg-opacity: 1;
    background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
  .badge-success {
    --tw-bg-opacity: 1;
    background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}
  .badge-danger {
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
  .badge-info {
    --tw-bg-opacity: 1;
    background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(22 78 99 / var(--tw-text-opacity, 1));
}

  .breadcrumb {
    margin: 0px;
    display: flex;
    list-style-type: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    background-color: transparent;
    padding: 0px;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

  .breadcrumb-item {
    color: #526277;
  }

  .breadcrumb-item + .breadcrumb-item::before {
    content: "/";
    margin-right: 0.5rem;
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
  }

  .breadcrumb-item a {
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(167 34 0 / var(--tw-text-opacity, 1));
    text-decoration-line: none;
}

  .breadcrumb-item a:hover {
    text-decoration-line: underline;
}

  .list-group {
    margin: 0px;
    list-style-type: none;
}

  .list-group > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
    --tw-divide-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-divide-opacity, 1));
}

  .list-group {
    padding: 0px;
}

  .list-group-item {
    display: block;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity, 1));
    text-decoration-line: none;
}

  .list-group-item-action:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(167 34 0 / var(--tw-text-opacity, 1));
}

  /* Native lightweight interactive components (handled by ui.js). */
  .dropdown-menu {
    position: absolute;
    right: 0px;
    z-index: 50;
    margin-top: 0.5rem;
    display: none;
    min-width: 13rem;
    overflow: hidden;
    border-radius: 0.75rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

  .dropdown-menu.show {
    display: block;
}

  .dropdown-item {
    display: flex;
    min-height: 2.75rem;
    width: 100%;
    align-items: center;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: left;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity, 1));
    text-decoration-line: none;
}

  .dropdown-item:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(167 34 0 / var(--tw-text-opacity, 1));
}

  .dropdown-divider {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
    border-top-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}

  .collapse {
    display: none;
}

  .collapse.show {
    display: block;
}

  .\!modal {
    position: fixed;
    inset: 0px;
    z-index: 1050;
    display: none;
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    background-color: rgb(2 6 23 / 0.55);
    padding: 1rem;
    --tw-backdrop-blur: blur(4px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

  .modal {
    position: fixed;
    inset: 0px;
    z-index: 1050;
    display: none;
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    background-color: rgb(2 6 23 / 0.55);
    padding: 1rem;
    --tw-backdrop-blur: blur(4px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

  .\!modal.show {
    display: flex;
}

  .modal.show {
    display: flex;
}

  .modal-dialog {
    margin-top: auto;
    margin-bottom: auto;
    width: 100%;
    max-width: 32rem;
}

  .modal-content {
    overflow: hidden;
    border-radius: 1rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

  .modal-header,
  .modal-footer {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

  .modal-header {
    border-bottom-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}

  .modal-footer {
    justify-content: flex-end;
    border-top-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}

  .modal-title {
    margin: 0px;
    flex: 1 1 0%;
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(17 35 55 / var(--tw-text-opacity, 1));
}

  .modal-body {
    padding: 1.25rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

  .close {
    display: inline-flex;
    height: 2.75rem;
    width: 2.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    border-width: 0px;
    background-color: transparent;
    font-size: 1.5rem;
    line-height: 2rem;
    line-height: 1;
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

  .close:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

  /* DataTables without the Bootstrap presentation adapter. */

  .dt-container .dt-search,
  .dt-container .dt-length {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

  .navbar-nav.dt-container .dt-search {
    margin-left: auto;
  }

  .dt-container .dt-search {
    margin-left: auto;
    width: 100%;
    justify-content: flex-end;
}

  @media (min-width: 768px) {
    .dt-container .dt-search {
        width: auto;
    }
}

  .dt-container .dt-search label {
    flex-shrink: 0;
    white-space: nowrap;
}

  .dt-container .dt-search input.dt-input {
    margin-left: 0px;
    width: 100%;
    min-width: 0px;
}

  @media (min-width: 640px) {
    .dt-container .dt-search input.dt-input {
        min-width: 20rem;
    }
}

  @media (min-width: 768px) {
    .dt-container .dt-search input.dt-input {
        width: 28rem;
    }
}

  .dt-container .dt-paging-button.current {
    --tw-border-opacity: 1;
    border-color: rgb(232 51 0 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(232 51 0 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

  .dt-container .dt-paging-button.disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

  .table-actions {
    display: flex;
    min-width: -moz-max-content;
    min-width: max-content;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.375rem;
    white-space: nowrap;
}

  .table-actions .btn {
    height: 2.75rem;
    min-height: 2.75rem;
    width: 2.75rem;
    min-width: 2.75rem;
    flex: none;
    padding: 0px;
}

  .table-actions .btn i {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

  /* CursosAdmin nativo. */
  .cursosadmin-sidebar .nav-header {
    margin-top: 0.75rem;
    white-space: normal;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

  .cursosadmin-sidebar .nav-link {
    min-height: 2.5rem;
}

  .cursosadmin-sidebar .nav-link p {
    white-space: normal;
    font-size: 0.875rem;
    line-height: 1.25rem;
    line-height: 1.25;
}

  .native-filter-form label,
  .native-save-form label {
    margin-bottom: 0.25rem;
    display: block;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

  .native-data-table {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

  .native-data-table th {
    white-space: nowrap;
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
    font-size: 0.75rem;
    line-height: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

  .native-data-table td {
    max-width: 24rem;
    vertical-align: middle;
}

  .native-cell-text {
    display: block;
    max-width: 24rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

  .native-compact-column {
    width: 1px;
    white-space: nowrap;
}

  .native-actions-column {
    width: 1px;
    white-space: nowrap;
}

  .native-detail-list dt {
    border-bottom-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

  .native-detail-list dd {
    overflow-wrap: break-word;
    border-bottom-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    --tw-text-opacity: 1;
    color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

  .native-tabs-card {
    position: sticky;
    top: 4rem;
    z-index: 20;
}

  .native-tabs {
    gap: 0.25rem;
    overflow-x: auto;
}

  .native-tabs .nav-link {
    flex: none;
    white-space: nowrap;
}

  .native-metric-text {
    font-size: 1.25rem;
    line-height: 1.75rem;
}

  .native-assistant-option {
    height: 100%;
    border-radius: 0.75rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
    padding: 0.75rem;
}

  .native-inline-form td {
    --tw-bg-opacity: 1;
    background-color: rgb(255 243 239 / var(--tw-bg-opacity, 1));
    padding: 1rem;
}

  tr.native-inline-form.collapse.show {
    display: table-row !important;
  }

  .native-alternatives {
    margin: 0px;
}

  .native-alternatives > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

  .native-alternatives {
    padding-left: 1.5rem;
}

  .native-multiselect {
    min-height: 11rem;
}

  /* Common legacy utility aliases. */
  .d-none {
    display: none;
}
  .d-block {
    display: block;
}
  .d-inline {
    display: inline;
}
  .d-inline-block {
    display: inline-block;
}
  .d-flex {
    display: flex;
}
  .d-inline-flex {
    display: inline-flex;
}
  .flex-column {
    flex-direction: column;
}
  .flex-grow-1 {
    flex-grow: 1;
}
  .align-items-start {
    align-items: flex-start;
}
  .align-items-center {
    align-items: center;
}
  .align-items-end {
    align-items: flex-end;
}
  .align-self-end {
    align-self: flex-end;
}
  .justify-content-start {
    justify-content: flex-start;
}
  .justify-content-center {
    justify-content: center;
}
  .justify-content-end {
    justify-content: flex-end;
}
  .justify-content-between {
    justify-content: space-between;
}
  .text-uppercase {
    text-transform: uppercase;
}
  .text-dark {
    --tw-text-opacity: 1;
    color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
  .text-muted {
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
  .text-success {
    --tw-text-opacity: 1;
    color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
  .text-danger {
    --tw-text-opacity: 1;
    color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
  .text-warning {
    --tw-text-opacity: 1;
    color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
  .font-weight-normal {
    font-weight: 400;
}
  .font-weight-bold {
    font-weight: 700;
}
  .small, small {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
  .h1 {
    font-size: 2.25rem;
    line-height: 2.5rem;
    font-weight: 700;
}
  .h2 {
    font-size: 1.875rem;
    line-height: 2.25rem;
    font-weight: 700;
}
  .h3 {
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
}
  .h4 {
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 700;
}
  .h5 {
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 700;
}
  .h6 {
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
}
  .h-100 {
    height: 100%;
}
  .rounded-circle,
  .img-circle {
    border-radius: 9999px;
}
  .img-fluid {
    height: auto;
    max-width: 100%;
}
  .img-thumbnail {
    border-radius: 0.75rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding: 0.25rem;
}
  .bg-light {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
  .bg-primary {
    --tw-bg-opacity: 1;
    background-color: rgb(232 51 0 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
  .bg-success {
    --tw-bg-opacity: 1;
    background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
  .bg-danger {
    --tw-bg-opacity: 1;
    background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
  .bg-warning {
    --tw-bg-opacity: 1;
    background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(2 6 23 / var(--tw-text-opacity, 1));
}
  .bg-info {
    --tw-bg-opacity: 1;
    background-color: rgb(21 94 117 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
  .navbar-nav.float-right,.navbar-nav
  .float-sm-right {
    margin-left: auto;
  }
  .float-right,
  .float-sm-right {
    margin-left: auto;
}
  .sr-only {
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
    white-space: nowrap;
    padding: 0px;
    clip: rect(0, 0, 0, 0);
    border-width: 0;
    margin: -1px;
}

  @media (min-width: 640px) {
    .d-sm-none {
        display: none;
    }
    .d-sm-block {
        display: block;
    }
    .d-sm-inline {
        display: inline;
    }
    .d-sm-flex {
        display: flex;
    }
    .text-sm-right {
        text-align: right;
    }
  }

  @media (min-width: 768px) {
    .d-md-none {
        display: none;
    }
    .d-md-block {
        display: block;
    }
    .d-md-flex {
        display: flex;
    }
  }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.\!visible {
    visibility: visible !important;
}
.visible {
    visibility: visible;
}
.collapse {
    visibility: collapse;
}
.static {
    position: static;
}
.fixed {
    position: fixed;
}
.absolute {
    position: absolute;
}
.relative {
    position: relative;
}
.sticky {
    position: sticky;
}
.left-5 {
    left: 1.25rem;
}
.col-auto {
    grid-column: auto;
}
.float-right {
    float: right;
}
.m-0 {
    margin: 0px;
}
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.my-8 {
    margin-top: 2rem;
    margin-bottom: 2rem;
}
.my-auto {
    margin-top: auto;
    margin-bottom: auto;
}
.mb-0 {
    margin-bottom: 0px;
}
.mb-1 {
    margin-bottom: 0.25rem;
}
.mb-2 {
    margin-bottom: 0.5rem;
}
.mb-3 {
    margin-bottom: 0.75rem;
}
.mb-4 {
    margin-bottom: 1rem;
}
.mb-6 {
    margin-bottom: 1.5rem;
}
.mb-8 {
    margin-bottom: 2rem;
}
.ml-1 {
    margin-left: 0.25rem;
}
.ml-2 {
    margin-left: 0.5rem;
}
.ml-auto {
    margin-left: auto;
}
.mr-1 {
    margin-right: 0.25rem;
}
.mr-2 {
    margin-right: 0.5rem;
}
.mr-3 {
    margin-right: 0.75rem;
}
.mr-4 {
    margin-right: 1rem;
}
.mr-auto {
    margin-right: auto;
}
.mt-1 {
    margin-top: 0.25rem;
}
.mt-2 {
    margin-top: 0.5rem;
}
.mt-3 {
    margin-top: 0.75rem;
}
.mt-auto {
    margin-top: auto;
}
.block {
    display: block;
}
.inline-block {
    display: inline-block;
}
.inline {
    display: inline;
}
.flex {
    display: flex;
}
.table {
    display: table;
}
.grid {
    display: grid;
}
.contents {
    display: contents;
}
.hidden {
    display: none;
}
.h-auto {
    height: auto;
}
.w-48 {
    width: 12rem;
}
.w-full {
    width: 100%;
}
.max-w-3xl {
    max-width: 48rem;
}
.max-w-xl {
    max-width: 36rem;
}
.shrink {
    flex-shrink: 1;
}
.grow {
    flex-grow: 1;
}
.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.resize {
    resize: both;
}
.flex-wrap {
    flex-wrap: wrap;
}
.flex-nowrap {
    flex-wrap: nowrap;
}
.items-center {
    align-items: center;
}
.gap-2 {
    gap: 0.5rem;
}
.gap-3 {
    gap: 0.75rem;
}
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.text-nowrap {
    text-wrap: nowrap;
}
.rounded {
    border-radius: 0.25rem;
}
.rounded-2xl {
    border-radius: 1rem;
}
.rounded-lg {
    border-radius: 0.5rem;
}
.border {
    border-width: 1px;
}
.border-0 {
    border-width: 0px;
}
.border-slate-200 {
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.bg-cides-ink {
    --tw-bg-opacity: 1;
    background-color: rgb(34 34 34 / var(--tw-bg-opacity, 1));
}
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.p-0 {
    padding: 0px;
}
.p-1 {
    padding: 0.25rem;
}
.p-2 {
    padding: 0.5rem;
}
.p-3 {
    padding: 0.75rem;
}
.p-8 {
    padding: 2rem;
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.pb-3 {
    padding-bottom: 0.75rem;
}
.pb-4 {
    padding-bottom: 1rem;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.text-6xl {
    font-size: 3.75rem;
    line-height: 1;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.font-black {
    font-weight: 900;
}
.font-bold {
    font-weight: 700;
}
.lowercase {
    text-transform: lowercase;
}
.italic {
    font-style: italic;
}
.ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.text-black {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-cides-500 {
    --tw-text-opacity: 1;
    color: rgb(232 51 0 / var(--tw-text-opacity, 1));
}
.text-cides-navy {
    --tw-text-opacity: 1;
    color: rgb(17 35 55 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.underline {
    text-decoration-line: underline;
}
.shadow {
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-panel {
    --tw-shadow: 0 12px 36px rgba(17, 35, 55, 0.08);
    --tw-shadow-colored: 0 12px 36px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline {
    outline-style: solid;
}
.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);
}
.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, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
