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

:root {
    --admin-font-body: "Poppins", sans-serif;
    --admin-font-heading: "Poppins", sans-serif;
}

body.admin-theme-light,
body.admin-theme-dark {
    --bs-font-sans-serif: "Poppins", sans-serif;
    --bs-body-font-family: "Poppins", sans-serif;
    font-family: var(--admin-font-body);
}

/* Force admin typography to Poppins across legacy template selectors. */
body.admin-theme-light *:not(.mdi):not([class^="mdi-"]):not([class*=" mdi-"]):not(.ti):not([class^="ti-"]):not([class*=" ti-"]):not(.fa):not([class^="fa-"]):not([class*=" fa-"]),
body.admin-theme-dark *:not(.mdi):not([class^="mdi-"]):not([class*=" mdi-"]):not(.ti):not([class^="ti-"]):not([class*=" ti-"]):not(.fa):not([class^="fa-"]):not([class*=" fa-"]) {
    font-family: var(--admin-font-body) !important;
}

body.admin-theme-light h1,
body.admin-theme-light h2,
body.admin-theme-light h3,
body.admin-theme-light h4,
body.admin-theme-light h5,
body.admin-theme-light h6,
body.admin-theme-dark h1,
body.admin-theme-dark h2,
body.admin-theme-dark h3,
body.admin-theme-dark h4,
body.admin-theme-dark h5,
body.admin-theme-dark h6,
body.admin-theme-light .page-title,
body.admin-theme-dark .page-title {
    font-family: var(--admin-font-heading);
    letter-spacing: -0.01em;
}

body.admin-theme-light .navbar-brand,
body.admin-theme-dark .navbar-brand {
    font-family: var(--admin-font-heading);
}

.admin-theme-toggle {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f172a;
    border-radius: 999px;
    padding: 0.4rem 0.85rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

.admin-theme-toggle:hover {
    background: #f8fafc;
    border-color: #94a3b8;
}

.task-form-select {
    min-height: 42px;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 600;
}

.task-form-select:focus {
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.22);
}

body.admin-theme-light {
    background: #f8fafc;
    color: #0f172a;
}

body.admin-theme-light .container-scroller,
body.admin-theme-light .container-fluid.page-body-wrapper,
body.admin-theme-light .main-panel,
body.admin-theme-light .content-wrapper {
    background: #f8fafc !important;
    color: #0f172a;
}

body.admin-theme-light .navbar.default-layout-navbar,
body.admin-theme-light .navbar .navbar-brand-wrapper,
body.admin-theme-light .navbar .navbar-menu-wrapper {
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0;
}

body.admin-theme-light .navbar .nav-profile-text p,
body.admin-theme-light .navbar .nav-profile-text span {
    color: #0f172a !important;
}

body.admin-theme-light .sidebar {
    background: #ffffff !important;
    border-right: 1px solid #e2e8f0;
}

body.admin-theme-light .sidebar .nav .nav-item .nav-link {
    color: #334155;
}

body.admin-theme-light .sidebar .nav .nav-item .menu-icon {
    color: #64748b;
}

body.admin-theme-light .sidebar .nav .nav-item.active > .nav-link,
body.admin-theme-light .sidebar .nav .nav-item .nav-link:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
}

body.admin-theme-light .card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #0f172a;
}

body.admin-theme-light .table > :not(caption) > * > * {
    background-color: #ffffff;
    border-color: #e2e8f0;
}

body.admin-theme-light .table thead th {
    background: #f8fafc;
    color: #0f172a;
}

body.admin-theme-light .form-control,
body.admin-theme-light .form-select,
body.admin-theme-light textarea {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #0f172a;
}

body.admin-theme-light .task-form-select {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #0f172a;
}

body.admin-theme-light .footer {
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

body.admin-theme-dark {
    background: #0b1220;
    color: #e2e8f0;
}

body.admin-theme-dark .container-scroller,
body.admin-theme-dark .container-fluid.page-body-wrapper,
body.admin-theme-dark .main-panel,
body.admin-theme-dark .content-wrapper {
    background: #0f172a !important;
    color: #e2e8f0;
}

body.admin-theme-dark .navbar.default-layout-navbar,
body.admin-theme-dark .navbar .navbar-brand-wrapper,
body.admin-theme-dark .navbar .navbar-menu-wrapper {
    background: #111827 !important;
    border-bottom: 1px solid #1f2937;
}

body.admin-theme-dark .navbar .nav-profile-text p,
body.admin-theme-dark .navbar .nav-profile-text span {
    color: #e5e7eb !important;
}

body.admin-theme-dark .sidebar {
    background: #0b1220 !important;
    border-right: 1px solid #1f2937;
}

body.admin-theme-dark .sidebar .nav .nav-item .nav-link {
    color: #cbd5e1;
}

body.admin-theme-dark .sidebar .nav .nav-item .menu-icon {
    color: #94a3b8;
}

body.admin-theme-dark .sidebar .nav .nav-item.active > .nav-link,
body.admin-theme-dark .sidebar .nav .nav-item .nav-link:hover {
    background: #1e293b !important;
    color: #ffffff !important;
}

body.admin-theme-dark .sidebar .nav.sub-menu,
body.admin-theme-dark .sidebar .nav .sub-menu {
    background: #0f172a !important;
}

body.admin-theme-dark .sidebar .nav .sub-menu .nav-link {
    color: #94a3b8 !important;
}

body.admin-theme-dark .sidebar .nav .sub-menu .nav-link:hover {
    color: #ffffff !important;
}

body.admin-theme-dark .card {
    background: #111827;
    border: 1px solid #334155;
    color: #e2e8f0;
}

body.admin-theme-dark .card .card-body,
body.admin-theme-dark .card .card-title,
body.admin-theme-dark .page-title,
body.admin-theme-dark .form-label,
body.admin-theme-dark .text-muted {
    color: #cbd5e1 !important;
}

body.admin-theme-dark .table {
    color: #e2e8f0;
}

body.admin-theme-dark .table > :not(caption) > * > * {
    background-color: #111827;
    border-color: #334155;
}

body.admin-theme-dark .table thead th {
    background: #0b1220;
    color: #f1f5f9;
}

body.admin-theme-dark .form-control,
body.admin-theme-dark .form-select,
body.admin-theme-dark textarea {
    background: #0b1220;
    border-color: #334155;
    color: #e2e8f0;
}

body.admin-theme-dark .task-form-select {
    background: #0b1220;
    border-color: #334155;
    color: #e2e8f0;
}

body.admin-theme-dark .form-control::placeholder,
body.admin-theme-dark textarea::placeholder {
    color: #94a3b8;
}

body.admin-theme-dark .form-control:focus,
body.admin-theme-dark .form-select:focus,
body.admin-theme-dark textarea:focus {
    background: #0b1220;
    color: #f8fafc;
    border-color: #60a5fa;
    box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.25);
}

body.admin-theme-dark .dropdown-menu {
    background: #111827;
    border: 1px solid #334155;
}

body.admin-theme-dark .dropdown-item {
    color: #e2e8f0;
}

body.admin-theme-dark .dropdown-item:hover {
    background: #1e293b;
    color: #ffffff;
}

body.admin-theme-dark .dropdown-divider {
    border-top-color: #334155;
}

body.admin-theme-dark .footer {
    background: #0b1220;
    border-top: 1px solid #1f2937;
}

body.admin-theme-dark a {
    color: #93c5fd;
}

body.admin-theme-dark a:hover {
    color: #bfdbfe;
}

body.admin-theme-dark .btn-outline-secondary {
    color: #cbd5e1;
    border-color: #475569;
}

body.admin-theme-dark .btn-outline-secondary:hover {
    background: #1e293b;
    color: #ffffff;
    border-color: #64748b;
}

body.admin-theme-dark .alert-success {
    background: #052e1e;
    border-color: #14532d;
    color: #86efac;
}

body.admin-theme-dark .alert-danger {
    background: #3f0a0a;
    border-color: #7f1d1d;
    color: #fca5a5;
}

body.admin-theme-dark .dataTables_wrapper .dataTables_filter input,
body.admin-theme-dark .dataTables_wrapper .dataTables_length select {
    background: #0b1220;
    color: #e2e8f0;
    border: 1px solid #334155;
}

body.admin-theme-dark .dataTables_wrapper .paginate_button .page-link {
    background: #111827;
    color: #cbd5e1 !important;
    border-color: #334155;
}

body.admin-theme-dark .dataTables_wrapper .paginate_button.active .page-link {
    background: #2563eb;
    border-color: #2563eb;
    color: #ffffff !important;
}

body.admin-theme-dark .admin-theme-toggle {
    border-color: #334155;
    background: #0f172a;
    color: #e2e8f0;
}

body.admin-theme-dark .admin-theme-toggle:hover {
    background: #1e293b;
    border-color: #475569;
}
