 :root {
            --fcms-navy: #0f172a;
            --fcms-blue: #2563eb;
            --fcms-bg: #f8fafc;
            --sidebar-w: 280px;
        }

        body {
            font-family: 'Plus Jakarta Sans', sans-serif;
            background-color: var(--fcms-bg);
            color: #1e293b;
            margin: 0;
            overflow-x: hidden;
        }

        /* --- LOGIN SCREEN RESPONSIVE --- */
        #login-section {
            min-height: 100vh;
            display: flex;
            background: #fff;
            flex-direction: row;
        }

        .brand-panel {
            background: var(--fcms-navy);
            color: white;
            padding: 4rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
            width: 50%;
        }

        .login-panel {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 2rem;
        }

        .form-input {
            padding: 0.8rem 1rem;
            border-radius: 12px;
            border: 1px solid #e2e8f0;
            background: #f8fafc;
        }

        /* --- DASHBOARD RESPONSIVE --- */
        #dashboard-section { display: none; }

        .sidebar {
            width: var(--sidebar-w);
            height: 100vh;
            position: fixed;
            background: var(--fcms-navy);
            z-index: 1100;
            transition: transform 0.3s ease;
        }

        .nav-link {
            color: #94a3b8;
            margin: 4px 16px;
            padding: 12px 15px;
            border-radius: 12px;
            font-weight: 500;
            transition: 0.2s;
            text-decoration: none;
            display: block;
        }

        .nav-link:hover, .nav-link.active {
            color: #fff;
            background: rgba(255, 255, 255, 0.08);
        }

        .main-content {
            margin-left: var(--sidebar-w);
            padding: 2rem;
            min-height: 100vh;
            transition: margin 0.3s ease;
        }

        .top-navbar {
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(10px);
            border: 1px solid #e2e8f0;
            border-radius: 20px;
            padding: 0.8rem 1.5rem;
            position: sticky;
            top: 20px;
            z-index: 1050;
        }

        .dropdown-menu-profile {
            width: 280px;
            border: none !important;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1) !important;
            border-radius: 20px !important;
            padding: 1.2rem !important;
            z-index: 2000 !important;
        }

        .fcms-card {
            background: white;
            border: 1px solid #f1f5f9;
            border-radius: 20px;
            padding: 1.5rem;
            box-shadow: 0 1px 3px rgba(0,0,0,0.05);
            height: 100%;
        }

        /* --- MOBILE MEDIA QUERIES --- */
        @media (max-width: 991px) {
            #login-section { flex-direction: column; }
            .brand-panel { display: none; } /* Hide heavy branding on mobile login */
            
            .sidebar { transform: translateX(-100%); }
            .sidebar.active { transform: translateX(0); }
            
            .main-content { margin-left: 0; padding: 1rem; }
            
            .top-navbar { 
                top: 10px; 
                padding: 0.6rem 1rem;
                border-radius: 15px;
            }

            /* Adjust dropdown for mobile so it doesn't go off-screen */
            .dropdown-menu-profile {
                position: fixed !important;
                top: 80px !important;
                right: 10px !important;
                left: 10px !important;
                width: auto;
            }
        }

        @media (max-width: 576px) {
            .fcms-card { padding: 1rem; }
            h3 { font-size: 1.5rem; }
        }

        /* Fix for white text on login screen labels if needed */
        .brand-panel .text-muted { color: rgba(255,255,255,0.7) !important; }
        .login-panel .text-muted { color: #64748b !important; }
