/* public/css/custom-theme.css */

/* Typography & Normalization - Professional Deep Green */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--ct-font-display);
    font-weight: 500 !important;
    color: var(--ct-text-main) !important; /* Deep Forest Green #00441B */
}

/* Page Background */
body {
    background-color: var(--ct-background) !important; /* Soft Mint #F7FCF5 */
    font-family: var(--ct-font-sans);
    line-height: 1.5;
    font-weight: 400;
    color: #2d3748;
}

/* Sidebar Overrides - Modern Clean Slate Theme */
.admin-sidebar, .user-sidebar {
    background: #0f172a !important; /* Rich Dark Slate */
    border-right: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* Brand Identity */
.brand-text, .brand-lgu, .brand-trento {
    color: #ffffff !important;
    font-family: var(--ct-font-display);
}

.brand-trento {
    color: #94a3b8 !important; /* Soft Slate for sub-brand */
    font-weight: 400 !important;
}

/* Sidebar Headings */
.sidebar-heading {
    color: #475569 !important; /* Subtle Dark Slate */
    text-transform: uppercase !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    font-size: 0.65rem !important;
    padding: 1.5rem 1.5rem 0.5rem 24px !important;
    margin: 0 !important;
}

/* Hide the vertical bar on headings if any exist */
.sidebar-heading .bg-primary {
    display: none !important;
}

/* Sidebar Links */
.admin-sidebar .nav-link, .user-sidebar .nav-link {
    color: #94a3b8 !important; /* Slate 400 */
    font-weight: 500 !important;
    margin: 0 !important;
    padding: 12px 24px !important;
    font-size: 0.88rem !important;
    border-radius: 0 !important;
    transition: all 0.2s ease !important;
    border-left: 3px solid transparent !important;
    gap: 14px !important;
    align-items: center !important;
}

/* Keep every module label on one shared vertical line. */
.admin-sidebar .nav-link > .d-flex,
.user-sidebar .nav-link > .d-flex {
    gap: 14px !important;
    align-items: center !important;
}

.admin-sidebar .nav-link svg:not(.collapse-icon),
.user-sidebar .nav-link svg:not(.collapse-icon) {
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    margin-right: 0 !important;
}

.admin-sidebar .sidebar-footer,
.user-sidebar .sidebar-footer {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Remove horizontal padding push */
.admin-sidebar ul.nav, .user-sidebar ul.nav {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.admin-sidebar .nav-link:hover, .user-sidebar .nav-link:hover {
    background: rgba(255, 255, 255, 0.03) !important;
    color: #f8fafc !important;
    border-left: 3px solid rgba(255, 255, 255, 0.1) !important;
}

/* Sidebar Active State - Edge-to-Edge Emerald */
.admin-sidebar .nav-link.active, .user-sidebar .nav-link.active {
    background: rgba(16, 185, 129, 0.1) !important; /* Subtle Emerald Tint */
    color: #10b981 !important; /* Bright Emerald Text */
    border-left: 3px solid #10b981 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* Ensure SVG icons inherit text color correctly */
.admin-sidebar .nav-link svg, .user-sidebar .nav-link svg {
    stroke: currentColor !important;
    opacity: 0.8;
}
.admin-sidebar .nav-link.active svg, .user-sidebar .nav-link.active svg {
    stroke: #10b981 !important;
    opacity: 1;
}

/* Sub-links styling */
.admin-sidebar .nav-sublink {
    color: #94a3b8 !important;
    padding: 10px 24px 10px 48px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    font-size: 0.85rem !important;
}

.admin-sidebar .nav-sublink:hover, .admin-sidebar .nav-sublink.active {
    color: #10b981 !important;
    background: rgba(255, 255, 255, 0.02) !important;
}

.admin-sidebar .nav-sublink::before {
    display: none !important;
}

/* Content Area Normalization */
.main-content-offset {
    background-color: transparent !important;
}

/* Button & Interactive States */
.main-content-offset .btn.btn-primary, .auth-container .btn.btn-primary {
    background: var(--ct-primary) !important; /* Mid-Green #238B45 */
    border-color: var(--ct-primary) !important;
    box-shadow: none !important;
    font-weight: 500 !important;
    color: #ffffff !important;
}

.main-content-offset .btn-primary:hover, .auth-container .btn-primary:hover {
    background: #1e7038 !important; /* Darker variant of #238B45 */
    border-color: #1e7038 !important;
}

/* Neutralize Ticket Details (Maximum Professionalism) */
.ticket-id, [class*="ticket-id"], .t-id, .ticket-identification, .table .text-gradient {
    color: #000000 !important; /* Solid Black as requested */
    -webkit-text-fill-color: #000000 !important; 
    font-weight: 600 !important;
    background: none !important;
}

.table td .fw-bold, .table td div.fw-bold, .main-content-offset .fw-bold {
    color: #000000 !important; /* Solid Black for names/main text */
}

.ticket-label, .ticket-detail-label, .section-title, .ticket-section-label {
    color: #1a202c !important; /* Professional Deep Black/Slate */
    font-weight: 600 !important;
}

/* Soft Cards for Eye Comfort */
.glassmorphism, .card, .metric-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: var(--ct-radius-xl) !important;
    box-shadow: var(--ct-shadow-soft) !important;
}

/* Table Styling Refinement */
.table thead th {
    background: #f8fbfa !important;
    color: var(--ct-text-main) !important;
    border-bottom: 2px solid #e2f2e9 !important;
}

/* Status Tracker Content Refinement */
.step-done .step-node {
    border-color: var(--ct-primary) !important;
}

.step-done .si-main {
    stroke: var(--ct-primary) !important;
    fill: none !important;
}

.step-done .si-fill {
    fill: var(--ct-primary) !important;
    stroke: none !important;
}

.step-active .step-node {
    background: var(--ct-primary) !important;
    border-color: var(--ct-primary) !important;
}

.step-done .step-label, .step-active .step-label {
    color: var(--ct-primary) !important;
}

/* Notification badges */
.sidebar-notification-badge, .nav-notification-badge, .nav-bell-badge {
    background: var(--ct-danger) !important;
    color: #ffffff !important;
}

/* Modal styling refinement */
.modal-content {
    border: none !important;
    border-radius: var(--ct-radius-xl) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
}

/* Orange Alert Style */
.orange {
    background-color: #f59e0b !important; /* Amber-500 */
    color: #ffffff !important;
}
.text-bg-orange {
    background-color: #f59e0b !important;
    color: #ffffff !important;
}
.sla-row-warning-high {
    background-color: rgba(245, 158, 11, 0.05) !important;
}
.sla-row-warning-high td {
    color: #92400e !important; /* Amber-800 */
}

/* Yellow Alert Style (1-Day) */
.warning, .text-bg-warning {
    background-color: #facc15 !important; /* Yellow-400 */
    color: #000000 !important;
}
.sla-row-warning {
    background-color: rgba(250, 204, 21, 0.05) !important;
}
.sla-row-warning td {
    color: #854d0e !important; /* Yellow-800 */
}
