@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700&display=swap');

/* Select2 — match Velzon form controls */
.select2-container--bootstrap-5 .select2-selection {
    min-height: calc(1.5em + 0.94rem + 2px);
    font-size: 0.875rem;
}
.form-select-sm + .select2-container--bootstrap-5 .select2-selection {
    min-height: calc(1.5em + 0.5rem + 2px);
    font-size: 0.8125rem;
}
:root {
    --tp-sage: #5c6b52;
    --tp-sage-dark: #4a5742;
    --tp-sage-light: #7a8a6e;
    --tp-taupe: #9a8570;
    --tp-taupe-dark: #7d6b58;
    --tp-cream: #f2f0ed;
    --tp-cream-dark: #e8e4df;
    --tp-text: #4a5742;
    --tp-text-muted: #8a8178;

    /* Override Velzon theme */
    --vz-primary: #5c6b52;
    --vz-primary-rgb: 92, 107, 82;
    --vz-primary-text-emphasis: #4a5742;
    --vz-primary-bg-subtle: #e8ebe5;
    --vz-primary-border-subtle: #c5cdc0;

    --vz-success: #5c6b52;
    --vz-success-rgb: 92, 107, 82;
    --vz-success-text-emphasis: #4a5742;
    --vz-success-bg-subtle: #e8ebe5;
    --vz-success-border-subtle: #c5cdc0;

    --vz-secondary: #9a8570;
    --vz-secondary-rgb: 154, 133, 112;

    --vz-link-color: #5c6b52;
    --vz-link-hover-color: #4a5742;

    --vz-body-bg: #f2f0ed;
    --vz-body-color: #4a5742;

    --vz-vertical-menu-bg: #9a8570;
    --vz-vertical-menu-item-color: rgba(255, 255, 255, 0.78);
    --vz-vertical-menu-item-hover-color: #fff;
    --vz-vertical-menu-item-active-color: #fff;
    --vz-vertical-menu-item-active-bg: rgba(255, 255, 255, 0.12);
    --vz-vertical-menu-sub-item-color: rgba(255, 255, 255, 0.78);
    --vz-vertical-menu-sub-item-hover-color: #fff;
    --vz-vertical-menu-sub-item-active-color: #fff;
    --vz-vertical-menu-title-color: rgba(255, 255, 255, 0.45);
    --vz-vertical-menu-border: rgba(255, 255, 255, 0.08);
    --vz-sidebar-user-bg: rgba(255, 255, 255, 0.08);
    --vz-sidebar-user-name-text: #fff;
    --vz-sidebar-user-name-sub-text: rgba(255, 255, 255, 0.65);
    --vz-header-bg: #f2f0ed;
    --vz-header-item-color: #4a5742;
    --vz-header-item-sub-color: #8a8178;
    --vz-footer-bg: #f2f0ed;
    --vz-footer-color: #8a8178;
    --vz-card-bg: #fff;
}

body,
h1, h2, h3, h4, h5, h6,
.btn, .form-control, .form-select, .form-label,
.nav-link, .dropdown-item, .table {
    font-family: 'Prompt', sans-serif !important;
}

body {
    background-color: var(--tp-cream) !important;
    color: var(--tp-text) !important;
}

.page-content {
    background-color: var(--tp-cream);
}

.card {
    border: none;
    box-shadow: 0 1px 4px rgba(74, 87, 66, 0.06);
}

.table-light {
    --bs-table-bg: var(--tp-cream-dark);
    --bs-table-color: var(--tp-text);
}

.brand-text {
    font-family: 'Prompt', sans-serif;
    font-weight: 600;
    font-size: 1.15rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.2;
}

.brand-text-sm {
    font-size: 0.85rem;
    letter-spacing: 0.1em;
}

.logo.logo-dark .brand-text { color: var(--tp-sage); }
.logo.logo-light .brand-text { color: #fff; }

/* Sidebar — taupe + white menu text (override Velzon blue) */
[data-sidebar=dark] {
    --vz-vertical-menu-bg: var(--tp-taupe);
    --vz-vertical-menu-border: var(--tp-taupe);
    --vz-vertical-menu-item-color: rgba(255, 255, 255, 0.78);
    --vz-vertical-menu-item-hover-color: #fff;
    --vz-vertical-menu-item-active-color: #fff;
    --vz-vertical-menu-sub-item-color: rgba(255, 255, 255, 0.78);
    --vz-vertical-menu-sub-item-hover-color: #fff;
    --vz-vertical-menu-sub-item-active-color: #fff;
    --vz-vertical-menu-title-color: rgba(255, 255, 255, 0.45);
}

.navbar-menu {
    background-color: var(--tp-taupe) !important;
    border-right: none;
}

.navbar-menu .navbar-nav .nav-link,
.navbar-menu .menu-dropdown .nav-link {
    color: rgba(255, 255, 255, 0.78) !important;
}

.navbar-menu .navbar-nav .nav-link.active,
.navbar-menu .navbar-nav .nav-link:hover,
.navbar-menu .menu-dropdown .nav-link.active,
.navbar-menu .menu-dropdown .nav-link:hover {
    color: #fff !important;
}

.navbar-menu .menu-title span {
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.7rem;
}

.navbar-brand-box {
    background: var(--tp-taupe-dark);
}

/* Buttons */
.btn-primary {
    background-color: var(--tp-sage);
    border-color: var(--tp-sage);
}
.btn-primary:hover, .btn-primary:focus {
    background-color: var(--tp-sage-dark);
    border-color: var(--tp-sage-dark);
}

.btn-success {
    background-color: var(--tp-sage);
    border-color: var(--tp-sage);
}
.btn-success:hover, .btn-success:focus {
    background-color: var(--tp-sage-dark);
    border-color: var(--tp-sage-dark);
}

.btn-soft-success {
    color: var(--tp-sage);
    background-color: var(--vz-success-bg-subtle);
}

.btn-soft-primary {
    color: var(--tp-sage);
    background-color: var(--vz-primary-bg-subtle);
}

.btn-info {
    background-color: var(--tp-taupe);
    border-color: var(--tp-taupe);
    color: #fff;
}
.btn-info:hover, .btn-info:focus {
    background-color: var(--tp-taupe-dark);
    border-color: var(--tp-taupe-dark);
    color: #fff;
}

.text-primary {
    color: var(--tp-sage) !important;
}

.bg-primary-subtle {
    background-color: var(--vz-primary-bg-subtle) !important;
}

.text-primary-subtle,
.badge.bg-primary-subtle {
    color: var(--tp-sage) !important;
}

a {
    color: var(--tp-sage);
}
a:hover {
    color: var(--tp-sage-dark);
}

.breadcrumb-item a {
    color: var(--tp-sage);
}

.page-title-box h4 {
    color: var(--tp-text);
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* Topbar */
#page-topbar {
    background-color: var(--tp-cream) !important;
    border-bottom: 1px solid var(--tp-cream-dark);
}

.avatar-title.bg-primary-subtle {
    background-color: var(--vz-primary-bg-subtle) !important;
    color: var(--tp-sage) !important;
}

/* Form focus */
.form-control:focus,
.form-select:focus {
    border-color: var(--tp-sage-light);
    box-shadow: 0 0 0 0.2rem rgba(92, 107, 82, 0.15);
}

.form-check-input:checked {
    background-color: var(--tp-sage);
    border-color: var(--tp-sage);
}

/* Auth pages */
.auth-one-bg {
    background-image: none !important;
    background-color: var(--tp-taupe) !important;
}

.auth-page-wrapper .auth-page-content {
    background-color: var(--tp-cream);
}

/* SweetAlert brand colors */
.swal2-styled.swal2-confirm {
    background-color: var(--tp-sage) !important;
}
.swal2-icon.swal2-warning {
    border-color: var(--tp-taupe) !important;
    color: var(--tp-taupe) !important;
}
.swal2-icon.swal2-question {
    border-color: var(--tp-sage-light) !important;
    color: var(--tp-sage) !important;
}

.sortable-ghost {
    opacity: 0.4;
    background: var(--tp-cream-dark) !important;
}

.drag-handle {
    cursor: grab;
    color: var(--tp-text-muted);
}

.drag-handle:active {
    cursor: grabbing;
}

.option-row .btn-remove-option {
    flex-shrink: 0;
}

#back-to-top {
    background-color: var(--tp-sage) !important;
    border-color: var(--tp-sage) !important;
}
