/* Custom Styles, Colors & Variable-based Redesign for QuantisAI */

:root {
    /* Default Dark Theme: Deep Navy, Bright Blue, Silver, White */
    --color-bg-matte: #0A192F;
    --color-bg-graphite: #112240;
    --color-bg-dark: #0F172A;
    --color-brand-blue: #3B82F6;
    --color-brand-blue-hover: #2563EB;
    --color-brand-blue-muted: rgba(59, 130, 246, 0.15);
    --color-brand-blue-border: rgba(59, 130, 246, 0.3);
    --color-glass: rgba(10, 25, 47, 0.75);
    --color-glass-border: rgba(255, 255, 255, 0.08);
    --color-glass-hover: rgba(255, 255, 255, 0.03);
    --color-text-primary: #FFFFFF;
    --color-text-secondary: #94A3B8;
    --color-text-muted: #64748B;
    --color-glow: rgba(59, 130, 246, 0.4);

    --color-scroll-track: #0A192F;
    --color-scroll-thumb: #112240;
}

:root.light-mode {
    /* Light Mode: Modern Premium Enterprise SaaS Look (Autodesk / Procore inspired) */
    --color-bg-matte: #F8FAFC;
    --color-bg-graphite: #FFFFFF;
    --color-bg-dark: #E2E8F0;
    --color-brand-blue: #1D4ED8;
    --color-brand-blue-hover: #1E40AF;
    --color-brand-blue-muted: rgba(29, 78, 216, 0.1);
    --color-brand-blue-border: rgba(29, 78, 216, 0.2);
    --color-glass: rgba(255, 255, 255, 0.85);
    --color-glass-border: rgba(15, 23, 42, 0.08);
    --color-glass-hover: rgba(15, 23, 42, 0.03);
    --color-text-primary: #0F172A;
    --color-text-secondary: #334155;
    --color-text-muted: #64748B;
    --color-glow: rgba(29, 78, 216, 0.15);

    --color-scroll-track: #F8FAFC;
    --color-scroll-thumb: #CBD5E1;
}

/* Custom transitions for smooth theme changes */
*, *::before, *::after {
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--color-scroll-track);
}

::-webkit-scrollbar-thumb {
    background: var(--color-scroll-thumb);
    border: 2px solid var(--color-scroll-track);
    border-radius: 99px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-brand-blue);
}

/* Glassmorphism custom blur and borders */
.bg-brand-glass {
    background: var(--color-glass);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Smooth transitions */
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

/* Text glow using new bright blue variable */
.text-glow-gold {
    text-shadow: 0 0 10px var(--color-glow);
}

/* Custom premium input slider overrides */
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--color-brand-blue);
    cursor: pointer;
    box-shadow: 0 0 10px var(--color-glow);
    transition: transform 0.1s ease, background-color 0.1s ease;
}

input[type="range"]::-webkit-slider-thumb:hover {
    transform: scale(1.2);
    background: #FFF;
}

input[type="range"]::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border: none;
    border-radius: 50%;
    background: var(--color-brand-blue);
    cursor: pointer;
    box-shadow: 0 0 10px var(--color-glow);
    transition: transform 0.1s ease, background-color 0.1s ease;
}

input[type="range"]::-moz-range-thumb:hover {
    transform: scale(1.2);
    background: #FFF;
}

/* Animation Utilities */
@keyframes scanningLine {
    0% {
        top: 0%;
    }
    50% {
        top: 100%;
    }
    100% {
        top: 0%;
    }
}

.scanning-glow::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, transparent, var(--color-brand-blue), transparent);
    left: 0;
    animation: scanningLine 3s infinite linear;
    box-shadow: 0 0 12px 2px var(--color-glow);
    pointer-events: none;
}

/* --- LIGHT MODE HIGHER CONTRAST OVERRIDES --- */
.light-mode body {
    color: #1E293B !important;
}

.light-mode h1,
.light-mode h2,
.light-mode h3,
.light-mode h4,
.light-mode h5,
.light-mode h6 {
    color: #0F172A !important;
}

.light-mode p,
.light-mode span:not(.text-brand-gold):not(.status-badge):not(.step-num):not(.currency-symbol),
.light-mode td:not(.text-brand-gold):not(.font-bold) {
    color: #334155 !important;
}

.light-mode .text-gray-300,
.light-mode .text-gray-400,
.light-mode .text-gray-500 {
    color: #475569 !important;
}

.light-mode .text-white {
    color: #0F172A !important;
}

.light-mode .border-brand-glass-border,
.light-mode .border-brand-glass-border\/30,
.light-mode .border-brand-glass-border\/40 {
    border-color: rgba(15, 23, 42, 0.12) !important;
}

.light-mode .bg-brand-matte\/60,
.light-mode .bg-brand-matte\/80,
.light-mode .bg-brand-matte\/30,
.light-mode .bg-brand-matte\/40,
.light-mode .bg-brand-matte\/50 {
    background-color: #FFFFFF !important;
    border-color: rgba(15, 23, 42, 0.12) !important;
}

.light-mode .bg-brand-graphite {
    background-color: #FFFFFF !important;
    border-color: rgba(15, 23, 42, 0.12) !important;
}

.light-mode .hover\:bg-brand-glass-hover:hover {
    background-color: rgba(15, 23, 42, 0.04) !important;
}

.light-mode input,
.light-mode textarea,
.light-mode select {
    background-color: #FFFFFF !important;
    color: #0F172A !important;
    border-color: rgba(15, 23, 42, 0.2) !important;
}

.light-mode input::placeholder,
.light-mode textarea::placeholder {
    color: #94A3B8 !important;
}

/* Ensure checklists look beautiful in light mode */
.light-mode .status-badge {
    filter: brightness(0.85);
}

.light-mode .text-brand-gold {
    color: var(--color-brand-blue) !important;
}

/* --- PREMIUM PRINT UTILITIES & PRINT STYLESHEET --- */
@media print {
    /* Hide all landing sections, non-essential workspace sections, headers, and footer */
    body {
        background: #ffffff !important;
        color: #000000 !important;
        font-family: 'Plus Jakarta Sans', sans-serif;
    }

    header,
    footer,
    #landing-page-wrapper,
    #workspace-tab-ai-settings,
    .lg:col-span-5,
    .lg:col-span-7 .border-dashed,
    .lg:col-span-6,
    #workspace-upload-zone,
    #workspace-project-description,
    button,
    select,
    input[type="range"],
    input[type="checkbox"],
    input[type="file"],
    .flex-wrap,
    th:last-child,
    td:last-child {
        display: none !important;
    }

    /* Keep only active workspace elements */
    #ai-workspace-section {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #workspace-tab-boq {
        display: block !important;
    }

    /* Style Project Details for clean layout */
    .lg:col-span-5,
    .lg:col-span-7 {
        display: block !important;
        width: 100% !important;
        float: none !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        color: #000000 !important;
        margin-bottom: 20px !important;
    }

    input, textarea {
        background: transparent !important;
        border: none !important;
        color: #000000 !important;
        padding: 0 !important;
        font-size: 12px !important;
        width: auto !important;
        box-shadow: none !important;
        pointer-events: none !important;
    }

    /* Clean black and white table for BOQ printing */
    #boq-editor-table {
        border-collapse: collapse !important;
        width: 100% !important;
        margin-top: 20px !important;
        color: #000000 !important;
    }

    #boq-editor-table th {
        background-color: #f3f4f6 !important;
        color: #000000 !important;
        font-weight: bold !important;
        border: 1px solid #d1d5db !important;
        font-size: 10px !important;
        padding: 6px 10px !important;
        text-transform: uppercase !important;
    }

    #boq-editor-table td {
        border: 1px solid #d1d5db !important;
        font-size: 11px !important;
        padding: 6px 10px !important;
        color: #000000 !important;
    }

    #boq-editor-table input {
        border: none !important;
        width: 100% !important;
        color: #000000 !important;
        text-align: inherit !important;
    }

    /* Print Recap card */
    .lg:col-span-6.bg-brand-gold-muted {
        display: block !important;
        width: 100% !important;
        background: #f9fafb !important;
        border: 1px solid #d1d5db !important;
        padding: 15px !important;
        margin-top: 25px !important;
        color: #000000 !important;
        page-break-inside: avoid;
    }

    .lg:col-span-6.bg-brand-gold-muted div {
        color: #000000 !important;
    }

    #calc-grand-total {
        color: #000000 !important;
        background: #f3f4f6 !important;
        border: 1px solid #9ca3af !important;
        font-size: 18px !important;
    }

    /* Print Output deliverable */
    #output-content-wrapper {
        display: block !important;
        background: transparent !important;
        color: #000000 !important;
        border: 1px solid #d1d5db !important;
        padding: 20px !important;
        margin-top: 30px !important;
        font-size: 12px !important;
        page-break-inside: avoid;
    }
}
