/* *****************************************************

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

***************************************************** */

/* Custom CSS for Nexus Theme
 *
 * This file allows you to customize the theme colors and styles for the entire Nexus template.
 */

:root {
    --white: #fff;

    /* Neutral shades */
    --neutral-50: #fbf9fa;
    --neutral-100: #f4f5f7;
    --neutral-200: #e4e4e7;
    --neutral-300: #d0d5dd;
    --neutral-400: #9ca3af;
    --neutral-500: #6b7280;
    --neutral-600: #4b5563;
    --neutral-700: #374151;
    --neutral-800: #1f2937;
    --neutral-900: #111827;
    --neutral-950: #030712;

    /* Primary colors */
    --primary: var(--neutral-900);
    --primary-lifted: var(--neutral-800);
    --primary-accented: var(--neutral-700);

    /* Secondary colors */
    --secondary: var(--neutral-500);
    --secondary-lifted: var(--neutral-600);
    --secondary-accented: var(--neutral-700);

    /* Success colors */
    --success: #00a63e;
    --success-lifted: #008236;
    --success-accented: #016630;

    /* Info colors */
    --info: #155dfc;
    --info-lifted: #1447e6;
    --info-accented: #193cb8;

    /* Warning colors */
    --warning: #f54a00;
    --warning-lifted: #ca3500;
    --warning-accented: #9f2d00;

    /* Error colors */
    --error: #e7000b;
    --error-lifted: #c10007;
    --error-accented: #9f0712;

    /* Background colors */
    --bg: var(--white);
    --bg-muted: var(--neutral-50);
    --bg-lifted: var(--neutral-100);
    --bg-accented: var(--neutral-200);
    --bg-inverted: var(--neutral-900);

    /* Text colors */
    --text: var(--neutral-900);
    --text-muted: var(--neutral-400);
    --text-lifted: var(--neutral-500);
    --text-accented: var(--neutral-600);
    --text-inverted: var(--white);

    /* Border colors */
    --border-muted: var(--neutral-200);
    --border: var(--neutral-300);
    --border-lifted: var(--neutral-400);
    --border-accented: var(--neutral-600);

    /* Rounding */
    --rounding-sm: 0.25rem;
    --rounding-md: 0.5rem;
    --rounding-lg: 0.75rem;
}

/* Dark mode overrides */
[data-theme="dark"] {
    --bg: #262626;
    --bg-muted: #262626;
    --bg-lifted: #1f1f1f;
    --bg-accented: #1b1b1b;
    
    --text: #ffffff;
    --text-lifted: #f0f0f0;
    --text-accented: #e0e0e0;
    --text-muted: #888888;
    --text-inverted: #000000;

    --border-muted: #1f1f1f;
    --border: #2b2b2b;
    --border-lifted: #333333;
    --border-accented: #3d3d3d;

    --primary: #1e6bff;
    --primary-lifted: #1a5fe0;
    --primary-accented: #1551c2;

    --grayscale: #141414;
    --grayscale-lifted: #242424;
    --grayscale-accented: #2f2f2f;

    --info: #0061ff;
    --info-lifted: #0056e0;
    --info-accented: #004bc2;

    --white-fixed: #ffffff;
}

/* Global Dark Mode Styles */
[data-theme="dark"] body {
    background-color: #262626 !important;
    color: var(--text);
}

[data-theme="dark"] .primary-content {
    background-color: #262626 !important;
}

[data-theme="dark"] .card,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .popover,
[data-theme="dark"] .sidebar .card-sidebar {
    background-color: var(--bg-lifted) !important;
    border-color: var(--border) !important;
    color: var(--text);
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer,
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer,
[data-theme="dark"] .popover-header,
[data-theme="dark"] .sidebar .card-header {
    background-color: var(--bg-accented) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
    border-radius: 8px 8px 0 0;
}

[data-theme="dark"] .sidebar .card-title,
[data-theme="dark"] .sidebar .panel-title {
    color: var(--text) !important;
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .custom-select,
[data-theme="dark"] .input-group-text,
[data-theme="dark"] .field {
    background-color: var(--bg-lifted) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}

[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] .form-control-sm,
[data-theme="dark"] .form-control-lg,
[data-theme="dark"] .card-header input,
[data-theme="dark"] .card-header select,
[data-theme="dark"] .card-header textarea,
[data-theme="dark"] .dataTables_filter input,
[data-theme="dark"] .dataTables_length select {
    background-color: #121212 !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: #777777 !important;
}

[data-theme="dark"] .form-control:focus {
    background-color: var(--bg-accented) !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 97, 255, 0.25);
}

/* Dashboard Tiles */
[data-theme="dark"] .tiles .tile {
    background-color: var(--bg-lifted) !important;
    border: 1px solid var(--border) !important;
    border-right-color: var(--border) !important;
    border-bottom-color: var(--border) !important;
    border-radius: 6px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.22);
}

[data-theme="dark"] .tiles .tile .stat {
    color: var(--text) !important;
}

[data-theme="dark"] .tiles .tile .title {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .tiles .tile i {
    color: #2a2a2a !important;
    opacity: 0.5;
    font-size: 48px;
}

[data-theme="dark"] .tiles .tile:hover {
    background-color: var(--bg-accented) !important;
}

[data-theme="dark"] .tiles .tile:hover i {
    color: var(--primary) !important;
    opacity: 0.75;
    font-size: 60px;
}

[data-theme="dark"] .tiles .tile .highlight {
    background-color: var(--primary) !important;
    height: 2px;
}

/* Client Home Specifics */
[data-theme="dark"] .client-home-cards .card-header,
[data-theme="dark"] .client-home-cards .card-footer {
    background-color: var(--bg-lifted) !important;
}

[data-theme="dark"] .client-home-cards .list-group-item {
    background-color: var(--bg-lifted) !important;
    border-color: var(--border) !important;
}

[data-theme="dark"] .client-home-cards .card {
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] .client-home-cards .card.card-accent-blue {
    background-color: var(--bg-lifted) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
}

[data-theme="dark"] .client-home-cards .card.card-accent-blue .card-header,
[data-theme="dark"] .client-home-cards .card.card-accent-blue .card-body,
[data-theme="dark"] .client-home-cards .card.card-accent-blue .card-footer {
    background-color: var(--bg-accented) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}

/* Sidebar and Navigation */
[data-theme="dark"] .sidebar .list-group-item,
[data-theme="dark"] .list-group-item {
    background-color: var(--bg-lifted) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}

[data-theme="dark"] .sidebar .list-group-item:hover,
[data-theme="dark"] .list-group-item:hover {
    background-color: var(--bg-accented) !important;
}

[data-theme="dark"] .sidebar .list-group-item.active,
[data-theme="dark"] .list-group-item.active {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--white-fixed) !important;
}

[data-theme="dark"] .breadcrumb {
    background-color: transparent !important;
}

[data-theme="dark"] .breadcrumb-item,
[data-theme="dark"] .breadcrumb-item a {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .breadcrumb-item.active {
    color: var(--text) !important;
}

[data-theme="dark"] .master-breadcrumb {
    background-color: #171717 !important;
    border-bottom: 1px solid var(--border);
}

/* Header and Navigation */
[data-theme="dark"] #header,
[data-theme="dark"] .topbar,
[data-theme="dark"] .navbar-main,
[data-theme="dark"] header.header {
    background-color: #171717 !important;
    border-bottom-color: var(--border) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] .navbar-nav .nav-link,
[data-theme="dark"] .navbar-nav a {
    color: var(--text-accented) !important;
}

[data-theme="dark"] .navbar-nav .nav-link:hover,
[data-theme="dark"] .navbar-nav .nav-link.active,
[data-theme="dark"] .navbar-nav a:hover {
    color: var(--primary) !important;
}

/* Footer */
[data-theme="dark"] #footer,
[data-theme="dark"] footer.footer {
    background-color: #171717 !important;
    border-top: 1px solid var(--border) !important;
    color: var(--text-muted) !important;
}

/* Buttons */
[data-theme="dark"] .btn,
[data-theme="dark"] .btn-default,
[data-theme="dark"] .btn-outline-light,
[data-theme="dark"] .btn-light,
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-success,
[data-theme="dark"] .btn-info,
[data-theme="dark"] .btn-warning,
[data-theme="dark"] .btn-danger,
[data-theme="dark"] .btn-primary {
    background-color: #27272a !important;
    color: var(--white-fixed) !important;
    border-color: #27272a !important;
    box-shadow: none !important;
}

[data-theme="dark"] .btn:hover,
[data-theme="dark"] .btn:focus,
[data-theme="dark"] .btn-default:hover,
[data-theme="dark"] .btn-outline-light:hover,
[data-theme="dark"] .btn-light:hover,
[data-theme="dark"] .btn-secondary:hover,
[data-theme="dark"] .btn-success:hover,
[data-theme="dark"] .btn-info:hover,
[data-theme="dark"] .btn-warning:hover,
[data-theme="dark"] .btn-danger:hover,
[data-theme="dark"] .btn-primary:hover,
[data-theme="dark"] .btn-default:focus,
[data-theme="dark"] .btn-outline-light:focus,
[data-theme="dark"] .btn-light:focus,
[data-theme="dark"] .btn-secondary:focus,
[data-theme="dark"] .btn-success:focus,
[data-theme="dark"] .btn-info:focus,
[data-theme="dark"] .btn-warning:focus,
[data-theme="dark"] .btn-danger:focus,
[data-theme="dark"] .btn-primary:focus {
    background-color: #09090b !important;
    color: var(--white-fixed) !important;
    border-color: #09090b !important;
}

[data-theme="dark"] body #order-standard_cart .products .product,
[data-theme="dark"] body #order-standard_cart .cart-body .products .product,
[data-theme="dark"] body #order-standard_cart .product-info,
[data-theme="dark"] body #order-standard_cart .domain-selection-options,
[data-theme="dark"] body #order-standard_cart .view-cart-empty,
[data-theme="dark"] body #order-standard_cart .order-summary,
[data-theme="dark"] body #order-standard_cart .order-summary .summary-container {
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--text) !important;
}

[data-theme="dark"] body #order-standard_cart,
[data-theme="dark"] body #order-standard_cart .cart-body,
[data-theme="dark"] body #order-standard_cart .cart-body .header-lined,
[data-theme="dark"] body #order-standard_cart .products {
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

[data-theme="dark"] body #order-standard_cart .products .product {
    background-color: #1f1f1f !important;
    border-color: #2b2b2b !important;
    box-shadow: none !important;
}

[data-theme="dark"] body #order-standard_cart .products .product header,
[data-theme="dark"] body #order-standard_cart .products .product footer,
[data-theme="dark"] body #order-standard_cart .domain-selection-options .option,
[data-theme="dark"] body #order-standard_cart .domain-selection-options .option-selected,
[data-theme="dark"] body #order-standard_cart .panel .panel-heading,
[data-theme="dark"] body #order-standard_cart .panel .panel-footer {
    background-color: #1b1b1b !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}

[data-theme="dark"] body #order-standard_cart .product-desc,
[data-theme="dark"] body #order-standard_cart .product-title,
[data-theme="dark"] body #order-standard_cart .products .product .qty,
[data-theme="dark"] body #order-standard_cart .sub-heading span {
    color: var(--text) !important;
    background-color: transparent !important;
}

[data-theme="dark"] body #order-standard_cart .cart-sidebar,
[data-theme="dark"] body #order-standard_cart .cart-sidebar .card,
[data-theme="dark"] body #order-standard_cart .cart-sidebar .list-group-item {
    background-color: var(--bg-lifted) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}

[data-theme="dark"] body #order-standard_cart .cart-sidebar .card-header,
[data-theme="dark"] body #order-standard_cart .cart-sidebar .card-footer {
    background-color: var(--bg-accented) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}

[data-theme="dark"] body #order-standard_cart,
[data-theme="dark"] body #order-standard_cart h1,
[data-theme="dark"] body #order-standard_cart h2,
[data-theme="dark"] body #order-standard_cart h3,
[data-theme="dark"] body #order-standard_cart h4,
[data-theme="dark"] body #order-standard_cart h5,
[data-theme="dark"] body #order-standard_cart h6,
[data-theme="dark"] body #order-standard_cart p,
[data-theme="dark"] body #order-standard_cart label,
[data-theme="dark"] body #order-standard_cart .item,
[data-theme="dark"] body #order-standard_cart .item-domain,
[data-theme="dark"] body #order-standard_cart .product-desc,
[data-theme="dark"] body #order-standard_cart .product-title,
[data-theme="dark"] body #order-standard_cart .order-summary,
[data-theme="dark"] body #order-standard_cart .cart-sidebar .card-title,
[data-theme="dark"] body #order-standard_cart .cart-sidebar .list-group-item,
[data-theme="dark"] body #order-standard_cart .panel,
[data-theme="dark"] body #order-standard_cart .panel-heading,
[data-theme="dark"] body #order-standard_cart .panel-footer,
[data-theme="dark"] body #order-standard_cart .domain-selection-options,
[data-theme="dark"] body #order-standard_cart .tab-content,
[data-theme="dark"] body #order-standard_cart .nav-tabs .nav-link,
[data-theme="dark"] body #order-standard_cart .form-control,
[data-theme="dark"] body #order-standard_cart .help-block,
[data-theme="dark"] body #order-standard_cart .field-help-text,
[data-theme="dark"] body #order-standard_cart .text-muted,
[data-theme="dark"] body #order-standard_cart .text-secondary,
[data-theme="dark"] body #order-standard_cart .text-info,
[data-theme="dark"] body #order-standard_cart .text-success,
[data-theme="dark"] body #order-standard_cart .text-warning,
[data-theme="dark"] body #order-standard_cart .text-danger {
    color: #ffffff !important;
}

[data-theme="dark"] body #order-standard_cart a,
[data-theme="dark"] body #order-standard_cart a:hover,
[data-theme="dark"] body #order-standard_cart a:focus,
[data-theme="dark"] body #order-standard_cart a:active {
    color: #ffffff !important;
}

[data-theme="dark"] body #order-standard_cart .cart-body,
[data-theme="dark"] body #order-standard_cart .cart-body * {
    color: #ffffff !important;
}

[data-theme="dark"] body #order-standard_cart .cart-body .btn,
[data-theme="dark"] body #order-standard_cart .cart-body .btn * {
    color: #ffffff !important;
}

[data-theme="dark"] body #order-standard_cart .cart-body input,
[data-theme="dark"] body #order-standard_cart .cart-body select,
[data-theme="dark"] body #order-standard_cart .cart-body textarea {
    color: #ffffff !important;
}

[data-theme="dark"] body #order-standard_cart input,
[data-theme="dark"] body #order-standard_cart select,
[data-theme="dark"] body #order-standard_cart textarea,
[data-theme="dark"] body #order-standard_cart .form-control,
[data-theme="dark"] body #order-standard_cart .custom-select {
    color: #ffffff !important;
    background-color: #1b1b1b !important;
    border-color: #2b2b2b !important;
}

[data-theme="dark"] body #order-standard_cart input::placeholder,
[data-theme="dark"] body #order-standard_cart textarea::placeholder {
    color: #bdbdbd !important;
}

[data-theme="dark"] body #order-standard_cart select option,
[data-theme="dark"] body #order-standard_cart .custom-select option {
    color: #ffffff !important;
    background-color: #1b1b1b !important;
}

[data-theme="dark"] body #order-standard_cart .product-name,
[data-theme="dark"] body #order-standard_cart .item-name,
[data-theme="dark"] body #order-standard_cart .product-desc ul li {
    color: #ffffff !important;
}

/* Badges */
[data-theme="dark"] .badge {
    background-color: var(--bg-accented);
    color: var(--text-accented);
    border: 1px solid var(--border);
}

[data-theme="dark"] .badge-primary { background-color: var(--primary); color: var(--white-fixed); border: none; }
[data-theme="dark"] .badge-success { background-color: var(--success-accented); color: var(--white-fixed); border: none; }
[data-theme="dark"] .badge-info { background-color: var(--info-accented); color: var(--white-fixed); border: none; }
[data-theme="dark"] .badge-warning { background-color: var(--warning-accented); color: var(--white-fixed); border: none; }
[data-theme="dark"] .badge-danger { background-color: var(--error-accented); color: var(--white-fixed); border: none; }

/* Alerts */
[data-theme="dark"] .alert {
    border-width: 1px;
    color: var(--white-fixed);
}

[data-theme="dark"] .alert-info { background-color: var(--info-accented); border-color: var(--info-lifted); }
[data-theme="dark"] .alert-warning { background-color: var(--warning-accented); border-color: var(--warning-lifted); }
[data-theme="dark"] .alert-danger { background-color: var(--error-accented); border-color: var(--error-lifted); }
[data-theme="dark"] .alert-success { background-color: var(--success-accented); border-color: var(--success-lifted); }

/* Tables */
[data-theme="dark"] .table,
[data-theme="dark"] table.table-list,
[data-theme="dark"] .dataTables_wrapper table {
    background-color: var(--bg-lifted) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}

[data-theme="dark"] table.table-list thead th,
[data-theme="dark"] .table thead th,
[data-theme="dark"] .dataTables_wrapper table thead th {
    background-color: var(--bg-accented) !important;
    border-bottom-color: var(--border) !important;
    color: var(--text) !important;
}

[data-theme="dark"] .table td,
[data-theme="dark"] .table th,
[data-theme="dark"] table.table-list tbody td,
[data-theme="dark"] .table tbody tr,
[data-theme="dark"] .table tbody td {
    background-color: transparent !important;
    border-top-color: var(--border) !important;
    color: var(--text) !important;
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd),
[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) td {
    background-color: var(--bg-accented) !important;
}

[data-theme="dark"] .table-hover tbody tr:hover,
[data-theme="dark"] .table-hover tbody tr:hover td {
    background-color: var(--bg-lifted) !important;
}

[data-theme="dark"] .dataTables_info,
[data-theme="dark"] .dataTables_paginate,
[data-theme="dark"] .dataTables_length,
[data-theme="dark"] .dataTables_filter {
    color: var(--text) !important;
}

/* Tabs */
[data-theme="dark"] .nav-tabs {
    border-bottom-color: var(--border);
}

[data-theme="dark"] .nav-tabs .nav-link {
    color: var(--text-muted);
}

[data-theme="dark"] .nav-tabs .nav-link:hover {
    border-color: var(--border-lifted) var(--border-lifted) var(--border);
    background-color: var(--bg-accented);
}

[data-theme="dark"] .nav-tabs .nav-link.active {
    background-color: var(--bg-lifted);
    border-color: var(--border) var(--border) var(--bg-lifted);
    color: var(--text-accented);
}

[data-theme="dark"] .tab-content,
[data-theme="dark"] .product-details-tab-container,
[data-theme="dark"] .tab-content.bg-white {
    background-color: var(--bg-lifted) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}

/* Product Details Page */
[data-theme="dark"] div.product-details div.product-icon {
    background-color: var(--bg-accented) !important;
    color: var(--text) !important;
}

[data-theme="dark"] .product-status-text {
    color: var(--white-fixed) !important;
}

[data-theme="dark"] .product-details .product-icon h3,
[data-theme="dark"] .product-details .product-icon h4 {
    color: var(--text) !important;
}

[data-theme="dark"] .product-details .product-icon .fa-stack-1x {
    color: var(--bg-accented) !important;
}

[data-theme="dark"] .product-details .product-icon .fa-circle {
    color: var(--primary) !important;
}

/* General Utilities Overrides */
[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light,
[data-theme="dark"] .background-light {
    background-color: var(--bg-lifted) !important;
    color: var(--text) !important;
}

[data-theme="dark"] .text-dark {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .text-muted {
    color: var(--text-muted) !important;
}

/* Pagination */
[data-theme="dark"] .pagination .page-link {
    background-color: var(--bg-lifted);
    border-color: var(--border);
    color: var(--text);
}

[data-theme="dark"] .pagination .page-item.active .page-link {
    background-color: var(--primary);
    border-color: var(--primary);
}

/* Login Page & Specific Containers */
[data-theme="dark"] .login-container,
[data-theme="dark"] .full-page-form-container {
    background-color: var(--bg) !important;
}

[data-theme="dark"] .login-container .card {
    background-color: var(--bg-lifted) !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.5);
}

[data-theme="dark"] .close {
    color: var(--text);
    text-shadow: none;
    opacity: 0.6;
}

[data-theme="dark"] .close:hover {
    opacity: 1;
    color: var(--text-accented);
}

[data-theme="dark"] .dropdown-item {
    color: var(--text);
}

[data-theme="dark"] .dropdown-item:hover {
    background-color: var(--bg-accented);
}
