:root {
    --theme-ink: #0f1a2e;
    --theme-muted: #6b7280;
    --theme-surface: #ffffff;
    --theme-canvas: #f0f9ff;
    --theme-line: #e0f2fe;
    --theme-blue: #0284c7;
    --theme-blue-dark: #075985;
    --theme-navy: #0f1a2e;
    --theme-gradient: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 45%, #2563eb 100%);
    --theme-shadow: 0 12px 34px rgba(14, 165, 233, .1);
    --navy: #0f1a2e;
    --navy-light: #075985;
    --gold: #38bdf8;
    --light-bg: #f0f9ff;
    --text: #0f1a2e;
    --muted: #6b7280;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 88px;
}

body {
    color: var(--theme-ink);
    background-color: var(--theme-canvas);
    font-family: "Poppins", "Segoe UI", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

a {
    transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,
textarea,
.form-control,
.form-select {
    border-color: #d5e7f3;
    border-radius: 10px;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus {
    border-color: #38bdf8;
    box-shadow: 0 0 0 4px rgba(14, 165, 233, .13);
}

button,
.btn,
input[type="submit"],
input[type="button"] {
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.btn-primary,
.btn-success,
.btn-dark,
.search-btn,
.login-btn,
.register-btn {
    border-color: transparent;
    color: #fff;
    background: var(--theme-gradient);
}

.btn-primary:hover,
.btn-success:hover,
.btn-dark:hover,
.search-btn:hover,
.login-btn:hover,
.register-btn:hover {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(135deg, #0ea5e9 0%, #075985 100%);
    box-shadow: 0 8px 22px rgba(14, 165, 233, .22);
    transform: translateY(-1px);
}

.sidebar {
    color: #fff;
    background: linear-gradient(180deg, #0f1a2e, #075985);
    box-shadow: 8px 0 28px rgba(15, 26, 46, .1);
}

.brand-icon,
.logo-mark {
    color: #075985;
    background-color: #7dd3fc;
}

.sidebar-logo span {
    color: #7dd3fc;
}

.sidebar a:hover,
.sidebar a.active,
.sidebar-nav a:hover,
.sidebar-nav a.active {
    border-color: rgba(56, 189, 248, .48);
    color: #fff;
    background: rgba(56, 189, 248, .17);
}

.sidebar .logout,
.sidebar .logout-link {
    color: #bae6fd;
}

.main-content {
    min-height: 100vh;
    background-color: #f6fbff;
}

.topbar,
.top-header,
.page-header,
.content-box,
.content-card,
.dashboard-card,
.stat-card,
.menu-card,
.card,
.table-responsive {
    border-color: var(--theme-line);
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(14, 165, 233, .07);
}

.topbar,
.top-header,
.page-header {
    background-color: rgba(255, 255, 255, .92);
}

.topbar h1,
.topbar h2,
.top-header h1,
.page-title,
.section-title {
    color: var(--theme-ink);
    font-family: inherit;
}

.stat-icon,
.brand-icon {
    border-radius: 14px;
    color: var(--theme-blue-dark);
    background-color: #e0f2fe;
}

.stat-number,
.stat-card h2,
.stat-card h3 {
    color: var(--theme-blue-dark);
}

.menu-card:hover,
.stat-card:hover,
.card:hover {
    border-color: #bae6fd;
    box-shadow: 0 16px 38px rgba(14, 165, 233, .13);
}

table {
    --bs-table-bg: transparent;
    color: var(--theme-ink);
}

table thead th {
    color: #075985;
    background-color: #f0f9ff;
}

table td,
table th {
    border-color: #e5f1f8;
}

.alert {
    border-radius: 12px;
}

.login-wrapper,
.register-wrapper {
    border: 1px solid rgba(186, 230, 253, .7);
    box-shadow: 0 24px 70px rgba(14, 70, 110, .2);
}

.login-info,
.register-info,
.login-left,
.register-left {
    background: linear-gradient(145deg, #0f1a2e, #075985);
}

.login-info::before,
.register-info::before {
    background: rgba(56, 189, 248, .13);
}

.login-info h2 span,
.register-info h2 span,
.login-info .feature-item i,
.register-info .feature-item i,
.login-info .brand-icon,
.register-info .brand-icon {
    color: #38bdf8;
}

.login-info .brand-icon,
.register-info .brand-icon {
    background-color: #e0f2fe;
}

.login-info a,
.register-info a {
    color: #0284c7;
}

.navbar-brand span,
.nav-link:hover,
.nav-link.active,
.header-content h1 span,
footer strong {
    color: #38bdf8 !important;
}

.marketplace-header {
    background: linear-gradient(135deg, #0f1a2e, #075985) !important;
}

.featured-badge {
    color: #075985;
    background: #7dd3fc;
}

.property-chatbot {
    font-family: inherit;
}

@media (max-width: 767.98px) {
    .sidebar {
        max-width: min(86vw, 290px);
    }

    .main-content {
        margin-left: 0;
        padding-right: 16px;
        padding-left: 16px;
    }

    .topbar,
    .top-header,
    .page-header {
        padding-right: 16px;
        padding-left: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}
